Size: a a a

2021 February 12

AB

Alexander Balandin in Ansible
Еще есть вопрос по объединению переменных. Т.е. в group_vars переменная
Var1:
- var2:
   var3:
   var4:


Как то можно в host_vars заменить только var4?
источник

AP

Andrew Putsev in Ansible
Если только сделать отдельное имя, а потом объединить два словаря через union
источник

AP

Andrew Putsev in Ansible
Ну или второй вариант: через lookup('template', 'template_name.j2'), а все преобразования делать уже внутри этого template
источник

ИА

Игорь А. in Ansible
подскажите, ансибл сохраняет версию интерпретатора python в фактах?
источник

AG

Alex Gluck in Ansible
Lamobot
Можно, но зачем уносить то, что должно быть в шаблоне? :)
Например так
testvar: |
 {%- for xvar in listvar %}
 {{ xvar }}
 {% endfor -%}
Или так, если вам всё в одну строку нужно:
testvar: '{{ listvar | join{" "} }}'
Так не читабельно, не делайте плиз
источник

TG

Timur Gadiev in Ansible
Игорь А.
подскажите, ансибл сохраняет версию интерпретатора python в фактах?
Да
источник

TG

Timur Gadiev in Ansible
Andrew Putsev
Если только сделать отдельное имя, а потом объединить два словаря через union
Через combine тогда уж
источник

ИА

Игорь А. in Ansible
спасибо, нашел
источник

AP

Andrew Putsev in Ansible
Timur Gadiev
Через combine тогда уж
Да, скорее всего. Я смотрел со старого кода, где на входе лист был из словарей
источник

VD

Vld DPDoc in Ansible
Pavel Gassan
называешь файлы пакетов в директории files соответствующе дистрибутивам, на которые они должны быть установлены
в таске наверное первым делом копируешь файл, потом устанавливаешь
Реализовал так:
set_fact: pack=foo.deb
when: - ans_distr == "Ubuntu" так под каждую ОС. Потом copy и установка.
источник

PG

Pavel Gassan in Ansible
Можно без when-ов и set_fact обойтись
источник

VD

Vld DPDoc in Ansible
Pavel Gassan
Можно без when-ов и set_fact обойтись
Возможно.
источник

AD

Alex Domoradov in Ansible
Vld DPDoc
Реализовал так:
set_fact: pack=foo.deb
when: - ans_distr == "Ubuntu" так под каждую ОС. Потом copy и установка.
а что мешает вынести имя пакета в vars и подключать через include_vars ?
источник

AD

Alex Domoradov in Ansible
vars/sudo/debian8.yml
vars/sudo/debian9.yml
источник

VD

Vld DPDoc in Ansible
Alex Domoradov
а что мешает вынести имя пакета в vars и подключать через include_vars ?
Вернее выносил пакеты только, не подкючал через include. А когда делал копи то указывался лист паков и ничего не копировалось.
источник

AD

Alex Domoradov in Ansible
не понял
источник

LP

Little Princess in Ansible
салам пацаны. Ansible-lint ругается на следующий таск:
- name: Start socket listener
 shell: "nc -kl {{ '-u' if item.proto == 'udp' else '' }} 0.0.0.0 {{ item.port }} --sh-exec=/bin/false 2>&1 &"
 with_items:
 - "{{ win_portcheck_map }}"
 - "{{ dp_portcheck_map }}"
 async: 120
 poll: 0
Опираясь на следующее правило:

no-changed-when

Commands should not change things if nothing needs doing

Commands should either read information (and thus set changed_when) or not do something if it has already been done (using creates/removes) or only do it if another check has a particular result (when)

Не совсем понимаю, что он отменя хочет. Что значит  nothing needs doing, когда все очень даже needs?
источник

DS

Denis Seleznev in Ansible
Little Princess
салам пацаны. Ansible-lint ругается на следующий таск:
- name: Start socket listener
 shell: "nc -kl {{ '-u' if item.proto == 'udp' else '' }} 0.0.0.0 {{ item.port }} --sh-exec=/bin/false 2>&1 &"
 with_items:
 - "{{ win_portcheck_map }}"
 - "{{ dp_portcheck_map }}"
 async: 120
 poll: 0
Опираясь на следующее правило:

no-changed-when

Commands should not change things if nothing needs doing

Commands should either read information (and thus set changed_when) or not do something if it has already been done (using creates/removes) or only do it if another check has a particular result (when)

Не совсем понимаю, что он отменя хочет. Что значит  nothing needs doing, когда все очень даже needs?
добавь
changed_when: false
источник

SP

Sergey Pechenkó in Ansible
Little Princess
салам пацаны. Ansible-lint ругается на следующий таск:
- name: Start socket listener
 shell: "nc -kl {{ '-u' if item.proto == 'udp' else '' }} 0.0.0.0 {{ item.port }} --sh-exec=/bin/false 2>&1 &"
 with_items:
 - "{{ win_portcheck_map }}"
 - "{{ dp_portcheck_map }}"
 async: 120
 poll: 0
Опираясь на следующее правило:

no-changed-when

Commands should not change things if nothing needs doing

Commands should either read information (and thus set changed_when) or not do something if it has already been done (using creates/removes) or only do it if another check has a particular result (when)

Не совсем понимаю, что он отменя хочет. Что значит  nothing needs doing, когда все очень даже needs?
#башсибл #странное
источник

LP

Little Princess in Ansible
соре не я писал, но мне исправлять
источник