Size: a a a

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

2021 February 16

A

Alexey Yamschikov in ansible — русскоговорящее сообщество
скопировать понятно - я в образе буду чекаут делать на нужный репо/ветку

Я имею в виду - как запустить локально в контейнере, чтобы накатить именно этот конфиг
Не понимаю этого момента.
источник

A

Alexey Yamschikov in ansible — русскоговорящее сообщество
чтобы не плодить копии конфигураций и использовать уже то что есть
источник

VC

Vladimir Chernyshev in ansible — русскоговорящее сообщество
не понимаю задачи, какой чекаут в образе?


#Dockerfile
FROM nginx
COPY config/nginx.conf /etc/nginx/conf.d/default
COPY ./ /var/www/html/
источник

A

Alexey Yamschikov in ansible — русскоговорящее сообщество
есть группа хостов фронтов
на неё повешено много конфигурации для nginx
Я хочу эту конфигурацию раскатать внутри контейнера при сборке
источник

A

Alexey Yamschikov in ansible — русскоговорящее сообщество
те во время сборки сделать
 git clone from_some_repo_with_ansible_configurartion infra
cd infra
ansible-playbook local.yaml

и чтобы роль nginx натянулась вот на local
источник

A

Alexey Yamschikov in ansible — русскоговорящее сообщество
как вариант похоже устанавливать hostname  имеющийся в инвентаре перед сборкой и накатывать плейбук - по идее тогда должно подхватить всё из инвентаря
источник
2021 February 17

M

Maksim Sharov in ansible — русскоговорящее сообщество
Alexey Yamschikov
есть группа хостов фронтов
на неё повешено много конфигурации для nginx
Я хочу эту конфигурацию раскатать внутри контейнера при сборке
я правильно понимаю, что ты хочешь откуда-то получить конфиг nginx в уже работающий контейнер? это очень странно
источник

M

Maksim Sharov in ansible — русскоговорящее сообщество
Alexey Yamschikov
Всем привет
Подскажите такую вот вещь
Есть конфиг для хоста
Хочу накатить этот же конфиг в докер контейнере - есть идеи как правильно это всё сделать?
это конфиг должен быть скопирован в образ при сборке, выше к этому клонили
источник

A

Alexey Yamschikov in ansible — русскоговорящее сообщество
Maksim Sharov
я правильно понимаю, что ты хочешь откуда-то получить конфиг nginx в уже работающий контейнер? это очень странно
Нет. не правильно
источник

A

Alexey Yamschikov in ansible — русскоговорящее сообщество
Есть конфиг закреплённый за группой хостов
он настраивает nginx, vhosts и тп

Я хочу вот это конфиг упаковать в контейнер

Чтобы получить конфиг мне нужно прогнать роль на хосте

В данной роли хоста это контейнер в котром идётт сборка приложения

в nginx много бизнес логики накручено
не хочется двойной работой заниматься - и конфиг хостов поддерживать и конфиг в контейнере
источник

A

Alexey Yamschikov in ansible — русскоговорящее сообщество
по итогу нужен контейнер с nginx в котром прогнали роль nginx с нужными параметрами (которые висят на группе хостов)
источник

M

Maksim Sharov in ansible — русскоговорящее сообщество
Alexey Yamschikov
Есть конфиг закреплённый за группой хостов
он настраивает nginx, vhosts и тп

Я хочу вот это конфиг упаковать в контейнер

Чтобы получить конфиг мне нужно прогнать роль на хосте

В данной роли хоста это контейнер в котром идётт сборка приложения

в nginx много бизнес логики накручено
не хочется двойной работой заниматься - и конфиг хостов поддерживать и конфиг в контейнере
> конфиг упаковать в контейнер

мы говорим о  работающем контейнере докера? не образе?

> по итогу нужен контейнер с nginx в котром прогнали роль nginx с нужными параметрами

ты хочешь добавлять в работающий контейнер конфиг?

> в nginx много бизнес логики накручено

что за бизнес-логика? кратко

> и конфиг хостов поддерживать и конфиг в контейнере

