我们需要经历这个结构
区域规格 https://gist.github.com/git001/9230f041aaa34d22ec82eb17d444550c
我能够运行以下snipplet,但现在我一直在检查错误。
剧本
--
- hosts: all
gather_facts: no
vars_files:
- "../doc/application-zone-spec.yml"
roles:
- { role: ingress_add, customers: "{{ application_zone_spec }}" }
作用
- name: check if router exists
shell: "oc get dc -n default {{ customers.zone_name }}-{{ item.type }}"
with_items: "{{ customers.ingress }}"
ignore_errors: True
register: check_router
- name: Print ingress hostnames
debug: var=check_router
- name: create new router
shell: "echo 'I will create a router'"
with_items: "{{ customers.ingress }}"
when: check_router.rc == 1
输出ansible运行
https://gist.github.com/git001/dab97d7d12a53edfcf2a69647ad543b7
问题是我需要浏览入口项目,我需要从“check_router”寄存器中映射不同类型的错误。
制作类似的东西会很棒。
伪代码。
Iterate through the "customers.ingress"
check in "check_router" if the rc is ! 0
execute command.
我们使用。
ansible-playbook --version
ansible-playbook 2.1.0.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
答案 0 :(得分:0)
您可以将第二个循环替换为:
- name: create new router
shell: "echo 'I will create a router with type {{ item.item }}'"
with_items: "{{ check_router.results }}"
when: item.rc == 1
这会迭代check_route
循环的每一步,您可以通过item.item
访问原始项目。