John
Но это все #странное
Мне иногда кажется что Тимур все делает через ансибл. Даже яичницу готовит :)
Max
ну хотя бы ☕
John
Пока нет) учусь
Max
кстати, подключить кофеварку к последовательному порту, и написать приблуду которая управляет этой кофеваркой - не сложно. обернув это systemd юнитом получается ансибл-френдли устройство. ansible coffeemachine -m service -a "state=espresso"
Max
⁠
уже давно есть нормальные IoT устройства по блютусу
George
А если она зависнет ?
⁠
алсо, есть нетленная классика
⁠
https://bash.im/quote/436725
Max
https://bash.im/quote/436725
это вариация на тему "и тебя мы тоже можем заменить на perl скрипт, но будет скучно"
𝚔𝚟𝚊𝚙𝚜
кто-нибудь знает как включить мультилайновый поиск для regex_findall()?
Timur
Если речь идёт о поиске в многострочном тексте, то и так работает
𝚔𝚟𝚊𝚙𝚜
ну мне нужно получить значеие которое находится на следующей строке от патерна
𝚔𝚟𝚊𝚙𝚜
https://regex101.com/r/erOOGe/1
𝚔𝚟𝚊𝚙𝚜
а ansible эта регулярка ничего не возвращает пробовал так: regex_findall(regexp, multiline=True)
Никита
Владислав
https://regex101.com/r/erOOGe/1
А это случаем не yaml? В таком случае и без regexp можно обойтись
Владислав
Например - name: Read config slurp: src: /etc/config register: config - debug: msg: "{{ config['content'] | b64decode | from_yaml }}"
𝚔𝚟𝚊𝚙𝚜
всё гениальное просто
Oleg
использую модуль replace что бы заменить строку replace: path: '{{ item }}' regexp: '^#bundled.tomcat.home=/opt/tomcat' replace: 'bundled.tomcat.home=/opt/tomcat'но итог получается почему то таким: bundled.tomcat.home=/opt/tomcat=/opt/tomcat что за засада такая?😕
Max
не засада.
Max
в ipython поиграйся
Max
посмотри как работает
Sergey
Не надо так. Правильный вариант - темплейтить конфиг целиком.
Отделение Bereke Bank
Добрый день. Кто нибудь сталкивался при использовании модуля user с ошибкой "user '**' does not exist in /etc/passwd"? Пытаюсь добавить нового юзера. На 10 серверах прошло нормально, а вот на одном не получается добавить из-за этой ошибки
Отделение Bereke Bank
Таска выглядит так user: name: "{{ item.username }}" shell: /bin/bash groups: wheel append: yes password: "{{ item.hash_password }}" with_items: "{{ users }}"
Отделение Bereke Bank
Сори, таска фейлится на LDAP-сервере. Логично
Sergei
салам, юзает кто модуль hvac?
inqfen
дратути
inqfen
jinja ниндзи, подскажите правильный синтаксис - name: set fact for localhost if hyperkube in containers_images set_fact: hostvars['localhost']['kubernetes_exist']: >- {% for container in containers_images.containers %} {% if 'hyperkube' in container["Image"]%} {% "true" %} {% endif %} {% endfor %}
Sergey
Где валится?
inqfen
{"msg": "template error while templating string: tag name expected. String: {% for container in containers['containers'] %}\n {% if 'hyperkube' in container[\"Image\"]%}\n {% \"true\" %}\n {% endif %}\n{% endfor %}"}
inqfen
переменная другая стала это норм, я название поправил на более корректное
Sergey
как минимум в серединке, где 'true', не нужно {% %} - там пиши просто true, текстом
Sergey
{% %} - это управляющая скобка, она ничего никуда не выводит, а служит для размещения управляющих конструкций
inqfen
О, спс, в этом и был косяк
Владимир
Доброго дня. Есть роль, включённая в плейбук. В плейбуке описаны хосты, к которым всё это применяется. Появилась надобность разово применить кусок плейбука для хоста, не включенного в описанные директивой hosts. Пытаюсь в консоли при запуске переопределить группу хостов (-e "hosts=mgmt"), но такой номер не прокатывает.
Владимир
Неправильно понял эту часть https://docs.ansible.com/ansible/2.7/user_guide/playbooks_variables.html#id36 ?
Владимир
hosts нельзя переопределить через extra-vars?
Владислав
hosts нельзя переопределить через extra-vars?
Нужно чтобы playbook это изначально поддерживал ... hosts: "{{ host | default('web') }}" ... # ansible-playbook site.yml --extra-vars "host=192.168.1.1"
Sergey
hosts нельзя переопределить через extra-vars?
Хосты, к которым применяется плейбук, можно переопределить из командной строки только в том случае, когда в плейбуке указан какой-нибудь all
Sergey
В этой ситуации достаточно задать ключ -l groupname ("limit"), и плейбук будет применён не ко всем хостам, указанным в окружении, а к их подмножеству - к тем, что в группе groupname.
𝚔𝚟𝚊𝚙𝚜
hosts нельзя переопределить через extra-vars?
Используй два PLAY, в первом определяешь (создаешь хосты) через add_host в группу к которой должен примениться второй PLAY
Timur
Зачем такие сложности?
Timur
Не проще одну строчку в плейбуке поменять перед запуском?
Pavel
ну 1 строчку поменять это коммит пуш и синхронизация репозитория
Pavel
а так ты на старте в AWX или Tower после запуска также меняешь строчку за секунду
Pavel
и всё
Pavel
можно)
Pavel
тут дальше всё зависит от окружения у человека
X
Такого открытого отжима идей я еще не видел
Anonymous
Идея ничего не стоить без людей готовых ее воплотить. Хоть это и не по теме канала
X
Конечно не по теме, Томасу - Бан! а каждой идее по реализации
Anonymous
Пробую подружить ансибл с докером получаю такое: fatal: [170.99.40.10]: FAILED! => {"changed": false, "msg": "Failed to import docker or docker-py - No module named ssl_match_hostname. Try pip install docker or pip install docker-py (Python 2.6)"} pip install docker и pip install docker-py выполнял
Anonymous
возможно кто сталкивался?
Никита
а пипом ставил в нужный интерпретатор?
Антон
убрал из деплоя docker-py и все стало хорошо
Антон
@gecube - спам
Антон
3-й докер ставил из офф репы, композ через pip3
Oleksandr
Oleksandr
если были оба то лучше обоих снести и поставить docker