Fix tripleo_config_generate_ansible

Fix the cli params and cover with molecule tests.

Change-Id: If396fad27c5ca7668b1741695bd4968997ee5017
This commit is contained in:
Alex Schultz 2020-02-04 17:03:37 -07:00
parent 8bf5e779a5
commit 4df51373ee
6 changed files with 108 additions and 13 deletions

View File

@ -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('') }}"

View File

@ -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

View File

@ -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"

View File

@ -0,0 +1,8 @@
---
- name: Prepare
hosts: all
tasks:
- name: Include molecule prep
include_role:
name: test_molecule_prep

View File

@ -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

View File

@ -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: