From 4df51373ee6d6412f9d0b257263e30a34c0e1d16 Mon Sep 17 00:00:00 2001 From: Alex Schultz Date: Tue, 4 Feb 2020 17:03:37 -0700 Subject: [PATCH] Fix tripleo_config_generate_ansible Fix the cli params and cover with molecule tests. Change-Id: If396fad27c5ca7668b1741695bd4968997ee5017 --- .../defaults/main.yml | 1 + .../molecule/default/molecule.yml | 22 +++++++++ .../molecule/default/playbook.yml | 45 +++++++++++++++++++ .../molecule/default/prepare.yml | 8 ++++ .../tasks/main.yml | 24 ++++++---- zuul.d/molecule.yaml | 21 ++++++--- 6 files changed, 108 insertions(+), 13 deletions(-) create mode 100644 roles/tripleo_config_generate_ansible/molecule/default/molecule.yml create mode 100644 roles/tripleo_config_generate_ansible/molecule/default/playbook.yml create mode 100644 roles/tripleo_config_generate_ansible/molecule/default/prepare.yml diff --git a/roles/tripleo_config_generate_ansible/defaults/main.yml b/roles/tripleo_config_generate_ansible/defaults/main.yml index 1aa111e..5461611 100644 --- a/roles/tripleo_config_generate_ansible/defaults/main.yml +++ b/roles/tripleo_config_generate_ansible/defaults/main.yml @@ -1,5 +1,6 @@ --- # defaults file for tripleo_config_generate_ansible +openstack_bin: openstack tripleo_config_generate_ansible_debug: false tripleo_config_generate_ansible_deployment_user: "{{ ansible_user }}" tripleo_config_generate_ansible_os_cloud: "{{ tripleo_os_cloud | default('') }}" diff --git a/roles/tripleo_config_generate_ansible/molecule/default/molecule.yml b/roles/tripleo_config_generate_ansible/molecule/default/molecule.yml new file mode 100644 index 0000000..e9ae0b7 --- /dev/null +++ b/roles/tripleo_config_generate_ansible/molecule/default/molecule.yml @@ -0,0 +1,22 @@ +--- +driver: + name: delegated + options: + managed: false + ansible_connection_options: + ansible_connection: local +log: true +lint: + name: yamllint + enabled: false +platforms: + - name: instance +provisioner: + name: ansible +scenario: + name: default + test_sequence: + - prepare + - syntax + - converge + - verify diff --git a/roles/tripleo_config_generate_ansible/molecule/default/playbook.yml b/roles/tripleo_config_generate_ansible/molecule/default/playbook.yml new file mode 100644 index 0000000..32890aa --- /dev/null +++ b/roles/tripleo_config_generate_ansible/molecule/default/playbook.yml @@ -0,0 +1,45 @@ +--- +- name: Converge + hosts: all + collections: + - tripleo.operator + vars: + openstack_bin: echo + tripleo_os_cloud: undercloud + tripleo_config_generate_ansible_debug: true + tripleo_config_generate_ansible_deployment_user: + tripleo_config_generate_ansible_output_dir: + tasks: + + - name: "Include tripleo_config_generate_ansible" + include_role: + name: "tripleo_config_generate_ansible" + + - name: Check role + assert: + that: + - tripleo_config_generate_ansible_result.stdout == "tripleo config generate ansible" + + - name: Check parameter "tripleo_config_generate_ansible_deployment_user" + include_role: + name: "tripleo_config_generate_ansible" + vars: + tripleo_config_generate_ansible_deployment_user: foo + + - name: Assert "tripleo_config_generate_ansible_deployment_user" + assert: + that: + - tripleo_config_generate_ansible_result.stdout == + "tripleo config generate ansible --deployment-user foo" + + - name: Check parameter "tripleo_config_generate_ansible_output_dir" + include_role: + name: "tripleo_config_generate_ansible" + vars: + tripleo_config_generate_ansible_output_dir: /foo + + - name: Assert "tripleo_config_generate_ansible_output_dir" + assert: + that: + - tripleo_config_generate_ansible_result.stdout == + "tripleo config generate ansible --output-dir /foo" diff --git a/roles/tripleo_config_generate_ansible/molecule/default/prepare.yml b/roles/tripleo_config_generate_ansible/molecule/default/prepare.yml new file mode 100644 index 0000000..63bb6ab --- /dev/null +++ b/roles/tripleo_config_generate_ansible/molecule/default/prepare.yml @@ -0,0 +1,8 @@ +--- +- name: Prepare + hosts: all + tasks: + + - name: Include molecule prep + include_role: + name: test_molecule_prep diff --git a/roles/tripleo_config_generate_ansible/tasks/main.yml b/roles/tripleo_config_generate_ansible/tasks/main.yml index c79ec73..193bf19 100644 --- a/roles/tripleo_config_generate_ansible/tasks/main.yml +++ b/roles/tripleo_config_generate_ansible/tasks/main.yml @@ -3,20 +3,28 @@ set_fact: _generate_cmd: >- {{ tripleo_config_generate_ansible_os_cloud | ternary('', "source " ~ tripleo_config_generate_ansible_rc_file ~ "; ") }} - openstack tripleo config generate ansible - {{ tripleo_config_generate_ansible_deployment_user | ternary("--deployment_user " ~ tripleo_config_generate_ansible_deployment_user, '') }} - {{ tripleo_config_generate_ansible_output_dir | ternary("--output-dir " ~ tripleo_config_generate_ansible_output_dir, '') }} + {{ openstack_bin }} tripleo config generate ansible + {{ tripleo_config_generate_ansible_deployment_user | ternary("--deployment-user $GENERATE_DEPLOYMENT_USER", '') }} + {{ tripleo_config_generate_ansible_output_dir | ternary("--output-dir $GENERATE_OUTPUT_DIR", '') }} + _generate_env: + GENERATE_DEPLOYMENT_USER: "{{ tripleo_config_generate_ansible_deployment_user }}" + GENERATE_OUTPUT_DIR: "{{ tripleo_config_generate_ansible_output_dir }}" + OS_CLOUD: "{{ tripleo_config_generate_ansible_os_cloud }}" -- name: Show the config generate ansible command - debug: - var: _generate_cmd +- name: Show debug information when: tripleo_config_generate_ansible_debug|bool + block: + - name: Show the config generate ansible command + debug: + var: _generate_cmd + - name: Show the config generate ansible environment + debug: + var: _generate_env - name: tripleo config generate ansible shell: "{{ _generate_cmd }}" # noqa 305 args: warn: false - environment: - OS_CLOUD: "{{ tripleo_config_generate_ansible_os_cloud }}" + environment: "{{ _generate_env }}" register: tripleo_config_generate_ansible_result changed_when: true diff --git a/zuul.d/molecule.yaml b/zuul.d/molecule.yaml index b9466d1..4c94556 100644 --- a/zuul.d/molecule.yaml +++ b/zuul.d/molecule.yaml @@ -3,6 +3,7 @@ check: jobs: - tripleo-operator-molecule-test_molecule_prep + - tripleo-operator-molecule-tripleo_config_generate_ansible - tripleo-operator-molecule-tripleo_container_image_delete - tripleo-operator-molecule-tripleo_container_image_list - tripleo-operator-molecule-tripleo_container_image_prepare @@ -23,6 +24,7 @@ gate: jobs: - tripleo-operator-molecule-test_molecule_prep + - tripleo-operator-molecule-tripleo_config_generate_ansible - tripleo-operator-molecule-tripleo_container_image_delete - tripleo-operator-molecule-tripleo_container_image_list - tripleo-operator-molecule-tripleo_container_image_prepare @@ -41,6 +43,13 @@ - tripleo-operator-molecule-tripleo_undercloud_minion_upgrade - tripleo-operator-molecule-tripleo_undercloud_upgrade +- job: + name: tripleo-operator-molecule-base + abstract: true + parent: openstack-tox-molecule + success-url: "reports.html" + failure-url: "reports.html" + - job: files: - ^roles/test_molecule_prep/.* @@ -51,11 +60,13 @@ tox_extra_args: test_molecule_prep - job: - name: tripleo-operator-molecule-base - abstract: true - parent: openstack-tox-molecule - success-url: "reports.html" - failure-url: "reports.html" + files: + - ^roles/tripleo_config_generate_ansible/.* + - ^plugins/.* + name: tripleo-operator-molecule-tripleo_config_generate_ansible + parent: tripleo-operator-molecule-base + vars: + tox_extra_args: tripleo_config_generate_ansible - job: files: