@pro_ansible

Страница 412 из 625
Dmitry
27.03.2018
07:08:23
Всем привет! Коллеги, как с помощью Ansible заменить в файле определенную по счету строку, например, 7ю? Все примеры, которые нахожу, используют либо regexp (мне не подходит, неизвестно что в этой строке), либо маркеры "начало\конец файла" - тоже не мой случай.

Artem
27.03.2018
07:08:56
shell %)

Sergey
27.03.2018
07:09:54
внутри ансибловых ролей работают все фичи джинджы? я хочу принимать в роли список список из словарей и динамически добавлять новые параметры в эти словари
Многие. Во всяком случае, внезапно можно написать "{% set var = (jinja2 operators functions filters and all) %}{{ var }}", и оно будет работать, но with_items такую шляпу не приемлет.

Matvey
27.03.2018
07:13:11
openssl_privatekey в 2.5 так и не научили генерить ec-ключи

Google
here1am
27.03.2018
08:05:28
Интересно. Можешь отписать как получилось?
пока что заставил работать вот такое: '{% for item in sites %}{{ item | combine({"username": item.domain | regex_replace("\.|-", "_")}) }}{% endfor %}'. только возвращается это всё в виде строки, лол

Pavel
27.03.2018
08:20:34
спрошу еще раз на всякий случай: можно ли в 1 блок "blockinfile" воткнуть список целиком построчно?

here1am
27.03.2018
08:25:45
я бы попробовал так: - name: users blockinfile: dest: blabla marker: "# {mark} my users" insertafter: "^#USERS:" block: | {% for item in [1, 2, 3] %} user: {{ item }} {% endfor %}

Pavel
27.03.2018
08:28:59
Dmitry
27.03.2018
09:49:49
Господа. Есть ansible последней достпуной версии (2.1.1.0-1~ubuntu16.04.1). Ключи SSH есть, подключиться к целевым устройствам получается. но при попытке запустить любой плейбук, получаю fatal: [10.6.7.1]: UNREACHABLE! => {"changed": false, "msg": "SSH Error: data could not be sent to the remote host. Make sure this host can be reached over ssh", "unreachable": true}. Что я делаю не так?

Sergey
27.03.2018
09:53:22
запусти то же самое с ключом -vvvv, тогда увидишь подробный лог

eucariot
27.03.2018
09:56:32
Всем привет. В модуле ce_config для хуавэйских коммутаторов нашёл не то багу, не то фичу, которая мешает нормальной работе. У себя на локалке подхачил, но такое не апстримят. Что сделать, чтобы кто-то с прямыми руками посмотрел и переделал? Автор модуля на issue не отвечает.

Dmitry
27.03.2018
09:57:08
запусти то же самое с ключом -vvvv, тогда увидишь подробный лог
Пробовал, но яснее не стало https://pastebin.com/vxcZ49FX

Dok
27.03.2018
09:58:26
А как подключаешься по ssh? С использованием ~/.ssh/config?

Sergey
27.03.2018
09:59:06
ну и использование учётки root?...

Dmitry
27.03.2018
10:01:05
Денис
27.03.2018
10:03:40
В роли указан ключь?

Dok
27.03.2018
10:04:00
Чёт не пойму, сначала 10.6.7.1, потом, 10.6.3.1, теперь 10.6.10.1 Добавь в тот файл Host test HostName 10.6.10.1 User root И укажи в хостах ансибла test

Google
Денис
27.03.2018
10:05:29
Можно еще так в инвентори ansible_user=root ansible_ssh_port= 22 ansible_connection= ssh Можно еще ключь ansible_ssh_private_key_file=

Dok
27.03.2018
10:11:35
в плейбук?
нет, в ~/.ssh/config

И, кстати, можешь потом ссашаться уже через команду ssh test

Денис
27.03.2018
10:14:31
ansible_user=root это в переменные ансибла или так как сказал @Dok2d в .ssh/config добавить пользователя

Dmitry
27.03.2018
10:15:54
И, кстати, можешь потом ссашаться уже через команду ssh test
там много хостов (под сотню), я просто копировал логи по отдельно взятому. Раньше-то работало без такого настроенного config. Но недавно были установлены апдейты - и вот описанная выше беда.

Dok
27.03.2018
10:17:03
Ну настроенный конфиг это, само по себе уже очень удобно

eucariot
27.03.2018
10:38:06
Исправленный под другим именем?

Алексей
27.03.2018
10:38:15
нет под тем же именем

создай папку в корне плейбука

положи туда исправленный модуль

eucariot
27.03.2018
10:38:38
Так я хочу заапстримить)

Алексей
27.03.2018
10:38:53
все хотят. список пулреквестов видишь да :)

Ievgen
27.03.2018
10:52:39
все хотят. список пулреквестов видишь да :)
кстати я вчера тут вопил что jinja кривая, так вот это не jinja это руки, sad but true

)

Sergey
27.03.2018
10:57:32
кстати я вчера тут вопил что jinja кривая, так вот это не jinja это руки, sad but true
Обычно так, да. В джиндже можно вообще на ушах ходить вприсядку - запихнуть в переменную Jinja2-операторы/команды/фильтры, провернуть через "{{ }}" два раза, прицепить|to_json|from_json, чтобы снять признак Unsafe, и опа - внезапно множество однотипных объектов не нужно описывать ручками.

Ievgen
27.03.2018
10:57:57
это да

ну короче если кто то хочет сделать так: {% for cl in clusters_config|json_query("[].cluster")|unique %} <{{ cl }}> {% for sh in clusters_config|json_query("[?cluster=='" + cl + "'].shard_id")|unique %} <shard> {% for replica in clusters_config|json_query("[?(cluster=='" + cl + "' && shard_id=='" + sh + "')]") %} то так можно

Google
Sergey
27.03.2018
11:00:57
? в общем да, но это же ты кусок шаблона написал ? а я писал про то, что это вот всё можно прямо в var.yml вкарячивать

Ievgen
27.03.2018
11:01:24
ну да, я знаю )

Ievgen
27.03.2018
11:03:59
[ ]

только []

ну без пробела

Денис
27.03.2018
11:04:28
Надо же ))

Ievgen
27.03.2018
11:04:32
json_query("[].cluster")

Алексей
27.03.2018
11:14:43
json_query сильная магия

Ievgen
27.03.2018
11:57:56
очень

Dok
27.03.2018
12:01:47
А как добавить записи в крон без ковычек? Например, cron: name=SHELL env=yes value=/ bin/bash Добавляет SHELL="/bin/bash"

Dok
27.03.2018
12:05:02
непривычно чёт

Ievgen
27.03.2018
12:06:38
ну сделай файл test.sh: #! /bin/bash SHELL="/bin/bash" echo $SHELL

и /bin/bash test.sh

нормально все, не заморачивайся

Dok
27.03.2018
12:07:36
Уделал)

Alexey
27.03.2018
14:28:09
Коллеги, есть нужда выполнить задачу единажды на каждом сервере (после разворачивания машины хочу запускать yum update). Как это можно реализовать? run_once запускает только на одном хосте задачу, а мне надо, чтобы задача выполнялась на всех. Единственный выход который придумал - создавать файл, при наличии которого Ansible будет понимать, что таск уже запускался

Алексей
27.03.2018
14:29:01
yum name=* state=latest

не выдумывайте граблей

Google
Alexey
27.03.2018
14:30:44
не выдумывайте граблей
Он же будет каждый раз выполняться при запуске плейбука. У нас сейчас так и я мелкие проблемы получаю с версиями пакетов на средах

Vadim
27.03.2018
14:31:21
"единожды" == в рамках плейбука или в рамках жизни сервера?

ну раз не хотите строгого списка пакетов, которые ставить (== идемпотентность), то token file - это решение

Vadim
27.03.2018
14:33:10
В рамках жизни сервера
энсибл о таком не знает. В виде альтернативы - сохранять в факт, но тогда их надо хранить только на сервере, со всеми вытекающими

Алексей
27.03.2018
14:34:19
флаговый файл да.

Dok
27.03.2018
14:35:02
Или после апдейта обнулять source.list))

Алексей
27.03.2018
14:35:26
ой давайте не будем про плохие практики

Admin
ERROR: S client not available

Pavel
27.03.2018
14:39:59
может я рукожоп, но у меня для таких "новых" хостов отдельная группа, при создании - я его туда добавляю, после накатки - удалаю никакой автоматизации

Алексей
27.03.2018
14:40:30
надо меньше плохих практик

обновления пакетов на сервере мастхев.

выключать обновления на сервере — путь к сломаному серверу

процесс в котором нельзя обновлять пакеты сломан изначально.

Salem
27.03.2018
14:42:18
Сделай отдельную роль с обновлением пакетов

и запускай когда надо

то есть плейбук

Ievgen
27.03.2018
14:44:47
я бы автоматизировал сборку образа (если речь о vm) и запихнул бы это при сборке, после этого - name: packet state: present и как сайд эффект name: packet-cool.version-1.el7 state: present - апгрейднется если установлена версия ниже чем указано.

Salem
27.03.2018
14:45:28
ну это тоже, да. Если облако

Albert
27.03.2018
14:45:51
Кстати про сбор образов.. Кто нить собирает ансиблом образ на опенстак?

Google
Salem
27.03.2018
14:46:34
пакер

Ievgen
27.03.2018
14:46:42
https://www.packer.io/docs/builders/openstack.html

с языка снял

а там хоть ансиблом хоть чем угодно

https://www.packer.io/docs/provisioners/ansible-local.html

или ремоут

Andrey
27.03.2018
15:12:41
жесть

ubuntu 18.04 LTS

aim@aim-virt:~$ apt show ansible Package: ansible Version: 2.3.1.0+dfsg-2 Priority: optional Section: universe/admin Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Harlan Lieberman-Berg <hlieberman@debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug ...

Denis
27.03.2018
15:16:54
/rmkb@remkeybot

Dok
27.03.2018
15:18:08
жесть
Что не так? Версия?

Andrey
27.03.2018
15:18:14
угу

Dok
27.03.2018
15:18:48
Ну, это норма иметь в дефолтных репозиториях старые версии На 16.04 вообще Version: 2.0.0.2-2ubuntu1

Andrey
27.03.2018
15:19:34
и это была современная версия на момент выхода

Алексей
27.03.2018
15:20:16
есть версия что старше 2,3 ансибл сломан

Dok
27.03.2018
15:21:07
есть версия что старше 2,3 ансибл сломан
Как проверить? В чём выражается?

Алексей
27.03.2018
15:22:05
Как проверить? В чём выражается?
в логике. import/include вот это всё

2.5 еще больше ппц. сломать наследование тегов и бекама это ад треш и писец.

Vadim
27.03.2018
15:23:31
тэги нинужны. А как сломали become?

Ievgen
27.03.2018
15:23:31
2.5 еще больше ппц. сломать наследование тегов вот оно что

Страница 412 из 625