Anton
https://habr.com/ru/post/488966/
ShadoWalkeR
https://habr.com/ru/post/488966/
Хе. На ямле можно и нужно программировать😈
Lamobot
https://habr.com/ru/post/488966/
Не очень понятно из статьи почему assert в коде роли это плохо, а в хэндлерах - хорошо
Dennis
Добрый день! Кто нибудь пробовал устанавливать postgresql 9 с помощью Ansible постестановки пакетов запускаю - name: "PostgreSQL 9.2 :: Running initdb" shell: "postgresql-setup initdb" when: postgresinstall['changed'] и отваливается с TASK [zabbix-active-proxy : PostgreSQL 9.2 :: Running initdb] ********************************************************************************************************************************************************************* fatal: [zabbix-amproxy-eqhe6.dcprv.aws.relexsolutions.com]: FAILED! => {"changed": true, "cmd": "postgresql-setup initdb", "delta": "0:00:00.031978", "end": "2020-02-19 10:13:51.570346", "msg": "non-zero return code", "rc": 1, "start": "2020-02-19 10:13:51.538368", "stderr": "", "stderr_lines": [], "stdout": "Data directory is not empty!", "stdout_lines": ["Data directory is not empty!"]}
Alex
если postgres был установлен через менеджер пакетов, то зачем выполнять initdb?
Aleksey
jpeg артифакты на стикере заставляют страдать дополнительно
Dennis
потверждаю в центоси надо пробовал после установки принудительно запускать таск с rm -rf /var/lib/pgsql/9.2/data эффекта не возымело
Артём
потверждаю в центоси надо пробовал после установки принудительно запускать таск с rm -rf /var/lib/pgsql/9.2/data эффекта не возымело
У вас в отрыве от ansible не выполняется initdb при пустой заданной в конфиге/параметрах директории? Или в процессе исполнения плейбука директория заполняется чем-то лишним до выполнения initdb?
Dennis
[root@zabbix-amproxy-eqhe6 ~]# ll /var/lib/pgsql/data total 72 drwx------. 5 postgres postgres 41 Feb 7 14:07 base drwx------. 2 postgres postgres 4096 Feb 19 10:47 global drwx------. 2 postgres postgres 18 Feb 7 14:07 pg_clog -rw-------. 1 postgres postgres 4233 Feb 7 14:34 pg_hba.conf -rw-------. 1 postgres postgres 4232 Feb 7 14:07 pg_hba.conf.12923.2020-02-07@14:08:15~ -rw-------. 1 postgres postgres 1636 Feb 7 14:07 pg_ident.conf drwx------. 2 postgres postgres 188 Feb 13 00:00 pg_log drwx------. 4 postgres postgres 36 Feb 7 14:07 pg_multixact drwx------. 2 postgres postgres 18 Feb 19 10:46 pg_notify drwx------. 2 postgres postgres 6 Feb 7 14:07 pg_serial drwx------. 2 postgres postgres 6 Feb 7 14:07 pg_snapshots drwx------. 2 postgres postgres 6 Feb 19 10:47 pg_stat_tmp drwx------. 2 postgres postgres 18 Feb 7 14:07 pg_subtrans drwx------. 2 postgres postgres 6 Feb 7 14:07 pg_tblspc drwx------. 2 postgres postgres 6 Feb 7 14:07 pg_twophase -rw-------. 1 postgres postgres 4 Feb 7 14:07 PG_VERSION drwx------. 3 postgres postgres 60 Feb 7 14:07 pg_xlog -rw-------. 1 postgres postgres 19829 Feb 7 14:08 postgresql.conf -rw-------. 1 postgres postgres 19869 Feb 7 14:07 postgresql.conf.12923.2020-02-07@14:08:16~ -rw-------. 1 postgres postgres 57 Feb 19 10:46 postmaster.opts
Anonymous
How to loop hostname or IP under with_item
Logan
How to loop hostname or IP under with_item
use "magic variables" as it described in docs
Timur
https://habr.com/ru/post/488966/
Сомнительная статья. Автор ссылается на устаревшие репы и практики. Плюс ряд фактических ошибок (например, что с помощью ansible-lint можно проверять идемпотентность или что молекулой нельзя тестить плейбуки).
Dmitry
Всем привет! Такая ситуация на ubuntu (имеет внутренний ip, в инет ходит ходит через прокси) стоит ansible 2.9 нужно управлять windows server. При попытке запуска плейбука - ошибка fatal: [10.49.13.247]: UNREACHABLE! => {"changed": false, "msg": "ssl: HTTPSConnectionPool(host='10.49.13.247', port=5986): Max retries exceeded with url: /wsman (Caused by ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 403 Forbidden',)))", "unreachable": true} В качестве решения рекомендуют в transport.py модуля winrm заменить session.trust_env = True на False. Но в этом файле такой строки нет. Подскажите, как это можно исправить?
Андрій
Может порт закрит на удаленном хосте?
Dmitry
Может порт закрит на удаленном хосте?
Когда отключил прокси на убунте ssl: the specified credentials were rejected by the server", "unreachable": true
Андрій
Getting Credential rejected Error when trying to win_ping to a windows host from Ansible. · Issue #43920 · ansible/ansible https://github.com/ansible/ansible/issues/43920
Div
Да
какой прокси на убунту и как настроен?
Dmitry
Прокси не на убунту. Это наш корпоративный, через который из внутренней сети, рабочие компы, хотя, сервера обновляются и т.д. В этой конфигуцации убунту с включенным в настройках прокси, управляет другими линуксовыми серверами, проблема с windows.
Dmitry
Сейчас порты в винде смотреть буду.
Mykola
Привет всем, кто-то знает как зафейлить плейбуку в случае фейла таски на одном из хостов ?
Dmitry
netsh advfirewall firewall add rule name="WinRM-HTTP" dir=in localport=5985 protocol=TCP action=allow на windows не помогло.
Dmitry
Не пробовали вместо winrm использовать openssh под windows? Возможно выглядит глупо, но мне было его проще настроить.
Хотелось бы обойтись более стандартными средствами. Т.к. в случае успеха, хотел поуправлять большим кол-вом компов.
Сергей
Всем привет, поделитесь советом как правильно хранить переменные в git. Нашел пока только решение с помощью ansible-value encrypt. Есть ли еще какой-нибудь решение?
Сергей
Кроме того как не хранить их там)
Сергей
ansible-vault encrypt_string вообще-то
Можно же просто шифрования файл с помощью ansible-value encrypt и при запуске сценария ввести пароль
Sergey
Можно же просто шифрования файл с помощью ansible-value encrypt и при запуске сценария ввести пароль
Я пишу из практических соображений и опыта 😉 В теории всё хорошо, но на практике ansible-vault encrypt шифрует весь файл, и он весь меняется при добавлении нового секрета, так что в git складывать примерно бесполезно.
Sergey
От слова "совсем"
Сергей
Понял, спасибо
Sergey
а смысл смотреть дифы зашифрованного файла?
Я так-то об этом и написал. А если шифровать только значения - всё становится проще: видно, какой именно секрет поменялся.
Alex
и чем это поможет?
Sergey
Странный вопрос "чем помогает git diff?". Out of scope для этого чата.
Alex
вопрос был в контексте вольта, а не как такового
Vladislav 👻
Я так-то об этом и написал. А если шифровать только значения - всё становится проще: видно, какой именно секрет поменялся.
Секреты не так часто меняются, чтобы их терять, в коммите всегда можно написать. А вот шифрование значения в переменной накладывают ограничения и геморрой при редактировании
GithubReleases
aelsabbahy/goss tagged: v0.3.10 Link: https://github.com/aelsabbahy/goss/releases/tag/v0.3.10 Release notes: release v0.3.10
GithubReleases
aelsabbahy/goss description changed: v0.3.10 Link: https://github.com/aelsabbahy/goss/releases/tag/v0.3.10 Release notes: No content.
GithubReleases
aelsabbahy/goss description changed: v0.3.10 Link: https://github.com/aelsabbahy/goss/releases/tag/v0.3.10 Release notes: No content.
Dr. L.S.Dee
Сейчас порты в винде смотреть буду.
Порты-то тут при чем? До WinRM вы достучались, успешно. Он вас нахрен и посылает. Журнальчики смотрим на винсервере.
Dr. L.S.Dee
Навскидку: 1. Сервер в домене? Любом, хоть АД, хоть пародия в виде самбы. 2. От имени какого пользователя стучитесь? 2.1. локального пользователя, от которого работает ансибл на убунте, 2.2. локального с винсервера (с явно указанными кредами), 2.3. доменного (с явно указанными кредами), 2.4. доменного, от которого работает ансибл (не, ну а вдруг?), 2.5. учетной записи компьютера с ансиблом (применимо, если он в домене). 3. Вне зависимости от того, что выбрано в п.2: А эта учетная запись имеет права хоть что-нибудь делать по WinRM на управляемом винсервере?!
Stefan
господа, проясните, пожалуйста есть такая функция: {{ item.name.split(".")[1:] | lower }} в item.name домен th.domain.com почему при таком форматировании, мне ансибл создает папку в json формате? '[u'\''domain'\'', u'\''com'\'']'
Stefan
это можно как-то обойти? я хочу просто отрезать th.
Anonymous
{{ ansible_nodename.split(".")[1] | lower }}.{{ ansible_nodename.split(".")[2] | lower }} Может так прокатит
Stefan
Забыл лист в результате split обратно собрать в строку. '{{ item.name.split(".")[1:]|join(".")|lower }}'
The error appears to have been in '/etc/ansible/test.yml': line 6, column 28, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - debug: msg: '{{ text.split('.')[1:]|join(".")|lower }}' ^ here We could be wrong, but this one looks like it might be an issue with missing quotes. Always quote template expression brackets when they start a value. For instance: with_items: - {{ foo }} Should be written as: with_items: - "{{ foo }}"
Stefan
а всё
Stefan
понял да, спасиб
Georgy Kharitonov
всем доброго. а кто-нибудь использует модуль k8s для деплоя в кубер? интересует поведение кондишена wait в случае если используются манифесты, в которых описаны разные сущности, будет ли wait ждать деплоймент, если например в то же время применился и service?
Danylo
А где можно почитать что нового в AWX в каждой версии вышло? https://github.com/ansible/awx/releases тут совсем не информативно и каша
Vitaliy
Привет, подскажет кто, ансибл не умеет async в template, каким образом можно сгенерить 100+ файлов быстро? Include тоже не умеет async...
Vitaliy
100+ для одного хоста? Или речь для 100 хостов?
Нет, 100+ файлов с одного шаблона
Lev
Те есть таска сделай темплэйт и к ней прикручен цикл. И так для каждого хоста в инвентори. Шаблонизация как и прочие плагины работает на контрол машине. Думаю можно попробовать увеличить колво трэдов ансибла с 5 где нитб до 50, дальше по показаниям
Lev
Нет, 100+ файлов с одного шаблона
Если файлы одинаковые лить на множество хостов, то можно делегировать на контрол машину и потом через синк лить на целевые машины. Но тут можно накосячить легко
Timur
Вышла третья молекула, говорят
Timur
Но там из коробки только docker и delegated драйвера
Timur
Остальные выпилили из дефолтной конфигурации
Ivan
https://github.com/ansible-community/molecule/blob/master/CHANGELOG.rst
Vitaliy
вот. Это очень долго. На большое количество хостов я буду ложить рсинком. Проблема в том, что это пока щас 100+ файлов, дальше больше и соответсвенно дольше
Alex
а не быстрее сгенерить локально, запаковать в тар, и потом уже распаковать на целевых машиинах?
Vitaliy
а не быстрее сгенерить локально, запаковать в тар, и потом уже распаковать на целевых машиинах?
Да без разницы как будет доставляться, локально долго генерится же.
#Rλatan
День добрый коллеги, как можно прочесть файл на хосте? lookup('file', PATH) читает только файлы с исполняемой машины.
#Rλatan
спасибо, первый раз про этот модуль слышу за 4 года :)
Alexey
Всем привет, второй день знакомлюсь с Ansible... вот думаю включить playbook в playbook... как то так: --- - name: Streamer server configuration hosts: lab2 tasks: - name: Proxy configuration template: ... - name: Basic server onfiguration import_playbook: basic_configuration.yml как оно работает, в плане выбора hosts.. я к тому, что если во вложенном playbook я укажу "hosts: all" не замочит ли он мне все сервера?
Alexey
Ну или наоборот... если во вложенном playbook будет указан определенный сервер не совпадающий с указанным в вызывающем основном плейлисте