UglyKoyote
а что в конфиге еще есть? ну другие строчки, или они не меняются? может через темплейт будет проще
UglyKoyote
хотя я так.. может более опытные коллеги скажут что это не тру
Lamobot
коллеги, подскажите, как это HOSTNAME=/bin/hostname && /bin/sed -i -e "s/Hostname=Zabbix server/Hostname=$HOSTNAME/g" /etc/zabbix/zabbix_agent2.conf в виде строк прейбука написать корректно? я пока придумал - name: Return hostname to registered var command: /bin/hostname register: hostnamevar - name: Replace Hostname parameter in /etc/zabbix/zabbix_agent2.conf lineinfile: path: /etc/zabbix/zabbix_agent2.conf regexp: '^Hostname=Zabbix server' line: Hostname={{ hostnamevar }} но на счёт последней строки (line: Hostname={{ hostnamevar }} ) я сомневаюсь
В идеале целиком файл конфига через template грузить, как уже сказали. Похуже вариант - lineinfile использовать, и можно обойтись без /bin/hostname, так как он есть в фактах о хосте. Посмотрите ansible_hostname. Если же тупо копировать баш, то всё вроде верно, кроме hostnamevar. Должно быть hostnamevar["stdout"]
Sebor▂▅▇█▓▒░
В дефолтном конфиге агента итак используется системный хостнейм. Даже "вычислять" не надо
Jungo
ребята ! как транслитерацию переменной сделать в ансибл?
Grek 🇺🇦
takje kak i obi4nujy peremennujy
Jungo
takje kak i obi4nujy peremennujy
нет ты не понял - хочу переменую хранить в кириллице utf а при запуске плейбука делать налету транслитерацию
Grek 🇺🇦
так пиши нормально, а не поток мыслей
Grek 🇺🇦
переменную - значение переменной?
Grek 🇺🇦
вроде светит тебе дорога в кастомный фильтр
Jungo
что-то внешнее ок порпобую спс
Jungo
А зачем этот изврат?
выполнение запросов на создание учеток в ldap
Grek 🇺🇦
спрашивай у юзера как записать и не мучайся
Grek 🇺🇦
лучший варик как в загран паспорте
Fess
Всем привет! Подскажите, как правильно вывести переменную в строке - которая также является переменной? password: "{{ {{user_pass }} | password_hash('sha512') }}" - так не работает(
Jungo
спрашивай у юзера как записать и не мучайся
вот в этом и проблема есть dmitrii dmitriy dmitrij - хочу единую логику транслитерации - поэтому решил в коде сделать
Grek 🇺🇦
ну тогда свой фильтр и официальные правила транслитерации для твоей страны
Sheridan
Коморады... Странное творится... Обычный таск: - name: Создание директорий file: dest: "{{ repository_gpg_path }}" state: directory owner: "{{ repository_user }}" group: "{{ repository_user }}" mode: "0700" Но может висеть на исполнении чуть ли не полчаса... Даже не представляю из за чего такое быть может. Ну не настолько же диск занят?...
Yusif
@Lamobot Привет Вы мне скидывали такой скрипт, чтобы брать индекс по hosts файлу. "{{ (groups['prod-kafka']|sort).index(ansible_host) }}" Где я могу прочитать больше про переменные такого типа? Мне надо сделать так, чтобы было чтобы было нечто такое: zookepers_host1: "{{ переменная которая указывает на первую машину в списке под группой }}" Какой метод можно вызвать для этого и возможно ли это вообще? Или же надо применять цикл?
Sergey
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html
Lamobot
👍
Sergey
🙏🏻
RaWqqq8
Добрый вечер. Есть вопрос на тему инвентаря. При диплои вм в сфере можно ли как то автоматически заносить их в хост файл? Если да то как?
RaWqqq8
Смотри в сторону dynamic inventory
Openstack сможет решить этот вопрос? Доводилось вам использовать dynamic inventory?
RaWqqq8
Openstack не пользовал , да доводилось.
Какой скрипт вы использовали?
tutunak
Какой скрипт вы использовали?
cтандарный aws-ec2 планиг и самописные на питоне
inqfen
И там прямо в списке плагин опенстека
Dima
https://docs.openstack.org/openstack-ansible/latest/reference/inventory/inventory.html
Mentat
Коллеги, какой нынче правильный и верный способ вызвать дочернюю роль из текущей роли?
Mentat
те when <какие-то условия> execute <кастомная роль>
⎈
Кто постиг дзен папки projects и её проброса в контейнеры AWX (Ansible Tower)?
⎈
остальные контейнеры работают docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a24f572c15c5 ansible/awx:14.1.0 "/usr/bin/tini -- /b…" 5 weeks ago Up 2 weeks 0.0.0.0:80->8052/tcp awx_web 80ac4efa8cec redis "docker-entrypoint.s…" 5 weeks ago Up 2 weeks 6379/tcp awx_redis 61bdf8019f07 postgres:10 "docker-entrypoint.s…" 5 weeks ago Up 2 weeks 5432/tcp awx_postgres этот умер после неудачного отключения docker attach awx_task
Ivan
првиет! а можно переменные окружения скормить ансиблу на уровне таска?
Ivan
на уровне плейбука вроде бы нашёл
Ivan
Хочу ANSIBLE_JINJA2_NATIVE ему поменять, поглядеть
Lamobot
првиет! а можно переменные окружения скормить ансиблу на уровне таска?
https://docs.ansible.com/ansible/latest/user_guide/playbooks_environment.html#setting-the-remote-environment-in-a-task
Александр
Приветствую. Подскажите как решить задачу
Александр
Есть скрипт пинг
Александр
- name: Test connection hosts: all gather_facts: false become: yes tasks: - name: Ping all ping:
Александр
Но он не разделяет компьютеры по группам недоступности
Александр
Есть компьютеры, которые выключены, а есть на которые не подходит пароль
George
по каким еще группам ?
George
а как должно быть ?
Александр
Как их поделить?
George
windows ?
Александр
linux
George
касательно сетевой недоступности - можно же nc использовать и проверять доступность 22 порта
George
точно был модуль в ансибле для этого
George
либо смотреть на дополнительные сведения - там наверняка в процессе отработки модуля появляется json с результатом - и можно его попарсить
Александр
либо смотреть на дополнительные сведения - там наверняка в процессе отработки модуля появляется json с результатом - и можно его попарсить
вот этот вариант мне кажется наиболее интересным, но я так и не нашел как эти сведения парсить. Они получаются за пределами выполнения команды
George
Вербозный режим включи
George
Там наверняка есть все
Александр
я про другое
Александр
TASK [Gathering Facts] ********************************************************************** fatal: [IP]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host IP port 22: No route to host", "unreachable": true}
Александр
То есть уже на этапе подключения уже ругается, причем эти сообщения разные
Александр
Как их отфильтровать по кучкам
tutunak
А кто мне может обяснить тайный смысл того что aws_ec2 инвентори требует Uses a YAML configuration file that ends with aws_ec2.(yml|yaml). Если я в конфиге явно указал путь к файлу
Aleksey
не читает он файлы если они не заканчиваются так
Aleksey
видимо _security_
tutunak
Ну и то что оно регион не читает из конфига или энва это тож доставляет
Aleksey
по крайней мере на 2.9 не читал. и я полдня убил на эту канитель
tutunak
я уже второй раз нарываюсь, сначало бьюсь долго, потом чиню, и вот через полгода опять)
Aleksey
да вообще бесят
Aleksey
но если ты найдешь ишью я буду тебе благодарен
Aleksey
я там хочу поставить значок своего негодования
citius
Как их отфильтровать по кучкам
видимо посмотреть какие есть callback плагины, либо если ничего не подойдёт запилить свой.