Size: a a a

ansible — русскоговорящее сообщество

2021 November 30

ВШ

Вадим Шандринов... in ansible — русскоговорящее сообщество
у нас
inventory group_vars  - это директория, которая находится в inventory директории
playbook group_vars - директория, которая находится в playbooks директории
но может быть и секцией, кажется...

https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html
Using multiple inventory sources
источник
2021 December 01

G

Georgy in ansible — русскоговорящее сообщество
а я не могу в секции when проверять группы, объявленные в inventory file?
источник

G

Georgy in ansible — русскоговорящее сообщество
например, у меня есть группа
cluster:
 children: [some,hosts]
мне низзя её проверить, типа как when: (cluster|length > 1) ?
источник

G

Georgy in ansible — русскоговорящее сообщество
ansible говорит, что cluster не объявлен ((
источник

G

Georgy in ansible — русскоговорящее сообщество
аа, кажись понял.. groups['pp_cluster'] | length
источник
2021 December 02

АС

Антон Сенько... in ansible — русскоговорящее сообщество
коллеги, подскажите плиз, что надо прописать в .ansible-lint, чтобы проигнорирвать проверку inventory.yaml? Ну бесит нереально (((
источник
2021 December 04

ee

elessar elfstone in ansible — русскоговорящее сообщество
  - name: Add IP address 
   lineinfile:
     dest: /etc/hosts
     line: "{{ hostvars[item]['ansible_host'] }} {{ hostvars[item][0] }}"
     state: present
   with_items: groups['ch']
источник

ee

elessar elfstone in ansible — русскоговорящее сообщество
fatal: [ch1]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: \"hostvars['groups['ch']']\" is undefined\n\nThe error appears to be in '/mnt/c/Users/elessar/rebrain/playbooks/ch/ch_play.yml': line 115, column 5, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n  - name: Add IP address of all hosts to all hosts\n    ^ here\n"}
источник

I

Ilgiz in ansible — русскоговорящее сообщество
Красивое
источник
2021 December 06

ММ

Микола Мельникович... in ansible — русскоговорящее сообщество
Поделитесь опытом.
Изменяется конфиг сервиса. При этом идет нотификация на хендлер, который должен ребутнуть его.
Но не доходя до хендлеров возникает ошибка. След. запуск никак не ребутнет этот сервис и он продолжит работать на старом конфиге.
При каждом запуске плейбука тормозить и запускать сервис тоже вродь как не вариант...
источник

ВШ

Вадим Шандринов... in ansible — русскоговорящее сообщество
Ошибка - она на то и ошибка, что бы править скрипты/источник ошибки.
Добиться того что бы ошибки не было, попутно перестартовывая вручную. И запускать уже без ошибки, гарантируя рестарт.
источник

ВШ

Вадим Шандринов... in ansible — русскоговорящее сообщество
Если ошибка - отсутствие пакета или строки в хостах (что за ошибка-то?)- делать таски, которые убеждаются что пакет установлен/строка есть/етс
источник

ММ

Микола Мельникович... in ansible — русскоговорящее сообщество
Всё было хорошо, пока не завязались на сервис авторизации. В один момент становлюсь неавторизированным...
Но спасибо за идею!
Я лучше таски с тем куском пока "проигнорю"(не оч и важен), нежели жить в догадках. А на будущее запланирую детальный разбор.
источник

ВШ

Вадим Шандринов... in ansible — русскоговорящее сообщество
А теперь сам спрошу:
как ансиблом разнести публичные ssh-ключики по серверам? задача - ограничить на ферме серверов (RHEL, CentOS)
вход пользователям по ключу (а вход по паролю отключить). Пользователи дадут свои публичные ключики - как их на 10+ серверам разнести?
источник

ВШ

Вадим Шандринов... in ansible — русскоговорящее сообщество
источник

MY

Mikhail Yurenkov in ansible — русскоговорящее сообщество
Да
источник

MY

Mikhail Yurenkov in ansible — русскоговорящее сообщество
Только в новых версиях ансибл он в коллекцию вынесен. Posix по моему
источник
2021 December 07

АМ

Андрей Марийко... in ansible — русскоговорящее сообщество
Доброго дня. подскажите, пожалуйста с тривиальной задаче.
в блейбуке через vars_prompt берем значения, и затем их надо добавить в файл одной линией
как это правильно сделать с учетом того что как переменные так и тескт _Mk должен быть
синтаксис динии такой line: {{sitename}}_MK{{Mknum}} {{Ovpn_password}}

сам
плейбук пока так выглядит:

- name: Update configuration temp router

 #  hosts: temp

 gather_facts: false

 vars_prompt:

   - name: sitename
     prompt: input name for new site
     private: no
     default: site_name

   - name: MKnum
     prompt: input number for this mikrotik on this site (by default 1)
     private: no
     default: 1

   - name: Ovpn_password
     prompt: input password for this Mikrotik
     private: yes
     
 hosts: vpn

 tasks:

     - name: Create password
       ansible.builtin.lineinfile:
         path: /etc/ansible/tmp/pwdtest
         line: {{sitename}}_MK{{Mknum}} {{Ovpn_password}}
         #sta
источник

ВШ

Вадим Шандринов... in ansible — русскоговорящее сообщество
line: "{{sitename}}_MK{{Mknum}} {{Ovpn_password}}"
в кавычки возьми

ну и на будущее
- debug:
 msg: тут пишешь что хочешь посмотреть на этапе выполнения те же "{{sitename}}_MK{{Mknum}} {{Ovpn_password}}"
запускаешь - смотришь или на ошибку или на то что получилось
источник

АМ

Андрей Марийко... in ansible — русскоговорящее сообщество
Вроде загонял в кавычки и в разных вариантах. Завтра перепроверю. Спасибо
источник