Vlad
А если не подменять адрес гэлакси а задать
- name: https://github.com/ansible-collections/amazon.aws.git
type: git
version: 8102847014fd6e7a3233df9ea998ef4677b99248
Vlad
Именно в 2.10
Aleksey
я проверяю с vvvvvv
видно что запрос на galaxy вообще не идет
Aleksey
там скорее всего lookup в galaxy нужен был что бы отрезовить имя
Aleksey
Aleksey
вот где вызовы в galaxy идут
Aleksey
они на 2.9.12 работают
Aleksey
а я до этого на 2.9.9 тестил
George
Aleksey
- name: place vector config
copy:
content: |
# Ansible managed
{{ vector_config | to_toml }}
dest: "{{ vector_config_file }}"
бесит
Sergey
Aleksey
я вообще почти перестал использовать template
Aleksey
ибо вдруг заметил что постоянно формирую структурированные файлы
Aleksey
но то что в copy content нельзя {{ ansible_managed }} только сейчас споткнулся
Alexander
Добавьте бота с капчей, ну
Alexander
А он и есть тут, лол
Denis 災 nobody
капчу оно прошло
Denis 災 nobody
впрочем, с бюджетом "26к/2 часа" есть бабло на нормальных прогеров
Alexander
Может это биоробот был?
Aleksey
у меня есть issue в ансибле которую мне помогли решить за 42 минуты.
Aleksey
Это рекорд.
Андрей
Коллеги, пришел с вопросом. Как мне загнать вот это выражение в цикл?
#{{hostname}}
dataSource.replicas[0].driverClassName=org.postgresql.Driver
dataSource.replicas[0].url=jdbc:postgresql://{{ hostname }}:5432/
dataSource.replicas[0].username=
dataSource.replicas[0].password=
dataSource.replicas[0].maximumPoolSize=
dataSource.replicas[0].weight=
dataSource.replicas[0].connectionTimeout=
Андрей
или я хочу странного? :(
Sergey
Где здесь у тебя итератор?
Aleksey
у вас цикл по
списку dataSource.replicas
Андрей
Скажем так, мне нужно размножить этот блок исходя из заданных хостнеймов )
Андрей
#hostname1
dataSource.replicas[0].driverClassName=org.postgresql.Driver
dataSource.replicas[0].url=jdbc:postgresql://hostname1:5432/
dataSource.replicas[0].username=
dataSource.replicas[0].password=
dataSource.replicas[0].maximumPoolSize=
dataSource.replicas[0].weight=
dataSource.replicas[0].connectionTimeout=
#hostname2
dataSource.replicas[1].driverClassName=org.postgresql.Driver
dataSource.replicas[1].url=jdbc:postgresql://hostname2:5432/
dataSource.replicas[1].username=
dataSource.replicas[1].password=
dataSource.replicas[1].maximumPoolSize=
dataSource.replicas[1].weight=
dataSource.replicas[1].connectionTimeout=
чтобы получилось как-то так
Андрей
Ткните ссылкой хотя бы, плиз. Я пойду почитаю и сделаю. А то даже идей нет как это запихнуть
Grek 🇺🇦
Jinja шаблон, цикл for, откуда-то из переменных передавайте список хостов
Андрей
ну понятно. я их из inventory могу взять, не проблема
Хайти🏴
Коллеги здравствуйте, подскажите плз.
Предполагаемая схема такова:
Есть KVM гипервизор на дебиан c белым айпишником, нжинкс реверс прокся которая раскидывает трафик согласно домену по соответствующим виртуалкам.
Стоит задача выдавать статику виртуалкам, нагуглил такой плейбук для создания вм
https://github.com/noahbailey/ansible-qemu-kvm
предлагают вот такое пихать в инвентори
Virtual machines:
- name: u18-svr-002
cpu: 1
mem: 512
disk: 5G
bridge: br10
net:
ip: 10.11.12.13/24
gateway: 10.11.12.1
domain: gablogianartcollection.org
dns:
- 1.1.1.1
- 9.9.9.9
Как можно так изящно сделоть чтоб незанятые айпишники выдавались автоматом.
Хайти🏴
Ну или мб кто знает как qemu заставить выдавать персистент айпи по дхцп
zEvilz
всем привет. #вопрос на засыпку) чем отличается name от pkg в модуле apt?
Grek 🇺🇦
Ничем
Grek 🇺🇦
Откройте доку, там просто алиасы
zEvilz
zEvilz
точно, не заметил) в доке видел только name, а в примерах и то и то. щас только заметил алиасы
Хайти🏴
Emil
Доброго времени суток.
Как-то можно передать факты в main_tasks/copy_service.yml, так этот таск использует их. Я пробовал внутри таски модуль setup вызывать сперва, но тоже факты не видит.
Или не стоит в таком ключе реализовывать?
- name: UPDATE_SERVICE
hosts: test
gather_facts: true
tasks:
- import_tasks: main_tasks/backup.yml
- import_tasks: main_tasks/copy_service.yml
- import_tasks: main_tasks/restart_service.yml
vars:
name_serivice: service_1
Sergey
Emil
Какую задачу решаешь?
Внутри main_tasks/copy_service.yml вот такое
- name: copying new version service
copy:
src: src_1
dest: dst_1
when:
- ansible_facts['distribution'] == "CentOS"
- ansible_facts['distribution_version'] == "5.4"
- name: copying new version service
copy:
src: src_2
dest: dst_2
when:
- ansible_facts['distribution'] == "CentOS"
- ansible_facts['distribution_version'] == "7.5.1804"
Sergey
Этот пост не отвечает на тот вопрос, который я задал. Он отвечает на вопрос "что написано в файлах с тасками" ;-)
alecx
alecx
zEvilz
всем привет. в таске юзаю модуль copy. передаю ему список файлов через with_items. мне нужно перезапустить сервис, если хотя бы один из файлов changed. как правильно написать условие?
Sergey
Grek 🇺🇦
Если пропишешь условие.
Вроде регистрирует все что в copy, а следующий таск нотифи, с условием
Vladislav 👻
zEvilz
мне бы желательно сразу ребутнуть, а через notify это будет в конце. если with_items, то в переменную по идее попадает массив. по любому же можно в when как то проверить наличие changed в массиве, не?)
Grek 🇺🇦
Тогда без нотифи, просто второй таск, который отслеживает changed и делает всё чо нужно вам
zEvilz
Grek 🇺🇦
Зачем, регистрируйте таск с копи в переменную, к примеру cp, а потом when cp.changed
Grek 🇺🇦
Правильный синтаксис лучше в доке смотреть, потому что с телефона пишу, не на чем точно проверитт
zEvilz
Grek 🇺🇦
Тип того
zEvilz
понял, всем спасибо)
Alex
https://docs.ansible.com/ansible/latest/reference_appendices/faq.html#how-do-i-get-the-original-ansible-host-when-i-delegate-a-task
я правильно понимаю, что багу до сих пор так и не пофиксили?
Ибо
- debug: msg="master/{{ hostvars[inventory_hostname]['node_name'] }}"
- debug: msg="master -> slave/{{ hostvars[inventory_hostname]['node_name'] }}"
delegate_to: slave
- debug: msg="master -> eplus/{{ hostvars[inventory_hostname]['node_name'] }}"
delegate_to: eplus
везде выдает имя мастера
Lamobot
Grek 🇺🇦
А просто inventory_hostname, не то?
Без хостварс
Alex
нее
Alex
https://github.com/ansible/ansible/issues/30630
https://github.com/ansible/ansible/pull/69244
Alex
куча issue, но что то воз и нынча там
Sergey
Да не должно так работать же, что за детский сад? Ты делегируешь в переменную - её и используй.
Alex
Sergey
Можно.
- debug: msg="master -> slave/{{ hostvars[slave]['node_name'] }}"
delegate_to: slave
Alex
А смысл? Если мне надо самому в ручном режиме выбирать имя хоста
Emil
Alex
Тут вся фишка как раз в inventory_hostname
Sergey
Alex
Grek 🇺🇦
наверное вопрос Сергея был о другом - кто определяет что должно быть в delegate_to? Тот и должен подставить правильный хост в запрос к хостварс.
А у Алекса наверное вопрос в том чтоб не надо было подставлять в запрос к хостварс, а просто обратиться к переменной, допустим если хост в delegate_to задается не в ручную...
Я как то так это понял
Alex
Alex
Ибо выставлять ручками слишком муторно