Feature/fleet control #1
@@ -40,6 +40,7 @@ ansible-playbook deploy.yml # код с этой маши
|
||||
| `playbook.yml` | теги `base` (apt, зависимости, plugdev, udev для HackRF, fish), `hostname`, `key` (deploy-ключ Gitea), `env` (`~/node.env`, только засев) |
|
||||
| `wifi-off.yml` | радио выключено, NetworkManager помнит это через перезагрузку |
|
||||
| `deploy.yml` | `rsync` исходников без `.git` и `build`, ревизия в `~/hackrf-scanner/DEPLOYED`, `cmake` сборка, проверка бинарников |
|
||||
| `reboot.yml` | перезагрузка с ожиданием возврата, печатает ядро |
|
||||
| `poweroff.yml` | штатное выключение и ожидание, пока узел пропадёт из сети |
|
||||
|
||||
Ограничение по узлам и тегам как обычно: `-l node106`, `--tags base`.
|
||||
@@ -48,7 +49,10 @@ ansible-playbook deploy.yml # код с этой маши
|
||||
|
||||
`inventory/hosts.yml`: адрес узла в проводной сети, `sdr_id`, серийник HackRF,
|
||||
координаты x, y в метрах. Координаты и `server_ip` засеваются в `~/node.env`
|
||||
один раз, полевые правки на узле плейбук не перетирает.
|
||||
один раз, полевые правки на узле плейбук не перетирает. После смены
|
||||
расстановки в инвентаре паспорта перезаписываются явно:
|
||||
|
||||
ansible-playbook playbook.yml --tags env -e env_force=true
|
||||
|
||||
## Приёмка
|
||||
|
||||
|
||||
+2
-2
@@ -111,11 +111,11 @@
|
||||
StrictHostKeyChecking accept-new
|
||||
tags: [key]
|
||||
|
||||
- name: ~/node.env для node.py (только засев, полевые правки не трогаем)
|
||||
- name: ~/node.env для node.py (засев; перезапись из инвентаря -e env_force=true)
|
||||
ansible.builtin.copy:
|
||||
dest: ~/node.env
|
||||
mode: "0644"
|
||||
force: false
|
||||
force: "{{ env_force | default(false) }}"
|
||||
content: |
|
||||
SDR_ID={{ sdr_id }}
|
||||
X={{ x }}
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
# Перезагрузка узлов с ожиданием возврата по ssh (например, после обновления
|
||||
# ядра). В конце каждый узел печатает ядро, на котором поднялся.
|
||||
- name: Перезагрузка узлов
|
||||
hosts: all
|
||||
gather_facts: false
|
||||
tasks:
|
||||
- name: reboot и ожидание возврата
|
||||
become: true
|
||||
ansible.builtin.reboot:
|
||||
reboot_timeout: 300
|
||||
|
||||
- name: Ядро после перезагрузки
|
||||
ansible.builtin.command: uname -r
|
||||
register: kernel
|
||||
changed_when: false
|
||||
|
||||
- name: Итог по узлу
|
||||
ansible.builtin.debug:
|
||||
msg: "[+] {{ inventory_hostname }}: поднялся, ядро {{ kernel.stdout }}"
|
||||
Reference in New Issue
Block a user