openwisp.openwisp2-imagegenerator
ansible-openwisp2-imagegenerator
ãã®ansibleããŒã«ã¯ãç°ãªãçµç¹åãã«è€æ°ã®openwisp2ãã¡ãŒã ãŠã§ã¢ã€ã¡ãŒãžããã«ããããã®èšå®ã远跡ã§ããããã«ããŸãã
泚æ: ãã®ããŒã«ã¯ãŸã å®éã®ç°å¢ã§ã¯ãã¹ããããŠããŸããã 䜿çšããäºå®ã§ããã°ã詊ããŠã¿ãŠãäœãåé¡ãçºçããå Žåã¯åé¡ãå ±åããŠãã ããããã ãããã«ãããã»ã¹ããã³å éšåäœãçè§£ããããšãå¿ èŠã§ãã
å¿ èŠãªããŒã«å€æ°
以äžã®å€æ°ãå¿ èŠã§ãïŒ
openwisp2fw_source_dir
: OpenWRTãœãŒã¹ã®ãã£ã¬ã¯ããªã瀺ããŸããopenwisp2fw_generator_dir
: ãžã§ãã¬ãŒã¿ãŒã®æºåã«äœ¿çšããããã£ã¬ã¯ããªã瀺ããŸããopenwisp2fw_bin_dir
: æçµã€ã¡ãŒãžã®ãã«ãã«äœ¿çšããããã£ã¬ã¯ããªã瀺ããŸããopenwisp2fw_organizations
: çµç¹ã®ãªã¹ãïŒãã®æ§é ãçè§£ããããã«ããã¬ã€ããã¯äœæã»ã¯ã·ã§ã³ã®äŸplaybook.yml
ãã¡ã€ã«ãã芧ãã ããã
äœ¿çšæ¹æ³ïŒãã¥ãŒããªã¢ã«ïŒ
ansibleã®äœ¿ãæ¹ãããããªãå Žåã¯ããããã¯ã«ãªãããæé ãäžã€ãã€èª¬æããŸãã
ansibleã®äœ¿ãæ¹ãæ¢ã«ç¥ã£ãŠããå Žåã¯ããã®ã»ã¯ã·ã§ã³ãã¹ãããããããã®ããŒã«ã®ã€ã³ã¹ããŒã«ãã»ã¯ã·ã§ã³ã«é²ãã§ãã ããã
ãŸãã2ã€ã®éèŠãªæŠå¿µãçè§£ããå¿ èŠããããŸãïŒ
- ãã³ã³ãã€ã«ãµãŒããŒã: ã€ã¡ãŒãžãã³ã³ãã€ã«ããããã«äœ¿çšããããµãŒããŒãæããŸãã
- ãããŒã«ã«ãã·ã³ã: ansibleãèµ·åãããã¹ããäŸãã°ããªãã®ã©ããããããCIãµãŒããŒãæããŸãã
Ansibleã¯ãSSHãä»ããŠã³ã³ãã€ã«ãµãŒããŒã«ã¢ã¯ã»ã¹ããäžé£ã®ã³ãã³ããå®è¡ããæ§æç®¡ç/èªååããŒã«ã§ãã
1. ansibleã®ã€ã³ã¹ããŒã«
ãŸã ã€ã³ã¹ããŒã«ããŠããªãå Žåã¯ãããŒã«ã«ãã·ã³ã« ansibleãã€ã³ã¹ããŒã«ããå¿ èŠããããŸããå ¬åŒã®Pythonããã±ãŒãžãããŒãžã£ã䜿çšããã®ãäžè¬çã§ããäŸãã°ïŒ
sudo pip install ansible
pipãã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ãpipã®ã€ã³ã¹ããŒã«ã確èªããŠãã ããã
å¥ã®æ¹æ³ã§ansibleãã€ã³ã¹ããŒã«ããããšãã§ããŸãã®ã§ã2.0.x
ã·ãªãŒãºã®ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããŠãã ããïŒãã®ãã¬ã€ããã¯ããã¹ãããããŒãžã§ã³ã§ãïŒã
2. ãã®ããŒã«ãã€ã³ã¹ããŒã«
ç°¡åã®ããã«ããã®ããŒã«ã¯ããŒã«ã«ãã·ã³ã« ansible-galaxy
ãä»ããŠã€ã³ã¹ããŒã«ããã®ãæãç°¡åã§ãïŒansibleãã€ã³ã¹ããŒã«ãããšãã«ã€ã³ã¹ããŒã«ãããŸããïŒã次ã®ã³ãã³ããå®è¡ããŠãã ããïŒ
sudo ansible-galaxy install openwisp.openwisp2-imagegenerator
3. äœæ¥ãã£ã¬ã¯ããªãéžæ
ãã¡ãŒã ãŠã§ã¢ã€ã¡ãŒãžã®èšå®ã眮ãããã®äœæ¥ãã£ã¬ã¯ããªãããŒã«ã«ãã·ã³ã«éžæããŠãã ããã
äŸïŒ
mkdir ~/my-openwisp2-firmware-conf
cd ~/my-openwisp2-firmware-conf
ãã®äœæ¥ãã£ã¬ã¯ããªãããŒãžã§ã³ç®¡çäžã«çœ®ãããšã¯éåžžã«è¯ãã¢ã€ãã¢ã§ãã倿Žã远跡ããããããŒã«ããã¯ããããCIãµãŒããŒãèšå®ããŠèªåçã«ã€ã¡ãŒãžããã«ãããã®ã«åœ¹ç«ã¡ãŸãã
4. ã€ã³ãã³ããªãã¡ã€ã«ãäœæ
ã€ã³ãã³ããªãã¡ã€ã«ã¯ã°ã«ãŒããµãŒããŒãå®çŸ©ãããŠããå Žæã§ããç°¡åãªå Žåã1å°ã®ãµãŒããŒãå ¥ããã°ã«ãŒããå®çŸ©ããã ãã§æžã¿ãŸãã
次ã®å
容㧠hosts
ãšããæ°ãããã¡ã€ã«ãããŒã«ã«ãã·ã³ã«äœæããŠãã ããïŒ
[myserver]
mycompiler.mydomain.com ansible_user=<youruser> ansible_become_pass=<sudo-password>
mycompiler.mydomain.com
ãããªãã®ãã¹ãåã«çœ®ãæããŠãã ããïŒIPã¢ãã¬ã¹ãèš±å¯ãããŠããŸãïŒã
ãŸãã
5. ãã¬ã€ããã¯ãã¡ã€ã«ãäœæ
次ã®å
容㧠playbook.yml
ãšããæ°ãããã¬ã€ããã¯ãã¡ã€ã«ãããŒã«ã«ãã·ã³ã«äœæããŠãã ããïŒ
# playbook.yml
- hosts: your_host_here
roles:
- openwisp.openwisp2-imagegenerator
vars:
openwisp2fw_source_dir: /home/user/openwisp2-firmware-source
openwisp2fw_generator_dir: /home/user/openwisp2-firmware-generator
openwisp2fw_bin_dir: /home/user/openwisp2-firmware-builds
openwisp2fw_source_targets:
- system: ar71xx
subtarget: generic
profile: Default
- system: x86
subtarget: generic
profile: Generic
openwisp2fw_organizations:
- name: snakeoil # çµç¹ã®åå
flavours: # ãµããŒããããŠãããã¬ãŒããŒ
- standard
luci_openwisp: # /etc/config/luci_openwisp
# ãã®ä»ã®èšå®ããŒã¯èªç±ã«è¿œå å¯èœ
username: "operator"
# /etc/config/luci_openwispã§æå·åããããã¬ãŒã³ããã¹ããã¹ã¯ãŒã
password: "<CHANGE_ME>"
openwisp: # /etc/config/openwisp
# ãã®ä»ã®èšå®ããŒã¯èªç±ã«è¿œå å¯èœ
url: "https://my-openwisp2-instance.com"
shared_secret: "my-openwisp2-secret"
unmanaged: "{{ openwisp2fw_default_unmanaged }}"
# /etc/shadowã§æå·åããããã¬ãŒã³ããã¹ããã¹ã¯ãŒã
root_password: "<CHANGE_ME>"
ãã®ãã¬ã€ããã¯ã§ã¯ãsnakeoil
ãšããååã®çµç¹çšã«ãæšæºãã¬ãŒããŒã®ã¿ã䜿çšããŠãã¡ãŒã ãŠã§ã¢ã€ã¡ãŒãžãã³ã³ãã€ã«ããããšãã§ããŸãïŒããã©ã«ãã®OpenWRT 19.07ã€ã¡ãŒãžãšæšæºã®OpenWISP2ã¢ãžã¥ãŒã«ãå«ãŸããŠããŸãïŒã
å©çšå¯èœãªèšå®ãã«ã¹ã¿ãã€ãºããæ¹æ³ã«ã€ããŠã¯ãããŒã«å€æ°ã®ã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
ãã®æç¹ã§ãããªãã®ãã£ã¬ã¯ããªã®æ§æã¯æ¬¡ã®ããã«ãªãã¯ãã§ãïŒ
.
âââ hosts
âââ playbook.yml
6. ãã¬ã€ããã¯ãå®è¡
ä»ãããOpenWISP2ãã¡ãŒã ãŠã§ã¢ã®ã³ã³ãã€ã«*ãéå§ããæã§ãã
次ã®ã³ãã³ãã§ããŒã«ã«ãã·ã³ãããã¬ã€ããã¯ãèµ·åããŸãïŒ
ansible-playbook -i hosts playbook.yml -e "recompile=1 cores=4"
cores=4
ã®éšåã¯ãå©çšå¯èœãªã³ã¢ã®æ°ã«çœ®ãæããŠãã ããã
ãã¬ã€ããã¯ã®å®è¡ãå®äºãããšãæå®ãã openwisp2fw_bin_dir
å
ïŒãã®äŸã§ã¯ /home/user/openwisp2-firmware-builds
ïŒã§ã次ã®ãããªãã£ã¬ã¯ããªæ§æã§ã€ã¡ãŒãžãèŠã€ãããŸãïŒ
/home/user/openwisp2-firmware-builds
âââ snakeoil/ # (åçµç¹ã«ã¯ç¬èªã®ãã£ã¬ã¯ããªããããŸã)
âââ snakeoil/2016-12-02-094316/ar71xx/standard/ # (æšæºãã¬ãŒããŒã®ar71xxã€ã¡ãŒãžãå«ãŸããŠããŸã)
âââ snakeoil/2016-12-02-094316/x86/standard/ # (æšæºãã¬ãŒããŒã®x86ã€ã¡ãŒãžãå«ãŸããŠããŸã)
âââ snakeoil/latest/ # (latestã¯æåŸã®ã³ã³ãã€ã«ãžã®ã·ã³ããªãã¯ãªã³ã¯ã§ã)
ãã®ãã¥ãŒããªã¢ã«ã«åŸãããã¹ãŠãããŸããã£ãå Žåãããªãã®ããŒãºã«åãããã«èšå®ãã«ã¹ã¿ãã€ãºããæºåãæŽããŸããïŒãã®åŸãæ¬¡ã®æ¹æ³ãèªã¿é²ããŠãã ããã
ããŒã«å€æ°
å¿ èŠã«å¿ããŠã«ã¹ã¿ãã€ãºã§ããå€ãã®å€æ°ããããŸããå æ¬çãªãªã¹ãã«ã€ããŠã¯ã ããã©ã«ãã確èªããŠãã ããã
ãããã®å€æ°ã®äžéšã¯ãçµç¹ããã¬ãŒããŒã«ã説æãããŠããŸãã
çµç¹
OpenWISPã§äœæ¥ããŠããå Žåãç°ãªãã°ã«ãŒãã®äººã ã®ããã«ã€ã¡ãŒãžãã³ã³ãã€ã«ããŠããå¯èœæ§ããããŸãïŒå¶å©é¡§å®¢ãéå¶å©çµç¹ããŸã㯠"çµç¹"ãšããŠå®çŸ©ã§ããä»»æã®äººã ã®ã°ã«ãŒãã§ãã
openwisp2fw_organizations
ã§çµç¹ãèªç±ã«å®çŸ©ã§ããŸãã
ãããè¡ãæ¹æ³ã®äŸã«ã€ããŠã¯ã"äŸã®playbook.ymlãã¡ã€ã«"ãåç §ããŠãã ããã
ç¹å®ã®çµç¹ã®ãã¡ã€ã«ããã¡ã€ã«ã·ã¹ãã ããªãŒã«è¿œå ããå¿ èŠãããå Žåã¯ã "ç¹å®ã®çµç¹ã®ããã®ãã¡ã€ã«ã®è¿œå "ãåç §ããŠãã ããã
ãã¬ãŒããŒ
ãã¬ãŒããŒã¯ãã€ã¡ãŒãžã«å«ãŸããããã±ãŒãžã®çµã¿åããã§ãã
ç°ãªãã€ã¡ãŒãžã®ããã«ç°ãªããã¬ãŒããŒãäœæããããããããŸãããäŸãã°ïŒ
standard
: æãäžè¬çãªäœ¿çšäŸminimal
: ã¹ãã¬ãŒãžã¹ããŒã¹ãéãããããã€ã¹çšã®ã€ã¡ãŒãžmesh
: ã¡ãã·ã¥ãããã¯ãŒã¯ãå®è£ ããããã«å¿ èŠãªããã±ãŒãžãå«ãã€ã¡ãŒãž
ããã©ã«ãã§ã¯ãstandard
ãã¬ãŒããŒã®ã¿ãå©çšå¯èœã§ãã
èªåèªèº«ã®ãã¬ãŒããŒãå®çŸ©ããã«ã¯ãopenwisp2fw_image_flavours
ãèšå®ããŠãã ãããæ§é ãçè§£ããããã«ãããã©ã«ã倿°ãèŠãŠãã ããã
ãã«ãããã»ã¹
ãã«ãããã»ã¹ã¯ã以äžã®ã¹ãããã§æ§æãããŠããŸãã
1. äŸåé¢ä¿ã®ã€ã³ã¹ããŒã«
ã¿ã°: install
ãã®æ®µéã§ã¯ã次ã®ã¹ãããã«å¿ èŠãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ãŸãã¯ã¢ããã°ã¬ãŒããããŸãã
2. ã³ã³ãã€ã«
ã¿ã°: compile
OpenWRTãœãŒã¹ãã³ã³ãã€ã«ããŠã"ã€ã¡ãŒãžãžã§ãã¬ãŒã¿ãŒ"ãšåŒã°ãããã®ãçæããŸãããã®ã€ã¡ãŒãžãžã§ãã¬ãŒã¿ãŒã¯ãããªã³ã³ãã€ã«ãããããã±ãŒãžãšãåçµç¹ã®ã«ã¹ã¿ãã€ãºãããã€ã¡ãŒãžãçæããããã«äœ¿çšãããç¹å¥ãª Makefile
ãå«ãã¢ãŒã«ã€ãã§ãã
ãœãŒã¹ã¯ãopenwisp2fw_source_dir
ã«æå®ããããã£ã¬ã¯ããªã«ããŠã³ããŒããããŠã³ã³ãã€ã«ãããŸãã
3. ãžã§ãã¬ãŒã¿ãŒã®æºå
ã¿ã°: generator
ãã®ã¹ãããã§ã¯ãã€ã¡ãŒãžãžã§ãã¬ãŒã¿ãŒãæœåºãããç°ãªãçµç¹åãã«ç°ãªãã€ã¡ãŒãžããã«ãããããã«æºåãããŸããåçµç¹ã¯ç°ãªããã¬ãŒããŒã®ã€ã¡ãŒãžããã«ãã§ããŸãïŒäŸïŒãã«æ©èœããããã«ãã¡ãã·ã¥ãªã©ïŒã
ã€ã¡ãŒãžã¯ãopenwisp2fw_generator_dir
ã«æå®ããããã£ã¬ã¯ããªã«æœåºãããŠæºåãããŸãã
4. æçµã€ã¡ãŒãžã®ãã«ã
ã¿ã°: build
ãã®æ®µéã§ã¯ãäžé£ã®ã€ã¡ãŒãžãçæãããŸãã
åã¢ãŒããã¯ãã£ãçµç¹ããã¬ãŒããŒã«å¯ŸããŠè€æ°ã®ã€ã¡ãŒãžããã«ããããŸããããããã®ãã¡ã€ã«ãçæãããå¯èœæ§ãããããããã®æ©èœãæ éã«äœ¿çšããŠãã ãããæåã¯å°ãªããªãã·ã§ã³ã§å§ããé²ãã«ã€ããŠããã«å€ãã®ã±ãŒã¹ã远å ããã®ãè¯ãã§ãããã
äŸãã°ã2ã€ã®ã¢ãŒããã¯ãã£ïŒar71xxãšx86ïŒã2ã€ã®çµç¹ïŒäŸãã°ãAãšBïŒã2ã€ã®ãã¬ãŒããŒïŒäŸãã°ãstandardãšminiïŒã䜿çšãããšã8ã€ã®ã€ã¡ãŒãžã°ã«ãŒããçæãããŸãïŒ
- çµç¹: A / ãã¬ãŒããŒ: standard / ã¢ãŒããã¯ãã£: ar71xx
- çµç¹: A / ãã¬ãŒããŒ: standard / ã¢ãŒããã¯ãã£: x86
- çµç¹: A / ãã¬ãŒããŒ: mini / ã¢ãŒããã¯ãã£: ar71xx
- çµç¹: A / ãã¬ãŒããŒ: mini / ã¢ãŒããã¯ãã£: x86
- çµç¹: B / ãã¬ãŒããŒ: standard / ã¢ãŒããã¯ãã£: ar71xx
- çµç¹: B / ãã¬ãŒããŒ: standard / ã¢ãŒããã¯ãã£: x86
- çµç¹: B / ãã¬ãŒããŒ: mini / ã¢ãŒããã¯ãã£: ar71xx
- çµç¹: B / ãã¬ãŒããŒ: mini / ã¢ãŒããã¯ãã£: x86
ã€ã¡ãŒãžã¯ãopenwisp2fw_bin_dir
ã«æå®ããããã£ã¬ã¯ããªã«äœæãããŸãã
5. OpenWISPãã¡ãŒã ãŠã§ã¢ã¢ããã°ã¬ãŒããŒã«ã€ã¡ãŒãžãã¢ããããŒã
æåŸã®ã¹ãããã¯ãOpenWISPãã¡ãŒã ãŠã§ã¢ã¢ããã°ã¬ãŒããŒã¢ãžã¥ãŒã«ã«ã€ã¡ãŒãžãã¢ããããŒãããããšã§ãããã®ã¹ãããã¯ãªãã·ã§ã³ã§ãããã©ã«ãã§ã¯ç¡å¹ã§ãã
ãã®æ©èœãæå¹ã«ããã«ã¯ã倿° openwisp2fw_uploader
ãš openwisp2fw_organizations.categories
ãæ¬¡ã®ããã«èšå®ããå¿
èŠããããŸãïŒ
- hosts:
- myhost
roles:
- openwisp.openwisp2-imagegenerator
vars:
openwisp2fw_controller_url: "https://openwisp.myproject.com"
openwisp2fw_organizations:
- name: staging
flavours:
- default
openwisp:
url: "{{ openwisp2fw_controller_url }}"
shared_secret: "xxxxx"
root_password: "xxxxx"
categories:
default: <CATEGORY-UUID>
- name: prod
flavours:
- default
openwisp:
url: "{{ openwisp2fw_controller_url }}"
shared_secret: "xxxxx"
root_password: "xxxxx"
categories:
default: <CATEGORY-UUID>
openwisp2fw_uploader:
enabled: true
url: "{{ openwisp2fw_controller_url }}"
token: "<REST-API-USER-TOKEN>"
image_types:
- ath79-generic-ubnt_airrouter-squashfs-sysupgrade.bin
- ar71xx-generic-ubnt-bullet-m-xw-squashfs-sysupgrade.bin
- ar71xx-generic-ubnt-bullet-m-squashfs-sysupgrade.bin
- octeon-erlite-squashfs-sysupgrade.tar
- ath79-generic-ubnt_nanostation-loco-m-xw-squashfs-sysupgrade.bin
- ath79-generic-ubnt_nanostation-loco-m-squashfs-sysupgrade.bin
- ath79-generic-ubnt_nanostation-m-xw-squashfs-sysupgrade.bin
- ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin
- ath79-generic-ubnt_unifiac-mesh-squashfs-sysupgrade.bin
- x86-64-combined-squashfs.img.gz
- x86-generic-combined-squashfs.img.gz
- x86-geode-combined-squashfs.img.gz
- ar71xx-generic-xd3200-squashfs-sysupgrade.bin
äŸã®äžã®ä»¥äžã®ãã¬ãŒã¹ãã«ããŒã眮ãæããå¿ èŠããããŸãïŒ
<CATEGORY-UUID>
ã¯OpenWISPãã¡ãŒã ãŠã§ã¢ã¢ããã°ã¬ãŒããŒå ã®ãã¡ãŒã ãŠã§ã¢ã«ããŽãªã®UUIDã§ãã<REST-API-USER-TOKEN>
ã¯ã€ã¡ãŒãžãã¢ããããŒãããæš©éãæã€ãŠãŒã¶ãŒã®RESTèªèšŒããŒã¯ã³ã§ãã
RESTèªèšŒããŒã¯ã³ã¯ãOpenWISPã®ãã©ãŠã¶APIãŠã§ãã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããŠPOSTãªã¯ãšã¹ããéãããšã§ååŸã§ããŸãïŒ
- ãã©ãŠã¶ã§
https://<openwisp-base-url>/api/v1/user/token/
ãéããŸãã - ããŒãžäžéšã®ãã©ãŒã ã«ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããå ¥åããŸãã
- ãã©ãŒã ãéä¿¡ãããšãã¬ã¹ãã³ã¹ã«RESTèªèšŒããŒã¯ã³ãè¿ãããŸãã
ã¢ããããŒãã¹ã¯ãªããã¯ãæ°ãããã«ããªããžã§ã¯ããäœæãããã®åŸãimage_types
ã«æå®ããããã¡ãŒã ãŠã§ã¢ã€ã¡ãŒãžãã¢ããããŒãããŸãã
ãããã®ã€ã¡ãŒãžã¯ãOpenWISPãã¡ãŒã ãŠã§ã¢ã¢ããã°ã¬ãŒããŒã®hardware.pyãã¡ã€ã«å ã§å®çŸ©ãããŠããèå¥åã®ããã«ãã€ã¡ãŒãžã®ã¢ããããŒãã¹ã¯ãªããã«ãã£ãŠæå®ããããã®ãšäžèŽããå¿ èŠããããŸãã
upload_firmware.py
ã¹ã¯ãªããã«é¢ãããã®ä»ã®éèŠãªç¹ïŒ
- ãã®ã¹ã¯ãªããã¯ãOpenWRTãœãŒã¹ã³ãŒãã®
.config
ãã¡ã€ã«ããCONFIG_VERSION_DIST
ãšCONFIG_VERSION_NUMBER
ãèªã¿åãããã«ãããŒãžã§ã³ã決å®ããŸãã - ãã®ã¹ã¯ãªããã¯ãåãããŒãžã§ã³ãšã«ããŽãªã®ãã«ããæ¢ã«ååšãããã確èªããæ°ãããã«ããäœæããã®ã§ã¯ãªãããã®ãã«ãã«ã€ã¡ãŒãžã远å ããããšããŸããéè€ãèŠã€ãã£ãå Žåã倱æã¡ãã»ãŒãžãã³ã³ãœãŒã«ã«è¡šç€ºãããŸãããã¹ã¯ãªããã¯çµäºããŸãããããã«ãããæ°ããããŒããŠã§ã¢ã¢ãã«ã®ã€ã¡ãŒãžãçæããæ¢åã®ãã«ãã«è¿œå ããããšãã§ããŸãã
ã€ã¡ãŒãžã«ãã¡ã€ã«ã远å
çæããããã¹ãŠã®ã€ã¡ãŒãžã«ä»»æã®ãã¡ã€ã«ã远å ããã«ã¯ããã¬ã€ããã¯ãã£ã¬ã¯ããªå
ã« files/
ãšããååã®ãã£ã¬ã¯ããªãäœæãããã®äžã«ãã¡ã€ã«ãé
眮ããŠãã ããã
äŸïŒ
.
âââ hosts
âââ playbook.yml
âââ files/etc/profile
files/etc/profile
ã¯ãçæããããã¹ãŠã®ã€ã¡ãŒãžã«è¿œå ãããŸãã
ç¹å®ã®çµç¹ã®ããã«ãã¡ã€ã«ã远å
ç¹å®ã®çµç¹ã®ã€ã¡ãŒãžã«ãã¡ã€ã«ã远å ããããšãã§ããŸãã
äŸãã°ãsnakeoil
ãšããçµç¹ããããã«ã¹ã¿ã ãããŒã远å ããããšããŸããæ¬¡ã®ãã£ã¬ã¯ããªæ§é ãäœæããã°å®çŸã§ããŸãã
.
âââ hosts
âââ playbook.yml
âââ organizations/snakeoil/etc/banner
ãã®ã¹ãããã¯æçµã€ã¡ãŒãžã®ãã«ãçŽåã«å®è¡ãããã¹ãããã®äžã€ã§ããããããããå©çšããŠåã®ã¹ãããã§èªåçã«ãã«ãããããã¡ã€ã«ãäžæžãããããšãã§ããŸãã
远å ã®ãã©ã¡ãŒã¿
以äžã®è¿œå ãã©ã¡ãŒã¿ã ansible-playbook
ã«æž¡ãããšãã§ããŸãïŒ
recompile
: ã³ã³ãã€ã«ã¹ããããç¹°ãè¿ããã©ããcores
: ã³ã³ãã€ã«ã¹ãããã§äœ¿çšããã³ã¢ã®æ°orgs
: ç¹å®ã®çµç¹ã®çæå¶éãå¿ èŠãªå Žåã®çµç¹åã®ã«ã³ãåºåããªã¹ã
äŸ
16ã³ã¢ã§åã³ã³ãã€ã«:
ansible-playbook -i hosts playbook.yml -e "recompile=1 cores=16"
çµç¹foo
ã®ããã«ã®ã¿ã€ã¡ãŒãžãçæ:
ansible-playbook -i hosts playbook.yml -e "orgs=foo"
çµç¹foo
ãšbar
ã®ããã«ã®ã¿ã€ã¡ãŒãžãçæ:
ansible-playbook -i hosts playbook.yml -e "orgs=foo,bar"
ç¹å®ã®ã¹ããããå®è¡
ããã»ã¹å ã®åã¹ãããã«ã¯ã¿ã°ãä»ããŠãããããansibleã¿ã°ã䜿çšããŠç¹å®ã®ã¹ããããå®è¡ã§ããŸãã
äŸ1ããžã§ãã¬ãŒã¿ãŒã®æºåã ããå®è¡:
ansible-playbook -i hosts playbook.yml -t generator
äŸ2ããžã§ãã¬ãŒã¿ãŒã®æºåãšãã«ãã¹ãããã ããå®è¡:
ansible-playbook -i hosts playbook.yml -t generator,build
ãµãã¿ãŒã²ããã®ãªãã¿ãŒã²ãã
ãã®äŸã§ã¯ããµãã¿ãŒã²ãããæå®ããªãã¿ãŒã²ãããã³ã³ãã€ã«ããããã® openwisp2fw_source_targets
ã®èšå
¥æ¹æ³ã瀺ããŸãïŒäŸïŒsunxi, ARMv8, QEMUïŒïŒ
openwisp2fw_source_targets:
# Allwinner SOC, Lamobo R1
- system: sunxi
profile: sun7i-a20-lamobo-r1
# QEMU ARMä»®æ³ã€ã¡ãŒãž
- system: armvirt
profile: Default
ãµããŒã
OpenWISPãµããŒããã£ã³ãã«ãã芧ãã ããã
Generate different OpenWISP2 firmware images for several organizations
ansible-galaxy install openwisp.openwisp2-imagegenerator