Use --non-admin for non admin users in zuul jobs

python-tempestconf-tempest-packstack/devstack-demo zuul job
uses generate-tempestconf-file role to generate tempest.conf.
Since demo is a non-admin user with non-admin user we cannot use
--create option but it was used since it is a bug, so we need to
check for admin/demo user then enable the proper option.

Used Jinja templates for creating tempest configuration script

Create test-demo-user role which prepares resources for a demo
user.
Create generate-accounts-file role, which generates accounts.yaml
file for Tempest needed for running tests as user who doesn't
have persmissions to create resources.

Change-Id: I727a6cfd154cb3f95c33da02440f25ae1765153f
Story: #2001695
Co-Authored-By: Martin Kopec <mkopec@redhat.com>
This commit is contained in:
Chandan Kumar
2018-03-20 15:00:12 +05:30
committed by Martin Kopec
parent 73cbf531f5
commit 34f030b5a2
13 changed files with 350 additions and 36 deletions

View File

@@ -1,4 +1,6 @@
- hosts: all
vars:
test_demo_user: "{{ test_demo is defined }}"
tasks:
# packstack-integration-tempest role is inherited from
# openstack/packstack project
@@ -36,11 +38,30 @@
vars:
cloudname: "packstack-admin"
source_credentials_commands: "source {{ ansible_user_dir }}/keystonerc_admin"
- name: Generate configuration file for python-tempestconf
- name: Generate configuration file for Tempest
include_role:
name: generate-tempestconf-file
vars:
source_credentials_commands: "source {{ ansible_user_dir }}/keystonerc_{{ user }}"
# Let's create tempest.conf with admin permissions needed for
# tempest accounts file generation
- name: Generate configuration file for Tempest as admin
include_role:
name: generate-tempestconf-file
vars:
output_path: "/etc/openstack/tempest_admin.conf"
source_credentials_commands: "source {{ ansible_user_dir }}/keystonerc_admin"
test_demo_user: False
user: admin
when: test_demo is defined
- name: Generate accounts file for Tempest
include_role:
name: generate-accounts-file
vars:
accounts_file_destination: "/etc/openstack"
source_credentials_commands: "source {{ ansible_user_dir }}/keystonerc_admin"
tempest_config_file: "/etc/openstack/tempest_admin.conf"
when: test_demo is defined
# run-tempest role is inherited from openstack/tempest project
- name: Run Tempest Tests
include_role: