Можем ли мы иметь 2 with_items в ansible в одной задаче - PullRequest
0 голосов
/ 27 января 2020

Ниже приведено условие

- name: Find the image
  slurp:
    src: "{{ IMAGE }}"
  register: slurp_results

- name: Upload image
  shell: |
    skopeo copy -docker-archive:{{ item }}.tar docker://{{ URL }}/TESTIMAGE
  with_items: "{{ (slurp_results.content|b64decode).splitlines() }}"

Вышеприведенный код работает.

Но мне бы также понадобилось заменить "TESTIMAGE" на {{item}}, как показано ниже.

skopeo copy -docker-archive:{{ item }}.tar docker://{{ URL }}/{{ item }}

Как определить 2 with_items в одной задаче оболочки с двумя различными результатами slurp

1 Ответ

0 голосов
/ 27 января 2020

Я полагаю, что вы можете использовать модуль subelements. Здесь - ссылка. Попробуйте использовать этот пример:

- name: Setup MySQL users, given the mysql hosts and privs subkey lists
  mysql_user:
    name: "{{ item.0.name }}"
    password: "{{ item.0.mysql.password }}"
    host: "{{ item.1 }}"
    priv: "{{ item.0.mysql.privs | join('/') }}"
  with_subelements:
    - "{{ users }}"
    - mysql.hosts

Пользователи называются item.0, а хосты - item.1 и так далее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...