Womchik
у вас надеюсь gather_facts: true ?
ну так почти копипаста :)
Андрей
вангую что у вас ansible_connection=ssh и ansible показывает свой же pid по которому запускает таску
увидел это, когда убрал awk и оставил только shell: ps axu | grep 54320 | grep ssh
bebebe
ну так почти копипаста :)
а если запустить ansible -m setup <TARGET_HOST> | sed '1s/.*/{/' | jq '.ansible_facts.ansible_en0.ipv4.address' ?
Андрей
bebebe спасибо!
bebebe
sed должен был удалить то что портило json... а какой у вас ansible? впрочем возвращасяь к вопросу, ansible -m setup <TARGET_HOST> | vim -R - и попробуйте найти ansible_en0
Womchik
есть и адрес у него есть
bebebe
есть и адрес у него есть
тогда вернемся к: hostvars['localhost']['{{ 'ansible_' + iface}}'].ipv4.address вы localhost меняли? :)
bebebe
и все таки напишите версию ansible, может быть она старая?
bebebe
дайте доступ (бггг) :D
Womchik
ok: [localhost] => { "hostvars['localhost']['ansible_en1'].ipv4": [ { "address": "192.168.3.47", "broadcast": "192.168.3.255", "netmask": "255.255.255.0", "network": "192.168.3.0" } ] }
Womchik
добавляешь address - и сразу облом
bebebe
о! в вашем ansible это list of maps
bebebe
hostvars['localhost']['{{ 'ansible_' + iface}}'].ipv4[0].address
bebebe
в моем это просто map
bebebe
@womchik hostvars['localhost']['{{ 'ansible_' + iface}}'].ipv4[0].address вот так должно сработать
Emil
всем привет
Emil
- name: Install tomcat shell: mv "/tmp/apache-tomcat-8.5.{{ release }}* /opt/{{ instance_root }}"
Emil
fatal: [office-tomcat-test]: FAILED! => {"changed": true, "cmd": "mv \"/tmp/apache-tomcat-8.5.33* /opt/rmtr\"", "delta": "0:00:00.002745", "end": "2018-09-04 17:32:14.387734", "msg": "non-zero return code", "rc": 1, "start": "2018-09-04 17:32:14.384989", "stderr": "mv: missing destination file operand after ‘/tmp/apache-tomcat-8.5.33* /opt/rmtr’\nTry 'mv --help' for more information.", "stderr_lines": ["mv: missing destination file operand after ‘/tmp/apache-tomcat-8.5.33* /opt/rmtr’", "Try 'mv --help' for more information."], "stdout": "", "stdout_lines": []}
Emil
и копирование тоже не проходит
Emil
че он хочет
Emil
на серваке командой все ок
Oleksandr
mv directory?
Emil
ага или копирование
Oleksandr
а если с -R ?
Emil
пишет такого аргумента нет
Oleksandr
```- name: Install tomcat shell: mv -R "/tmp/apache-tomcat-8.5.{{ release }}* /opt/{{ instance_root }}" ``` Так?
Emil
если модуль copy то fatal: [office-tomcat-test]: FAILED! => {"changed": true, "cmd": "mv -R \"/tmp/apache-tomcat-8.5.33 /opt/rmtr\"", "delta": "0:00:00.002463", "end": "2018-09-04 17:38:17.358059", "msg": "non-zero return code", "rc": 1, "start": "2018-09-04 17:38:17.355596", "stderr": "mv: invalid option -- 'R'\nTry 'mv --help' for more information.", "stderr_lines": ["mv: invalid option -- 'R'", "Try 'mv --help' for more information."], "stdout": "", "stdout_lines": []}
Vadim
вайлдкарды - это плохо, пнтятнеко? Их надо экранировать (а лучше убрать)
Emil
Почему вы не используете synchronize?
потому что когда тестировал чисто плейбуком, то все работало, добавил в роль, перестало, synchronize работает спасибо
Maksim
Никто не сталкивался с тем что ansible при выполнении плейбука работает в LANG=C и в итоге в переменных окружения сервисов которые он запускает тое стоит LANG=C ?
Maksim
началось после обновления до 2.6.3
Alexander
Слушьте, а вот лежат в role1/templates/ файлы, а я из role1/tasks к ним только по относительному пути могу обращаться? Типа ../templates/template1.j2`можно, а нельзя типа `template1.j2? Ну, вроде $PATH что-то...
Womchik
можно просто по имени
Alexander
Надо авторам нововведения нередактируемой строки кода руки оторвать
Womchik
"назови меня просто по имени..."
Alexander
Womchik
-vvv
Alexander
Он в files и tasks смотрит, а в templates нет.
Womchik
Could not find or access
вот в таком формате пути указывать не надо - https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html
Womchik
Alexander
Так я запустил, по результату и говорю.
Alexander
ansible 2.4.2.0 если что
Womchik
структуру каталогов и плейбук как запускаешь?
Alexander
как роль
Alexander
ansible-playbook -i hosts play.yml cat play.yml --- - hosts: 10.0.2.30 become: true roles: - role1
Womchik
вывод с дебагом куда-нибудь выложи
Alexander
Думаю, не смотрит просто эта версия на templates
Alexander
вывод с дебагом куда-нибудь выложи
Спасибо, я пока подзабью. Думал, может очевидное что-то я не учёл, разбираться не охота долго.
Womchik
забавно, в 2.4 у меня работало
Vadim
оно и в 2.6 работает, но нет логов - нет компотика
Womchik
у меня сейчас 2.6 и работает
bebebe
я что-то пропустил, или 2.6.x стало модно?
Alexander
Спасибо за помощь, причина - вместо template использовал copy. Думал, поменял, а вон оно чо ) Отдохнуть надобно, наверное )
Alexander
Обфусцировать лень было, а так выкладывать не хотел
bebebe
понятно, центр психологический поддержки ansible
Womchik
я что-то пропустил, или 2.6.x стало модно?
на тестовых средах я 2.6 гоняю
bebebe
а я что-то на 2.5.x засиделся
bebebe
надо попробовать тег обновить и CI прогнать
Nklya
там уже 2.7 на подходе
Alexander
уже же есть unstable
Udjin
Всем привет есть такая таска: - name: Reading play hosts set_fact: my_hosts: "{{ hostvars[item]['ansible_ssh_host']}}" with_items: "{{ play_hosts }}" tags: - playhosts - debug: msg="{{my_hosts}}" tags: - playhosts - name: Adding target to prometheus server blockinfile: dest: "/etc/prometheus/prometheus.yml" insertafter: EOF backup: no marker: "#{{inventory_hostname}}" block: |2 - job_name: '{{inventory_hostname}}' static_configs:{%- for m in my_hosts %} - targets: ['{{hostvars[m]}}:9100'] {% endfor %} tags: - playhosts таска должна для каждого айпишника, на котором плей запущен, подставить линию с айпишником. ЧЯДНТ?
Udjin
а в результате выхлоп такой:
Udjin
```#my_hostname - job_name: 'my_hostname' static_configs: - targets: [':9100'] - targets: [':9100'] - targets: [':9100'] - targets: [':9100'] - targets: [':9100'] - targets: [':9100'] - targets: [':9100'] - targets: [':9100'] - targets: [':9100'] - targets: [':9100'] ````
Udjin
никто не подскажет?
Div
привет коллеги, нашел интересное решение для добавления хостов в ~/.ssh/known_hosts lineinfile: dest: /root/.ssh/known_hosts create: yes state: present line: "{{ lookup('pipe', 'ssh-keyscan -t rsa github.com') }}" regexp: "^github\\.com" кто то пробовал это делать модулем known_hosts?
Tadeusz
зачем их туда добавлять? 🤣
Div
например для использования git
Div
то, что я нашел работает без нареканий, но это костыль и хотелось бы использовать нативный модуль.
Vlad
При таком добавлении теряется смысл проверять ключ сервера. Нужно хранить ключ в своем git репозитории и его добавлять в known_hosts.