diff --git a/tripleo_common/actions/ansible.py b/tripleo_common/actions/ansible.py index d70604c16..1385149d4 100644 --- a/tripleo_common/actions/ansible.py +++ b/tripleo_common/actions/ansible.py @@ -187,6 +187,8 @@ class AnsiblePlaybookAction(base.TripleOAction): 'use_openstack_credentials', False) self.tags = self._kwargs_for_run.pop('tags', None) self.skip_tags = self._kwargs_for_run.pop('skip_tags', None) + self.config_download_args = self._kwargs_for_run.pop( + 'config_download_args', None) self.extra_env_variables = self._kwargs_for_run.pop( 'extra_env_variables', None) self.queue_name = self._kwargs_for_run.pop('queue_name', None) @@ -380,6 +382,9 @@ class AnsiblePlaybookAction(base.TripleOAction): if self.skip_tags: command.extend(['--skip-tags', self.skip_tags]) + if self.config_download_args: + command.extend(self.config_download_args) + if self.extra_env_variables: if not isinstance(self.extra_env_variables, dict): msg = "extra_env_variables must be a dict" diff --git a/tripleo_common/tests/actions/test_ansible.py b/tripleo_common/tests/actions/test_ansible.py index 0d7db5bf7..02bd6f6ec 100644 --- a/tripleo_common/tests/actions/test_ansible.py +++ b/tripleo_common/tests/actions/test_ansible.py @@ -54,7 +54,8 @@ class AnsiblePlaybookActionTest(base.TestCase): playbook=self.playbook, limit_hosts=self.limit_hosts, remote_user=self.remote_user, become=self.become, become_user=self.become_user, extra_vars=self.extra_vars, - verbosity=self.verbosity) + verbosity=self.verbosity, config_download_args=['--check', + '--diff']) ansible_config_path = os.path.join(action.work_dir, 'ansible.cfg') mock_write_cfg.return_value = ansible_config_path @@ -79,7 +80,7 @@ class AnsiblePlaybookActionTest(base.TestCase): ansible_playbook_cmd, '-v', pb, '--become', '--become-user', self.become_user, '--extra-vars', json.dumps(self.extra_vars), - env_variables=env, cwd=action.work_dir, + '--check', '--diff', env_variables=env, cwd=action.work_dir, log_errors=processutils.LogErrors.ALL) @mock.patch("tripleo_common.actions.ansible.write_default_ansible_cfg") diff --git a/workbooks/deployment.yaml b/workbooks/deployment.yaml index a08529852..f46586280 100644 --- a/workbooks/deployment.yaml +++ b/workbooks/deployment.yaml @@ -389,6 +389,7 @@ workflows: - playbook_name: deploy_steps_playbook.yaml - deployment_options: {} - skip_tags: "" + - config_download_args: [] tags: - tripleo-common-managed @@ -535,6 +536,7 @@ workflows: execution_id: <% execution().id %> limit_hosts: <% $.nodes and list(task(uuids_to_names).result.instance_info.display_name).join(',') or false %> skip_tags: <% $.skip_tags %> + config_download_args: <% $.config_download_args %> publish: log_path: <% task().result.get('log_path') %> deployment_status: DEPLOY_SUCCESS diff --git a/workbooks/package_update.yaml b/workbooks/package_update.yaml index b60e41d8f..764d50e61 100644 --- a/workbooks/package_update.yaml +++ b/workbooks/package_update.yaml @@ -139,6 +139,7 @@ workflows: - tags: '' - skip_tags: '' - extra_vars: '' + - config_download_args: [] tags: - tripleo-common-managed