From 09370b7a5173c33965ff8da9f752ec8f21896963 Mon Sep 17 00:00:00 2001 From: "Brad P. Crochet" Date: Wed, 13 Dec 2017 10:20:23 -0500 Subject: [PATCH] Add zuul jobs for mistral-tempest-plugin Also defines the devstack jobs for mistral and python-mistralclient. Change-Id: I7eaff91b3bc3b94ca97ffc7a1ace74c86117bd07 Depends-On: I4a3068cbe765a16f6ba4b0c3e38410929ca3a14c Needed-By: I10c06d3fb644c7e3026eac7a00660f0465fb0749 --- .zuul.yaml | 73 +++++++++++++++++++ .../engine/actions/v2/test_ssh_actions.py | 21 ++---- playbooks/tempest/pre.yaml | 10 +++ 3 files changed, 90 insertions(+), 14 deletions(-) create mode 100644 .zuul.yaml create mode 100644 playbooks/tempest/pre.yaml diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 0000000..3f59bc1 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,73 @@ +- job: + name: mistral-devstack-tempest-base + parent: devstack-tempest + pre-run: playbooks/tempest/pre.yaml + timeout: 9000 + required-projects: + - openstack-dev/devstack + - openstack-infra/devstack-gate + - openstack/heat + - openstack/mistral + - openstack/mistral-lib + - openstack/mistral-tempest-plugin + - openstack/python-mistralclient + - openstack/tempest + - openstack/zaqar + - openstack/python-zaqarclient + vars: + tox_envlist: all + tempest_test_regex: mistral + devstack_localrc: + TEMPEST_PLUGINS: "'{{ ansible_user_dir }}/src/git.openstack.org/openstack/mistral-tempest-plugin'" + SWIFT_HASH: secrethash + MYSQL_ROOT_PW: secretdatabase + MISTRAL_USE_MOD_WSGI: True + MISTRAL_RPC_IMPLEMENTATION: oslo + devstack_services: + heat: True + h-api: True + h-api-cfn: True + h-api-cw: True + h-eng: True + s-proxy: True + s-object: True + s-container: True + s-account: True + tempest: True + devstack_plugins: + mistral: https://git.openstack.org/openstack/mistral + heat: https://git.openstack.org/openstack/heat + zaqar: https://git.openstack.org/openstack/zaqar + +- job: + name: mistral-devstack + parent: mistral-devstack-tempest-base + +- job: + name: mistral-devstack-kombu + parent: mistral-devstack-tempest-base + vars: + devstack_localrc: + MISTRAL_RPC_IMPLEMENTATION: kombu + +- job: + name: mistral-devstack-non-apache + parent: mistral-devstack-tempest-base + vars: + devstack_localrc: + MISTRAL_USE_MOD_WSGI: False + +- project: + name: openstack/mistral-tempest-plugin + check: + jobs: + - mistral-devstack + - mistral-devstack-non-apache: + branches: ^(?!stable/(newton|ocata)).*$ + - mistral-devstack-kombu: + branches: ^(?!stable/newton).*$ + gate: + jobs: + - mistral-devstack + - mistral-devstack-non-apache + - mistral-devstack-kombu diff --git a/mistral_tempest_tests/tests/scenario/engine/actions/v2/test_ssh_actions.py b/mistral_tempest_tests/tests/scenario/engine/actions/v2/test_ssh_actions.py index b83f4a7..a4c038e 100644 --- a/mistral_tempest_tests/tests/scenario/engine/actions/v2/test_ssh_actions.py +++ b/mistral_tempest_tests/tests/scenario/engine/actions/v2/test_ssh_actions.py @@ -157,24 +157,17 @@ class SSHActionsTestsV2(base.TestCaseAdvanced): self.private_key, self.public_key = utils.generate_key_pair() self.key_name = 'mistral-functional-tests-key' - # If ZUUL_PROJECT is specified, it means - # tests are running on Jenkins gate. + self.key_dir = SSH_KEYS_DIRECTORY - if os.environ.get('ZUUL_PROJECT'): - self.key_dir = "/opt/stack/new/.ssh/" - - if not path.exists(self.key_dir): - os.mkdir(self.key_dir) - else: - self.key_dir = SSH_KEYS_DIRECTORY + self.key_path = self.key_dir + self.key_name utils.save_text_to( self.private_key, - self.key_dir + self.key_name, + self.key_path, overwrite=True ) - LOG.info("Private key saved to %s", self.key_dir + self.key_name) + LOG.info("Private key saved to %s", self.key_path) # Create keypair in nova. self.mgr.keypairs_client.create_keypair( @@ -233,7 +226,7 @@ class SSHActionsTestsV2(base.TestCaseAdvanced): mgr.compute_security_group_rules_client.delete_security_group_rule( self.ssh_rule_id ) - os.remove(self.key_dir + self.key_name) + os.remove(self.key_path) super(SSHActionsTestsV2, self).tearDown() @@ -244,7 +237,7 @@ class SSHActionsTestsV2(base.TestCaseAdvanced): 'cmd': 'hostname', 'host': self.public_vm_ip, 'username': CONF.validation.image_ssh_user, - 'private_key_filename': self.key_name + 'private_key_filename': self.key_path } resp, body = self.client.create_action_execution( @@ -270,7 +263,7 @@ class SSHActionsTestsV2(base.TestCaseAdvanced): 'cmd': 'hostname', 'host': guest_vm_ip, 'username': CONF.validation.image_ssh_user, - 'private_key_filename': self.key_name, + 'private_key_filename': self.key_path, 'gateway_host': self.public_vm_ip, 'gateway_username': CONF.validation.image_ssh_user } diff --git a/playbooks/tempest/pre.yaml b/playbooks/tempest/pre.yaml new file mode 100644 index 0000000..521d4d3 --- /dev/null +++ b/playbooks/tempest/pre.yaml @@ -0,0 +1,10 @@ +- hosts: tempest + tasks: + - name: Create .ssh dir and make it available to stack and tempest user + file: + path: /home/tempest/.ssh + state: directory + mode: u=rwx,g=rwx,o=rx,g+s + owner: tempest + group: stack + become: yes