Sergey
John
Но это все #странное
Мне иногда кажется что Тимур все делает через ансибл. Даже яичницу готовит :)
Max
Max
ну хотя бы ☕
John
Пока нет) учусь
Max
кстати, подключить кофеварку к последовательному порту, и написать приблуду которая управляет этой кофеваркой - не сложно.
обернув это systemd юнитом получается ансибл-френдли устройство.
ansible coffeemachine -m service -a "state=espresso"
Max
уже давно есть нормальные IoT устройства по блютусу
George
А если она зависнет ?
алсо, есть нетленная классика
https://bash.im/quote/436725
Max
𝚔𝚟𝚊𝚙𝚜
кто-нибудь знает как включить мультилайновый поиск для regex_findall()?
Timur
Timur
Если речь идёт о поиске в многострочном тексте, то и так работает
𝚔𝚟𝚊𝚙𝚜
ну мне нужно получить значеие которое находится на следующей строке от патерна
𝚔𝚟𝚊𝚙𝚜
https://regex101.com/r/erOOGe/1
𝚔𝚟𝚊𝚙𝚜
а ansible эта регулярка ничего не возвращает
пробовал так:
regex_findall(regexp, multiline=True)
Никита
Владислав
Например
- name: Read config
slurp:
src: /etc/config
register: config
- debug:
msg: "{{ config['content'] | b64decode | from_yaml }}"
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
всё гениальное просто
Max
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
Sergey
Не надо так.
Правильный вариант - темплейтить конфиг целиком.
Alexey
Отделение Bereke Bank
Добрый день. Кто нибудь сталкивался при использовании модуля user с ошибкой "user '**' does not exist in /etc/passwd"?
Пытаюсь добавить нового юзера. На 10 серверах прошло нормально, а вот на одном не получается добавить из-за этой ошибки
Boris 🦍
Отделение Bereke Bank
Таска выглядит так
user:
name: "{{ item.username }}"
shell: /bin/bash
groups: wheel
append: yes
password: "{{ item.hash_password }}"
with_items: "{{ users }}"
Отделение Bereke Bank
Сори, таска фейлится на LDAP-сервере. Логично
Timur
Sergei
салам, юзает кто модуль hvac?
Tadeusz
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
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
О, спс, в этом и был косяк
Sergey
Владимир
Доброго дня.
Есть роль, включённая в плейбук. В плейбуке описаны хосты, к которым всё это применяется.
Появилась надобность разово применить кусок плейбука для хоста, не включенного в описанные директивой 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
Sergey
В этой ситуации достаточно задать ключ -l groupname ("limit"), и плейбук будет применён не ко всем хостам, указанным в окружении, а к их подмножеству - к тем, что в группе groupname.
Pavel
Timur
Зачем такие сложности?
Timur
Не проще одну строчку в плейбуке поменять перед запуском?
Pavel
ну 1 строчку поменять это коммит пуш и синхронизация репозитория
Pavel
а так ты на старте в AWX или Tower после запуска также меняешь строчку за секунду
Pavel
и всё
Timur
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 - спам
Anonymous
Антон
3-й
докер ставил из офф репы, композ через pip3
Oleksandr
Oleksandr
если были оба то лучше обоих снести и поставить docker