
Ilya
04.07.2018
12:10:54

Vitaly
04.07.2018
12:11:32
Господа, а пользуется кто ansible для управления cisco?

Ilya
04.07.2018
12:12:30
keepalived кстати, после эксплуатации, тоже не советую использовать.
сейчас регаю сервера в консуле и трафик отправляю через его сервис дискавери на живые хапрокси.
а хапрокси уже кидает на мастера базы.

Vladimir
04.07.2018
12:16:11
Да мне кажется тут вопрос и не должно остаться что надо юзать консул всегда

Google

Vasiliy
04.07.2018
12:17:03

Gleb
04.07.2018
12:17:29
скорее он что то не смог
он там пг баунсер не советует случаем?

Vladimir
04.07.2018
12:17:56
Именно его и советует

Vasiliy
04.07.2018
12:18:51
Консул или что там в составе кубера(etcd вроде) - следующий шаг.
И что теперь - ставить https://github.com/yandex/odyssey, которому всего неделя от роду ?)

Ilya
04.07.2018
12:19:00
тем не менее баунсер наверное будет лучше засчет пулинга и вообще это постгресовский проект.
но у меня были определенные ограничения, баунсер нельзя было юзать.
однако я его с патрони не скрещивал, и как оно будет жить в проде не скажу.

Vladimir
04.07.2018
12:33:41

Ilya
04.07.2018
12:34:24
А это разве их проект ? ОО
я наверное неясно выразился, имел в виду что хапрокси универсальная штука, а баунсер чисто под постгрес заточен. )

Vladimir
04.07.2018
12:34:50
А понял, спасибо :)

Lomakin
05.07.2018
00:01:03
Всем привет, подскажите есть фаил ipadr.txt.j2
—
client
server {{hostvars[item].ansible_default_ipv4.address}} {{item}} 1443
—
в него мне надо подставить из инвентори ansible_host=10.0.0.1 для каждого из моих серверов и сложить их локально на каждый сервер /home/ipadr.txt
server 10.0.0.1 1443

Vasiliy
05.07.2018
05:16:20
Везде одинаково или собрать все IP адреса ?

Google

Sergey
05.07.2018
06:35:01
Это выглядит как два отдельных таска. В первом - делегирование на локалхост и сбор фактов, во втором - раскладка шаблона, который использует полученный факт с адресами, по хостам.

Lomakin
05.07.2018
07:02:49
это таска
- name: set client-configs
template: src=~/ansible/playbook/templates/root/client-configs/ ipadr.conf.j2 dest=~/client-configs/ ipadr.conf
мам фаил
{% for item in groups['info-server'] %}
remote {{ansible_host}} 443
{% endfor %}

ShadoWalkeR
05.07.2018
08:10:07
Господа, хотите творческий вопрос на тему шаблонов?
У меня есть дефолтный шаблон, на основе которого я генерирую yml файлы на основе переданного имени. И я хотел бы для некоторых имен иметь возможность из второго шаблона дописать в результирующий файл (не перезаписать!)
В модуле параметра позволяющего дописывать нет - как это можно реализовать?
А все - уже вроде нашел

Olga
05.07.2018
09:31:15
У меня такая проблема - есть много-много разных приложений, которые общаются между собой. Есть группа серверов на которые нужно эти приложения деплоить. Держать 15 плейбуков, каждый деплоит свой сервис, не вариант. Я пришла к такому решению: в переменных группы задавать куда что деплоится, а потом использовать delegate_to и run_once для каждой таски
Вот пример: https://gist.github.com/laserbat/f5995cb6ae6bccd103652259f32cd86e
Вопрос, есть ли более адекватный подход к решению моей проблемы?

bebebe
05.07.2018
09:34:59

Olga
05.07.2018
09:35:47
время задуматься о k8s
Я знаю. Но работаю в такой конторе что даже ansible - уже большое новшество. До меня всё ручками делалось...

Vladimir
05.07.2018
09:45:44
У меня такая проблема - есть много-много разных приложений, которые общаются между собой. Есть группа серверов на которые нужно эти приложения деплоить. Держать 15 плейбуков, каждый деплоит свой сервис, не вариант. Я пришла к такому решению: в переменных группы задавать куда что деплоится, а потом использовать delegate_to и run_once для каждой таски
Что-то такое я начинал делать для своего пет-проджекта. Но недавно пощупал тулзы от HashiCorp (начал с Terraform, Consul и Nomad), и решил уйти на них. А анзибл буду использовать для всяческого maintenance.
Доеду до дома, гляну, как у меня там, в Ansible, было и тогда отвечу.

Lomakin
05.07.2018
10:30:05
?


Vladimir
05.07.2018
10:53:16
У меня такая проблема - есть много-много разных приложений, которые общаются между собой. Есть группа серверов на которые нужно эти приложения деплоить. Держать 15 плейбуков, каждый деплоит свой сервис, не вариант. Я пришла к такому решению: в переменных группы задавать куда что деплоится, а потом использовать delegate_to и run_once для каждой таски
Посмотрел, как я делал. Решение в принципе то, что в доках анзибла описано. Структура каталогов такая:
1) В корне лежат hosts с описанием хостов и групп, которые хосты составляют. Рядом лежат плейбуки. В каждом плейбуке указаны группы хостов (куда деплоить) и роли (что именно деплоить)
2) В roles/role_name/tasks/ лежат таски (что именно делать). В roles/role_name/templates/ , соотв., лежат темплейты для генерации конфигов конкретных приложений.
3) В /group_vars/ лежат переменные, которые в тасках соотв ролей будут использоваться.
Вообще всё устроено примерно так, как описано в доках: https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#content-organization
Но вообще да, анзибл тут немного неподходящий инструмент. Важное отличие Ansible от Nomad/k8s, в том, что у анзибла нет scheduler'а, который умеет самостоятельно планировать на каком хосте какие приложения должны работать. У анзибла это придётся строго задавать, привязывая деплой конкретного приложения на конкретный хост.


