George
нет, нет… паника
Sergey
Timur
Вот так еще нагляднее
Timur
Делаем версии ролей: role_name/role_version - в плейбук подключаем конкретную версию. Внутри роль может импортировать yml файлы с тасками с отдельными тегами. но эти теги role_name тоже в себя включают. В итоге можно переключаться между версиями ролей и можно внутри роли вызывать только часть задач, при необходимости.
Timur
Разная наркомания бывает, в общем
Grisha
Ребзя, подскажите пожалуйста аналог у ansible
Puppet - hiera
Salt - pillar
Ansible - ?
George
нету )
George
variables & facts
Grisha
и хранить их в плейбуке?
Timur
Ждун
а он нужен?
Timur
Или AWX
Ждун
а ансимбле все это есть
Timur
Если хочется красивого веб-интерфейса и централизованного хранилища. С маджонгом и гейшами
Artur
а он нужен?
да, если плейбук юзают больше чем полтора человека
Grisha
Ждун
git?
Grisha
другой уровень абстракции
Timur
В ансибле данные и так можно хранить отдельно
Timur
В инвентаре и group vars
Ждун
там этих инвентори для любого уровня абстракции
Nklya
Стоит просто понять что в ансибле придумана другая идеология и считается что хиера тебе не нужна, юзайте груп варс, поэтому приходится изворачивать мозг и зачастую писать говнокод
es]x
доброго, подскажите позможно ли соспоставить факты
например: получаю список
key1 = value1
key2 = value2
а на выходе получить
value1 = value2
Timur
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,
}
}
Timur
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
пасибо добрый человек,а можете просветить, возможно не так выражусь, но всеже
если вызывать через 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',
хотя остальные элементы не определенны.
Timur
это скорее не проблема, просто пытаюсь докапаться до сути, почему так происходит.
вот запрос без цикла
- 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',
хотя остальные элементы не определенны.
В смысле - откуда берет? Из списка словарей, который выдает cluster_facts.datastores
es]x
эм обдумаю чуть чуть
Dmitry
Timur
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
Nklya
Denis 災 nobody
ну в ansible.cfg добавил
[persistent_connection]
command_timeout = 60
или что именно там надо?
Anonymous
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
Denis 災 nobody
да, стало реально быстрее..
Nklya
🐼🎉
Nklya
стикеров нет, гифок нет, как так жить))
Denis 災 nobody
ну это не флудилка, тут стикеры особо не нужны
Denis
ребята все привет
Denis
может кто подскажет как из v0000_0000_pp получить тоолько цифры ?
Denis
regex_search () может кто подскажет регулярку
Timur
Регулярки вот здесь подбираются легко:
https://regex101.com
Denis
Denis
мне нужно получить как единое чилсо а не куча символов
Ждун
Все что не цифра реплейснуть пустотой
Dmytro
хотя можно сразу без него
Denis
0750_0000
Ждун
Есть в питоне regexreplace
Dmytro
\d+\d+
Denis
почти
Denis