
Sergey
24.09.2018
07:27:20
вот есть инвентори
в инвентори группа
в группе два хоста
надо чтобы оба хоста участвовали в конфиге вмеcто
proxysql_servers =
(
{
hostname="{{ proxysql_server1 }}"
port=6032
weight=0
comment="proxysql1"
},
{
hostname="{{ proxysql_server2 }}"
port=6032
weight=0
comment="proxysql2"
}
)
иначе самым простым методом будет прокидывание адреса из vars

Aion
24.09.2018
07:29:09
hostvars[host].inventory_hostname <- имя хоста из инвентори файла
доступен в цикле for, который я писал выше

Google

Aion
24.09.2018
07:31:27
если у вас не объявлены группы в инвентори для хостов, к ним (хостам) можно обратиться по встроенной группе [all]

Sergey
24.09.2018
07:32:27
хостгруппа обьявляется при старте
ansible-playbook -i inventory/proxysql proxysql.yml -e "hostgroup=perf env=perf"
env служит как указатель варсфайла
т.е один конфиг(шаблон) четыре варсфайла

Anton
24.09.2018
07:35:35
может проще сделать отдельный инвентори на каждую среду?

Sergey
24.09.2018
07:36:12
можно было бы сделать 4 инвентори
но стоит ли, если и так по 2 хоста в группе

Aion
24.09.2018
07:36:37
у вас есть группа
в цикле for вы проходите по ней и достаете значения хостов, что вам еще нужно в вашей задаче?

Sergey
24.09.2018
07:37:37

Aion
24.09.2018
07:38:52

А
24.09.2018
08:15:57
Всем привет! Не поддерживает пример динамического инвентаря из бд.

Maksim
24.09.2018
09:14:51
Пиши кастомный

Google

Terminator
24.09.2018
09:38:10
@demch1k27 будет жить. Поприветствуем!

Kanstantsin
24.09.2018
10:24:01
Добрый день!
Такой вопрос:
Есть плэйбук, который собирает определённые данные с хоста и регистрирует переменную, после чего надо выполнить некоторые таски на другом хосте, но с зарегестрированными ранее переменными, как правильно пробросить значение переменной в добавленный плэйбук?

Victor
24.09.2018
10:28:05

Kanstantsin
24.09.2018
10:35:38

Денис
24.09.2018
13:40:37
А как-то можно сделать, чтобы callback плагин работал на определенные плэйбуки или роли?
или только подсовывая разные ansible.cfg?

Dok
24.09.2018
14:04:49
у меня через lineinfile сделано
сделал так
pam_limits: limit_type='-' limit_item=nofile domain='*' value=unlimited
Не знал, что прочерк обобщает hard и soft
* - не читалась, когда была в инклюженном списке with_items
Ребят, как кинуть в register наличие установленного в ubuntu сервиса?

Sergey
24.09.2018
14:10:18

Dok
24.09.2018
14:24:09

Sergey
24.09.2018
14:25:54
а ты как хочешь с ним потом поступать

Dok
24.09.2018
14:27:43
Хочу поставить условие, если не стоит nginx, то выполнить блок.
В блоке добавить ключ, добавить репозитории, обновить кеш, установить nginx определённой версии.
Иначе, если nginx уже стоит, блок пропустить

Sergey
24.09.2018
14:34:36
Хочу поставить условие, если не стоит nginx, то выполнить блок.
В блоке добавить ключ, добавить репозитории, обновить кеш, установить nginx определённой версии.
Иначе, если nginx уже стоит, блок пропустить
а нельзя просто указать в первых джобах ставить nginx такой то версии с такими то параметрами, если его нет, ансибл его установит, т.к все декларативно

Dok
24.09.2018
14:35:50
Да, я первые джобы и делаю, просто эти проверки каждый раз долго идут

Sergey
24.09.2018
14:36:37

Dok
24.09.2018
14:47:57
Неужели так никто не делал?
Просто какой смысл при каждом обновлении конфига php-fpm проверять наличие установленных двух десятков библиотек php, если php уже стоит?

Google

Pavel
24.09.2018
15:26:17

Dok
24.09.2018
15:28:51
Ну если надо обновить пакет везде, то разово его обновить отдельным запросом ансибла, а в плейбуке заменить версию пакета в этом условном блоке, не?
Чтоб при новых установках ставилась уже новая версия
Или я что-то неправильное говорю?

Pavel
24.09.2018
15:37:57

Dok
24.09.2018
15:38:59
Ну да, но и отдельных конфигов ансибла ustanovka_php.yaml не хочется плодить

