File ardana-tempest-8.0+git.1585311051.6ab5488.obscpio of Package ardana-tempest

07070100000000000081A40000000000000000000000015E7DED4B00000006000000000000000000000000000000000000003500000000ardana-tempest-8.0+git.1585311051.6ab5488/.gitignore*.swp
07070100000001000081A40000000000000000000000015E7DED4B00000083000000000000000000000000000000000000003500000000ardana-tempest-8.0+git.1585311051.6ab5488/.gitreview[gerrit]
host=gerrit.suse.provo.cloud
port=29418
project=ardana/tempest-ansible.git
defaultremote=ardana
defaultbranch=stable/pike
07070100000002000081A40000000000000000000000015E7DED4B0000000C000000000000000000000000000000000000003800000000ardana-tempest-8.0+git.1585311051.6ab5488/.rsync-filter- ardana-ci
07070100000003000081A40000000000000000000000015E7DED4B0000279F000000000000000000000000000000000000003200000000ardana-tempest-8.0+git.1585311051.6ab5488/LICENSE
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

07070100000004000081A40000000000000000000000015E7DED4B00000CE7000000000000000000000000000000000000003400000000ardana-tempest-8.0+git.1585311051.6ab5488/README.md
(c) Copyright 2015 Hewlett Packard Enterprise Development LP
(c) Copyright 2017 SUSE LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.


README
======

This repo holds ansible playbooks to deploy, configure and run tempest
within Ardana OpenStack.

Tempest is deployed within its own virtualenv in the deployer VM, and it
can be run from there at any time, by standing up the deployer.

The tempest tests embedded in Ardana Openstack serve multiple purposes:

- running tempest as part of our CI
- running targeted tests as part of the developer workflow
- professional services and customers to run tests to validate their cloud,
  after install or update
  
There are several tasks associated with tests:
  
- install: deploy tempest and run-time dependencies on the target
- test-environment: read cloud status before tests. This can be used to:
    - discover resources that can be used for testing
    - mark resources that should not be clean-ed up after the test run
    - collect details about the system under test, such as the version number,
      the number of nodes, important configuration flags, etc
- test-resources: provision any test resource which is required prior to the
  execution of the tests. This may include test accounts, images, flavours,
  networks, etc. 
- configure: 
    - create folders for test data and results
    - setup OS users to run the tests
    - create test configuration files
    - prepare tests so that all relevant logs and results will end up on a
      dedicated folder - which is useful for CI to archive logs and results
    - verify the configuration
- run: run the tests, generate test results
- cleanup: restore - as much as possible - the status of the cloud before the
  test run. This step can probably be skipped in CI, but it's useful when
  running the tests against a longer-life test system or a production deployment

Much of the structure of these repos is imposed by Ansible.  For further
information on Ansible see <http://www.ansible.com/home> and in particular
the documentation at <http://docs.ansible.com/>.  At a high-level, the
structure is as follows:


