Max
линк на пригореть (с)
bebebe
а есть линк на почитать?
https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_2.7.html#using-a-loop-on-a-package-module-via-squash-actions
Aleksey
Max
ебать...
Max
простите
Aleksey
Max
то есть они сделали отдельный with_items для пакетов, гениально
Aleksey
пригорает от этого просто нереально.
Vadim
Vadim
Max
я прям вижу как я побежал перепиливать все плейбуки...
Max
пиздец
Max
а чего пиздатого то ?
Max
при чем тут это?
bebebe
так, к слову пришлось, так запускаете или нет?
Aleksey
шикарно тем у кого плейбук по факту один. вот у меня один и у вадима один. и мигрировать его это ну день работы.
Aleksey
а всем остальным у кого плейбуков ~200 им ппц да
Max
bebebe
Max
в правом нет, в правом проект маленький, с мака запускаю
𝚔𝚟𝚊𝚙𝚜
а зачем мигрировать? - работает и ладно
bebebe
Max
я так понял они выпилят with_items
𝚔𝚟𝚊𝚙𝚜
они не выпилят, это не механизм модуля
Aleksey
ибо понадится ппц не скоро. и рук на это запланиовано не будет
Vadim
Наконец-то можно убрать, отлично же
Max
докер каким-то волшебным образом позволит новому ансиблу запускать несовместимые плейбуки?
Aleksey
Aleksey
более ранний не проверял
bebebe
я об этом не раз писал, и меня видимо не понимали, это как раз тот случай, когда вы работу деливерите не плейбуком, а докер окружением с ready to go
bebebe
я даже не замечаю тольком этих обновлений и breaking change, артефакты задилеверины в <docker_image>-playbook-env4:tag
где запинены версии
cent
https://github.com/ansible/ansible/issues/44564 - какую версию pyapi-gitlab используете?
Aleksey
в 2,5 написано что
When used with a loop: each package will be processed individually, it is much more efficient to pass the list directly to the name option.
Max
Max
Спасибо!
Vadim
Aleksey
но это ложь
Aleksey
я видел итоговую конмаду она не была вызовом 100500 раз apt
Aleksey
она была сжоиненой
Huan
привет всем, подскажите как заюзать переменную item.name из зарегистрированных фактов в данном примере?
{
'msg': u 'All items completed',
'changed': False,
'results': [{
'_ansible_parsed': True,
u 'subnet': {
u 'assign_ipv6_address_on_creation': False,
u 'availability_zone': u 'eu-central-1a',
u 'ipv6_association_id': u '',
u 'ipv6_cidr_block': u '',
u 'default_for_az': False,
u 'state': u 'available',
u 'ipv6_cidr_block_association_set': [],
u 'vpc_id': u 'vpc-XXX',
u 'cidr_block': u '10.0.0.0/18',
u 'available_ip_address_count': 16379,
u 'id': u 'subnet-XXX',
u 'tags': {
u 'Name': u 'subnet-a'
},
u 'map_public_ip_on_launch': False
},
u 'changed': False,
'_ansible_no_log': False,
'_ansible_delegated_vars': {
'ansible_delegated_host': u 'localhost',
'ansible_host': u 'localhost'
},
'_ansible_item_result': True,
'failed': False,
'item': {
u 'cidr': u '10.0.0.0/18',
u 'az': u 'eu-central-1a',
u 'name': u 'subnet-a'
},
.....
.....
.....
}]
Huan
results['item']['name'] не работает(
Max
{{ item.name }} ?
cent
Max
или я не понял вопроса
bebebe
Max
а, понял...
𝚔𝚟𝚊𝚙𝚜
они не выпилят, это не механизм модуля
похоже что все таки механизм модуля, только что
- hosts: localhost
tasks:
- apt:
name: "{{ item }}"
with_items:
- sysstat
- bcпри выполнении дает
TASK [apt] **********************************
ok: [localhost] => (item=[u'sysstat', u'bc'])
Huan
{{ item.name }} ?
да, но вот я пробовал зарегать факт register: ec2_subnet
потом пытаюсь вывести имя переменной - debug: msg="{{ ec2_subnet.results['item']['name'] }}" и не работает
𝚔𝚟𝚊𝚙𝚜
но это же логично что в этом случае apt должен вызываться два раза, для каждого item
bebebe
привет всем, подскажите как заюзать переменную item.name из зарегистрированных фактов в данном примере?
{
'msg': u 'All items completed',
'changed': False,
'results': [{
'_ansible_parsed': True,
u 'subnet': {
u 'assign_ipv6_address_on_creation': False,
u 'availability_zone': u 'eu-central-1a',
u 'ipv6_association_id': u '',
u 'ipv6_cidr_block': u '',
u 'default_for_az': False,
u 'state': u 'available',
u 'ipv6_cidr_block_association_set': [],
u 'vpc_id': u 'vpc-XXX',
u 'cidr_block': u '10.0.0.0/18',
u 'available_ip_address_count': 16379,
u 'id': u 'subnet-XXX',
u 'tags': {
u 'Name': u 'subnet-a'
},
u 'map_public_ip_on_launch': False
},
u 'changed': False,
'_ansible_no_log': False,
'_ansible_delegated_vars': {
'ansible_delegated_host': u 'localhost',
'ansible_host': u 'localhost'
},
'_ansible_item_result': True,
'failed': False,
'item': {
u 'cidr': u '10.0.0.0/18',
u 'az': u 'eu-central-1a',
u 'name': u 'subnet-a'
},
.....
.....
.....
}]
из вывода не видно. в какой переменной вы регистрируете результат?
cent
да, есть такое
А можешь поделиться готовой конфой для использования ansible+pyapi-gitlab ?
ansible —version
pip list |grep pyapi-gitlab
pip —version
А то у меня уже 300 раз пересобираю этот контейнер для ansible и все равно ни хрена не работает....
Huan
bebebe
cent
Aleksey
а зачем оно ? выглядит слегка outdated
bebebe
видно - ec2_subnet
да, увидел вы ниже написали. попробуйте так:
ec2_subnet.results[0]['item']['name']
bebebe
мне кажется это еще может зависеть от версии гитлаба...
cent
Aleksey
дак в 11-ом версию 3 api грохнули
Aleksey
теперь минималка 4-ая версия. поэтому я и говорю от проекта попахивает...
Aleksey
перписать на 4-ую версию ?
cent
Aleksey
минимальная версия api
Aleksey
https://docs.gitlab.com/ce/api/v3_to_v4.html
Aleksey
https://about.gitlab.com/2018/06/22/gitlab-11-0-released/#gitlab-api-v3
Aleksey
GitLab API v3
API v4 has been the preferred version of the GitLab API since 9.0. With GitLab 11.0, API v3 is removed and no longer supported. See the differences between API v3 and v4.
Removal date: June 22, 2018
cent
Я понял. Спасибо.
Завтра буду разбираться с даунгрейдом...
Huan
Huan
{% for v in ec2_vpc_subnet.results %}{{ v.item.name }}{% endfor %}
получилось, спасибо