Parameterize Ansible environment vars in Mistral Workflow
Add ansible_env_variables which a user may use to override any Ansible environment variable. This new parameter is then merged with the default env variables as set in ansible_extra_env_variables. Also adds DEFAULT_FORKS to the default env variables with a new default of 50. Ansible automatically limits the number of forks to the number of possible hosts at runtime so it is not necessary to compute the fork count. Change-Id: I5d69af146ca6ca8b3d5f78445cd1b47828daa955 Partial-Bug: 1738276
This commit is contained in:

committed by
Alex Schultz

parent
eb2389c354
commit
97185448b3
@@ -9,6 +9,7 @@ workflows:
|
|||||||
input:
|
input:
|
||||||
- ansible_playbook_verbosity: 0
|
- ansible_playbook_verbosity: 0
|
||||||
- ansible_skip_tags: 'package-install,with_pkg'
|
- ansible_skip_tags: 'package-install,with_pkg'
|
||||||
|
- ansible_env_variables: {}
|
||||||
- ansible_extra_env_variables:
|
- ansible_extra_env_variables:
|
||||||
ANSIBLE_CONFIG: /usr/share/ceph-ansible/ansible.cfg
|
ANSIBLE_CONFIG: /usr/share/ceph-ansible/ansible.cfg
|
||||||
ANSIBLE_ACTION_PLUGINS: /usr/share/ceph-ansible/plugins/actions/
|
ANSIBLE_ACTION_PLUGINS: /usr/share/ceph-ansible/plugins/actions/
|
||||||
@@ -18,6 +19,7 @@ workflows:
|
|||||||
ANSIBLE_LIBRARY: /usr/share/ceph-ansible/library/
|
ANSIBLE_LIBRARY: /usr/share/ceph-ansible/library/
|
||||||
ANSIBLE_SSH_RETRIES: '3'
|
ANSIBLE_SSH_RETRIES: '3'
|
||||||
ANSIBLE_HOST_KEY_CHECKING: 'False'
|
ANSIBLE_HOST_KEY_CHECKING: 'False'
|
||||||
|
DEFAULT_FORKS: '50'
|
||||||
- ceph_ansible_extra_vars: {}
|
- ceph_ansible_extra_vars: {}
|
||||||
- ceph_ansible_playbook: /usr/share/ceph-ansible/site-docker.yml.sample
|
- ceph_ansible_playbook: /usr/share/ceph-ansible/site-docker.yml.sample
|
||||||
- node_data_lookup: '{}'
|
- node_data_lookup: '{}'
|
||||||
@@ -54,10 +56,6 @@ workflows:
|
|||||||
merge_ip_lists:
|
merge_ip_lists:
|
||||||
publish:
|
publish:
|
||||||
ips_list: <% ($.mgr_ips + $.mon_ips + $.osd_ips + $.mds_ips + $.rgw_ips + $.nfs_ips + $.rbdmirror_ips + $.client_ips).toSet() %>
|
ips_list: <% ($.mgr_ips + $.mon_ips + $.osd_ips + $.mds_ips + $.rgw_ips + $.nfs_ips + $.rbdmirror_ips + $.client_ips).toSet() %>
|
||||||
on-success: set_fork_count
|
|
||||||
set_fork_count:
|
|
||||||
publish:
|
|
||||||
fork_count: <% min($.ips_list.count(), 100) %> # don't use >100 forks
|
|
||||||
on-success: make_fetch_directory
|
on-success: make_fetch_directory
|
||||||
make_fetch_directory:
|
make_fetch_directory:
|
||||||
action: tripleo.files.make_temp_dir
|
action: tripleo.files.make_temp_dir
|
||||||
@@ -143,10 +141,9 @@ workflows:
|
|||||||
become: true
|
become: true
|
||||||
become_user: root
|
become_user: root
|
||||||
verbosity: <% $.ansible_playbook_verbosity %>
|
verbosity: <% $.ansible_playbook_verbosity %>
|
||||||
forks: <% $.fork_count %>
|
|
||||||
ssh_private_key: <% $.private_key %>
|
ssh_private_key: <% $.private_key %>
|
||||||
skip_tags: <% $.ansible_skip_tags %>
|
skip_tags: <% $.ansible_skip_tags %>
|
||||||
extra_env_variables: <% $.ansible_extra_env_variables %>
|
extra_env_variables: <% $.ansible_extra_env_variables.mergeWith($.ansible_env_variables) %>
|
||||||
publish:
|
publish:
|
||||||
output: <% task().result %>
|
output: <% task().result %>
|
||||||
on-complete: purge_fetch_directory
|
on-complete: purge_fetch_directory
|
||||||
|
Reference in New Issue
Block a user