UglyKoyote
хотя за такое тут по голове бить принято вроде бы)
zEvilz
или вообще забить и руками порт менять)
zEvilz
а ansible_ssh_port как в плейбуке заменить, чтоб в хосты не лазить?
citius
или вообще забить и руками порт менять)
Если это виртуалки - почему не запечь порт в образ?
Можно сделать отдельный плей c
- hosts: all
vars:
ansible_ssh_port: 22
tasks: .........
Его пускать первым, а в инвентаре держать уже свои нормальные настройки.
zEvilz
как раз то, что нужно. а если перед ребутом делать локальный таск и подменять порт в файле плейбука?)
zEvilz
после ребута подхватит или будет юзать старый порт?
citius
Не надо ничего подменять нигде, в дефолтных настройках держи свой 1234 или какой там у тебя порт.
citius
В данном случае 22 будет только в рамках этого конкретного плея.
Nariman
foo=“{{ name in array | ternary(bar, baz) }}”
Можете подсказать где я ошибаюсь ?
vars_prompt:
- name: modulename
prompt: "Which module you want to deploy?"
private: no
vars:
- ns: "{{ name == 'kkk' | ternary(Admin, Mgmt) }}"
Vlad
Admin и Mgmt это переменные или строки? Если строки то надо их в кавычках писать
Nariman
ns это переменная
zEvilz
всем спасибо, буду тестить)
Nariman
которая меняется в зависимости от promt
Maksim
Привет.
Пишу такого рода таск
- name: Run queries from SQL script
postgresql_query:
db: "{{ db.name }}"
path_to_script: "{{ inventory_dir }}/branding/db-patches"
when: sql_folder.stat.exists and sql_folder.stat.isdir
Как мне здесь построить логику, чтобы он применял все скрипты из этой папки?
Их может быть хоть 1, хоть 10
Maksim
Пока в голову приходит делать find по каталогу, регать в переменную, и ее использовать
citius
Vadim
как плейбук запустить на 1 хост, можно это сделать не добавляю в файл хостов?
George
Отделение Bereke Bank
Vadim
Не знаю как пояснить,
Vadim
можно плейбук запустить указав в команду запуска имя хоста?
Отделение Bereke Bank
-i, --inventory, --inventory-file
specify inventory host path or comma separated host list. –inventory-file is deprecated
Отделение Bereke Bank
Попробуй хосты через запятую. Ни разу не делал
Отделение Bereke Bank
Потом скажешь получилось или нет
UglyKoyote
?
—limit видимо надо человеку
George
Отделение Bereke Bank
Он не хочет добавлять хосты в инвентори. Лимит тут не поможет
Vadim
а как строку заменить в которой двойная кавычка? пробова экранировать что то не получается
Vadim
- name: replace line
replace:
path: /etc/default/sysstat
regexp: 'ENABLED="false"'
replace: "ENABLED=\"true\""
Отделение Bereke Bank
Vadim
- name: replace line
replace:
path: /etc/default/sysstat
regexp: 'ENABLED=\"false\"'
replace: 'ENABLED=\"true\"'
Vadim
не работает
UglyKoyote
без \ тогда - если другие кавычки юзаешь
UglyKoyote
оно в одинарных кавычках будет одним целым брать
Vadim
хотя извините, у меня хост скипался), получилось.
да в replace не нужно экранировать
Vadim
спасибо
UglyKoyote
Vadim
глупый вопрос наверное, а все задачи по хостам последовательно запускаются же, паралельно можно? ато долго ждать
George
Vadim
ok, установил пакет, перенастроил его и перезапустил на 35 серваках, полезный ансибл
Alex
Alex
если тебе надо выполнить набор тасков || на 35 хостах - то ансибл так и работает
Vadim
и при чем тут это?
не понял прием что, в теме ансибла похвалил ансибл, что не так хз, может флуд, нуладно, всем спасибо
George
Vadim
потому что не было его
Alex
cmd: dnf install -y python3-dnf
msg: Could not import the dnf python module using /opt/pyenv/versions/3.6.11/bin/python (3.6.11 (default, Aug 20 2020, 08:57:51) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]). Please install `python3-dnf` package or ensure you have specified the correct ansible_python_interpreter.
а если ставить через pip - то как должен называться этот модуль? Поиск что то не особо помогает
# pip search dnf
dnf (0.0.1) - Placeholder pending proper publication of DNF Python API
simple-dnf (0.1.1) - Simple graphical utility for DNF package management
repomd (0.2.1) - Library for reading dnf/yum repositories
spip (0.4.0) - pip ❤️ dnf/apt-get
waps (1.0.2) - This library can be used to sample satisfying assignments for a CNF/DNF obeying a given
literal-weighted weight function and projected upon a given sampling set.
Anonymous
коллги, подскажите когда я формирую условия так, это логическое И ?
- include: 06-add-route.yml
when:
- ansible_distribution == 'CentOS'
- dc_location == 'USA'
- second_interface_name != 'example'
Alex
Anonymous
если нужно или - то делать все одной строкой ?
Anonymous
окей, спасибо
A
В каком юзкейсе может понадобиться order: shuffle?
Danila
Привет всем, есть такой вопрос, думаю многие сталкивались. С ansible работаю не так давно. Нужно прикрутить модуль уведомления с отсылкой в телеграмм, есть у кого-нибудь опыт с таким? Спасибо заранее за помощь
citius
Alexander
Danila
- name: Test telegram module
hosts: localhost
connection: local
tasks:
- name: Send test message
command: /usr/bin/say "Is it working?"
#telegram:
# token: "*****"
# chat_id: *****
# msg: "Ansible playbook calling"
tags:
- text
Пример нашёл на просторах, что то типо того.
Отделение Bereke Bank
Danila
Sergey
Alexander
поддержки команды разработки ансибла имел ввиду
Alexander
я всего лишь сказал, что нет штатной поддержки калбэка в телегу, ничего более
Sergey
Sergey
Не существует.
Alex
у меня аж пригорает от этой ситуации
Alex
питон 2 вроде как уже почти мертв, а под 3ку нет модуля
Отделение Bereke Bank
Пока жив RH 7 - python 2 тоже будет жить)
Alex
да это понятно
Sergey
Alex
думал pyenv как то сгладит ситуацию, но не тут то было
Alex
Alex
и слишком много зависимостей специфичных для centos 8
Отделение Bereke Bank
ну тогда забей хуй
Отделение Bereke Bank
Alex
да по ходу придется на RHEL6/RHEL7 сидеть на 2м питоне
Sergey