```
└── tempest-ansible
    ├── filter_plugins
    ├── library
    ├── tempest-run.yml
    ├── tempest-deploy.yml
    └── roles
        ├── tempest
        │   ├── defaults
        │   ├── files
        │   ├── handlers
        │   ├── meta
        │   ├── tasks
        │   │   ├── configure.yml
        │   │   ├── install.yml
        │   │   ├── test-resources.yml
        │   │   ├── run.yml
        │   │   └── cleanup.yml
        │   ├── templates
        │   └── vars
        │       └── main.yml
07070100000005000081A40000000000000000000000015E7DED4B00000487000000000000000000000000000000000000004400000000ardana-tempest-8.0+git.1585311051.6ab5488/_tempest-parallel-run.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
# Set-up tempest resource phoney test nodes for parallel config run.
- hosts: TPS-TST
  roles:
    - tempest
  tasks:
    - include: roles/tempest/tasks/add-hosts-to-inventory.yml
      vars:
        tempest_test_axis: all

# Run the tests on phoney setup nodes.
- hosts: tempest_*
  gather_facts: no
  roles:
    - ses_common
    - tempest
  tasks:
    - include: roles/ses_common/tasks/_include_setup.yml
    - include: roles/tempest/tasks/{{ tempest_task }}
    - include: roles/tempest/tasks/config-assemble.yml
07070100000006000041ED0000000000000000000000045E7DED4B00000000000000000000000000000000000000000000003400000000ardana-tempest-8.0+git.1585311051.6ab5488/ardana-ci07070100000007000041ED0000000000000000000000035E7DED4B00000000000000000000000000000000000000000000003C00000000ardana-tempest-8.0+git.1585311051.6ab5488/ardana-ci/project07070100000008000041ED0000000000000000000000035E7DED4B00000000000000000000000000000000000000000000004800000000ardana-tempest-8.0+git.1585311051.6ab5488/ardana-ci/project/input-model07070100000009000041ED0000000000000000000000025E7DED4B00000000000000000000000000000000000000000000004D00000000ardana-tempest-8.0+git.1585311051.6ab5488/ardana-ci/project/input-model/data0707010000000A000081A40000000000000000000000015E7DED4B000004EF000000000000000000000000000000000000005F00000000ardana-tempest-8.0+git.1585311051.6ab5488/ardana-ci/project/input-model/data/control_plane.yml#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
  product:
    version: 2

  control-planes:
    - name: ccp
      control-plane-prefix: ccp
      region-name: region1
      failure-zones:
        - AZ1
        - AZ2
        - AZ3

      common-service-components:
        - lifecycle-manager-target

      clusters:
        - name: cluster0
          cluster-prefix: c0
          server-role:
            - SERVER1-ROLE
          member-count: 1
          allocation-policy: strict
          service-components:
            - lifecycle-manager

            - mysql
            - rabbitmq
            - keystone-api
            - ip-cluster
            - tempest
0707010000000B000081A40000000000000000000000015E7DED4B000003FB000000000000000000000000000000000000005900000000ardana-tempest-8.0+git.1585311051.6ab5488/ardana-ci/project/input-model/data/servers.yml#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
  product:
    version: 2

  baremetal:
    netmask: 255.255.255.0
    subnet: 192.168.110.0
    server-interface: eth2

  servers:

    - id: server1
      ip-addr: 192.168.110.3
      role: SERVER1-ROLE
      server-group: RACK1
      mac-addr: a4:93:0c:4f:7c:73
      nic-mapping: VAGRANT
      ilo-ip: 192.168.109.3
      ilo-password: password
      ilo-user: admin
0707010000000C000041ED0000000000000000000000025E7DED4B00000000000000000000000000000000000000000000003A00000000ardana-tempest-8.0+git.1585311051.6ab5488/ardana-ci/tests0707010000000D000081A40000000000000000000000015E7DED4B000002C9000000000000000000000000000000000000004900000000ardana-tempest-8.0+git.1585311051.6ab5488/ardana-ci/tests/test-plan.yaml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

- name: Run tempest
  tempest:
    - "+tempest.api.identity.v3"
0707010000000E000041ED0000000000000000000000035E7DED4B00000000000000000000000000000000000000000000003000000000ardana-tempest-8.0+git.1585311051.6ab5488/roles0707010000000F000041ED0000000000000000000000085E7DED4B00000000000000000000000000000000000000000000003800000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest07070100000010000041ED0000000000000000000000025E7DED4B00000000000000000000000000000000000000000000004100000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/defaults07070100000011000081A40000000000000000000000015E7DED4B0000406D000000000000000000000000000000000000004A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/defaults/main.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

tempest_test_axis: region

tempest_auth_url: "{{ TPS_TST.consumes_KEY_API.vips.private[0].url }}"

tempest_keystone:
  admin_user: "{{ KEY_API.vars.keystone_admin_user }}"
  admin_project: "{{ KEY_API.vars.keystone_admin_tenant }}"
  admin_pwd: "{{ KEY_API.vars.keystone_admin_pwd }}"

  demo_user: "{{ KEY_API.vars.keystone_demo_user }}"
  demo_project: "{{ KEY_API.vars.keystone_demo_tenant }}"
  demo_pwd: "{{ KEY_API.vars.keystone_demo_pwd }}"

  member_role: "{{ KEY_API.vars.keystone_member_role }}"

tempest_nova:
  ses_enabled: "{{ ses_config_path is defined and ses_nova_set_images_type }}"

tempest_cinder:
  ses_enabled: "{{ ses_cinder_user_name is defined }}"

tempest_swift:
  ses_enabled: "{{ ses_radosgw_url is defined }}"

tempest_manila:
  ses_enabled: "{{ ses_config_path is defined }}"

magnum_image_url: "{{ local_image_mirror_url|default('https://download.fedoraproject.org/pub/alt/atomic/stable/Fedora-Atomic-26-20170723.0/CloudImages/x86_64/images') }}/Fedora-Atomic-26-20170723.0.x86_64.qcow2"

tempest_magnum:
  image_name: magnum-service-image
  nic_id: "{{ tempest_network_name }}"
  flavor_id: m1.small
  master_flavor_id: m1.small
  image_url: "{{ magnum_image_url }}"

tempest_heat:
  boot_config_template_path: "/usr/lib/python2.7/site-packages/heat_integrationtests/scenario/templates/boot_config_none_env.yaml"

# The tempest_install_dir is where the configuration files are deployed,
# e.g. .testr.conf, etc/tempest.conf
tempest_install_dir: "{% if deployer_media_legacy_layout|bool -%}
                          {{ 'tempest' | venv_dir }}
                      {%- else -%}
                          /usr/
                      {%- endif -%}"
tempest_bin_dir: "{% if deployer_media_legacy_layout|bool -%}
                      {{ 'tempest' | bin_dir }}
                  {%- else -%}
                      /usr/bin
                  {%- endif -%}"

# Internal tempest directories to be used.
tempest_site_dir:  "{% if deployer_media_legacy_layout|bool -%}
                        {{ tempest_install_dir }}/lib/python2.7/site-packages
                    {%- else -%}
                        /var/lib/openstack-tempest-test
                    {%- endif -%}"

_tempest_home_dir: "/opt/stack/tempest"
tempest_run:
  dir: "{{ _tempest_home_dir }}"
  bin_dir: "{{ _tempest_home_dir }}/bin"
  conf_dir: "{{ _tempest_home_dir }}/configs"
  log_dir: "{{ _tempest_home_dir }}/logs"
  resource_dir: "{{ _tempest_home_dir }}/resource"
  run_filters: "{{ _tempest_home_dir }}/run_filters"

tempest_user: tempest
tempest_group: tempest

# HTTP  timeout to wait for tested API to respond
tempest_http_timeout: 120

# The default run concurrency is determined by the number of the CPU cores on
# the test driver
run_concurrency: 0

# This is the file that includes the regex to filter the tests to be executed
run_filter: smoke

# tempest tests timeout in seconds
tempest_timeout_secs: 32400
tempest_poll_secs: 60

# Timeout in seconds to wait for a single test case to complete
tempest_test_timeout: "{{ (tempest_available.ironic | bool) | ternary(4500, 900) }}"

# Timeout in seconds to wait for an image to become available
image_build_timeout: 600

# Timeout to wait for an instance to build
compute_build_timeout: 600

# Timeout to wait for a network operation to complete
network_build_timeout: 600

# Timeout in seconds to wait for a volume to become available
volume_build_timeout: 600

# DNS / Designate Variables
dns_build_timeout: 120

# Timeout (in seconds) to wait for the ssh banner
ssh_timeout: 600

# Timeout in seconds to wait for ping to succeed
ping_timeout: 240

# Timeout in seconds to wait for the TCP connection to be successful
connect_timeout: 120


# Services to test using tempest by region or control_plane.
tempest_testable:
  keystone: "{{ tempest_worker.services.keystone | default(false) }}"
  cinder: "{{ tempest_worker.services.cinder | default(false) }}"
  neutron: "{{ tempest_worker.services.neutron | default(false) }}"
  glance: "{{ tempest_worker.services.glance | default(false) }}"
  swift: "{{ tempest_worker.services.swift | default(false) }}"
  nova: "{{ tempest_worker.services.nova | default(false) }}"
  heat: "{{ tempest_worker.services.heat | default(false) }}"
  ceilometer: "{{ tempest_worker.services.ceilometer | default(false) }}"
  horizon: "{{ tempest_worker.services.horizon | default(false) }}"
  sahara: false
  ironic: "{{ tempest_worker.services.ironic | default(false) }}"
  trove: false
  zaqar: false
  designate: "{{ tempest_worker.services.designate | default(false) }}"
  monasca: "{{ tempest_worker.services.monasca | default(false) }}"
  barbican: "{{ tempest_worker.services.barbican | default(false) }}"
  magnum: "{{ tempest_worker.services.magnum | default(false) }}"
  manila: "{{ tempest_worker.services.manila | default(false) }}"
  freezer: "{{ tempest_worker.services.freezer | default(false) }}"

# Services we required for testing as are available in the region.
tempest_available:
  cinder: "{{ tempest_worker.services_by_region.cinder | default(false) }}"
  neutron: "{{ ( tempest_worker.services_by_region.neutron | default(false) )
    and not (tempest_worker.services_by_region.ironic | default(false) and
    cp_tempest_data[tempest_worker.region_name].flat_networks is not defined ) }}"
  glance: "{{ tempest_worker.services_by_region.glance | default(false) }}"
  swift: "{{ tempest_worker.services_by_region.swift | default(false)
    and not (tempest_swift.ses_enabled|bool) }}"
  nova: "{{ tempest_worker.services_by_region.nova | default(false) }}"
  heat: "{{ tempest_worker.services_by_region.heat | default(false) }}"
  ceilometer: "{{ tempest_worker.services_by_region.ceilometer | default(false) }}"
  horizon: "{{ tempest_worker.services_by_region.horizon | default(false) }}"
  sahara: false
  ironic: "{{ tempest_worker.services_by_region.ironic | default(false) }}"
  trove: false
  zaqar: false
  designate: "{{ tempest_worker.services_by_region.designate | default(false) }}"
  monasca: "{{ tempest_worker.services_by_region.monasca | default(false) }}"
  barbican: "{{ tempest_worker.services_by_region.barbican | default(false) }}"
  magnum: "{{ tempest_worker.services_by_region.magnum | default(false) }}"
  manila: "{{ tempest_worker.services_by_region.manila | default(false) }}"
  freezer: "{{ tempest_worker.services_by_region.freezer | default(false) }}"

# Defaults for test resources
username: ardana_tempest
password: ardana

# Guest OS image to use and related ssh user name
glance_image_name: cirros
glance_image_ssh_user: cirros

# Nova flavor to use
flavor_ref: 1
flavor_ref_alt: 2

tempest_roles : "glance_admin, cinder_admin, _member_{{ ', Member' if (tempest_available.swift | bool) else '' }}{{ ', key-manager:admin' if (tempest_available.barbican | bool) else '' }}"

tempest_network_name: >
  {%- if (tempest_available.neutron | bool) -%}
    {%- if (cp_tempest_data[tempest_worker.region_name].external_networks is defined) -%}
      {{ cp_tempest_data[tempest_worker.region_name].external_networks | first }}
    {%- elif (cp_tempest_data[tempest_worker.region_name].flat_networks is defined) -%}
      {{ cp_tempest_data[tempest_worker.region_name].flat_networks | first }}
    {%- elif (tempest_available.ironic | bool) -%}
      flat-net
    {%- else -%}
      ext-net
    {%- endif -%}
  {%- endif -%}

# TLS switches (true/false)
enable_external_tls: "false"
enable_internal_tls: "true"

# TLS certificate file.
cacert: "{{ trusted_ca_bundle }}"

# Service public URL to use.
tempest_publicURL_data:
  keystone: >
    {{ cp_tempest_data[tempest_worker.region_name].public_endpoints.keystone }}
  horizon: >
    {%- if (tempest_available.horizon | bool) -%}
      {{ cp_tempest_data[tempest_worker.region_name].public_endpoints.horizon }}
    {%- endif -%}

# Tempest options without TLS
tempest_tls:
  # Common config when disabled or internal but not external
  common:
    - { enabled: "{{ tempest_available.ironic }}",
        section: "baremetal", option: "endpoint_type", value: "internalURL" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "endpoint_type", value: "internalURL" }
    - { enabled: "{{ tempest_available.sahara }}",
        section: "data_processing", option: "endpoint_type", value: "internalURL" }
    - { enabled: "{{ tempest_available.designate }}",
        section: "dns", option: "endpoint_type", value: "internalURL" }
    - { enabled: true,
        section: "identity", option: "ca_certificates_file", value: "{{ cacert }}" }
    - { enabled: true,
        section: "identity", option: "uri_v3", value: "{{ TPS_TST.consumes_KEY_API.vips.private[0].url }}/v3" }
    - { enabled: "{{ tempest_available.glance }}",
        section: "image", option: "endpoint_type", value: "internalURL" }
    - { enabled: "{{ tempest_available.neutron }}",
        section: "network", option: "endpoint_type", value: "internalURL" }
    - { enabled: "{{ tempest_available.swift }}",
        section: "object-storage", option: "endpoint_type", value: "internalURL" }
    - { enabled: "{{ tempest_available.ceilometer }}",
        section: "telemetry", option: "endpoint_type", value: "internalURL" }
    - { enabled: "{{ tempest_available.cinder }}",
        section: "volume", option: "endpoint_type", value: "internalURL" }
    - { enabled: "{{ tempest_available.heat }}",
        section: "heat_plugin", option: "auth_url", value: "{{ TPS_TST.consumes_KEY_API.vips.private[0].url }}/v3" }
    # NOTE(colleen) Not functional until https://review.openstack.org/#/c/530460/ is merged
    - { enabled: "{{ tempest_available.heat }}",
        section: "heat_plugin", option: "endpoint_type", value: "internal" }

  disabled:
    - { enabled: "{{ tempest_available.horizon }}",
        section: "dashboard", option: "dashboard_url", value: "{{ TPS_TST.consumes_HZN_WEB.vips.private[0].url }}" }
    - { enabled: "{{ tempest_available.horizon }}",
        section: "dashboard", option: "login_url", value: "{{ TPS_TST.consumes_HZN_WEB.vips.private[0].url }}/auth/login" }
    - { enabled: true,
        section: "identity", option: "disable_ssl_certificate_validation", value: "true" }

  # Tempest options with internal TLS enabled
  internal_enabled:
    - { enabled: "{{ tempest_available.horizon }}",
        section: "dashboard", option: "dashboard_url", value: "{{ TPS_TST.consumes_HZN_WEB.vips.private[0].url }}" }
    - { enabled: "{{ tempest_available.horizon }}",
        section: "dashboard", option: "login_url", value: "{{ TPS_TST.consumes_HZN_WEB.vips.private[0].url }}/auth/login" }
    - { enabled: true,
        section: "identity", option: "disable_ssl_certificate_validation", value: "false" }

  # Tempest options with external TLS enabled
  external_enabled:
    - { enabled: "{{ tempest_available.horizon }}",
        section: "dashboard", option: "dashboard_url", value: "{{ tempest_publicURL_data.horizon }}" }
    - { enabled: "{{ tempest_available.horizon }}",
        section: "dashboard", option: "login_url", value: "{{ tempest_publicURL_data.horizon }}/auth/login" }
    - { enabled: true,
        section: "identity", option: "disable_ssl_certificate_validation", value: "false" }
    - { enabled: true,
        section: "identity", option: "ca_certificates_file", value: "{{ cacert }}" }
    - { enabled: true,
        section: "identity", option: "uri_v3", value: "{{ tempest_publicURL_data.keystone }}/v3" }
    - { enabled: "{{ tempest_available.heat }}",
        section: "heat_plugin", option: "auth_url", value: "{{ tempest_publicURL_data.keystone }}/v3" }

tempest_ironic:
  ssh_user: "root"
  flavor: "m1.baremetal"

tempest_ironic_cloud_options:
    - { enabled: "{{ tempest_available.neutron }}",
        section: "network", option: "tenant_network_cidr", value: "192.168.245.0/24" }
    - { enabled: "{{ tempest_available.neutron }}",
        section: "network", option: "tenant_networks_reachable", value: "True" }
    - { enabled: "{{ tempest_available.neutron }}",
        section: "network", option: "shared_physical_network", value: "True" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "flavor_ref", value: "6" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "flavor_ref_alt", value: "6" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "ssh_connect_method", value: "fixed" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "ssh_user", value: "{{ tempest_ironic.ssh_user }}" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "image_ssh_user", value: "{{ tempest_ironic.ssh_user }}" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "build_timeout", value: "1200" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "allow_tenant_isolation", value: "True" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "fixed_network_name", value: "{{ tempest_network_name }}" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "network_for_ssh", value: "{{ tempest_network_name }}" }
    - { enabled: true,
        section: "scenario", option: "ssh_user", value: "{{ tempest_ironic.ssh_user }}" }
    - { enabled: true,
        section: "baremetal", option: "driver_enabled", value: "True" }
    - { enabled: true,
        section: "baremetal", option: "active_timeout", value: "1800" }
    - { enabled: true,
        section: "baremetal", option: "association_timeout", value: "500" }
    - { enabled: true,
        section: "baremetal", option: "power_timeout", value: "120" }
    - { enabled: true,
        section: "baremetal", option: "unprovision_timeout", value: "1800" }
    - { enabled: true,
        section: "validation", option: "ssh_timeout", value: "1200" }
    - { enabled: true,
        section: "validation", option: "ip_version_for_ssh", value: "4" }
    - { enabled: true,
        section: "validation", option: "run_validation", value: "False" }
    - { enabled: true,
        section: "validation", option: "connect_method", value: "fixed" }
    - { enabled: "{{ tempest_available.heat }}",
        section: "heat_plugin", option: "instance_type", value: "{{ tempest_ironic.flavor }}" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute-feature-enabled", option: "suspend", value: "False" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute-feature-enabled", option: "snapshot", value: "False" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute-feature-enabled", option: "shelve", value: "False" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute-feature-enabled", option: "rescue", value: "False" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute-feature-enabled", option: "pause", value: "False" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute-feature-enabled", option: "interface_attach", value: "False" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute-feature-enabled", option: "console_output", value: "False" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute-feature-enabled", option: "live_migration", value: "False" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute-feature-enabled", option: "vnc_console", value: "False" }

# Prefix for subunit test results
subunit_prefix: testrepository

proxy: ""

tempest_heat_network_name: tempest-demo-heat-network
tempest_heat_subnet_name: tempest-demo-heat-subnet
tempest_heat_subnet_range: 192.168.30.0/24
tempest_heat_router_name: tempest-demo-heat-router
07070100000012000041ED0000000000000000000000035E7DED4B00000000000000000000000000000000000000000000003E00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files07070100000013000081A40000000000000000000000015E7DED4B00000453000000000000000000000000000000000000004A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/.testr.conf#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
[DEFAULT]
test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
             OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
             OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \
             OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \
             $PYTHON -m subunit.run discover -t ${OS_TOP_LEVEL:-./} ${OS_TEST_PATH:-./tempest/test_discover} $LISTOPT $IDOPTION
test_id_option=--load-list $IDFILE
test_list_option=--list
group_regex=([^\.]*\.)*
07070100000014000081A40000000000000000000000015E7DED4B00000000000000000000000000000000000000000000004800000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/README.md07070100000015000041ED0000000000000000000000025E7DED4B00000000000000000000000000000000000000000000004A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters07070100000016000081A40000000000000000000000015E7DED4B000004A3000000000000000000000000000000000000005A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/barbican.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.barbican | bool) %}
# Run all barbican tests
+barbican_tempest_plugin\.*

# verify_glance_signatures not enabled on nova
-barbican_tempest_plugin.tests.scenario.test_image_signing.ImageSigningTest.test_signed_image_upload_boot_failure

# For RBD backend requires qemu-img 2.10. See: https://review.openstack.org/#/c/534811/
-barbican_tempest_plugin.tests.scenario.test_volume_encryption.VolumeEncryptionTest.test_encrypted_cinder_volumes_cryptsetup
-barbican_tempest_plugin.tests.scenario.test_volume_encryption.VolumeEncryptionTest.test_encrypted_cinder_volumes_luks
{% endif %}
07070100000017000081A40000000000000000000000015E7DED4B0000041C000000000000000000000000000000000000005C00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/ceilometer.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.ceilometer | bool) %}
# Run all ceilometer tests
+ceilometer\.*

# Known failures:
# Swift not configured to notify ceilometer
-ceilometer.tests.tempest.scenario.test_object_storage_telemetry_middleware.TestObjectStorageTelemetry.test_swift_middleware_notifies

# Glance not configured to notify ceilometer
-ceilometer.tests.tempest.api.test_telemetry_notification_api.TelemetryNotificationAPITest.test_check_glance_v2_notifications
{% endif %}
07070100000018000081A40000000000000000000000015E7DED4B000015CC000000000000000000000000000000000000005400000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/ci.txt.j2{#
#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#NOTE:
# Tests commented out with '##SERIAL##' have been moved to the
# ci_serial.txt.j2
#}
{% if (tempest_testable.keystone | bool) %}
# Keystone test

# Keystone V3 API Test
# BUG-4384 only run a minimal set of identity v3 tests to avoid longer test run
# time. It makes sure that domain scoped tokens are not broken by newer
# versions of Tempest.
+tempest\.api\.identity\.admin\.v3\.test_domains\.

# Exclude 4 known failures:
tempest\.api\.identity\.admin\.v3\.test_list_users.UsersV3TestJSON\.test_list_users
tempest\.api\.identity\.admin\.v3\.test_list_users.UsersV3TestJSON\.test_list_users_with_name
tempest\.api\.identity\.admin\.v3\.test_users.UsersV3TestJSON\.test_update_user_password
tempest\.api\.identity\.admin\.v3\.test_groups\.GroupsV3TestJSON\.test_list_groups
{% endif %}

{% if (tempest_testable.nova | bool) %}
# Nova tests

# DEVQA-418: Add Nova smoke tests
+tempest\.api\.compute\.flavors\.test_flavors\.FlavorsV2TestJSON\.test_list_flavors
-tempest\.api\.compute\.flavors\.test_flavors\.FlavorsV2TestJSON\.test_list_flavors_.*
+tempest\.api\.compute\.servers\.test_attach_interfaces\.AttachInterfacesTestJSON\.test_add_remove_fixed_ip
-tempest\.api\.compute\.servers\.test_attach_interfaces\.AttachInterfacesTestJSON\.test_add_remove_fixed_ip_.*
+tempest\.api\.compute\.servers\.test_create_server\.ServersTestJSON\.test_list_servers
-tempest\.api\.compute\.servers\.test_create_server\.ServersTestJSON\.test_list_servers_.*
+tempest\.api\.compute\.servers\.test_server_addresses\.ServerAddressesTestJSON\.test_list_server_addresses
-tempest\.api\.compute\.servers\.test_server_addresses\.ServerAddressesTestJSON\.test_list_server_addresses_.*

{% if (tempest_available.ironic | bool) %}
# ForIronic disable the following tests (will not work on VM's).
-tempest\.api\.compute\.servers\.test_create_server\.ServersTestJSON\.test_list_servers
-tempest\.api\.compute\.servers\.test_server_actions\.ServerActionsTestJSON\.test_reboot_server_hard
-tempest\.api\.compute\.servers\.test_server_addresses\.ServerAddressesTestJSON\.test_list_server_addresses
{% endif %}

{% if (tempest_available.cinder | bool) %}
# Only volume test if cinder is available.
+tempest\.api\.compute\.volumes\.test_volumes_list\.VolumesTestJSON\.test_volume_list
-tempest\.api\.compute\.volumes\.test_volumes_list\.VolumesTestJSON\.test_volume_list_.*

# Volume + Compute + ssh verification
+tempest\.api\.volume\.test_volumes_actions\.VolumesV2ActionsTest\.test_attach_detach_volume_to_instance

{% endif %}
{% endif %}

{% if (tempest_testable.swift | bool) %}
# Swift tests

+tempest\.api\.object_storage\.test_healthcheck.*
+tempest\.api\.object_storage\.test_container_services\.ContainerTest\.test_delete_container
+tempest\.api\.object_storage\.test_account_services\.AccountTest\.test_list_containers
{% endif %}

{% if (tempest_testable.glance | bool) %}
# Glance tests

# DEVQA-420: Image or glance testing
+tempest\.api\.image\.v1\.test_images\.CreateRegisterImagesTest\.test_register_image_with_min_ram
+tempest\.api\.image\.v2\.test_images\.BasicOperationsImagesTest\.test_update_image
{% endif %}

{% if (tempest_testable.neutron | bool) %}
# Neutron tests

# DEVQA-421: Adding some Neutron API tests
# BUG-1509
# The following test will always call setUpClass (tempest.api.network.test_networks.NetworksTest)
# and if we running a flat network with no external network it will fail.
{% if (cp_tempest_data[tempest_worker.region_name].external_networks is defined) or
       tempest_network_name == 'ext-net' %}
+tempest\.api\.network\.test_networks\.NetworksTest\.test_create_update_delete_network_subnet
+tempest\.api\.network\.test_networks\.NetworksTest\.test_external_network_visibility
##SERIAL##+tempest\.scenario\.test_network_basic_ops\.TestNetworkBasicOps\.test_network_basic_ops
##SERIAL##+tempest\.scenario\.test_server_basic_ops\.TestServerBasicOps\.test_server_basic_ops*
{% endif %}
{% endif %}

{% if (tempest_testable.cinder | bool) %}
# Cinder Test

+tempest\.api\.volume\.test_volumes_get\.VolumesV2GetTest\.test_volume_create_get_update_delete
-tempest\.api\.volume\.test_volumes_get\.VolumesV2GetTest\.test_volume_create_get_update_delete_.*
{% endif %}

{% if (tempest_testable.horizon | bool) %}
# Horizon tests

# HORI-3925: Enable horizon test
+tempest\.scenario\.test_dashboard_basic_ops.*
{% endif %}

{% if (tempest_testable.heat | bool) %}
# Heat tests
##SERIAL##+heat_integrationtests\.api\.*
{% endif %}

{% if (tempest_testable.ironic | bool) %}
# Ironic tests

#IRONIC-349 Enable Baremetal tests
#+tempest\.scenario\.test_baremetal_basic_ops.*
{% endif %}

{% if (tempest_testable.designate | bool) %}
# Designate tests
+designate_tempest_plugin\.tests\.api\.v2\.test_zones\.ZonesTest\.test_list_zones
#-designate_tempest_plugin\.tests\.api\.v2\.test_zones\.ZonesTest\.test_list_zones_.*
+designate_tempest_plugin\.tests\.api\.v2\.test_zones\.ZonesTest\.test_create_zone
{% endif %}
07070100000019000081A40000000000000000000000015E7DED4B000005AF000000000000000000000000000000000000005B00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/ci_serial.txt.j2{#
#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

#
# These tests will be run in a serialised fashion
#

{% if (tempest_testable.neutron | bool) %}
# Neutron tests

# DEVQA-421: Adding some Neutron API tests
# BUG-1509
# The following test will always call setUpClass (tempest.api.network.test_networks.NetworksTest)
# and if we running a flat network with no external network it will fail.
{% if (cp_tempest_data[tempest_worker.region_name].external_networks is defined) or
       tempest_network_name == 'ext-net' %}
+tempest\.scenario\.test_network_basic_ops\.TestNetworkBasicOps\.test_network_basic_ops
+tempest\.scenario\.test_server_basic_ops\.TestServerBasicOps\.test_server_basic_ops*
{% endif %}
{% endif %}

# So for now just comment them out
{% if (tempest_testable.heat | bool) %}
# Heat tests
+heat_integrationtests\.api\.*
{% endif %}
0707010000001A000081A40000000000000000000000015E7DED4B00000811000000000000000000000000000000000000005800000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/cinder.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.cinder | bool) %}
# Run all cinder tests
+tempest\.api\.volume\.*
+tempest\.scenario\.test_volume\.*
+tempest\.scenario\.test_encrypted\.*
+cinder_tempest_plugin\.*

# Known failures
# You are not authorized to perform the requested action: identity:list_domains.
-tempest.api.volume.admin.test_volume_quota_classes.VolumeQuotaClassesTest.test_update_default_quota
-tempest.api.volume.admin.test_volume_quotas.BaseVolumeQuotasAdminTestJSON.test_delete_quota

# Fails because when using the cinder_admin role it is possible to get volume types from other projects
# and the test expects NotFound
-tempest.api.volume.admin.test_volume_type_access.VolumeTypesAccessTest.test_volume_type_access_add
-tempest.api.volume.admin.test_volume_types_negative.VolumeTypesNegativeTest.test_create_volume_with_private_volume_type

# For RBD backend requires qemu-img 2.10. See: https://review.openstack.org/#/c/534811/
-tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_boot_server_from_encrypted_volume_luks
-tempest.scenario.test_encrypted_cinder_volumes.TestEncryptedCinderVolumes.test_encrypted_cinder_volumes_cryptsetup
-tempest.scenario.test_encrypted_cinder_volumes.TestEncryptedCinderVolumes.test_encrypted_cinder_volumes_luks

# This tests is expected to fail until a solution is found upstream
# (see: https://jira.suse.de/browse/SCRD-9105)
-tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern
{% endif %}
0707010000001B000081A40000000000000000000000015E7DED4B000002B7000000000000000000000000000000000000005B00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/designate.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.designate | bool) %}
# Run all designate tests
+designate_tempest_plugin\.*
{% endif %}
0707010000001C000081A40000000000000000000000015E7DED4B000002B1000000000000000000000000000000000000005900000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/freezer.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.freezer | bool) %}
# Run all freezer tests
+freezer_tempest_plugin\.*
{% endif %}
0707010000001D000081A40000000000000000000000015E7DED4B000002CC000000000000000000000000000000000000005700000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/fwaas.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.neutron | bool) %}
# Run all neutron FWaaS tests
# Requires centralized router
+neutron_fwaas\.*
{% endif %}
0707010000001E000081A40000000000000000000000015E7DED4B000003BF000000000000000000000000000000000000005800000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/glance.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.glance | bool) %}
# Run all glance tests
+tempest\.api\.image\.*

# Known failures:
# External sources are not supported
-tempest.api.image.v1.test_images.CreateRegisterImagesTest.test_register_http_image
-tempest.api.image.v1.test_images.CreateRegisterImagesTest.test_register_remote_image
-tempest.api.image.v1.test_images.ListImagesTest
{% endif %}
0707010000001F000081A40000000000000000000000015E7DED4B0000120E000000000000000000000000000000000000005600000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/heat.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.heat | bool) %}
# Run all heat tests
+heat_integrationtests\.*

# Known failures
# ERROR: Stack Adopt is not supported.
-heat_integrationtests.functional.test_aws_stack.AwsStackTest.test_nested_stack_adopt_fail
-heat_integrationtests.functional.test_aws_stack.AwsStackTest.test_nested_stack_adopt_ok
-heat_integrationtests.functional.test_resource_group.ResourceGroupAdoptTest.test_adopt
-heat_integrationtests.functional.test_template_resource.TemplateResourceAdoptTest.test_adopt

# ERROR: Stack Abandon is not supported.
-heat_integrationtests.functional.test_template_resource.TemplateResourceAdoptTest.test_abandon

# Required extension trunk in neutron service is not available.
-heat_integrationtests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_add_a_second_sub_port
-heat_integrationtests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_add_first_sub_port
-heat_integrationtests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_remove_last_sub_port_from_trunk
-heat_integrationtests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_remove_sub_port_from_trunk
-heat_integrationtests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_update_existing_sub_port_on_trunk
-heat_integrationtests.functional.test_create_update_neutron_trunk.UpdateTrunkTest.test_update_trunk_name_and_description

# [Errno 111] Connection refused
-heat_integrationtests.functional.test_notifications.NotificationTest.test_asg_notifications
-heat_integrationtests.functional.test_notifications.NotificationTest.test_basic_notifications

# heat-manage: command not found
-heat_integrationtests.functional.test_purge.PurgeTest.test_purge

# No section: 'heat_api_cfn'
-heat_integrationtests.functional.test_reload_on_sighup.ReloadOnSighupTest.test_api_cfn_reload_on_sighup

# No section: 'heat_api_cloudwatch'
-heat_integrationtests.functional.test_reload_on_sighup.ReloadOnSighupTest.test_api_cloudwatch_on_sighup

# No section: 'heat_api'
-heat_integrationtests.functional.test_reload_on_sighup.ReloadOnSighupTest.test_api_reload_on_sighup

# Zaqar messaging service not supported
-heat_integrationtests.functional.test_event_sinks.ZaqarEventSinkTest.test_events
-heat_integrationtests.functional.test_waitcondition.ZaqarWaitConditionTest.test_signal_queues
-heat_integrationtests.functional.test_software_config.ZaqarSignalTransportTest.test_signal_queues

# [u'foo', u'hidden'] matches Contains('hidden'): Hidden stack can be seen
-heat_integrationtests.functional.test_stack_tags.StackTagTest.test_hidden_stack

# The Stack (AdminActionsTest-2106209092) could not be found.
-heat_integrationtests.functional.test_admin_actions.AdminActionsTest.test_admin_complex_stack_actions
-heat_integrationtests.functional.test_admin_actions.AdminActionsTest.test_admin_simple_stack_actions

# Unable to find network with name or id 'public'
-heat_integrationtests.scenario.test_server_signal.ServerSignalIntegrationTest.test_server_signal_userdata_format_software_config
-heat_integrationtests.scenario.test_server_signal.ServerSignalIntegrationTest.test_server_signal_userdata_format_raw

# aodh alarming endpoint is not in service catalog.
-heat_integrationtests.scenario.test_aodh_alarm.AodhAlarmTest.test_alarm

# requires an image with heat-agent
-heat_integrationtests.functional.test_os_wait_condition.OSWaitCondition.test_create_stack_with_multi_signal_waitcondition
-heat_integrationtests.scenario.test_autoscaling_lbv2.AutoscalingLoadBalancerv2Test.test_autoscaling_loadbalancer_neutron
-heat_integrationtests.scenario.test_server_cfn_init.CfnInitIntegrationTest.test_server_cfn_init
-heat_integrationtests.scenario.test_server_software_config.SoftwareConfigIntegrationTest.test_server_software_config
-heat_integrationtests.scenario.test_volumes.VolumeBackupRestoreIntegrationTest.test_cinder_volume_create_backup_restore
-heat_integrationtests.functional.test_create_update.UpdateStackTest.test_stack_update_with_replacing_userdata
{% endif %}
07070100000020000081A40000000000000000000000015E7DED4B000002B1000000000000000000000000000000000000005A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/keystone.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.keystone | bool) %}
# Run all keystone tests
+tempest.api.identity\.*
{% endif %}
07070100000021000081A40000000000000000000000015E7DED4B000003B0000000000000000000000000000000000000005700000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/lbaas.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.neutron | bool) %}
# Run all neutron LBaaS tests
+neutron_lbaas\.*

# This test case is failing intermittently due to racing issues
# (see https://jira.suse.com/browse/SOC-9176)
-neutron_lbaas.tests.tempest.v2.ddt.test_health_monitor_admin_state_up.CreateHealthMonitorAdminStateTest.test_create_health_monitor_with_scenarios
{% endif %}
07070100000022000081A40000000000000000000000015E7DED4B0000051F000000000000000000000000000000000000005800000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/magnum.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.magnum | bool) %}
# Run all magnum tests
+magnum\.tests\.*

# Known failures
# Fails when using 2+ controllers
-magnum.tests.functional.api.v1.test_magnum_service.MagnumServiceTest.test_magnum_service_list

# Expects Forbidden but gets 201
-magnum.tests.functional.api.v1.test_baymodel.BayModelTest.test_create_get_public_baymodel
-magnum.tests.functional.api.v1.test_cluster_template.ClusterTemplateTest.test_create_get_public_cluster_template

# Expects Forbidden but gets 200
-magnum.tests.functional.api.v1.test_baymodel.BayModelTest.test_update_baymodel_public_by_uuid
-magnum.tests.functional.api.v1.test_cluster_template.ClusterTemplateTest.test_update_cluster_template_public_by_uuid
{% endif %}
07070100000023000081A40000000000000000000000015E7DED4B000002D1000000000000000000000000000000000000005800000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/manila.txt.j2{#
#
# (c) Copyright 2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}
# Manila API Tempest Tests
+manila_tempest_tests\.tests\.api\.*

# Manila Scenario Tempest Tests
-manila_tempest_tests\.tests\.scenario\.*
07070100000024000081A40000000000000000000000015E7DED4B00000B74000000000000000000000000000000000000005900000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/monasca.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.monasca | bool) %}
# Run all monasca tests
+monasca_tempest_tests\.*

# Known failures:
# You are not authorized to perform the requested action: identity:create_project
-monasca_tempest_tests.tests.api.test_metrics.TestMetrics.test_list_metrics_with_project

# The alarms are returned on a inverse order when sorted by severity (e.g. expects CRITICAL -> LOW, gets LOW -> CRITICAL order)
-monasca_tempest_tests.tests.api.test_alarm_definitions.TestAlarmDefinitions.test_list_alarm_definitions_sort_by

# The groups returned by tempest are on a inverse order than the tests expected (e.g. expects [74,"ALARM"],[176,"UNDETERMINED"],
# gets [176,"UNDETERMINED"],[74,"ALARM"])
-monasca_tempest_tests.tests.api.test_alarms_count.TestAlarmsCount.test_group_by_singular

# logs-search service not found on service catalog (EndpointNotFound: Endpoint not found)
-monasca_tempest_tests.tests.log_api.test_single.TestSingleLog.test_big_message
-monasca_tempest_tests.tests.log_api.test_single.TestSingleLog.test_big_message_multiline
-monasca_tempest_tests.tests.log_api.test_single.TestSingleLog.test_medium_message
-monasca_tempest_tests.tests.log_api.test_single.TestSingleLog.test_medium_message_multiline
-monasca_tempest_tests.tests.log_api.test_single.TestSingleLog.test_send_cross_tenant
-monasca_tempest_tests.tests.log_api.test_single.TestSingleLog.test_send_header_application_type
-monasca_tempest_tests.tests.log_api.test_single.TestSingleLog.test_send_header_dimensions
-monasca_tempest_tests.tests.log_api.test_single.TestSingleLog.test_small_message
-monasca_tempest_tests.tests.log_api.test_single.TestSingleLog.test_small_message_multiline
-monasca_tempest_tests.tests.log_api.test_constraints.TestLogApiConstraints.test_should_reject_if_body_is_empty
-monasca_tempest_tests.tests.log_api.test_constraints.TestLogApiConstraints.test_should_reject_if_content_type_missing
-monasca_tempest_tests.tests.log_api.test_constraints.TestLogApiConstraints.test_should_reject_if_wrong_content_type
-monasca_tempest_tests.tests.log_api.test_constraints.TestLogApiConstraints.test_should_reject_too_big_message
-monasca_tempest_tests.tests.log_api.test_constraints.TestLogApiConstraints.test_should_reject_too_big_message_multiline
-monasca_tempest_tests.tests.log_api.test_unicode.TestUnicodeV3.test_unicode_message
{% endif %}
07070100000025000081A40000000000000000000000015E7DED4B00000462000000000000000000000000000000000000005900000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/neutron.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.neutron | bool) %}
# Run all neutron tests
+tempest\.api\.network\.*
+tempest\.scenario\.test_network\.*
+tempest\.scenario\.test_security_groups\.*

# Known failures
# You are not authorized to perform the requested action: identity:list_domains
-tempest.api.network.admin.test_routers.RoutersIpV6AdminTest.test_create_router_setting_project_id
-tempest.api.network.admin.test_quotas.QuotasTest.test_quotas
-tempest.api.network.admin.test_routers.RoutersAdminTest.test_create_router_setting_project_id
{% endif %}
07070100000026000081A40000000000000000000000015E7DED4B00000763000000000000000000000000000000000000005600000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/nova.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.nova | bool) %}
# Run all nova tests
+tempest\.api\.compute\.*
+tempest\.scenario\.test_server\.*
+tempest\.scenario\.test_snapshot\.*
+tempest\.scenario\.test_minimum\.*
+tempest\.scenario\.test_shelve\.*
+tempest\.scenario\.test_aggregates\.*

# Those tests requires to be executed serially as they compete for resources
-tempest.api.compute.admin.test_migrations.MigrationsAdminTest.test_resize_server_revert_deleted_flavor
-tempest.api.compute.servers.test_disk_config.ServerDiskConfigTestJSON.test_resize_server_from_manual_to_auto
-tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_revert
-tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_confirm
-tempest.scenario.test_server_advanced_ops.TestServerAdvancedOps.test_resize_volume_backed_server_confirm

# Known failures:
# You are not authorized to perform the requested action: identity:list_domains
-tempest.api.compute.admin.test_quotas.QuotasAdminTestJSON.test_delete_quota
-tempest.api.compute.admin.test_quotas.QuotasAdminTestJSON.test_get_updated_quotas

# Requires configuring a default subnet pool for ext-net
-tempest.api.compute.admin.test_auto_allocate_network.AutoAllocateNetworkTest.test_server_multi_create_auto_allocate
{% endif %}
07070100000027000081A40000000000000000000000015E7DED4B00000498000000000000000000000000000000000000005D00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/nova_serial.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.nova | bool) %}
# Run nova tests serially
+tempest.api.compute.admin.test_migrations.MigrationsAdminTest.test_resize_server_revert_deleted_flavor
+tempest.api.compute.servers.test_disk_config.ServerDiskConfigTestJSON.test_resize_server_from_manual_to_auto
+tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_revert
+tempest.api.compute.servers.test_server_actions.ServerActionsTestJSON.test_resize_server_confirm
+tempest.scenario.test_server_advanced_ops.TestServerAdvancedOps.test_resize_volume_backed_server_confirm
{% endif %}
07070100000028000081A40000000000000000000000015E7DED4B000023D8000000000000000000000000000000000000006200000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/periodic-virtual.txt.j2{#
#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}
# Keystone API Test
# DEVQA-423: Enable Keystone v3 API test
# Exclude 3 known failures:
# tempest\.api\.identity\.admin\.v3\.test_list_users.UsersV3TestJSON\.test_list_users
# tempest\.api\.identity\.admin\.v3\.test_list_users.UsersV3TestJSON\.test_list_users_with_name
# tempest\.api\.identity\.admin\.v3\.test_users.UsersV3TestJSON\.test_update_user_password
+tempest\.api\.identity\.admin\.v3\.test_credentials
# Removing following test as the v3_endpoint_type flag is missing from the version of Tempest we're using.
# This test can be put back when we have upstream Tempest.
#+tempest\.api\.identity\.admin\.v3\.test_default_project_id
+tempest\.api\.identity\.admin\.v3\.test_domains
+tempest\.api\.identity\.admin\.v3\.test_endpoints*
+tempest\.api\.identity\.admin\.v3\.test_groups
+tempest\.api\.identity\.admin\.v3\.test_list_projects
+tempest\.api\.identity\.admin\.v3\.test_policies
+tempest\.api\.identity\.admin\.v3\.test_projects*
+tempest\.api\.identity\.admin\.v3\.test_regions
+tempest\.api\.identity\.admin\.v3\.test_roles
+tempest\.api\.identity\.admin\.v3\.test_services
+tempest\.api\.identity\.admin\.v3\.test_tokens
+tempest\.api\.identity\.admin\.v3\.test_trusts
+tempest\.api\.identity\.admin\.v3\.test_list_users\.UsersV3TestJSON\.test_get_user
+tempest\.api\.identity\.admin\.v3\.test_list_users\.UsersV3TestJSON\.test_list_user_domains
+tempest\.api\.identity\.admin\.v3\.test_list_users\.UsersV3TestJSON\.test_list_users_with_not_enabled
+tempest\.api\.identity\.admin\.v3\.test_users\.UsersV3TestJSON\.test_get_user
+tempest\.api\.identity\.admin\.v3\.test_users\.UsersV3TestJSON\.test_list_user_projects
+tempest\.api\.identity\.admin\.v3\.test_users\.UsersV3TestJSON\.test_user_update
+tempest\.api\.identity\.admin\.test_*
+tempest\.api\.identity\.test_extension
# DEVQA-418: Add Nova smoke tests
+tempest\.api\.compute\.flavors\.test_flavors\.FlavorsV2TestJSON\.test_get_flavor
+tempest\.api\.compute\.flavors\.test_flavors\.FlavorsV2TestJSON\.test_list_flavors
+tempest\.api\.compute\.security_groups\.test_security_group_rules\.SecurityGroupRulesTestJSON\.test_security_group_rules_create
+tempest\.api\.compute\.security_groups\.test_security_group_rules\.SecurityGroupRulesTestJSON\.test_security_group_rules_list
+tempest\.api\.compute\.security_groups\.test_security_groups\.SecurityGroupsTestJSON\.test_security_groups_create_list_delete
+tempest\.api\.compute\.servers\.test_attach_interfaces\.AttachInterfacesTestJSON\.test_add_remove_fixed_ip
+tempest\.api\.compute\.servers\.test_create_server\.ServersTestJSON\.test_list_servers
+tempest\.api\.compute\.servers\.test_create_server\.ServersTestJSON\.test_verify_server_details
+tempest\.api\.compute\.servers\.test_create_server\.ServersTestManualDisk\.test_list_servers
+tempest\.api\.compute\.servers\.test_create_server\.ServersTestManualDisk\.test_verify_server_details
+tempest\.api\.compute\.servers\.test_server_actions\.ServerActionsTestJSON\.test_reboot_server_hard
+tempest\.api\.compute\.servers\.test_server_addresses\.ServerAddressesTestJSON\.test_list_server_addresses
+tempest\.api\.compute\.servers\.test_server_addresses\.ServerAddressesTestJSON\.test_list_server_addresses_by_network
# Swift tests
+tempest\.api\.object_storage\.test_healthcheck.*
+tempest\.api\.object_storage\.test_container_services\.ContainerTesti\.test_delete_container
#+tempest\.api\.object_storage\.test_account_services\.AccountTest\.test_list_containers
# DEVQA-420: Image or glance testing
+tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_add_member_with_non_existing_image
+tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_delete_member_with_non_existing_image
+tempest\.api\.image\.v1\.test_images\.CreateRegisterImagesTest\.test_register_image_with_min_ram
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_image_blank_id
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_image_id_is_over_35_character_limit
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_image_negative_image_id
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_image_non_hex_string_id
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_image_with_invalid_image_id
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_non_existent_image
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_register_with_invalid_container_format
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_register_with_invalid_disk_format
+tempest\.api\.image\.v2\.test_images\.BasicOperationsImagesTest\.test_delete_image
+tempest\.api\.image\.v2\.test_images\.BasicOperationsImagesTest\.test_update_image
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_get_image_member
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_get_image_member_schema
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_get_image_members_schema
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_image_share_accept
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_image_share_reject
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_remove_image_member
+tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_invalid_status
+tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_owner_cannot_accept
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_delete_image_null_id
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_delete_non_existing_image
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_get_delete_deleted_image
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_get_image_null_id
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_get_non_existent_image
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_register_with_invalid_container_format
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_register_with_invalid_disk_format
+tempest\.api\.image\.v2\.test_images_tags\.ImagesTagsTest\.test_update_delete_tags_for_image
+tempest\.api\.image\.v2\.test_images_tags_negative\.ImagesTagsNegativeTest\.test_delete_non_existing_tag
+tempest\.api\.image\.v2\.test_images_tags_negative\.ImagesTagsNegativeTest\.test_update_tags_for_non_existing_image
# DEVQA-421: Adding some Neutron API tests
+tempest\.api\.network\test_networks
+tempest\.api\.network\test_networks_negative
+tempest\.api\.network\test_ports
+tempest\.api\.network\test_routers
+tempest\.api\.network\test_routers_negative
+tempest\.api\.network\test_security_groups
+tempest\.api\.network\test_security_groups_negative
+tempest\.api\.network\test_floating_ips
+tempest\.api\.network\test_floating_ips_negative
# DEVQA-422: Adding some Neutron API tests
+tempest\.api\.volume\.test_volumes_get.*
+tempest\.api\.volume\.test_volumes_extend.*
#
+tempest\.api\.compute\.volumes\.test_volumes_list.*
+tempest\.api\.compute\.volumes\.test_volumes_get.*
# HORI-3925: Enable horizon test
+tempest\.scenario\.test_dashboard_basic_ops.*
# Heat/Orchestration API tests
+heat_integrationtests\.api\.*
# (FIXME) Skip all identity v3 tests
-tempest\.api\.identity\.admin\.v3
-tempest\.api\.identity\.v3
# BUG-781 Disable glance test that require sharing as per GLAN-1977
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_get_image_member
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_image_share_accept
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_image_share_reject
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_remove_image_member
-tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_add_member_with_non_existing_image
-tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_delete_member_with_non_existing_image
-tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_invalid_status
-tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_owner_cannot_accept
07070100000029000081A40000000000000000000000015E7DED4B000015E3000000000000000000000000000000000000005A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/periodic.txt.j2{#
#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}
# Include all tempest tests by default
+tempest\..*

# Exclude 4 known Keystone v3 failures:
-tempest\.api\.identity\.admin\.v3\.test_list_users.UsersV3TestJSON\.test_list_users
-tempest\.api\.identity\.admin\.v3\.test_list_users.UsersV3TestJSON\.test_list_users_with_name
-tempest\.api\.identity\.admin\.v3\.test_users.UsersV3TestJSON\.test_update_user_password
-tempest\.api\.identity\.admin\.v3\.test_groups\.GroupsV3TestJSON\.test_list_groups

# BUG-781 Disable glance test that require sharing as per GLAN-1977
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_get_image_member
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_image_share_accept
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_image_share_reject
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_remove_image_member
-tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_add_member_with_non_existing_image
-tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_delete_member_with_non_existing_image
-tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_invalid_status
-tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_owner_cannot_accept

# DNSAAS-1102 Enable basic DNS/Designate tests
+designate_tempest_plugin\.tests\.api\.v2\.test_zones\..*
+designate_tempest_plugin\.tests\.api\.v2\.test_recordset\..*

# Tests under investigation
-tempest\.api\.compute\.admin\.test_migrations\.MigrationsAdminTest\.test_list_migrations_in_flavor_resize_situation
-tempest\.api\.compute\.admin\.test_migrations\.MigrationsAdminTest\.test_resize_server_revert_deleted_flavor
-tempest\.api\.compute\.admin\.test_servers_negative\.ServersAdminNegativeTestJSON\.test_migrate_non_existent_server
-tempest\.api\.compute\.admin\.test_servers_negative\.ServersAdminNegativeTestJSON\.test_migrate_server_invalid_state
-tempest\.api\.compute\.admin\.test_servers_on_multinodes\.ServersOnMultiNodesTest\.test_create_servers_on_same_host
-tempest\.api\.compute\.certificates\.test_certificates\.CertificatesV2TestJSON\.test_create_root_certificate
-tempest\.api\.compute\.certificates\.test_certificates\.CertificatesV2TestJSON\.test_get_root_certificate
-tempest\.api\.compute\.servers\.test_delete_server\.DeleteServersTestJSON\.test_delete_server_while_in_verify_resize_state
-tempest\.api\.compute\.servers\.test_server_actions\.ServerActionsTestJSON\.test_resize_server_confirm
-tempest\.api\.compute\.servers\.test_server_actions\.ServerActionsTestJSON\.test_resize_server_confirm_from_stopped
-tempest\.api\.compute\.servers\.test_server_actions\.ServerActionsTestJSON\.test_resize_server_revert
-tempest\.api\.compute\.servers\.test_servers_negative\.ServersNegativeTestJSON\.test_resize_nonexistent_server
-tempest\.api\.compute\.servers\.test_servers_negative\.ServersNegativeTestJSON\.test_resize_server_with_non_existent_flavor
-tempest\.api\.compute\.test_versions\.TestVersions\.test_get_version_details
-tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_add_member_with_non_existing_image
-tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_delete_member_with_non_existing_image
-tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_delete_member_with_non_existing_tenant
-tempest\.api\.image\.v1\.test_images\.CreateRegisterImagesTest\.test_register_http_image
-tempest\.api\.image\.v1\.test_images\.CreateRegisterImagesTest\.test_register_remote_image
-tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_invalid_status
-tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_owner_cannot_accept
-tempest\.api\.network\.admin\.test_l3_agent_scheduler\.L3AgentSchedulerTestJSON\.test_add_list_remove_router_on_l3_agent
-tempest\.api\.object_storage\.test_container_staticweb\.StaticWebTest\.test_web_index
-tempest\.api\.object_storage\.test_container_staticweb\.StaticWebTest\.test_web_listing_css
-tempest\.scenario\.test_encrypted_cinder_volumes\.TestEncryptedCinderVolumes\.test_encrypted_cinder_volumes_cryptsetup
-tempest\.scenario\.test_encrypted_cinder_volumes\.TestEncryptedCinderVolumes\.test_encrypted_cinder_volumes_luks
-tempest\.scenario\.test_network_advanced_server_ops\.TestNetworkAdvancedServerOps\.test_server_connectivity_resize
-tempest\.scenario\.test_network_v6\.TestGettingAddress\.test_dhcp6_stateless_from_os
-tempest\.scenario\.test_security_groups_basic_ops\.TestSecurityGroupsBasicOps\.test_cross_tenant_traffic
-tempest\.scenario\.test_security_groups_basic_ops\.TestSecurityGroupsBasicOps\.test_port_update_new_security_group
-tempest\.scenario\.test_server_advanced_ops\.TestServerAdvancedOps\.test_resize_volume_backed_server_confirm

0707010000002A000081A40000000000000000000000015E7DED4B00000348000000000000000000000000000000000000005A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/refstack.txt.j2{#
#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}
# Run all API tests (includes new ones as they pop-up via upstream merge
+tempest\.api\.*

# Run all scenario tests (includes new ones as they pop-up via upstream merge
+tempest.scenario\.*
0707010000002B000081A40000000000000000000000015E7DED4B0000153E000000000000000000000000000000000000005600000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/slow.txt.j2{#
#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#NOTE:
# Tests commented out with '##SERIAL##' have been moved to the
# slow.txt.j2
#}
{% if (tempest_testable.keystone | bool) %}
# Keystone test

# Keystone V3 API Test
# BUG-4384 only run a minimal set of identity v3 tests to avoid longer test run
# time. It makes sure that domain scoped tokens are not broken by newer
# versions of Tempest.
+tempest\.api\.identity\.admin\.v3\.test_domains\.

# Exclude 4 known failures:
tempest\.api\.identity\.admin\.v3\.test_list_users.UsersV3TestJSON\.test_list_users
tempest\.api\.identity\.admin\.v3\.test_list_users.UsersV3TestJSON\.test_list_users_with_name
tempest\.api\.identity\.admin\.v3\.test_users.UsersV3TestJSON\.test_update_user_password
tempest\.api\.identity\.admin\.v3\.test_groups\.GroupsV3TestJSON\.test_list_groups
{% endif %}

{% if (tempest_testable.nova | bool) %}
# Nova tests

# DEVQA-418: Add Nova smoke tests
+tempest\.api\.compute\.flavors\.test_flavors\.FlavorsV2TestJSON\.test_list_flavors
-tempest\.api\.compute\.flavors\.test_flavors\.FlavorsV2TestJSON\.test_list_flavors_.*
+tempest\.api\.compute\.servers\.test_attach_interfaces\.AttachInterfacesTestJSON\.test_add_remove_fixed_ip
-tempest\.api\.compute\.servers\.test_attach_interfaces\.AttachInterfacesTestJSON\.test_add_remove_fixed_ip_.*
+tempest\.api\.compute\.servers\.test_create_server\.ServersTestJSON\.test_list_servers
-tempest\.api\.compute\.servers\.test_create_server\.ServersTestJSON\.test_list_servers_.*
+tempest\.api\.compute\.servers\.test_server_addresses\.ServerAddressesTestJSON\.test_list_server_addresses
-tempest\.api\.compute\.servers\.test_server_addresses\.ServerAddressesTestJSON\.test_list_server_addresses_.*

{% if (tempest_available.ironic | bool) %}
# ForIronic disable the following tests (will not work on VM's).
-tempest\.api\.compute\.servers\.test_create_server\.ServersTestJSON\.test_list_servers
-tempest\.api\.compute\.servers\.test_server_actions\.ServerActionsTestJSON\.test_reboot_server_hard
-tempest\.api\.compute\.servers\.test_server_addresses\.ServerAddressesTestJSON\.test_list_server_addresses
{% endif %}

{% if (tempest_available.cinder | bool) %}
# Only volume test if cinder is available.
+tempest\.api\.compute\.volumes\.test_volumes_list\.VolumesTestJSON\.test_volume_list
-tempest\.api\.compute\.volumes\.test_volumes_list\.VolumesTestJSON\.test_volume_list_.*

# Volume + Compute + ssh verification
+tempest\.api\.volume\.test_volumes_actions\.VolumesV2ActionsTest\.test_attach_detach_volume_to_instance

{% endif %}
{% endif %}

{% if (tempest_testable.swift | bool) %}
# Swift tests

+tempest\.api\.object_storage\.test_healthcheck.*
+tempest\.api\.object_storage\.test_container_services\.ContainerTest\.test_delete_container
+tempest\.api\.object_storage\.test_account_services\.AccountTest\.test_list_containers
{% endif %}

{% if (tempest_testable.glance | bool) %}
# Glance tests

# DEVQA-420: Image or glance testing
+tempest\.api\.image\.v2\.test_images\.BasicOperationsImagesTest\.test_update_image
{% endif %}

{% if (tempest_testable.neutron | bool) %}
# Neutron tests

# DEVQA-421: Adding some Neutron API tests
# BUG-1509
# The following test will always call setUpClass (tempest.api.network.test_networks.NetworksTest)
# and if we running a flat network with no external network it will fail.
{% if (cp_tempest_data[tempest_worker.region_name].external_networks is defined) or
       tempest_network_name == 'ext-net' %}
+tempest\.api\.network\.test_networks\.NetworksTest\.test_create_update_delete_network_subnet
+tempest\.api\.network\.test_networks\.NetworksTest\.test_external_network_visibility
##SERIAL##+tempest\.scenario\.test_network_basic_ops\.TestNetworkBasicOps\.test_network_basic_ops
##SERIAL##+tempest\.scenario\.test_server_basic_ops\.TestServerBasicOps\.test_server_basic_ops*
{% endif %}
{% endif %}

{% if (tempest_testable.cinder | bool) %}
# Cinder Test

+tempest\.api\.volume\.test_volumes_get\.VolumesV2GetTest\.test_volume_create_get_update_delete
-tempest\.api\.volume\.test_volumes_get\.VolumesV2GetTest\.test_volume_create_get_update_delete_.*
{% endif %}

{% if (tempest_testable.horizon | bool) %}
# Horizon tests

# HORI-3925: Enable horizon test
+tempest\.scenario\.test_dashboard_basic_ops.*
{% endif %}

#EBS SCRD-5115/https://bugzilla.suse.com/show_bug.cgi?id=1109722
# Heat tests are frequently failing in new CI due to timing issues
# So for now just comment them out
{% if (tempest_testable.heat | bool) %}
# Heat tests
##SERIAL##+heat_integrationtests\.api\.*
{% endif %}

{% if (tempest_testable.ironic | bool) %}
# Ironic tests

#IRONIC-349 Enable Baremetal tests
#+tempest\.scenario\.test_baremetal_basic_ops.*
{% endif %}

{% if (tempest_testable.designate | bool) %}
# Designate tests
+designate_tempest_plugin\.tests\.api\.v2\.*
{% endif %}
0707010000002C000081A40000000000000000000000015E7DED4B000005AF000000000000000000000000000000000000005D00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/slow_serial.txt.j2{#
#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

#
# These tests will be run in a serialised fashion
#

{% if (tempest_testable.neutron | bool) %}
# Neutron tests

# DEVQA-421: Adding some Neutron API tests
# BUG-1509
# The following test will always call setUpClass (tempest.api.network.test_networks.NetworksTest)
# and if we running a flat network with no external network it will fail.
{% if (cp_tempest_data[tempest_worker.region_name].external_networks is defined) or
       tempest_network_name == 'ext-net' %}
#tempest\.scenario\.test_network_basic_ops\.TestNetworkBasicOps\.test_network_basic_ops
+tempest\.scenario\.test_server_basic_ops\.TestServerBasicOps\.test_server_basic_ops*
{% endif %}
{% endif %}

# So for now just comment them out
{% if (tempest_testable.heat | bool) %}
# Heat tests
+heat_integrationtests\.api\.*
{% endif %}
0707010000002D000081A40000000000000000000000015E7DED4B000002D3000000000000000000000000000000000000005700000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/smoke.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

# Run all tempest tests tagged as smoke
+.*smoke

# Exclude lbaas tests as they take a considerable amount of time to run
-neutron_lbaas\.*
0707010000002E000081A40000000000000000000000015E7DED4B000002DE000000000000000000000000000000000000005700000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/swift.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.swift | bool) %}
# Run all swift tests
+tempest\.api\.object_storage\.*
+tempest\.scenario\.test_object_storage\.*
{% endif %}
0707010000002F000081A40000000000000000000000015E7DED4B000002C3000000000000000000000000000000000000005A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/tests-ci.txt.j2{#
#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}
# This filter does not run any tests
+doesnotrunanytests
07070100000030000081A40000000000000000000000015E7DED4B00000B23000000000000000000000000000000000000005C00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/tests2skip.txt.j2{#
#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}
# Known failures on identity v3 test
tempest\.api\.identity\.admin\.v3\.test_list_users.*
tempest\.api\.identity\.admin\.v3\.test_users.*

# we have the v3 endpoint but lots of the tests fail, need to investigate
tempest\.api\.compute\.v3.*
# Can't run https://bugs.launchpad.net/tempest/+bug/1250866
tempest\.api\.compute\.admin\.test_quotas\.QuotasAdminTest.*\.test_create_server_when.*
tempest\.api\.compute\.servers\.test_list_servers_negative\.ListServersNegativeTest

# Need to refine these to only exclude the failing ones
tempest\.api\.compute\.servers\.test_create_server.*
tempest\.api\.compute\.servers\.test_server_addresses.*
tempest\.api\.compute\.servers\.test_server_rescue.*
tempest\.api\.compute\.servers\.test_virtual_interfaces.*
# The server rebuild fails during file injection
tempest\.api\.compute\.servers\.test_server_actions\.ServerActionsTestJSON\.test_rebuild_server

# These network tests fail, do we have them?
tempest\.api\.network\.test_service_type_management.*
tempest\.api\.network\.test_vpnaas_extensions.*
tempest\.api\.network\.test_load_balancer.*
tempest\.api\.network\.test_networks\.BulkNetworkOps.*
tempest\.api\.network\.test_networks\.NetworksTest.*

# Explicitly disable Cinder tests which are known to fail gate
tempest\.api\.volume\.actions.*
tempest\.api\.volume\.test_volumes_snapshots.*
tempest\.api\.compute\.volumes\.test_attach_volume

# The fedora image doesn't produce a console log
tempest\.api\.compute\.servers\.test_server_actions\.ServerActionsTest.*\.test_get_console_output

# Once all of the above test filters are removed, these should be enabled
tempest\.scenario.*

# These tests pass if run standalone but sometimes fail when run with --parallel
tempest\.api\.compute\.servers\.test_list_server_filters\.ListServerFiltersTest.*\.test_list_servers_detailed_filter_by_server_status

# volume and s3 boto tests failing
tempest\.thirdparty\.boto\.test_ec2_volumes.*
tempest\.thirdparty\.boto\.test_s3_objects\.S3BucketsTest\.test_create_get_delete_object

## Things we actually want to skip
# We might not be on the same host as nova
tempest\.cli\.simple_read_only\.test_nova_manage.*
# These are the tempest unit tests
tempest\.tests.*
07070100000031000081A40000000000000000000000015E7DED4B000003B1000000000000000000000000000000000000005C00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/upgrade-ci.txt.j2{#
#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}
# BUG-4423 This test covers the most services to tell if we are up and we currently
# do not have the time to expand on this, as upgrade takes a long time.

# Volume + Compute + ssh verification
+tempest\.api\.volume\.test_volumes_actions\.VolumesV2ActionsTest\.test_attach_detach_volume_to_instance
07070100000032000081A40000000000000000000000015E7DED4B000024EB000000000000000000000000000000000000005900000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/upgrade.txt.j2{#
#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}
# Keystone API Test
# DEVQA-423: Enable Keystone v3 API test
# Exclude 3 known failures:
# tempest\.api\.identity\.admin\.v3\.test_list_users.UsersV3TestJSON\.test_list_users
# tempest\.api\.identity\.admin\.v3\.test_list_users.UsersV3TestJSON\.test_list_users_with_name
# tempest\.api\.identity\.admin\.v3\.test_users.UsersV3TestJSON\.test_update_user_password
+tempest\.api\.identity\.admin\.v3\.test_credentials
# Removing following test as the v3_endpoint_type flag is missing from the version of Tempest we're using.
# This test can be put back when we have upstream Tempest.
#+tempest\.api\.identity\.admin\.v3\.test_default_project_id
# BUG-133 Disable v3 tests because of missing support for domain scoped tokens in tempest
# Addressed upstream in https://etherpad.openstack.org/p/keystone_v3_policy_in_dsvm_tests
tempest\.api\.identity\.admin\.v3\.test_domains_negative
tempest\.api\.identity\.admin\.v3\.test_domains
tempest\.api\.identity\.admin\.v3\.test_endpoints*
tempest\.api\.identity\.admin\.v3\.test_groups
tempest\.api\.identity\.admin\.v3\.test_list_projects
tempest\.api\.identity\.admin\.v3\.test_policies
tempest\.api\.identity\.admin\.v3\.test_projects*
tempest\.api\.identity\.admin\.v3\.test_regions
tempest\.api\.identity\.admin\.v3\.test_roles
tempest\.api\.identity\.admin\.v3\.test_services
tempest\.api\.identity\.admin\.v3\.test_tokens
tempest\.api\.identity\.admin\.v3\.test_trusts
tempest\.api\.identity\.admin\.v3\.test_list_users\.UsersV3TestJSON\.test_get_user
tempest\.api\.identity\.admin\.v3\.test_list_users\.UsersV3TestJSON\.test_list_user_domains
tempest\.api\.identity\.admin\.v3\.test_list_users\.UsersV3TestJSON\.test_list_users_with_not_enabled
tempest\.api\.identity\.admin\.v3\.test_users\.UsersV3TestJSON\.test_get_user
tempest\.api\.identity\.admin\.v3\.test_users\.UsersV3TestJSON\.test_list_user_projects
tempest\.api\.identity\.admin\.v3\.test_users\.UsersV3TestJSON\.test_user_update
tempest\.api\.identity\.admin\.v3\.test_credentials\.CredentialsTestJSON
+tempest\.api\.identity\.admin\.test_*
+tempest\.api\.identity\.test_extension
# DEVQA-418: Add Nova smoke tests
+tempest\.api\.compute\.flavors\.test_flavors\.FlavorsV2TestJSON\.test_get_flavor
+tempest\.api\.compute\.flavors\.test_flavors\.FlavorsV2TestJSON\.test_list_flavors
+tempest\.api\.compute\.security_groups\.test_security_group_rules\.SecurityGroupRulesTestJSON\.test_security_group_rules_create
+tempest\.api\.compute\.security_groups\.test_security_group_rules\.SecurityGroupRulesTestJSON\.test_security_group_rules_list
+tempest\.api\.compute\.security_groups\.test_security_groups\.SecurityGroupsTestJSON\.test_security_groups_create_list_delete
+tempest\.api\.compute\.servers\.test_attach_interfaces\.AttachInterfacesTestJSON\.test_add_remove_fixed_ip
+tempest\.api\.compute\.servers\.test_create_server\.ServersTestJSON\.test_list_servers
+tempest\.api\.compute\.servers\.test_create_server\.ServersTestJSON\.test_verify_server_details
+tempest\.api\.compute\.servers\.test_create_server\.ServersTestManualDisk\.test_list_servers
+tempest\.api\.compute\.servers\.test_create_server\.ServersTestManualDisk\.test_verify_server_details
+tempest\.api\.compute\.servers\.test_server_actions\.ServerActionsTestJSON\.test_reboot_server_hard
+tempest\.api\.compute\.servers\.test_server_addresses\.ServerAddressesTestJSON\.test_list_server_addresses
+tempest\.api\.compute\.servers\.test_server_addresses\.ServerAddressesTestJSON\.test_list_server_addresses_by_network
# Swift tests
+tempest\.api\.object_storage\.test_healthcheck.*
+tempest\.api\.object_storage\.test_container_services\.ContainerTesti\.test_delete_container
#+tempest\.api\.object_storage\.test_account_services\.AccountTest\.test_list_containers
# DEVQA-420: Image or glance testing
+tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_add_member_with_non_existing_image
+tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_delete_member_with_non_existing_image
+tempest\.api\.image\.v1\.test_images\.CreateRegisterImagesTest\.test_register_image_with_min_ram
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_image_blank_id
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_image_id_is_over_35_character_limit
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_image_negative_image_id
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_image_non_hex_string_id
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_image_with_invalid_image_id
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_delete_non_existent_image
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_register_with_invalid_container_format
+tempest\.api\.image\.v1\.test_images_negative\.CreateDeleteImagesNegativeTest\.test_register_with_invalid_disk_format
+tempest\.api\.image\.v2\.test_images\.BasicOperationsImagesTest\.test_delete_image
+tempest\.api\.image\.v2\.test_images\.BasicOperationsImagesTest\.test_update_image
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_get_image_member
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_get_image_member_schema
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_get_image_members_schema
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_image_share_accept
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_image_share_reject
+tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_remove_image_member
+tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_invalid_status
+tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_owner_cannot_accept
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_delete_image_null_id
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_delete_non_existing_image
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_get_delete_deleted_image
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_get_image_null_id
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_get_non_existent_image
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_register_with_invalid_container_format
+tempest\.api\.image\.v2\.test_images_negative\.ImagesNegativeTest\.test_register_with_invalid_disk_format
+tempest\.api\.image\.v2\.test_images_tags\.ImagesTagsTest\.test_update_delete_tags_for_image
+tempest\.api\.image\.v2\.test_images_tags_negative\.ImagesTagsNegativeTest\.test_delete_non_existing_tag
+tempest\.api\.image\.v2\.test_images_tags_negative\.ImagesTagsNegativeTest\.test_update_tags_for_non_existing_image
# DEVQA-421: Adding some Neutron API tests
+tempest\.api\.network\test_networks
+tempest\.api\.network\test_networks_negative
+tempest\.api\.network\test_ports
+tempest\.api\.network\test_routers
+tempest\.api\.network\test_routers_negative
+tempest\.api\.network\test_security_groups
+tempest\.api\.network\test_security_groups_negative
+tempest\.api\.network\test_floating_ips
+tempest\.api\.network\test_floating_ips_negative
# DEVQA-422: Adding some Neutron API tests
+tempest\.api\.volume\.test_volumes_get.*
+tempest\.api\.volume\.test_volumes_extend.*
#
+tempest\.api\.compute\.volumes\.test_volumes_list.*
+tempest\.api\.compute\.volumes\.test_volumes_get.*
# HORI-3925: Enable horizon test
+tempest\.scenario\.test_dashboard_basic_ops.*
# Heat/Orchestration API tests
+heat_integrationtests\.api\.*
# BUG-781 Disable glance test that require sharing as per GLAN-1977
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_get_image_member
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_image_share_accept
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_image_share_reject
-tempest\.api\.image\.v2\.test_images_member\.ImagesMemberTest\.test_remove_image_member
-tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_add_member_with_non_existing_image
-tempest\.api\.image\.v1\.test_image_members_negative\.ImageMembersNegativeTest\.test_delete_member_with_non_existing_image
-tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_invalid_status
-tempest\.api\.image\.v2\.test_images_member_negative\.ImagesMemberNegativeTest\.test_image_share_owner_cannot_accept
#IRONIC-349 Enable Baremetal tests
+tempest\.scenario\.test_baremetal_basic_ops.*
07070100000033000081A40000000000000000000000015E7DED4B000002CE000000000000000000000000000000000000005800000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/run_filters/vpnaas.txt.j2{#
#
# (c) Copyright 2019 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}

{% if (tempest_testable.neutron | bool) %}
# Run all neutron VPNaaS tests
# Requires centralized router
+neutron_vpnaas\.*
{% endif %}
07070100000034000081ED0000000000000000000000015E7DED4B0000084A000000000000000000000000000000000000004C00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/files/tests2skip.py#!/usr/bin/env python
#
# Copyright 2013 Red Hat
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

# Reads in a list of exclude regular expressions from a file and outputs a
# regex suitable to be passed into testr

import sys

"""
Whitelist is applied first. The blacklist is executed against the set of
tests returned by the whitelist.
If whitelist is empty, all available tests are fed to blacklist.
If blacklist is empty, all tests from whitelist are returned.

The syntax for white-list and black-list is as follows:
- lines starting with # or empty are ignored
- lines starting with "+" are whitelisted
- lines starting with "-" are blacklisted
- lines not matching any of the above conditions are blacklisted

The match for each line gets added a "^" in the beginning,
so the regular expression should account for that.

For example, the following scenario:

    run all the smoke tests and scenario tests,
    but exclude the api.volume tests.

is implemented as:

    +.*smoke
    +tempest\.scenario
    -tempest\.api\.volume.*
"""

whitelist = []
blacklist = []
with open(sys.argv[1]) as fp:
    for line in fp:
        line = line.strip()
        if not line or line[0] == '#':
            continue
        if line.startswith("+"):
            whitelist.append(line[1:])
        elif line.startswith("-"):
            blacklist.append(line[1:])
        else:
            blacklist.append(line)

regex = '^(?=({whitelist}))'
params = dict(whitelist="|".join(whitelist))
if blacklist:
    regex += '(?!({blacklist}))'
    params['blacklist'] = "|".join(blacklist)

print(regex.format(**params))
07070100000035000041ED0000000000000000000000025E7DED4B00000000000000000000000000000000000000000000003D00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/meta07070100000036000081A40000000000000000000000015E7DED4B00000263000000000000000000000000000000000000004600000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/meta/main.yml# (c) Copyright 2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
dependencies:
  - role: tls-vars
07070100000037000041ED0000000000000000000000025E7DED4B00000000000000000000000000000000000000000000003E00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks07070100000038000081A40000000000000000000000015E7DED4B00000BE2000000000000000000000000000000000000005900000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/add-hosts-to-inventory.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- name: tempest | add-hosts-to-inventory | Setup workers for region by service
  add_host:
    name: tempest_{{ item.region }}
    groups: tempest_all,
            tempest_regions,
            tempest_{{ item.region }}

    ansible_ssh_host: "{{ ansible_ssh_host }}"

    KEY_API: "{{ KEY_API }}" # noqa
    TPS_TST: "{{ TPS_TST }}" # noqa

    tempest_worker:
      config_filename: tempest_{{ item.region }}.conf
      config_parts_dir: >
        {{ tempest_run.resource_dir }}/{{ item.region }}/.part_configs
      log_filename: tempest_{{ item.region }}.log
      subunit_filename: "{{ subunit_prefix }}_{{ item.region }}.subunit"
      region_name: "{{ item.region }}"
      resource_dir: "{{ tempest_run.resource_dir }}/{{ item.region }}"
      services: "{{ item.services }}"
      services_by_region: "{{ item.services }}"
      testr_log_filename: testr_results_{{ item.region }}.log
  with_items: "{{ cp_tempest_test_plans.by_region }}"
  when: tempest_test_axis in ["region", "all"]
  run_once: true

- name: tempest | add-hosts-to-inventory | control_plane for region by service
  add_host:
    name: tempest_{{ item.control_plane }}-{{ item.region }}
    groups: tempest_all,
            tempest_control_planes,
            tempest_{{ item.control_plane }}-{{ item.region }}

    ansible_ssh_host: "{{ ansible_ssh_host }}"

    KEY_API: "{{ KEY_API }}" # noqa
    TPS_TST: "{{ TPS_TST }}" # noqa

    tempest_worker:
      config_filename: tempest_{{ item.control_plane }}-{{ item.region }}.conf
      config_parts_dir: >
        {{ tempest_run.resource_dir }}/{{
            item.control_plane }}-{{ item.region }}/.config_parts
      log_filename: tempest_{{ item.control_plane }}-{{ item.region }}.log
      subunit_filename: >
        {{ subunit_prefix }}_{{ item.control_plane }}-{{ item.region }}.subunit
      region_name: "{{ item.region }}"
      resource_dir: >
        {{ tempest_run.resource_dir }}/{{
        item.control_plane }}-{{ item.region }}
      services: "{{ item.services }}"
      services_by_region: >
        {{ ((cp_tempest_test_plans.by_region |
            group_by_key('region'))[item.region] |
            first).services }}
      testr_log_filename: >
        testr_results_{{ item.control_plane }}-{{ item.region }}.log
  with_items: "{{ cp_tempest_test_plans.by_control_plane }}"
  when: tempest_test_axis in ["control_plane", "all"]
  run_once: true
07070100000039000081A40000000000000000000000015E7DED4B00000338000000000000000000000000000000000000004A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/cleanup.yml#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- name: tempest | cleanup | Clear down tmp directory
  become: yes
  become_user: "{{ tempest_user }}"
  shell: find /tmp -user {{ tempest_user }} -delete
  failed_when: false
0707010000003A000081A40000000000000000000000015E7DED4B000003D3000000000000000000000000000000000000005200000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/config-assemble.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- name: tempest | config-assemble | Combine Tempest config fragments
  become: yes
  become_user: "{{ tempest_user }}"
  assemble:
    src: "{{ tempest_worker.config_parts_dir }}"
    dest: "{{ tempest_run.conf_dir }}/{{ tempest_worker.config_filename }}"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    mode: 0600
0707010000003B000081A40000000000000000000000015E7DED4B00000A38000000000000000000000000000000000000004C00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/configure.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
# Configure Tempest on the target node

- name: tempest | configure | Add group Tempest group
  become: yes
  group:
    name: "{{ tempest_group }}"

- name: tempest | configure | Add user Tempest user
  become: yes
  user:
    name: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    home: "{{ tempest_run.dir }}"
    createhome: no
    shell: /bin/bash

- name: tempest | configure | Create tempest_run folders
  become: yes
  file:
    path: "{{ item.value }}"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    state: directory
    mode: 0755
  with_dict: tempest_run

- name: tempest | configure | Create venv symlink for advanced testing
  become: yes
  file:
    src: "{{ tempest_install_dir }}"
    dest: "{{ tempest_run.dir }}/venv"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    state: link
  when: deployer_media_legacy_layout|bool

- name: tempest | configure | Create testr config file
  become: yes
  copy:
    src: .testr.conf
    dest: "{{ tempest_run.dir }}/.testr.conf"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    mode: 0644

- name: tempest | configure | Deploy tests2skip.py
  become: yes
  copy:
    src: tests2skip.py
    dest: "{{ tempest_run.bin_dir }}/tests2skip.py"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    mode: 0644

- name: tempest | configure | Clean up existing run_filters
  become: yes
  file:
    state: absent
    path: "{{ tempest_run.dir }}/run_filters"

- name: tempest | configure | Deploy run_filters
  become: yes
  copy:
    src: run_filters
    dest: "{{ tempest_run.dir }}"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    mode: 0644

- name: tempest | configure | Deploy ardana-tempest script to run tests
  become: yes
  template:
    src: ardana-tempest.sh.j2
    dest: "{{ tempest_run.bin_dir }}/ardana-tempest.sh"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    mode: 0755
0707010000003C000081A40000000000000000000000015E7DED4B000004BC000000000000000000000000000000000000004E00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/fail-safely.yml#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

- name: tempest | fail-safely | Propagate failure in ardana-tempest script
  fail:
    msg: "{{ tempest_run_result.msg | default('Failure in tempest tests') }}"
  # tests-ci run filter with it's nothing-matching filter will cause testr to
  # exit with a non-zero exit code and that should not be considered as failure.
  # However, in other cases where we run 0 tests, we want to consider that
  # a failure because that's not usually expected.
  when: tempest_run_result is defined and
        (tempest_run_result | failed) and
        run_filter != "tests-ci"
0707010000003D000081A40000000000000000000000015E7DED4B000004EC000000000000000000000000000000000000005100000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/install-legacy.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- name: tempest | install | Install binary dependencies for Tempest
  become: yes
  package:
    name: "{{ item }}"
    state: present
  with_items: tempest_packages

- name: tempest | install | Update venv cache
  become: yes
  install_package:
    cache: update

- name: tempest | install | Install Tempest
  become: yes
  install_package:
    name: tempest
    service: tempest
    state: present
    activate: act_on

- name: tempest | install | Install Neutron for lbaas,fwaas,vpnaas tests
  become: yes
  install_package:
    name: neutron
    service: neutron
    state: present
    activate: act_on
0707010000003E000081A40000000000000000000000015E7DED4B0000054F000000000000000000000000000000000000004A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/install.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

- name: tempest | install | Set os-specific variables
  include_vars: "{{ ansible_os_family | lower }}.yml"

- include: install-legacy.yml
  when: deployer_media_legacy_layout|bool

- name: tempest | install | Install Tempest (SUSE)
  become: yes
  zypper:
    name: "{{ item }}"
    state: present
  with_items:
    - openstack-tempest-test
    - python-barbican-tempest-plugin
    - python-ceilometer
    - python-designate-tempest-plugin
    - python-freezer
    - python-heat
    - python-monasca-tempest-plugin
    - python-neutron
    - python-neutron-fwaas
    - python-neutron-lbaas
    - python-neutron-vpnaas
    - python-magnum
    - python-manila
  when: not deployer_media_legacy_layout|bool
0707010000003F000081A40000000000000000000000015E7DED4B00000FE7000000000000000000000000000000000000004600000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/run.yml
#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- name: tempest | run | Generate the lock_path directory
  become: yes
  become_user: "{{ tempest_user }}"
  command: mktemp -d
  register: tempest_run_lock_path_result

- name: tempest | run | Set lock_path in Tempest config
  become: yes
  become_user: "{{ tempest_user }}"
  ini_file:
    dest: "{{ tempest_run.conf_dir }}/{{ tempest_worker.config_filename }}"
    section: oslo_concurrency
    option: lock_path
    value: "{{ tempest_run_lock_path_result.stdout }}"

- name: tempest | run | Specialise run filter
  become: yes
  template:
    src:  "{{ tempest_run.run_filters }}/{{ run_filter }}.txt.j2"
    dest: "{{ tempest_run_lock_path_result.stdout }}/{{ run_filter }}.txt"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    mode: 0755

- name: tempest | run | Check if serial filter exists
  stat:
    path: "{{ tempest_run.run_filters }}/{{ run_filter }}_serial.txt.j2"
  register: _serial_filter

- name: tempest | run | Generate serial filters, if any
  become: yes
  template:
    src:  "{{ tempest_run.run_filters }}/{{ run_filter }}_serial.txt.j2"
    dest: "{{ tempest_run_lock_path_result.stdout }}/{{ run_filter }}_serial.txt"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    mode: 0755
  when: _serial_filter.stat.exists

- name: tempest | run | Trigger ardana-tempest.sh
  become: yes
  become_user: "{{ tempest_user }}"
  shell: >
    cd {{ tempest_worker.resource_dir }} &&
    {{ tempest_run.bin_dir }}/ardana-tempest.sh
    --config {{ tempest_worker.config_filename }}
    --subunit {{ tempest_run.log_dir }}/{{ tempest_worker.subunit_filename }}
    --run-filter {{ tempest_run_lock_path_result.stdout }}/{{ run_filter }}.txt
    {% if _serial_filter.stat.exists %}
    --serial-filters {{ run_filter }}_serial
    {% endif %}
    --os-test-timeout {{ tempest_test_timeout }}
    >{{ tempest_run.log_dir }}/{{ tempest_worker.testr_log_filename }} 2>&1
  # This make the shell command continue on failure and suppresses
  # failed output.
  failed_when: false
  async: "{{ tempest_timeout_secs }}"
  poll: "{{ tempest_poll_secs }}"
  # This make the async continue on a timeout.
  # Note: async module ignore 'failed_when' settings.
  register: tempest_run_result
  ignore_errors: true

- name: tempest | run | Remove lock_path in Tempest config
  become: yes
  become_user: "{{ tempest_user }}"
  ini_file:
    dest: "{{ tempest_run.conf_dir }}/{{ tempest_worker.config_filename }}"
    section: DEFAULT
    option: lock_path
    state: absent
  failed_when: false

- name: tempest | run | Delete lock_path directory
  file:
    path: "{{ tempest_run_lock_path_result.stdout }}"
    state: absent
  failed_when: false

- name: tempest | run | Output any Tempest test results in Ansible
  command: >
    cat {{ tempest_run.log_dir }}/{{ tempest_worker.testr_log_filename }}
  register: tempest_output_result
  when: (tempest_run_result | failed)

- name: tempest | run | Output any Tempest test results to user
  debug:
    msg: "{{ tempest_output_result.stdout_lines }}"
  when: (tempest_run_result | failed) and
        tempest_output_result.stdout != ""

- name: tempest | run | Move Tempest test result to log directory
  become: yes
  become_user: "{{ tempest_user }}"
  command: >
    mv
    {{ tempest_worker.resource_dir }}/{{ tempest_worker.log_filename }}
    {{ tempest_run.log_dir }}/{{ tempest_worker.log_filename }}
  failed_when: false
07070100000040000081A40000000000000000000000015E7DED4B00000F7E000000000000000000000000000000000000005000000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/static-config.yml#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---

- name: tempest | static-config | Create required resource directories
  become: yes
  file:
    path: "{{ item }}"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    state: directory
    mode: 0755
  with_items:
    - "{{ tempest_worker.resource_dir }}"
    - "{{ tempest_worker.config_parts_dir }}"

# Generate a tempest confguration for the on the test target.
- name: tempest | static-config | Create Tempest config for each region
  become: yes
  become_user: "{{ tempest_user }}"
  template:
    src: "tempest.conf.j2"
    dest: "{{ tempest_worker.config_parts_dir }}/tempest.conf"
    owner: "{{ tempest_user }}"
    group: "{{ tempest_group }}"
    mode: 0600

# TLS logic:
- name: tempest | static-config | validate Tempest TLS setup
  fail:
    msg: |
      A single endpoint can be passed on to Tempest.
      So either enable_internal_tls or enable_external_tls needs to be true.
  when: enable_internal_tls == "true" and
        enable_external_tls == "true"

- name: tempest | static-config | Clear TLS configuration.
  become: yes
  become_user: "{{ tempest_user }}"
  file:
    path: "{{ tempest_worker.config_parts_dir }}/tls_tempest.conf"
    state: absent

# TLS disabled: enable_external_tls=false and enable_internal_tls=false
- name: tempest | static-config | Configure Tempest without TLS
  become: yes
  become_user: "{{ tempest_user }}"
  ini_file:
    dest: "{{ tempest_worker.config_parts_dir }}/tls_tempest.conf"
    section: "{{ item.section }}"
    option: "{{ item.option }}"
    value: "{{ item.value }}"
  when: enable_external_tls == "false" and
        enable_internal_tls == "false" and
        (item.enabled | bool)
  with_items:
     - "{{ tempest_tls.disabled }}"
     - "{{ tempest_tls.common }}"

# internal TLS enabled : enable_external_tls=false and
# enable_internal_tls=true
- name: tempest | static-config | Configure with internal TLS enabled
  become: yes
  become_user: "{{ tempest_user }}"
  ini_file:
    dest: "{{ tempest_worker.config_parts_dir }}/tls_tempest.conf"
    section: "{{ item.section }}"
    option: "{{ item.option }}"
    value: "{{ item.value }}"
  when: enable_external_tls == "false" and
        enable_internal_tls == "true" and
        (item.enabled | bool)
  with_items:
    - "{{ tempest_tls.internal_enabled }}"
    - "{{ tempest_tls.common }}"

# external TLS enabled : enable_external_tls=true and
# enable_internal_tls=false
- name: tempest | static-config | Configure Tempest with external TLS
  become: yes
  become_user: "{{ tempest_user }}"
  ini_file:
    dest: "{{ tempest_worker.config_parts_dir }}/tls_tempest.conf"
    section: "{{ item.section }}"
    option: "{{ item.option }}"
    value: "{{ item.value }}"
  when: enable_external_tls == "true" and
        enable_internal_tls == "false" and
        (item.enabled | bool)
  with_items:
    - "{{ tempest_tls.external_enabled }}"

- name: tempest | static-config | Set the ironic specific values
  become: yes
  become_user: "{{ tempest_user }}"
  ini_file:
    dest: "{{ tempest_worker.config_parts_dir }}/tls_tempest.conf"
    section: "{{ item.section }}"
    option: "{{ item.option }}"
    value: "{{ item.value }}"
  when: (tempest_available.ironic | bool) and
        (item.enabled | bool)
  with_items:
    - "{{ tempest_ironic_cloud_options }}"
07070100000041000081A40000000000000000000000015E7DED4B00001F68000000000000000000000000000000000000005100000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/test-resources.yml#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
# Note: We use the internal Tempest client here so not to have to install
#       venv CLI client.
- name: tempest | test-resources | Check if tempest network exists
  shell: >
    ./openstack network show {{ tempest_network_name }} -f yaml | grep -E ^id:\|^router:external
  environment: &OS_ADMIN_ENV
    OS_USERNAME: "{{ tempest_keystone.admin_user }}"
    OS_PROJECT_NAME: "{{ tempest_keystone.admin_project }}"
    OS_PASSWORD: "{{ tempest_keystone.admin_pwd }}"
    OS_AUTH_URL: "{{ tempest_auth_url }}"
    OS_REGION_NAME: "{{ tempest_worker.region_name }}"
    OS_INTERFACE: internal
    OS_CACERT: "{{ cacert }}"
    OS_IDENTITY_API_VERSION: 3
    OS_USER_DOMAIN_NAME: Default
    OS_PROJECT_DOMAIN_NAME: Default
  args:
    chdir: "{{ tempest_bin_dir }}"
  changed_when: false
  register: public_network_id_result
  when: (tempest_available.neutron | bool)

- name: tempest | test-resources | Check and fail if there is no network set-up
  fail:
    msg: "No {{ tempest_network_name }} found. Please create one"
  when: (tempest_available.neutron | bool) and
        (public_network_id_result | failed)

- name: tempest | test-resources | Download magnum image
  become: yes
  become_user: "{{ tempest_user }}"
  get_url:
    timeout: 30
    url: "{{ tempest_magnum.image_url }}"
    dest: "{{ tempest_run.dir }}/{{ tempest_magnum.image_name }}.qcow2"
  register: get_url_result
  until: get_url_result|success
  retries: 5
  delay: 10
  environment:
    http_proxy: "{{ proxy }}"
  run_once: true
  when: (tempest_available.magnum | bool)

- name: tempest | test-resources | Upload magnum image
  command: >
    openstack image create --container-format bare --disk-format qcow2 --public --property os_distro=fedora-atomic \
    --file {{ tempest_run.dir }}/{{ tempest_magnum.image_name }}.qcow2 \
    {{ tempest_magnum.image_name }} -f value -c id
  environment: *OS_ADMIN_ENV
  register: magnum_image_id
  until: magnum_image_id|success
  retries: 5
  delay: 10
  run_once: true
  when: (tempest_available.magnum | bool)

- name: tempest | test-resources | Download guest OS image UUID from Glance
  shell: >
    ./openstack image list | awk '/{{ glance_image_name }}/{print $2; exit}'
  args:
    chdir: "{{ tempest_bin_dir }}"
  environment: *OS_ADMIN_ENV
  changed_when: false
  register: user_image_uuid_result
  when: (tempest_available.glance | bool)

- name: tempest | test-resources | Download Cirros image from Glance
  become: yes
  become_user: "{{ tempest_user }}"
  command: >
    ./openstack image save --file "{{ tempest_run.dir }}/{{ glance_image_name }}_{{ tempest_worker.region_name }}.img"
    "{{ user_image_uuid_result.stdout }}"
  args:
    chdir: "{{ tempest_bin_dir }}"
    creates: "{{ tempest_run.dir }}/{{ glance_image_name }}_{{ tempest_worker.region_name }}.img"
  environment: *OS_ADMIN_ENV
  when: (tempest_available.glance | bool)

- name: tempest | test-resources | Upload Cirros alt image
  command: >
    openstack image create --container-format bare --disk-format qcow2 --public \
    --file {{ tempest_run.dir }}/{{ glance_image_name }}_{{ tempest_worker.region_name }}.img \
    {{ glance_image_name }}_alt -f value -c id
  register: cirros_alt_uuid
  environment: *OS_ADMIN_ENV
  until: cirros_alt_uuid|success
  retries: 5
  delay: 10
  run_once: true
  when: (tempest_available.glance | bool)

- name: tempest | test-resources | Clear resource configuration
  become: yes
  become_user: "{{ tempest_user }}"
  file:
    path: "{{ tempest_worker.config_parts_dir }}/res_tempest.conf"
    state: absent

- name: tempest | test-resources | Update Tempest config for glance
  become: yes
  become_user: "{{ tempest_user }}"
  ini_file:
    dest: "{{ tempest_worker.config_parts_dir }}/res_tempest.conf"
    section: "{{ item.section }}"
    option: "{{ item.option }}"
    value: "{{ item.value }}"
  when: (tempest_available.glance | bool) and
        (item.enabled | bool)
  with_items:
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "image_ref", value: "{{ user_image_uuid_result.stdout }}" }
    - { enabled: "{{ tempest_available.nova }}",
        section: "compute", option: "image_ref_alt", value: "{{ cirros_alt_uuid.stdout }}" }
    - { enabled: true,
        section: "scenario", option: "img_file", value: "{{ glance_image_name }}_{{ tempest_worker.region_name }}.img" }
    - { enabled: true,
        section: "scenario", option: "img_dir", value: "{{ tempest_run.dir }}" }
    - { enabled: true,
        section: "validation", option: "image_ssh_user", value: "{{ glance_image_ssh_user }}" }
    - { enabled: "{{ tempest_available.heat }}",
        section: "heat_plugin", option: "image_ref", value: "{{ user_image_uuid_result.stdout }}" }
    - { enabled: "{{ tempest_available.heat }}",
        section: "heat_plugin", option: "minimal_image_ref", value: "{{ cirros_alt_uuid.stdout }}" }
    - { enabled: "{{ tempest_available.magnum }}",
        section: "magnum", option: "image_id", value: "{{ magnum_image_id.stdout }}" }

- name: tempest | test-resources | Update Tempest config for run
  become: yes
  become_user: "{{ tempest_user }}"
  ini_file:
    dest: "{{ tempest_worker.config_parts_dir }}/res_tempest.conf"
    section: "{{ item.section }}"
    option: "{{ item.option }}"
    value: "{{ item.value }}"
  when:
    - tempest_available.neutron | bool
    - item.enabled | bool
    - (public_network_id_result.stdout | from_yaml)['router:external'] == 'External'
  with_items:
    - { enabled: "{{ tempest_available.neutron }}",
        section: "network", option: "public_network_id", value: "{{ (public_network_id_result.stdout | from_yaml ).id }}" }

- name: tempest | test-resources | Check network resources for heat tests
  shell: >
    openstack network show {{ tempest_heat_network_name }}
  environment: &OS_DEMO_ENV
    OS_USERNAME: "{{ tempest_keystone.demo_user }}"
    OS_PROJECT_NAME: "{{ tempest_keystone.demo_project }}"
    OS_PASSWORD: "{{ tempest_keystone.demo_pwd }}"
    OS_AUTH_URL: "{{ tempest_auth_url }}"
    OS_REGION_NAME: "{{ tempest_worker.region_name }}"
    OS_INTERFACE: internal
    OS_CACERT: "{{ cacert }}"
    OS_IDENTITY_API_VERSION: 3
    OS_USER_DOMAIN_NAME: Default
    OS_PROJECT_DOMAIN_NAME: Default
  register: tempest_heat_network_check_result
  ignore_errors: True
  when: (tempest_available.heat | bool)

- name: tempest | test-resources | Create network resources for heat tests
  shell: >
    openstack network create {{ tempest_heat_network_name }}
  environment: *OS_DEMO_ENV
  register: tempest_heat_network_create_result
  run_once: true
  when: (tempest_available.heat | bool) and
        (tempest_heat_network_check_result | failed)

- name: tempest | test-resources | Check subnet for heat tests
  shell: >
    openstack subnet show {{ tempest_heat_subnet_name }}
  environment: *OS_DEMO_ENV
  ignore_errors: True
  register: tempest_heat_subnet_check_result
  when: (tempest_available.heat | bool)

- name: tempest | test-resources | Create subnet for heat tests
  shell: >
    openstack  subnet create --network {{ tempest_heat_network_name }} --subnet-range {{ tempest_heat_subnet_range }}
    {{ tempest_heat_subnet_name }}
  environment: *OS_DEMO_ENV
  register: tempest_heat_subnet_create_result
  run_once: true
  when: (tempest_available.heat | bool) and
        (tempest_heat_subnet_check_result | failed)
07070100000042000081A40000000000000000000000015E7DED4B000004A9000000000000000000000000000000000000004A00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/tasks/upgrade.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- name: tempest | upgrade | Get stats for the tempest directory
  stat:
    path: "{{ tempest_run.dir }}"
  register: tempest_upgrade_stat_result

- name: tempest | upgrade | If tempest_run.dir is a symlink remove it
  become: yes
  file:
    path: "{{ tempest_run.dir }}"
    state: absent
  when: tempest_upgrade_stat_result.stat.exists and
        tempest_upgrade_stat_result.stat.lnk_source is defined

- name: tempest | upgrade | Ensure heat-tempest-pugin removed
  become: yes
  zypper:
    name: "python-heat-tempest-plugin"
    state: absent
07070100000043000041ED0000000000000000000000025E7DED4B00000000000000000000000000000000000000000000004200000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/templates07070100000044000081A40000000000000000000000015E7DED4B000017FB000000000000000000000000000000000000005700000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/templates/ardana-tempest.sh.j2#!/usr/bin/env bash
#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#

set -eux
set -o pipefail

# reference all jinja2 vars here and copy to shell vars
# After this jinja2 templating will be turned off
run_filter={{ run_filter }}
tempest_site_dir={{ tempest_site_dir }}
tempest_run_conf_dir={{ tempest_run.conf_dir }}
tempest_bin_dir={{ tempest_bin_dir }}
tempest_run_bin_dir={{ tempest_run.bin_dir }}
tempest_run_dir={{ tempest_run.dir }}
run_concurrency={{ run_concurrency }}

{# !!! No jinja2 templating beyond this point !!! #}
{% raw %}

SCRIPT_NAME=$(basename $0)

TEMPEST_CONFIG_FILENAME=""
TEMPEST_SUBUNIT_FILENAME="testrepository.subunit"
TEMPEST_RUN_FILTER=""
TEMPEST_SERIAL_FILTERS=""

usage() {
    echo "$SCRIPT_NAME [--config file] [options]"
    echo
    echo "Runs Tempest against a deployed Ardana OpenStack cloud."
    echo
    echo "--config           -- Tempest config file to run on the cloud."
    echo
    echo "Optional:"
    echo "--subunit          -- Name of the subunit output file to be used."
    echo "                      Default to: testrepository.subunit"
    echo "--run-filter       -- The run filter to restrict test suite."
    echo "                      Default to: ${run_filter}."
    echo "--serial-filters   -- Comma separated list of additional run filter"
    echo "                      names to run serialised."
    echo "--os-test-path     -- Path to Tempest test_discover to be used"
    echo "                      Default to: ${tempest_site_dir}/tempest/test_discover"
    echo "--os-test-timeout  -- Set Tempest timeout"
    echo "                      Default to: 750 seconds"
    echo
}

OPTIONS=help,config,subunit,run-filter,os-test-path,os-test-timeout,serial-filters
TEMP=$(getopt -o -h -l $OPTIONS -n $SCRIPT_NAME -- "$@")
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi

# Note the quotes around `$TEMP': they are essential!
eval set -- "$TEMP"

while true ; do
    case "$1" in
        -h | --help) usage ; exit 0 ;;
        --config) TEMPEST_CONFIG_FILENAME=$2; shift 2 ;;
        --subunit)  TEMPEST_SUBUNIT_FILENAME=$2; shift 2 ;;
        --run-filter) TEMPEST_RUN_FILTER=$2; shift 2 ;;
        --serial-filters) TEMPEST_SERIAL_FILTERS=$2; shift 2 ;;
        --os-test-path) OS_TEST_PATH=$2; shift 2 ;;
        --os-test-timeout) OS_TEST_TIMEOUT=$2; shift 2 ;;
        --) shift ; break;;
        *) break ;;
    esac
done

if [ -z "$TEMPEST_CONFIG_FILENAME" ]; then
  usage; exit 1;
fi

set -x

# Environment variable may be overridden by the caller.
export OS_TEST_PATH="${OS_TEST_PATH:-${tempest_site_dir}/tempest/test_discover}"
export OS_TEST_TIMEOUT="${OS_TEST_TIMEOUT:-750}"

export OS_TOP_LEVEL="${tempest_site_dir}"

export TEMPEST_CONFIG="${tempest_run_conf_dir}/$TEMPEST_CONFIG_FILENAME"
export TESTR="${tempest_bin_dir}/testr"
export PYTHON="${tempest_bin_dir}/python"
export TESTS_TO_SKIP_BIN="${tempest_run_bin_dir}/tests2skip.py"

if [ -e "$TEMPEST_RUN_FILTER" ]; then
    export RUN_FILTER="$TEMPEST_RUN_FILTER"
else
    export RUN_FILTER="${tempest_run_dir}/run_filters/${TEMPEST_RUN_FILTER:-${run_filter}}.txt"
fi

echo "Run filter used: $RUN_FILTER"
cat "$RUN_FILTER"
echo

if [ "$TEMPEST_RUN_FILTER" = "lbaas" ]; then
   export OS_TEST_PATH="${tempest_site_dir}/neutron_lbaas/tests/tempest/v3"
fi

if [ "$TEMPEST_RUN_FILTER" = "neutron-api" ]; then
   export OS_TEST_PATH="${tempest_site_dir}/neutron/tests/api"
fi

FILTERS=$(${PYTHON} "${TESTS_TO_SKIP_BIN}" "${RUN_FILTER}")

# Copy in the testr.conf for tempest.
if [ ! -e ".testr.conf" ]; then
    cp "${tempest_run_dir}/.testr.conf" .
fi
if [ ! -e ".testrepository" ]; then
    $TESTR init
fi

# Look for serial filters in the same location as RUN_FILTER
serial_filters_dir="$(dirname ${RUN_FILTER})"

# Report serial filters being used, if any
serial_filters=( ${TEMPEST_SERIAL_FILTERS//,/ } )
if (( ${#serial_filters[@]} > 0 )); then
    for sf in "${serial_filters[@]}"
    do
        sf_file="${serial_filters_dir}/${sf}.txt"
        echo "Serial run filter used: ${sf_file}"
        cat "${sf_file}"
        echo
    done
fi

run_tests()
{
    # kick off parallel tests
    $TESTR run \
        --subunit \
        --parallel \
        --concurrency ${run_concurrency} \
        "${FILTERS}"

    # Generate a subunit file from the testrepository database.
    $TESTR last --subunit > "$TEMPEST_SUBUNIT_FILENAME"

    # kick off the serialised tests, if any
    if (( ${#serial_filters[@]} > 0 )); then
        for sf in "${serial_filters[@]}"
        do
            export RUN_FILTER="${serial_filters_dir}/${sf}.txt"

            # skip if there are no real entries in the filter file
            (( $(grep -v -c -E -e "^[[:space:]]*(#.*|)$" ${RUN_FILTER}) > 0 )) || continue

            # generate filters list
            FILTERS=$(${PYTHON} "${TESTS_TO_SKIP_BIN}" "${RUN_FILTER}")
            # TODO(fergal) check if we should skip if filters list is empty?

            $TESTR run \
                --subunit \
                "${FILTERS}"

	    # Append serial filter results to existing subunit file
            $TESTR last --subunit >> "$TEMPEST_SUBUNIT_FILENAME"
        done
    fi
}

# Unset any proxy details in the enviroment.
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY

# Run the tempest tests.
# Any failing test will cause testr to return non-zero;
# we unconditionally want to run subunit afterwards.
exit_res=0
if ! \
    run_tests |
    ${tempest_bin_dir}/subunit-trace \
    --no-failure-debug \
    -f; then
    exit_res=1
fi
exit $exit_res
{% endraw %}
07070100000045000081A40000000000000000000000015E7DED4B0000194F000000000000000000000000000000000000005200000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/templates/tempest.conf.j2{#
#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#}
# Basic configuration file
# The keystone credentials and host need to be referenced here explicitly
# because of https://github.com/ansible/ansible/issues/9008

[DEFAULT]
debug = true
log_file = {{ tempest_worker.log_filename }}
use_stderr = false

{% if (tempest_available.nova | bool) %}
[compute]
flavor_ref = {{ flavor_ref }}
flavor_ref_alt = {{ flavor_ref_alt }}
min_compute_nodes = 2
max_microversion = latest
build_timeout = {{ compute_build_timeout }}

[compute-feature-enabled]
resize = true
live_migration = true
block_migration_for_live_migration = {{ not tempest_nova.ses_enabled | bool }}
block_migrate_cinder_iscsi = false
disk_config = true
vnc_console = true
{% endif %}

[identity]
username = {{ tempest_keystone.demo_user }}
project_name = {{ tempest_keystone.demo_project }}
password = {{ tempest_keystone.demo_pwd }}
# use domain scoped tokens for v3 admin tests
admin_domain_scope = True
region = {{ tempest_worker.region_name }}

[auth]
use_dynamic_credentials = true
admin_username = {{ tempest_keystone.admin_user }}
admin_project_name = {{ tempest_keystone.admin_project }}
admin_password = {{ tempest_keystone.admin_pwd }}
admin_domain_name = Default
tempest_roles = {{ tempest_roles }}

[identity-feature-enabled]
api_v3 = true
api_v2 = false
domain_specific_drivers = true

[image]
build_timeout = {{ image_build_timeout }}

[service-clients]
http_timeout = {{ tempest_http_timeout }}

[service_available]
cinder = {{ tempest_available.cinder }}
neutron = {{ tempest_available.neutron }}
glance = {{ tempest_available.glance }}
swift = {{ tempest_available.swift }}
nova = {{ tempest_available.nova }}
heat_plugin = {{ tempest_available.heat }}
ceilometer = {{ tempest_available.ceilometer }}
horizon = {{ tempest_available.horizon }}
sahara = {{ tempest_available.sahara }}
ironic = {{ tempest_available.ironic }}
trove = {{ tempest_available.trove }}
zaqar = {{ tempest_available.zaqar }}
designate = {{ tempest_available.designate }}
magnum = {{ tempest_available.magnum }}
manila = {{ tempest_available.manila }}

{% if (tempest_available.neutron | bool) %}
[network]
tenant_network_cidr = 10.10.0.0/16
tenant_networks_reachable = false
{% if (cp_tempest_data[tempest_worker.region_name].external_networks is defined) or
      tempest_network_name == 'ext-net' %}
floating_network_name = {{ tempest_network_name }}
{% endif %}
build_timeout = {{ network_build_timeout }}

[network-feature-enabled]
ipv6 = true
ipv6_subnet_attributes = true
port_security = true

api_extensions = default-subnetpools, network-ip-availability, network_availability_zone, auto-allocated-topology, ext-gw-mode, binding, agent, subnet_allocation, l3_agent_scheduler, tag, tag-ext, external-net, fwaasrouterinsertion, net-mtu, availability_zone, quotas, l3-ha, provider, multi-provider, vpnaas, address-scope, extraroute, lbaasv2, timestamp_core, fwaas, lbaas_agent_schedulerv2, extra_dhcp_opt, dns-integration, service-type, vpn-endpoint-groups, security-group, dhcp_agent_scheduler, router_availability_zone, rbac-policies, standard-attr-description, router, allowed-address-pairs, dvr
{% endif %}

[validation]
run_validation = True
ssh_timeout = {{ ssh_timeout }}
ping_timeout = {{ ping_timeout }}
connect_timeout = {{ connect_timeout }}

{% if (tempest_available.cinder | bool) %}
[volume]
build_timeout = {{ volume_build_timeout }}
{% if (tempest_cinder.ses_enabled | bool) %}
storage_protocol = ceph
{% endif %}
{% endif %}

{% if (tempest_available.swift | bool) %}
[object-storage]
realm_name = intracluster
cluster_name = thiscluster
{% endif %}

[scenario]
large_ops_number = 3

{% if (tempest_available.designate | bool) %}
[dns]
build_timeout = {{ dns_build_timeout }}
{% endif %}

[heat_plugin]
admin_username = {{ tempest_keystone.admin_user }}
admin_password = {{ tempest_keystone.admin_pwd }}
admin_project_name = {{ tempest_keystone.admin_project }}
region = {{ tempest_worker.region_name }}
project_domain_name = Default
user_domain_name = Default
auth_version = 3
username = {{ tempest_keystone.demo_user }}
password = {{ tempest_keystone.demo_pwd }}
project_name = {{ tempest_keystone.demo_project }}
ca_file = {{ cacert }}
instance_type = m1.small
minimal_instance_type = m1.tiny
floating_network_name = {{ tempest_network_name }}
fixed_network_name = {{ tempest_heat_network_name }}
fixed_subnet_name = {{ tempest_heat_subnet_name }}
boot_config_env = {{ tempest_heat.boot_config_template_path }}

{% if (tempest_available.barbican | bool) %}
[ephemeral_storage_encryption]
enabled = False
cipher = aes-xts-plain64
key_size = 256
{% endif %}

{% if (tempest_available.magnum | bool) %}
[magnum]
nic_id = {{ tempest_magnum.nic_id }}
flavor_id = {{ tempest_magnum.flavor_id }}
master_flavor_id = {{ tempest_magnum.master_flavor_id }}
copy_logs = False
{% endif %}

{% if (tempest_available.manila | bool) %}
[manila]
admin_username = {{ tempest_keystone.admin_user }}
admin_password = {{ tempest_keystone.admin_pwd }}
admin_project_name = {{ tempest_keystone.admin_project }}
region = {{ tempest_worker.region_name }}
project_domain_name = Default
user_domain_name = Default
auth_version = 3
ca_file = {{ cacert }}
endpoint_type = internal
manila_endpoint_type = internal

{% if (tempest_manila.ses_enabled | bool) %}
[share]
enable_protocols = cephfs
storage_protocol = CEPHFS
enable_ip_rules_for_protocols =
enable_cert_rules_for_protocols =
enable_cephx_rules_for_protocols = cephfs
capability_snapshot_support = False
backend_names = cephfsnative1
run_manage_unmanage_tests = False
min_api_microversion = 2.0
max_api_microversion = 2.40
share_creation_retry_number = 2
suppress_errors_in_cleanup = True
multi_backend = False
run_extend_tests = True
run_shrink_tests = True
multitenancy_enabled = False
run_snapshot_tests = False
run_consistency_group_tests = False
{% endif %}
{% endif %}
07070100000046000041ED0000000000000000000000025E7DED4B00000000000000000000000000000000000000000000003D00000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/vars07070100000047000081A40000000000000000000000015E7DED4B000002B7000000000000000000000000000000000000004800000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/vars/debian.yml#
# (c) Copyright 2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
tempest_packages:
    - libffi-dev
    - libssl-dev
07070100000048000081A40000000000000000000000015E7DED4B000002BE000000000000000000000000000000000000004600000000ardana-tempest-8.0+git.1585311051.6ab5488/roles/tempest/vars/suse.yml#
# (c) Copyright 2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
tempest_packages:
    - libffi4
    - libopenssl1_0_0
07070100000049000081A40000000000000000000000015E7DED4B000002D5000000000000000000000000000000000000004600000000ardana-tempest-8.0+git.1585311051.6ab5488/tempest-cloud-configure.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- include: _tempest-parallel-run.yml
  vars:
    tempest_task: test-resources.yml
0707010000004A000081A40000000000000000000000015E7DED4B0000044C000000000000000000000000000000000000003D00000000ardana-tempest-8.0+git.1585311051.6ab5488/tempest-deploy.yml#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
# This playbook installs and performs an initial configuration of Tempest
# tests. It is used as part of the Ardana deploy playbook to install Tempest
# on the deployer, so that it may be used by developers, deployers and CI
- hosts: TPS-TST
  roles:
    - tempest
  tasks:
    - include: roles/tempest/tasks/install.yml
    - include: roles/tempest/tasks/configure.yml

- include: _tempest-parallel-run.yml
  vars:
    tempest_task: static-config.yml
0707010000004B000081A40000000000000000000000015E7DED4B000002D4000000000000000000000000000000000000005500000000ardana-tempest-8.0+git.1585311051.6ab5488/tempest-reconfigure-credentials-change.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- include: _tempest-parallel-run.yml
  vars:
    tempest_task: static-config.yml
0707010000004C000081A40000000000000000000000015E7DED4B000002D4000000000000000000000000000000000000004200000000ardana-tempest-8.0+git.1585311051.6ab5488/tempest-reconfigure.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
- include: _tempest-parallel-run.yml
  vars:
    tempest_task: static-config.yml
0707010000004D000081A40000000000000000000000015E7DED4B00000748000000000000000000000000000000000000003A00000000ardana-tempest-8.0+git.1585311051.6ab5488/tempest-run.yml#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
# This playbook performs a Tempest run against a deployed cloud. It is not
# executed as part of Ardana deploy. It is instead triggered indipendently either
# by CI, or by an user of the deployed cloud.

# This playbook aims to return the cloud to the same state it was before tests
# were executed. To achieve this it will create test resources, update the
# configuration, run the tests, archive the test results, and cleanup the
# test resources initially created.

# some stuff needs to be run on cluster member to have access
# to CP output.

# Set-up tempest resource phoney test nodes for parrellel run.
- hosts: TPS-TST
  roles:
    - tempest
  tasks:
    - include: roles/tempest/tasks/add-hosts-to-inventory.yml

# Run the tests on phoney test nodes.
- hosts: tempest_*
  gather_facts: no
  roles:
    - tempest
  tasks:
    - include: roles/tempest/tasks/run.yml

# Cleanup the test run data on phoney test nodes.
- hosts: TPS-TST
  gather_facts: no
  roles:
    - tempest
  tasks:
    - include: roles/tempest/tasks/cleanup.yml

# Fail hard if testing found any failures in the run.
- hosts: tempest_*
  gather_facts: no
  roles:
    - tempest
  tasks:
    - include: roles/tempest/tasks/fail-safely.yml
0707010000004E000081A40000000000000000000000015E7DED4B000003E1000000000000000000000000000000000000003E00000000ardana-tempest-8.0+git.1585311051.6ab5488/tempest-upgrade.yml#
# (c) Copyright 2015 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
---
# Note: The localhost is intentional as this is to undo the Tempest deployment
#       before it was made a service in mitaka release.
- hosts: localhost
  connection: local
  roles:
    - tempest
  tasks:
    - include: roles/tempest/tasks/upgrade.yml

# Tempest upgrade can now be considered as identical to a deploy.
- include: tempest-deploy.yml
07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000B00000000TRAILER!!!333 blocks
openSUSE Build Service is sponsored by