
Alexander
04.09.2018
18:49:22
ansible 2.4.2.0 если что

Wom
04.09.2018
18:49:34
структуру каталогов и плейбук как запускаешь?

Alexander
04.09.2018
18:50:19
как роль
ansible-playbook -i hosts play.yml
cat play.yml
---
- hosts: 10.0.2.30
become: true
roles:
- role1

Google

Wom
04.09.2018
18:52:04
вывод с дебагом куда-нибудь выложи

Alexander
04.09.2018
18:53:03
Думаю, не смотрит просто эта версия на templates

Wom
04.09.2018
18:54:21
забавно, в 2.4 у меня работало

Vadim
04.09.2018
18:54:47
оно и в 2.6 работает, но нет логов - нет компотика

Wom
04.09.2018
18:55:50
у меня сейчас 2.6 и работает

bebebe
04.09.2018
18:56:55
я что-то пропустил, или 2.6.x стало модно?

Alexander
04.09.2018
18:59:30
Спасибо за помощь, причина - вместо template использовал copy. Думал, поменял, а вон оно чо )
Отдохнуть надобно, наверное )

bebebe
04.09.2018
19:00:12

Alexander
04.09.2018
19:00:44
Обфусцировать лень было, а так выкладывать не хотел

bebebe
04.09.2018
19:01:22
понятно, центр психологический поддержки ansible

Wom
04.09.2018
19:02:14

bebebe
04.09.2018
19:03:12
а я что-то на 2.5.x засиделся

Google

bebebe
04.09.2018
19:03:25
надо попробовать тег обновить и CI прогнать

Nklya
04.09.2018
19:05:53
там уже 2.7 на подходе

Alexander
04.09.2018
19:08:59
уже же есть unstable

Sergey
04.09.2018
20:10:34