запутался, ты хостом называешь то контейнер, то машину
источник

M

Mikhail in ansible — русскоговорящее сообщество
Alexey Yamschikov
как вариант похоже устанавливать hostname  имеющийся в инвентаре перед сборкой и накатывать плейбук - по идее тогда должно подхватить всё из инвентаря
Не уверен, сам не пользовался, но возможно нечто вроде https://github.com/ansible-community/ansible-bender будет полезно. (сборка docker образа плейбуком ансибля.

Или использовать специальный inventory  и ansible внутри контейнера (в процессе создания имиджа). Возможно build будет в две стадии, но может и в одной получиться.
источник
2021 February 18

ВК

Виталий Калюжняк... in ansible — русскоговорящее сообщество
Всем еще раз привет)
Подскажите, могу ли я и как использовать в хендлере переменную, в которой хранится названия таска
Например
task/main.yml
- name: Test
 block:
   - name: Configure Nginx vhost
     become: yes
     template:
       src: vhost.j2
       dest: "/etc/nginx/conf.d/{{ vhost_name }}.conf"
       owner: root
       group: root
     notify: Slack good
     changed_when: true


handlers/main.yml

- name: Slack good
 slack:
   token: some/token
   msg: '{{ task_name }} completed'   >>> Вот тут task_name должно быть Configure Nginx vhost
   color: "good"

   link_names: 0
   parse: 'none'

В документации ничего приближенного к этому не нашел
источник

p

plan9k in ansible — русскоговорящее сообщество
Есть swap в LVM. Никто не пытался из фактов получать девайс (вида /dev/mapper) для диска, на котором своп?
источник

I

Ilgiz in ansible — русскоговорящее сообщество
Факты же дают uuid
источник

I

Ilgiz in ansible — русскоговорящее сообщество
А дальше /dev/disk/by-uuid/ 
Не понял зачем именно маппер искать, интересно
источник
2021 February 20

OK

Oleg Kalinin in ansible — русскоговорящее сообщество
Знатоки, нужна помощь!
есьть инвентарь:
[es-cluster]
host01 node_name=node02
host02 node_name=node03,node04
есть шаблон:
{% for item in groups['es-cluster'] %}
{% for node in hostvars[item]['node_name'].split(',') %}
 - name: {{ item }}-{{ node }}
Все в целом работает, но когда node_name 1 шт, то ошибка при генерации, если писать по типу host01 node_name=node02, в таком варианте создается запись типа:
- name: host01-node02
 - name: host01-тут_пусто
Подскажите как цикл модифицировать что бы и с 1ой node_name и с N-количеством. Спасибо!
источник

IY

Ilya Yakushin in ansible — русскоговорящее сообщество
Добрый вечер! Есть ли способ определить потребность Windows в перезагрузке ДО начала установки обновлений (win_updates)?
источник
2021 February 21

M

Mikhail in ansible — русскоговорящее сообщество
Oleg Kalinin
Знатоки, нужна помощь!
есьть инвентарь:
[es-cluster]
host01 node_name=node02
host02 node_name=node03,node04
есть шаблон:
{% for item in groups['es-cluster'] %}
{% for node in hostvars[item]['node_name'].split(',') %}
 - name: {{ item }}-{{ node }}
Все в целом работает, но когда node_name 1 шт, то ошибка при генерации, если писать по типу host01 node_name=node02, в таком варианте создается запись типа:
- name: host01-node02
 - name: host01-тут_пусто
Подскажите как цикл модифицировать что бы и с 1ой node_name и с N-количеством. Спасибо!
По идее split должен возвращать список, но видимо нет
Как то странно, какую нибудь отладку воткнуть

{% for item in groups['es-cluster'] %}
# {{ hostvars[item]['node_name'].split(',')|to_json }}
{% for node in hostvars[item]['node_name'].split(',') %}
 - name: {{ item }}-{{ node }}

Или без to_json (я так не делал, не знаю как будет нагляднее

Как то через условие от iterable(hostvars[item]['node_name'].split(',')) можно будет выкрочиваться, хотя это не красиво...
источник