Pavel
24.09.2018
15:41:12
у меня внутри роли ставятся нужные пакеты нужных версий для этой роли... и так для многих ролей, даже если они вызываются в 1 плейбуке
а наборы ролей для разных серверов могут быть разные
соответственно разные плейбуки

Dok
24.09.2018
15:43:22
Ну, у меня сервера одинаковые :)
Но дело даже не в этом, просто серверов тьма

Udjin
24.09.2018
15:47:45
парни
а вот у меня проблема такая
на 2.5.3 было всё окей, но вот 2.6.4 мозги выносит
fatal: [nazgul.tech]: FAILED! => {"changed": false, "cmd": "/usr/bin/git clone --origin origin '' /home/alice/nazgul..tech", "msg": "fatal: destination path '/home/alice/nazgul.tech' already exists and is not an empty directory.", "rc": 128, "stderr": "fatal: destination path '/home/alice/nazgul..tech' already exists and is not an empty directory.\n", "stderr_lines": ["fatal: destination path '/home/alice/nazgul.tech' already exists and is not an empty directory."], "stdout": "", "stdout_lines": []}
а всё потому что в папке куда пулится - есть папка .ansible/tmp

Udjin
24.09.2018
15:47:50
чо делать-то?

Fedor
24.09.2018
15:48:11
/usr/bin/git clone --origin origin '' /home/alice/nazgul..tech", "msg": "fatal: destination path '/home/alice/nazgul.tech' already exists and is not an empty directory."
гит не может клонить в существующую директорию

Udjin
24.09.2018
15:48:28
да, там папка -
а всё потому что в папке куда пулится - есть папка .ansible/tmp
нет
ты не понял
он не может пулить в директорию в которой уже что-то есть

Fedor
24.09.2018
15:48:56
не может

Google

Udjin
24.09.2018
15:48:59
почему-то создаётся в папке .ansible
ну я вот удалил щас полностью её
гит модуль её создал а в ней внутри папка .ansible

Admin
ERROR: S client not available

Udjin
24.09.2018
15:50:42
как избавиться
?
даунгрейд ансибла?
решил проблему даунгрейдом ансибла до 2.6.0

cent
24.09.2018
18:03:21
А кто-то ловил проблемы с heredoc ?
У меня почему-то в конце файла EOF добавляет постоянно

Dok
25.09.2018
07:27:19

cent
25.09.2018
07:31:32

Dok
25.09.2018
07:36:12

Евгений
25.09.2018
07:36:21
Доброе!
Кто не видел, может у вас есть решение?
Только костыль типа
shell: if [ $(systemctl status zabbix-agent | grep running| wc -l) -eq 0 ]; then error; fi
register: zabbix_agent_service_status
when:
- zabbix_agent_service_status is succeeded
проверяет, запущен ли заббикс, тоже чтоб пропустить установку, настройку и много чего еще. Но я так больше не делаю, ибо ансибл второй раз ставить не будет, и файл конфигурционный пропустит если все ок. Так что лучше просто описать конечное состояние хоста

cent
25.09.2018
07:37:59

Евгений
25.09.2018
07:38:37
Всем гугл помог)

Fedor
25.09.2018
07:39:06
Баш жи

shine
25.09.2018
07:39:23
программирование через stackoverflow

Dok
25.09.2018
07:40:18

Евгений
25.09.2018
07:41:36

Dok
25.09.2018
07:51:05
Эх)

Google

Dok
25.09.2018
09:01:40

cent
25.09.2018
09:03:16

Dmitry
25.09.2018
09:40:23
вот пример тебе
.wine/drive_c/Program\ Files\ \(x86\)/Skillbrains/lightshot/Lightshot.exe
пробел а также скобки левым слешом

Mikhail
25.09.2018
13:07:14
вопрос на засыпку: есть список чисел, нужно через set_fact задать переменную, значение которой не входит в этот список
сходу напрашивается решение: получить unused_gids: "{{ gid_range | difference(all_gids) }} и взять из него
но результат, по непонятной мне причине: unused_gids == gid_range
разобрался, так работает, да

Terminator
25.09.2018
16:58:47
@szenin будет жить. Поприветствуем!

Shamil
25.09.2018
17:07:08
Друзья! А почему даже при включенном pipelining'е у меня на таргет-хосте все равно остается висеть 270 ssh-agent'ов? Объясните, пожалуйста, для быдла.

Sergey
26.09.2018
00:11:42
Паблик-ключи обычно просто кладутся в $HOME/.ssh/authorized_keys.