button
+1
inqfen
вечер
Nazar
в хату
inqfen
посоны
inqfen
Кто-то знает, как без извращений реализовать подобное? 1.Есть таск с with_items 2.Есть шаблон конфига Нужно чтобы при каждой итерации таска либо {{ item }} передавался в шаблон, либо в шаблоне само через %for in% бралось следующее значение из последовательностей
inqfen
Это таск копирования конфига в 4 агента, в каждом конфиге в агенте следующее название
inqfen
Типа agent-1, agent-2 ...
Aleksey
var указать
Aleksey
-name: .... template: .... var: my_var: {{item}} with_items: - test
inqfen
То есть - name: Copy agents config template: src: wrapper.conf.j2 dest: C:\itmh\servers\bamboo\{{ item }}\conf\wrapper.conf var: name: "{{ item }}" with_items: - "agents" Я правильно понял?
inqfen
И в шаблон конфига {{ name }} вставить
Alexander
Пакетные менеджеры языков - всё же для разработчиков, а не для Ops.
так а в чём разница?) сегодня ты разрабатываешь код как developer, завтра настраиваешь сервер и деплоишь его как op) ну, ок, раньше да, я согласен, deb было бы постабильнее, но сейчас же всё в докерах, и. там и там в RUN это было бы с фиксированной версией системы в FROM…
Alexander
ну то есть в чём разница между RUN apk install … и RUN python3 pip ibstall …
Maksim
Был ли у кого-то опыт работы с windows хостами через ansible?
Tadeusz
был
Maksim
правильно я понял что только winrm, openssh не пашет?
Tadeusz
правильно
Maksim
ну и хорошо, спасибо =)
Tadeusz
удачной ебли, сэр)))
Maksim
ага, даже так… буду иметь ввиду
Danila
а мы ж можем в плейбуке закидывать сразу две группы в хосты через запятую?
Vladimir
https://github.com/andrewrothstein 349 results for repositories matching "ansible-". 349, Карл!!1
Vladimir
совершенно случайно наткнулся, когда в гэлэкси копался
Alexander
Всем привет, может кто сталкивался с подобной проблемой - выплоняешь один и тот же playbook и Handler не запускается на рандомных машинах. Обнаружил, что если запустить с —fork 1, то Handler отрабатывает на всех машинах кроме одной рандомной. Вот тут можно взглянуть на playbook и вывод: https://pastebin.com/6iNat3Vt
Dmytro
патч@пробуй класс
Dmytro
Как вы там, живы еще?
бывают ситуации когда версия ансибля это реквайрмент и он не тобой сформирован такие дела
GithubReleases
https://github.com/ansible/ansible/releases/v2.5.0b1 was tagged
inqfen
Утро
inqfen
Господа, подскажите, как в win_command не ждать return code?
inqfen
Есть приложение, которое при установке сразу запускается и плейбук на этом месте зависает
Sergey
Господа, подскажите, как в win_command не ждать return code?
http://docs.ansible.com/ansible/latest/playbooks_async.html - как-то так..
GithubReleases
https://github.com/ansible/ansible/releases/v2.5.0 Beta 1 was tagged
inqfen
var не изменяется
inqfen
В шаблоне
Mikhail
Посаны, есть роль, которая начинается с таска: - name: setting facts set_fact: another_esb_ip_address: "{{ esb_ip_address_2 }}" version_of_bus: "{{ bus_name_1 }}" when: "{{ ansible_hostname | regex_replace( '.+(\\d)\\..+', '\\1' )}}" == '1' При выполнении ругается на синтаксис: version_of_bus: "{{ bus_name_1 }}" when: "{{ ansible_hostname | regex_replace( '.+(\\d)\\..+', '\\1' )}}" == '1' ^ here Т.е. на операцию сравнения. На сами два знака равно. Что я делаю не так? != работает отлично
inqfen
Там строка?
inqfen
И пробела нет
inqfen
=='
Mikhail
Там строка, да. Давай я лучше сейчас линк на пастбин скину
Mikhail
https://paste.ofcode.org/CaBBYmkqURPvB6DUHh9JWH
Mikhail
Там пробел. Т.е. условно "{{}}" == ''
Mikhail
Операцию сравнения могу вызвать, только когда я ansible_hostname с регуляркой записываю в отдельную переменную и потом просто её вызываю для сравнения
inqfen
vscode ругается на cannot read implicit mapping pair
inqfen
ему не нравится когда when: {{ что-то }} ==
inqfen
а when что-то == норм
inqfen
Видимо сначал надо через set_fact сделать типа - name: setting facts set_fact: thing: "{{ ansible_hostname | regex_replace( '.+(\\d)\\..+', '\\1' )}}" А потом when thing == '1'
inqfen
Ну, особенночти ямла
inqfen
Sergey
ну то есть в чём разница между RUN apk install … и RUN python3 pip ibstall …
Разница очень простая. Пакетами ты деплоишь на уровень ОС - там можно учитывать мешок всего, тащить зависимости и т.д. Пакетным менеджером для конкретного языка ты не можешь притащить недостающую внешнюю библиотеку.
Pavel
Я бы сказал pip это для случая, когда ставишь в virtualenv
Alexander
Спасибо, дело однозначно в strategy. Пока обновиться не могу, но смена strategy на serial решила проблему - за 10 прогонов все handler'ы отработали.
Roman
Ну да, так и сделал. Печальненько конечно.
А вы пробовали? when: ansible_hostname | regex_replace( '.+(\\d)\\..+', '\\1' ) == '1'
inqfen
в плане, что после pip install docker-compose docker в ансибле будет работать
inqfen
а послеapt install нет, потому что модулей для питона нема
Sergey
зато тащищь зависимости необходимые для языка
Я вообще писал об общем случае, а не о пипе. Ну и повторюсь - пип таки не умеет, да и не его это работа, ставить в систему потребные библиотеки. Венв собрать - это да, пожалуйста, а делать из него менеджер зависимостей - лол.
Roman
Хех, работает! Спасибо!
👍 просто в when не нужны скобки от Jinja, просто сразу переменные. This is easy to do in Ansible with the when clause, which contains a raw Jinja2 expression without double curly braces (see Variables). It’s actually pretty simple:
Maksim
Коллеги, есть проблема с winrm. Пытаюсь заставить работать с клиентской машины на OSX High Sierra, ansible 2.4.2. Целевая машина - windows 2016 Server. Суть в том, что поставил через pip pywinrm, но при попытке выполнения win_ping "msg": "winrm or requests is not installed: No module named xmltodict» По всякому уже крутил, вроде все стоит. Может было такое у кого-то?
G3rhard
а почему на xmltodict ругается?
Maksim
просто чезер python всё импортируется
G3rhard
pip install xmltodict?
Maksim
да не, тут всё ок Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 12:01:12) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import xmltodict >>> import winrm >>>
Tadeusz
мб у тебя не оттуда питон цепляется?
Tadeusz
вангую что так оно и есть
Maksim
пойду туда ковырять, вполне вероятно
Sergey
есть смысл проверить sys.path, кажется
Tadeusz
так собери ansible’у ваще отдельный virtualenv и в рот его того этого
Maksim
нет, ansible ставил из pip
Nklya
На макоси может быть несколько питонов. Может ансибл и либы в разных
Maksim
подозреваю что проблема тут python version = 2.7.10 (default, Jul 15 2017, 17:16:57) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]