|
1 | 1 | --- |
| 2 | +- name: List pulp container repositories |
| 3 | + pulp.squeezer.container_repository: |
| 4 | + pulp_url: "{{ pulp_url }}" |
| 5 | + username: "{{ pulp_username }}" |
| 6 | + password: "{{ pulp_password }}" |
| 7 | + validate_certs: "{{ pulp_validate_certs | bool }}" |
| 8 | + register: pulp_repository_container_existing_repos |
| 9 | + when: pulp_repository_fast_update | bool |
| 10 | + |
| 11 | +- name: List pulp container remotes |
| 12 | + pulp.squeezer.container_remote: |
| 13 | + pulp_url: "{{ pulp_url }}" |
| 14 | + username: "{{ pulp_username }}" |
| 15 | + password: "{{ pulp_password }}" |
| 16 | + validate_certs: "{{ pulp_validate_certs | bool }}" |
| 17 | + register: pulp_repository_container_existing_remotes |
| 18 | + when: pulp_repository_fast_update | bool |
| 19 | + |
2 | 20 | - name: Setup container repositories |
| 21 | + vars: |
| 22 | + pulp_existing_repo_names: "{{ pulp_repository_container_existing_repos.repositories | map(attribute='name') | list }}" |
| 23 | + fast_loop_list: "{{ pulp_repository_container_repos | rejectattr('name', 'in', pulp_existing_repo_names) }}" |
| 24 | + loop_list: "{{ fast_loop_list if pulp_repository_fast_update else pulp_repository_container_repos }}" |
3 | 25 | pulp.squeezer.container_repository: |
4 | 26 | pulp_url: "{{ pulp_url }}" |
5 | 27 | username: "{{ pulp_username }}" |
6 | 28 | password: "{{ pulp_password }}" |
7 | 29 | validate_certs: "{{ pulp_validate_certs | bool }}" |
8 | | - name: "{{ pulp_repository_container_repos[repository_index].name }}" |
9 | | - state: "{{ pulp_repository_container_repos[repository_index].state }}" |
10 | | - loop: "{{ pulp_repository_container_repos | map(attribute='name') }}" |
| 30 | + name: "{{ loop_list[repository_index].name }}" |
| 31 | + state: "{{ loop_list[repository_index].state }}" |
| 32 | + loop: "{{ loop_list | map(attribute='name') }}" |
11 | 33 | loop_control: |
12 | 34 | index_var: repository_index |
| 35 | + when: > |
| 36 | + ((loop_list[repository_index].name in pulp_existing_repo_names) and (loop_list[repository_index].state == 'absent')) or |
| 37 | + ((loop_list[repository_index].name not in pulp_existing_repo_names) and (loop_list[repository_index].state == 'present')) |
13 | 38 | register: pulp_repository_container_repositories |
14 | 39 | until: "pulp_repository_container_repositories is not failed" |
15 | 40 | retries: "{{ pulp_repository_container_repositories_retries }}" |
16 | 41 | delay: 1 |
17 | 42 |
|
18 | 43 | - name: Setup container remotes |
| 44 | + vars: |
| 45 | + pulp_existing_remote_names: "{{ pulp_repository_container_existing_remotes.remotes | map(attribute='name') | map('regex_replace', '-remote$', '') | list }}" |
| 46 | + fast_loop_list: "{{ pulp_repository_container_repos | rejectattr('name', 'in', pulp_existing_remote_names) }}" |
| 47 | + loop_list: "{{ fast_loop_list if pulp_repository_fast_update | bool else pulp_repository_container_repos }}" |
19 | 48 | pulp.squeezer.container_remote: |
20 | 49 | pulp_url: "{{ pulp_url }}" |
21 | 50 | username: "{{ pulp_username }}" |
22 | 51 | password: "{{ pulp_password }}" |
23 | 52 | validate_certs: "{{ pulp_validate_certs | bool }}" |
24 | | - name: "{{ pulp_repository_container_repos[repository_index].name }}-remote" |
25 | | - ca_cert: "{{ pulp_repository_container_repos[repository_index].ca_cert | default(omit) }}" |
26 | | - client_cert: "{{ pulp_repository_container_repos[repository_index].client_cert | default(omit) }}" |
27 | | - client_key: "{{ pulp_repository_container_repos[repository_index].client_key | default(omit) }}" |
28 | | - download_concurrency: "{{ pulp_repository_container_repos[repository_index].download_concurrency | default(omit) }}" |
29 | | - exclude_tags: "{{ pulp_repository_container_repos[repository_index].exclude_tags | default(omit) }}" |
30 | | - include_tags: "{{ pulp_repository_container_repos[repository_index].include_tags | default(omit) }}" |
31 | | - policy: "{{ pulp_repository_container_repos[repository_index].policy | default(omit) }}" |
32 | | - proxy_url: "{{ pulp_repository_container_repos[repository_index].proxy_url | default(omit) }}" |
33 | | - proxy_username: "{{ pulp_repository_container_repos[repository_index].proxy_username | default(omit) }}" |
34 | | - proxy_password: "{{ pulp_repository_container_repos[repository_index].proxy_password | default(omit) }}" |
35 | | - remote_username: "{{ pulp_repository_container_repos[repository_index].remote_username | default(omit) }}" |
36 | | - remote_password: "{{ pulp_repository_container_repos[repository_index].remote_password | default(omit) }}" |
37 | | - tls_validation: "{{ pulp_repository_container_repos[repository_index].tls_validation | default(omit) }}" |
38 | | - upstream_name: "{{ pulp_repository_container_repos[repository_index].upstream_name | default(pulp_repository_container_repos[repository_index].name) }}" |
39 | | - url: "{{ pulp_repository_container_repos[repository_index].url | default(omit) }}" |
40 | | - state: "{{ pulp_repository_container_repos[repository_index].state }}" |
| 53 | + name: "{{ loop_list[repository_index].name }}-remote" |
| 54 | + ca_cert: "{{ loop_list[repository_index].ca_cert | default(omit) }}" |
| 55 | + client_cert: "{{ loop_list[repository_index].client_cert | default(omit) }}" |
| 56 | + client_key: "{{ loop_list[repository_index].client_key | default(omit) }}" |
| 57 | + download_concurrency: "{{ loop_list[repository_index].download_concurrency | default(omit) }}" |
| 58 | + exclude_tags: "{{ loop_list[repository_index].exclude_tags | default(omit) }}" |
| 59 | + include_tags: "{{ loop_list[repository_index].include_tags | default(omit) }}" |
| 60 | + policy: "{{ loop_list[repository_index].policy | default(omit) }}" |
| 61 | + proxy_url: "{{ loop_list[repository_index].proxy_url | default(omit) }}" |
| 62 | + proxy_username: "{{ loop_list[repository_index].proxy_username | default(omit) }}" |
| 63 | + proxy_password: "{{ loop_list[repository_index].proxy_password | default(omit) }}" |
| 64 | + remote_username: "{{ loop_list[repository_index].remote_username | default(omit) }}" |
| 65 | + remote_password: "{{ loop_list[repository_index].remote_password | default(omit) }}" |
| 66 | + tls_validation: "{{ loop_list[repository_index].tls_validation | default(omit) }}" |
| 67 | + upstream_name: "{{ loop_list[repository_index].upstream_name | default(loop_list[repository_index].name) }}" |
| 68 | + url: "{{ loop_list[repository_index].url | default(omit) }}" |
| 69 | + state: "{{ loop_list[repository_index].state }}" |
41 | 70 | when: > |
42 | | - pulp_repository_container_repos[repository_index].state == "absent" or |
43 | | - pulp_repository_container_repos[repository_index].url is defined |
44 | | - loop: "{{ pulp_repository_container_repos | map(attribute='name') }}" |
| 71 | + loop_list[repository_index].state == "absent" or |
| 72 | + loop_list[repository_index].url is defined |
| 73 | + loop: "{{ loop_list | map(attribute='name') }}" |
45 | 74 | loop_control: |
46 | 75 | index_var: repository_index |
47 | 76 | register: pulp_repository_container_remotes |
|
0 commit comments