Nklya
05.07.2018
10:57:02
анзибл
что ж не ансамбль сразу?

Olga
05.07.2018
11:01:11
Спасибо

Lomakin
05.07.2018
12:54:16

Vasiliy
05.07.2018
13:19:21
Может кто подсказать - почему не раскрывается следующая конструкция:
- name: "Build hosts file"
lineinfile: dest=/etc/hosts regexp='.*{{ item }}$' line="{{ hostvars[item].ansible_default_ipv4.address }} {{item}}" state=present
when: hostvars[item].ansible_default_ipv4.address is defined
with_items: groups['all']
Ошибка: The error was: error while evaluating conditional (hostvars[item].ansible_default_ipv4.address is defined): u\"hostvars['groups['all']']\" is undefined
Вернее даже не так. Причина понятна - он подставил groups['all'] как строку. А как в таске раскрыть список всех хостов ?

Salem
05.07.2018
13:21:39
“{{ groups[‘all’] }}”? могу врать

Google

Vasiliy
05.07.2018
13:47:12
Нет, так на синтаксис жалуется.

Lomakin
05.07.2018
13:48:18
А есть у кого нибудь конструкция:
файы на хостах в группе info-server находятся в дирректории /root/config/ipadr.txt
их надо загрузить в ansible и разложить по директориям
пример:
/root/config/server-1/ipadr.txt
/root/config/server-2/ipadr.txt
/root/config/server-3/ipadr.txt
имена серверов надо взять из hosts.ini

bebebe
05.07.2018
13:57:01

Lomakin
05.07.2018
14:39:08
Мне репорты эти надо себе на комп загружать

Stas
05.07.2018
14:58:59
посоны
можно ли объявить environment для всего playbookа
длинная портянка и для каждой таски её добавлять выглядит убого

Ilya
05.07.2018
15:00:30
или я чего не понял?

Stas
05.07.2018
15:00:55
переменные объявлять я умею

Stas
05.07.2018
15:01:07
environment variables

Ilya
05.07.2018
15:02:35
- hosts: blabla
vars:
foo: '{{ lookup('env','ENV_VAR') }}'
так чтоли?
или опять не тот environment? )

Stas
05.07.2018
15:02:52
без лукапов
но уже тот
https://docs.ansible.com/ansible/2.5/user_guide/playbooks_environment.html

Ilya
05.07.2018
15:04:23
You can also use it at a play level

Google

Ilya
05.07.2018
15:05:04
кстати ни разу не юзал это, поэтому и не понял о чем речь

Stas
05.07.2018
15:08:01
вот в том то и дело что не сработало

GithubReleases
05.07.2018
19:02:08
ansible/ansible was tagged: v2.5.6
Link: https://github.com/ansible/ansible/releases/tag/v2.5.6
Release notes:
New release v2.5.6
ansible/ansible was tagged: v2.6.1
Link: https://github.com/ansible/ansible/releases/tag/v2.6.1
Release notes:
New release v2.6.1

Admin
ERROR: S client not available

Dhinil
06.07.2018
03:06:40
Hi is there ansible module for suse firewall

Maksim
06.07.2018
06:31:25

Vladimir
06.07.2018
06:37:59

Maksim
06.07.2018
06:48:14
No different between iptables and firewalld, both use netfilter

Dmitry
06.07.2018
06:54:44
Firewalld использует d-bus в этом и есть разница

Div
06.07.2018
07:28:35
как хочецца написать про забаненых в гугле...

Vladimir
06.07.2018
08:31:50
А давно веб версию гелакси поменяли ?Оо Чет сейчас зашел и не узанл
*не узнал

Vadim
06.07.2018
08:39:32
на этой неделе вроде

Stas
06.07.2018
09:45:38
ребят можно ли как нибудь закостылить
сейчас есть таск, который в цикле вызывает модуль shell
можно ли параллельно 4 шелла вызвать?
все это на одном хосте

Div
06.07.2018
09:54:35
параллельно или по очереди?

Google

Stas
06.07.2018
09:57:44
параллельно
по очереди он итак в моем случае вызывает

Maksim
06.07.2018
10:42:39
ты мне скажи как ты в линуксе их паралельно запустил бы
я предпологаяю что какая нибудь магия вроде nohup script.sh

Alexander
06.07.2018
10:44:24

Maksim
06.07.2018
10:44:58
ну это не паралельно будет на самом деле
просто не дожидаясь их окончания
https://stackoverflow.com/questions/39347379/ansible-run-command-on-remote-host-in-background

Vladimir
06.07.2018
10:47:11
Господа, а кто как решал проблему удаления старых ядер для rpm based систем ? Centos\RHEL etc, через shell\command ?

Maksim
06.07.2018
10:48:50
что-то типа yum autoremove

Vladimir
06.07.2018
10:49:02
Он не удалит же ну :)
Если бы все так просто было бы, я бы не писал сюда
Это только в деб работает

Maksim
06.07.2018
10:49:50
https://www.tecmint.com/delete-old-kernels-in-centos-rhel-and-fedora/
magic