George
нет, нет… паника
Timur
поясни? ааа… та репликация. да?
Вот тут вроде: https://t.me/pro_ansible/67335
Timur
Вот так еще нагляднее
Timur
Делаем версии ролей: role_name/role_version - в плейбук подключаем конкретную версию. Внутри роль может импортировать yml файлы с тасками с отдельными тегами. но эти теги role_name тоже в себя включают. В итоге можно переключаться между версиями ролей и можно внутри роли вызывать только часть задач, при необходимости.
Timur
Разная наркомания бывает, в общем
Grisha
Ребзя, подскажите пожалуйста аналог у ansible Puppet - hiera Salt - pillar Ansible - ?
George
нету )
George
variables & facts
Grisha
и хранить их в плейбуке?
Ждун
а он нужен?
Timur
Или AWX
Ждун
а ансимбле все это есть
Timur
Если хочется красивого веб-интерфейса и централизованного хранилища. С маджонгом и гейшами
Artur
а он нужен?
да, если плейбук юзают больше чем полтора человека
Ждун
git?
Grisha
другой уровень абстракции
Timur
В ансибле данные и так можно хранить отдельно
Timur
В инвентаре и group vars
Ждун
там этих инвентори для любого уровня абстракции
Nklya
Стоит просто понять что в ансибле придумана другая идеология и считается что хиера тебе не нужна, юзайте груп варс, поэтому приходится изворачивать мозг и зачастую писать говнокод
es]x
доброго, подскажите позможно ли соспоставить факты например: получаю список key1 = value1 key2 = value2 а на выходе получить value1 = value2
es]x
- name: with_dict -> loop (option 2) debug: msg: "{{ item.0 }} - {{ item.1 }}" loop: "{{ dictionary|dictsort }}"
es]x
что-то вроде жтого
Timur
Нет, можно проще
Timur
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html?highlight=dict2items#items2dict-filter
Timur
{{ tags | items2dict }}
Timur
tags: - key: Application value: payment - key: Environment value: dev
Timur
На выходе получаем: Application: payment Environment: dev
Timur
Это в версии 2.7 завезли
es]x
подскажите - name: Gather facts from vcenter vmware_datastore_facts: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' validate_certs: no cluster: '{{ cluster_name }}' delegate_to: localhost register: cluster_facts - debug: msg: "{{ cluster_facts.datastores | items2dict(key_name='datastore_cluster', value_name='freeSpace')}}" на выводе получаю ok: [localhost] => { "msg": { "Citrix": 712666775552, "N/A": 451616440320, "SC4020-1": 1049964314624, "SC4020-2": 1165375832064, "SC4020-TestDev": 2283957911552 } } как можно оставить только вот такое значение ok: [localhost] => { "msg": { "SC4020-1": 1049964314624, "SC4020-2": 1165375832064, } }
es]x
пасибо добрый человек,а можете просветить, возможно не так выражусь, но всеже если вызывать через loop получаю простыню из таких значений, тоесть их вывод соотвтествует кол-ву datastores. но если выводить без цикла не пойму откуда он получает данные, так как из переменных видно что у данного датастора только u'datastore_cluster': u'SC4020-1 или это какое-то хитрое поведение фильтра items2dict? ok: [localhost] => (item={u'accessible': True, u'freeSpace': 731527512064, u'multipleHostAccess': True, u'capacity': 4397778075648, u'name': u'SC4020-01-VMs-01', u'provisioned': 3666250584443, u'url': u'ds:///vmfs/volumes/59443cf1-4b01122f-6d5a-000e1eff7870/', u'datastore_cluster': u'SC4020-1', u'uncommitted': 20859, u'type': u'VMFS', u'maintenanceMode': u'normal'}) => { "msg": { "Citrix": 711471398912, "N/A": 451624828928, "SC4020-1": 1050078609408, "SC4020-2": 1165373734912, "SC4020-TestDev": 2283957911552 } }
Timur
В чем конкретно проблема?
es]x
это скорее не проблема, просто пытаюсь докапаться до сути, почему так происходит. вот запрос без цикла - debug: msg: "{{ cluster_facts.datastores | items2dict(key_name='datastore_cluster', value_name='freeSpace')}}" он выводит данные "msg": { "Citrix": 711471398912, "N/A": 451624828928, "SC4020-1": 1050078609408, "SC4020-2": 1165373734912, "SC4020-TestDev": 2283957911552 } } но я не пойму откуда он их бирет если в первом элементе, в поле datastore_cluster значение u'datastore_cluster': u'SC4020-1', хотя остальные элементы не определенны.
es]x
эм обдумаю чуть чуть
es]x
Не очень понял суть вопроса, если честно
не могу найти фильтр selectattr в оф документации
Timur
http://jinja.pocoo.org/docs/2.10/templates/
Timur
http://www.oznetnerd.com/jinja2-selectattr-filter/
Timur
https://www.tailored.cloud/devops/advanced-list-operations-ansible/
es]x
Шутите?
неособо)
es]x
не думал в таком ключе искать
es]x
спасибо за наводку
Anonymous
When i trying to move a file under a project directory to outside project directory it shows no such file or folder, In ansible tower
Anonymous
Any one have any solution
Anonymous
?
Denis 災 nobody
как можно ускорить выкатку, а то каждая строка плейбука это 10+с
Denis 災 nobody
ну в ansible.cfg добавил [persistent_connection] command_timeout = 60 или что именно там надо?
Nklya
https://stackoverflow.com/questions/48385059/does-ansible-create-a-separate-ssh-connection-for-each-tasks-inside-a-playbook
Denis 災 nobody
pipelining?
на некоторые хосты выкатывало быстро.. думаю, достаточно пофиксить настройки sshd, помнится GSSAPI много проблем доставлял
Denis 災 nobody
https://stackoverflow.com/questions/48385059/does-ansible-create-a-separate-ssh-connection-for-each-tasks-inside-a-playbook
сделал, проверим... только в паре мест добавить в буку false, например где меняем hostname
Denis 災 nobody
да, стало реально быстрее..
Nklya
🐼🎉
Nklya
стикеров нет, гифок нет, как так жить))
Denis 災 nobody
ну это не флудилка, тут стикеры особо не нужны
Denis
ребята все привет
Denis
может кто подскажет как из v0000_0000_pp получить тоолько цифры ?
Denis
regex_search () может кто подскажет регулярку
Timur
Регулярки вот здесь подбираются легко: https://regex101.com
Denis
мне нужно получить как единое чилсо а не куча символов
Ждун
Все что не цифра реплейснуть пустотой
Dmytro
чет не получается
\d+_\d+ андерскор уже потом прибрать, это навскидку
Dmytro
хотя можно сразу без него
Denis
0750_0000
Ждун
Есть в питоне regexreplace
Sergey
мне нужно получить как единое чилсо а не куча символов
v(?P<s1>\d+)_(?P<s2>\d+)_pp потом группы s1 и s2 склеишь подряд
Dmytro
\d+\d+
Denis
почти
Denis
\d+\d+
так не катитт