Udjin
04.09.2018
23:42:20
Всем привет
есть такая таска:
- 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
таска должна для каждого айпишника, на котором плей запущен, подставить линию с айпишником.
ЧЯДНТ?
а в результате выхлоп такой:
```#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']
````
никто не подскажет?

bebebe
05.09.2018
03:26:15

Div
05.09.2018
06:39:59
привет коллеги, нашел интересное решение для добавления хостов в ~/.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?

Artem
05.09.2018
06:45:35
зачем их туда добавлять? ?

Div
05.09.2018
06:52:35
например для использования git
то, что я нашел работает без нареканий, но это костыль и хотелось бы использовать нативный модуль.

Vlad
05.09.2018
07:02:49
При таком добавлении теряется смысл проверять ключ сервера. Нужно хранить ключ в своем git репозитории и его добавлять в known_hosts.

Sergey
05.09.2018
07:20:03
Single source of truth = репозиторий с проектом, и ничто иное

Wom
05.09.2018
07:26:17
С одним коммитером

Div
05.09.2018
08:36:41
тут я с вами полностью согласен. но как мне тогда обойти host key проверку при выполении git clone на свежесозданной машине?
без добавления ключа роль тупо вываливается...
интернеты вообще чушь советуют с отключением проверки.

Google

Paul
05.09.2018
08:39:19

Div
05.09.2018
08:39:32

Paul
05.09.2018
08:39:48

bebebe
05.09.2018
08:42:47

Div
05.09.2018
08:45:04
у меня как вы говорите "ынтырпрайз" на базе древних опнсорс тулз. нужно сделать красиво.

bebebe
05.09.2018
08:46:24
делайте по красоте

Div
05.09.2018
08:47:21
делаю. отсюда и вопросы.
например в случае использования репо для ключей, как оттуда добавлять ключи если я всеравно упрусь в проверку ключа при добавлении?

bebebe
05.09.2018
08:49:06
надо сказать. что предыдущий вопрос к ансибл никакого отношения не имеет, лучше в @devops_ru спрашивать

Div
05.09.2018
08:49:16
ок

bebebe
05.09.2018
08:49:17
или где там рассадник их

Nklya
05.09.2018
09:26:44
Если репа например в гитлабе хранится, ее можно через токен копировать и не нужно никаких ключей

Terminator
05.09.2018
09:50:00
@krionfreebsd будет жить. Поприветствуем!

Kirill
05.09.2018
09:51:46
вопрос по jinja, есть inventory, например такой:
ubuntu1 ansible_host=139.59.131.125
ubuntu2 ansible_host=104.248.23.35
[zncpbs]
ubuntu[1:2]
теперь пытаюсь взять эту группу из inventory и отдать в темплейт
{% set comma = joiner(",") %}
{% for host in groups['zncpbs'] -%}
Match Host {{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}{{ comma() }}
PasswordAuthentication yes
{%- endfor %}
но он по логике делает 4 строки: Match Host 139.59.131.125 PasswordAuthentication yes и еще Match Host 104.248.23.35 PasswordAuthentication yes, но нам то надо Match Host IP, IP и уже затем PasswordAuthentication yes c indent 4

Div
05.09.2018
09:54:32

bebebe
05.09.2018
09:58:15

Google

bebebe
05.09.2018
09:59:23
а вижу.

Kirill
05.09.2018
09:59:47
ну пытаюсь тут запятую нарисатьва

bebebe
05.09.2018
10:01:10
{% for host in groups['zncpbs'] %}
{% set ipaddr = hostvars[host]['ansible_eth0']['ipv4']['address'] %}
Match Host {{ ipaddr }}, {{ ipaddr }}
PasswordAuthentication yes
{% endfor %}

Kirill
05.09.2018
10:02:59
спасибо, сейчас посмотрю
а если хостов в группе не два, а 10 ?

Admin
ERROR: S client not available

Kirill
05.09.2018
10:05:39
не мэтчится: fatal: [ubuntu1]: FAILED! => {"changed": false, "checksum": "d75b47027bc5b9ad11de51f25591767175646771", "exit_status": 255, "msg": "failed to validate", "stderr": "Missing Match criteria for 139.59.131.125\r\n/root/.ansible/tmp/ansible-tmp-1536141835.33-97471998377108/source line 113: Bad Match condition\r\n", "stderr_lines": ["Missing Match criteria for 139.59.131.125", "/root/.ansible/tmp/ansible-tmp-1536141835.33-97471998377108/source line 113: Bad Match condition"], "stdout": "", "stdout_lines": []}

bebebe
05.09.2018
10:07:24

Kirill
05.09.2018
10:14:59

bebebe
05.09.2018
10:20:18
спасибо большое, теперь как надо
когда перейдете на 2.6.x, эта коснтрукция поломается, как вчера выяснилось в 2.6.x ansible_eth0.ipv4 не dict, а array of dict
будет ['ansible_eth0', 'ipv4', 0, 'address]

Kirill
05.09.2018
10:27:03
хм, на 2.6.3 протестировал и все работает

bebebe
05.09.2018
10:35:13
Или не поломается
спасибо!
У вас на en0 висело больше одного ойпи адреса?

Wom
05.09.2018
10:36:42
но это мак

bebebe
05.09.2018
10:38:14
По идеи не должно быть разницы в фактах..
В иерархии и структуре. Непонятно

zhag
05.09.2018
11:04:48
у меня ansible генерит ssh ключ, как я его могу взять потом и положить в переменную?
Подскажите пожалуйста

Nazar
05.09.2018
11:05:34
with_file

Google

bebebe
05.09.2018
11:07:39
Подскажите пожалуйста
если ключ генерится на той же машине, где и запускается ansible, то можно делать lookup('FILE', '/path/to/ssh_key')

zhag
05.09.2018
11:08:01
Нет, ключ генерится на удаленном сервере

Aleksey
05.09.2018
11:17:01

Terminator
05.09.2018
11:22:49
@blx1m0 будет жить. Поприветствуем!

Ievgen
05.09.2018
14:29:52
мм а кто то работает с ansible через python api? есть вопрос - что то поменялось при переходе с 2.6.0 на 2.6.1 и напиленный на питоне ланчер не понимает переменные из group_vars/all.yml - никто не сталкивался? Или надо копать?

Terminator
05.09.2018
14:42:29
@x3medima17 будет жить. Поприветствуем!

Dumitru
05.09.2018
14:43:35
всем привет
который час не могу добавить текст в конец строки в ансибле по regexp
lineinfile умеет дописывать или удалять строки, а вот добавить слово в конец у меня не вышло
уже прошу помощи у комьюнити

bebebe
05.09.2018
14:49:02
лучше на pastebin куда-нибудь

Dumitru
05.09.2018
14:51:56
покажите что вы делаете, исходный кусок текста, и желаемый
есть файл с ip адресами:
35.242.242.12
35.234.84.101
35.198.128.175
и список ключей в формате private:public
хочу добавить каждой строчке по одной паре, чтобы в конце вышло так:
35.242.242.12;<priv>;<pub>
35.234.84.101;<priv>;<pub>
35.198.128.175;<priv>;<pub>
делаю это все локально, один раз

bebebe
05.09.2018
14:55:18

Dumitru
05.09.2018
14:56:32
все оказалось так просто ?
спасибо большое!

bebebe
05.09.2018
15:15:09

Dumitru
05.09.2018
15:16:04
у меня 3 строки с ip адресами, они в любом случае попадут все под регекс