Retire Tripleo: remove repo content

TripleO project is retiring
- https://review.opendev.org/c/openstack/governance/+/905145

this commit remove the content of this project repo

Depends-On: https://review.opendev.org/c/openstack/project-config/+/910075

Change-Id: I05ba454853950b40942b5b4ff044f6070aa2117f
This commit is contained in:
Ghanshyam Mann 2024-02-24 11:32:24 -08:00 committed by Ghanshyam
parent ec349ebef6
commit 934fe57620
62 changed files with 8 additions and 5434 deletions

View File

@ -1,6 +0,0 @@
[run]
branch = True
source = tempest_skip
[report]
ignore_errors = True

46
.gitignore vendored
View File

@ -1,46 +0,0 @@
*.py[cod]
*.pyc
# Packages
*.egg*
*.egg-info
dist
build
eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
lib
lib64
# Installer logs
pip-log.txt
# Unit test / coverage reports
cover/
.coverage*
!.coveragerc
.tox
.venv
# Mr Developer
.project
.pydevproject
# Sphinx
doc/build
# pbr generates these
AUTHORS
ChangeLog
# Editors
*~
.*.swp
.*sw?
# Files created by releasenotes build
releasenotes/build

View File

@ -1,32 +0,0 @@
- project:
templates:
- publish-openstack-docs-pti
- openstack-python3-zed-jobs
- release-notes-jobs-python3
check:
jobs:
- openstack-tempest-skiplist-validate
gate:
jobs:
- openstack-tempest-skiplist-validate
- job:
name: openstack-tempest-skiplist-base
parent: unittests
description: Base job for tempest-skiplist
required-projects:
- openstack/openstack-tempest-skiplist
roles:
- zuul: openstack/openstack-tempest-skiplist
irrelevant-files:
- ^doc/.*$
- ^releasenotes/.*$
- ^.*\.rst$
- job:
name: openstack-tempest-skiplist-validate
parent: openstack-tempest-skiplist-base
description: Tempest skiplist to validate yaml file
pre-run:
- playbooks/tempest_skip_install.yaml
run: playbooks/tempest_skip_validate.yaml

View File

@ -1,80 +1,10 @@
openstack-tempest-skiplist
==========================
This project is no longer maintained.
Overview
--------
The contents of this repository are still available in the Git
source code management system. To see the contents of this
repository before it reached its end of life, please check out the
previous commit with "git checkout HEAD^1".
openstack-tempest-skiplist will generate a skip list to be executed by tempest
- Free software: Apache license
- Documentation: https://docs.openstack.org/openstack-tempest-skiplist/latest/
- Source: https://opendev.org/openstack/openstack-tempest-skiplist
- Bugs: https://storyboard.openstack.org/#!/project/1173
- Release notes: https://docs.openstack.org/releasenotes/openstack-tempest-skiplist
Quickstart
==========
- edit tempest_skip.yml
- add the required fields, including the launchpad
- execute tox tests
- submit :)
Installation
------------
Installing from git and virtualenv::
$ git clone https://opendev.org/openstack/openstack-tempest-skiplist
$ cd openstack-tempest-skiplist
$ virtualenv .venv
$ source .venv/bin/activate
$ pip install .
Validation
----------
After edit your file, you can check if it is valid with the following command::
$ tempest-skip validate --file file.yaml
Examples
--------
A simple example of the structure of the yaml file expected by
tempest-skiplist.
For more information about each field, visit the `documentation <https://docs.openstack.org/openstack-tempest-skiplist/latest/yaml/formatting.html>` website:
.. code-block:: yaml
known_failures:
- test: 'full.tempest.test'
bz: 'https://bugzilla.redhat.com/1'
lp: 'https://launchpad.net/bugs/1'
deployment:
- 'undercloud'
- 'overcloud'
jobs:
- job1
- job2
reason: 'default reason'
releases:
- name: master
lp: 'https://launchpad.net/bugs/2'
reason: 'Some reason'
- name: train
bz: 'https://bugzilla.redhat.com/train1'
installers:
- 'osp'
- name: ussuri
installers:
- 'tripleo'
bz: 'https://bugzilla.redhat.com/ussuri1'
In the above example, the test *full.tempest.test* will be executed by tempest
in both deployments, undercloud, and overcloud (depending on the job).
It will also be skipped in the releases master, train and ussuri, specifically
in jobs job1 and job2. It will not be skipped in any other job, no matter what
the release is.
Removing the list of jobs, means it will be skipped everywhere.
For any further questions, please email
openstack-discuss@lists.openstack.org or join #openstack-dev on
OFTC.

View File

@ -1,6 +0,0 @@
openstackdocstheme>=2.2.1 # Apache-2.0
reno>=3.1.0 # Apache-2.0
sphinx>=2.0.0,!=2.1.0 # BSD
sphinx-argparse>=0.2.2 # MIT
sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD
validators==0.18.2

View File

@ -1,86 +0,0 @@
========================
Adding tests to skiplist
========================
Adding tests
------------
Of course it is possible to directly edit the yaml file and add the test
itself, but that may lead to failures, as for example duplicated entries,
identation issues, having a namespace test instead of full path test name.
In order to avoid that, you can use the `addtest` command that will identify if
the test is already on the skiplist, avoiding duplication. It will also
generate the yaml file properly as well as avoid the use of test namespace. For
example, if a user tries to add the tempest.scenario, it will skip all the
tests under tempest.scenario, which is not the desirable behavior. However, it
is a lot of work to add each entry under tempest.scenario, since we must repeat
all the reasons, bugzilla, releases, etc.
The addtest command solves all these problems for you. First of all, when you
try to add a test passing a test namespace, addtest will give you a list of
tests under that particular namespace, where you can choose from the list which
ones you would like to add. Select the ones you want and you are done!
Examples
--------
The command below add the test tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_connectivity_between_vms_on_different_networks::
$ tempest-skip addtest \
--file roles/validate-tempest/vars/tempest_skip.yml \
--release master \
--test tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_connectivity_between_vms_on_different_networks \
--reason 'Failing on network' \
--lp https://launchpad.net/bug/12345
In this example, we are adding the full path test, and so, the command will not
prompt you a list of tests that you want to choose. If for example, only the
namespace be parsed, you will be prompted with a list of tests under that
namespace::
$ tempest-skip addtest \
--file roles/validate-tempest/vars/tempest_skip.yml \
--release master \
--test tempest.scenario.test_network_basic_ops \
--reason 'Failing on network' \
--lp https://launchpad.net/bug/12345
And this is the output:
.. code-block::
[?] These are the tests available on the namespace, choose which ones you want to add. Press space to select:
> o tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_connectivity_between_vms_on_different_networks
o tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_hotplug_nic
o tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_mtu_sized_frames
o tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops
o tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_port_security_macspoofing_port
o tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_preserve_preexisting_port
o tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_router_rescheduling
o tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_subnet_details
o tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_update_instance_port_admin_state
o tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_update_router_admin_state
You can use the arrow keys on your keyboard to navigate through the list, and
space to select. Once you are done, just press enter, the command will go
through each test, check if the test exists or not. If it exists, it will also
check the release exists, and properly add the test.
Once you are done, you can validate if the yaml file was generated properly
with the command::
$ tempest-skip validate --file roles/validate-tempest/vars/tempest_skip.yml
There are some arguments you can pass to the addtest, the required ones are:
* --file
* --lp or --bz
* --reason
All the other arguments have default values, for example, `--release` default
value is master and `--deployment` default value is overcloud
For more information, use::
$ tempest-skip addtest --help

View File

@ -1,5 +0,0 @@
.. toctree::
:maxdepth: 2
:includehidden:
addtest

View File

@ -1,86 +0,0 @@
# -*- coding: utf-8 -*-
# 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.
# -- General configuration ----------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
'openstackdocstheme',
#'sphinx.ext.intersphinx',
'sphinx.ext.autodoc',
'sphinxcontrib.rsvgconverter',
'sphinxarg.ext'
]
html_theme = 'openstackdocs'
# openstackdocstheme options
openstackdocs_repo_name = 'openstack/openstack-tempest-skiplist'
openstackdocs_pdf_link = True
openstackdocs_use_storyboard = True
# autodoc generation is a bit aggressive and a nuisance when doing heavy
# text edit cycles.
# execute "export SPHINX_DEBUG=1" in your terminal to disable
# The suffix of source filenames.
source_suffix = '.rst'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = 'openstack-tempest-skiplist'
copyright = u'2016, Red Hat'
# If true, '()' will be appended to :func: etc. cross-reference text.
add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
add_module_names = True
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'native'
# -- Options for HTML output --------------------------------------------------
# The theme to use for HTML and HTML Help pages. Major themes that come with
# Sphinx are currently 'default' and 'sphinxdoc'.
# html_theme_path = ["."]
# html_theme = '_theme'
# html_static_path = ['static']
# Output file base name for HTML help builder.
htmlhelp_basename = '%sdoc' % project
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass
# [howto/manual]).
latex_documents = [
('index',
'doc-%s.tex' % project,
u'%s Documentation' % project,
u'Red Hat, Inc.', 'manual'),
]
latex_use_xindy = False
latex_elements = {
'extraclassoptions': 'openany,oneside',
}
# Example configuration for intersphinx: refer to the Python standard library.
#intersphinx_mapping = {'http://docs.python.org/': None}

View File

@ -1,21 +0,0 @@
Welcome to openstack-tempest-skiplist documentation!
========================================================
openstack-tempest-skiplist is a tool for generate tempest skiplist based on
different criteria such as release, installer type, and job name
Content:
--------
.. toctree::
:maxdepth: 2
overview
install/index
yaml/index
validate/index
listyaml/index
listallowed/index
addtest/index
* :ref:`search`

View File

@ -1,5 +0,0 @@
.. toctree::
:maxdepth: 2
:includehidden:
installation

View File

@ -1,34 +0,0 @@
============
Installation
============
Git
---
1. Clone and change to the directory::
$ git clone https://opendev.org/openstack/openstack-tempest-skiplist
$ cd openstack-tempest-skiplist
2. Create a virtual environment using :command:`virtualenv`::
$ virtualenv .venv
$ source .venv/bin/activate
3. Install requirements in the newly created virtual environment::
(.venv) $ pip install .
4. *(optional)* Instead of manual installation described in steps 2 and 3
above, tox can be used for installing the requirements as well.
To create python 3.6 environment run following::
$ tox -epy36
$ source .tox/py36/bin/activate
Pip installation
----------------
Install ``openstack-tempest-skiplist`` via pip as follows::
$ pip install openstack-tempest-skiplist

View File

@ -1,5 +0,0 @@
.. toctree::
:maxdepth: 2
:includehidden:
listallowed

View File

@ -1,68 +0,0 @@
==================
List allowed tests
==================
List allowed tests
------------------
You can use :command:`tempest-skip list-allowed` command to list the tests to
be executed with two positional parameters which are in the
expected format::
1. ``--file`` is the positional parameter - list all the tests in the file
2. ``--group`` or ``--job`` - filter the tests for a specific job, or a
specific group.
Job filter
----------
The job filter, is as the name indicate, it checks the yaml file for a job that
matches (must be full match, not partial), and list the tests related to that
specific job::
$ tempets-skip list-allowed --file tempest_allow.yml --job job1
Group filter
------------
The group filter, which have precedence on the ``--job``, will list the tests
for a particular group. This is good when you have several jobs, that run a
specific set of tests. In this case, you don't need to repeat the same set of
tests for several different jobs::
$ tempest-skip list-allowed --file tempest_allow.yml --group default_group
Release filter
--------------
The release filter, which is default to master, filter based on group or job
for an specific release.
Multiple Groups with same name
------------------------------------------
Multiple groups can have same name with different tests and releases. This
behaviour allows us to classify the tests on the basis of releases. Here, we
cannot define a release more than once in such groups i.e groups having same
name should mandatorily have different releases::
- name: featureset062 # standalone-jobs
tests:
- 'octavia_tempest_plugin.tests.scenario.v2.test_healthmonitor'
- 'octavia_tempest_plugin.tests.scenario.v2.test_listener'
releases:
- master
- wallaby
- name: featureset062 # standalone-jobs
tests:
- 'octavia_tempest_plugin.tests.scenario.v2.test_healthmonitor'
- 'octavia_tempest_plugin.tests.scenario.v2.test_l7policy'
releases:
- train
Wildcard filter for releases
----------------------------
If in the releases list in the yaml file, the release ``all`` is set, that
means, it will not matter which release is passed to ``tempest-skip`` command,
it will be included in the final list.

View File

@ -1,5 +0,0 @@
.. toctree::
:maxdepth: 2
:includehidden:
listyaml

View File

@ -1,32 +0,0 @@
======================
List skipped tests
======================
List skipped tests
-------------------
You can use :command:`tempest-skip list-skipped` command to list tests in the yaml
file with one positional and two optional parameters which is in the expected
format::
1. ``--file`` is the positional parameter - lists all the tests in the file::
$ tempest-skip list-skipped yaml --file tempest_skip.yml
2. ``--release``, ``--deployment``, ``--installer`` and ``--job`` are the
optional parameters - list all the tests within a specific release,
deployment or a specific job::
$ tempest-skip list-skipped --file tempest_skip.yml --release train
$ tempest-skip list-skipped --file tempest_skip.yml --job job1
$ tempest-skip list-skipped --file tempest_skip.yml --release train --job job1
$ tempest-skip list-skipped --file tempest_skip.yml --deployment undercloud
$ tempest-skip list-skipped --file tempest_skip.yml --installer tripleo
This will return any tests that match the job, as well as tests that doesn't
have any job configured. This is required when you configure your zuul jobs to
always parse the ``--job`` option. In this scenario, if a job2 is parsed, and
there is no test with job2, it would return zero tests to be skipped, which is
not the intent. The test with no job defined, means, skip everywhere, if you
define the job in the test yaml file, it means, skip all the tests that doesn't
have a job defined, plus this test.

View File

@ -1,13 +0,0 @@
========
Overview
========
openstack-tempest-skiplist will automatically generate the list of tests to
be skipped by tempest based on the criterias passed to the tool
- Free software: Apache license
- Documentation: https://docs.openstack.org/openstack-tempest-skiplist/latest/
- Storyboard: https://storyboard.openstack.org/#!/project/1173
- Source: https://opendev.org/openstack/openstack-tempest-skiplist
- Bugs: https://storyboard.openstack.org/#!/project/1173
- Release notes: https://docs.openstack.org/releasenotes/openstack-tempest-skiplist

View File

@ -1,5 +0,0 @@
.. toctree::
:maxdepth: 2
:includehidden:
validate

View File

@ -1,20 +0,0 @@
======================
Validate the yaml file
======================
Validation
----------
You can use :command:`tempest-skip validate` command to validate if the yaml
file is in the expected format for the allowed list::
$ tempest-skip validate --allowed --file good_file.yaml
or for the skipped list:
$ tempest-skip validate --skipped --file good_file.yaml
This will return nothing if the file is valid, or an error otherwise::
$ tempest-skip validate --file bad_file.yaml
required key not provided @ data['known_failures'][0]['releases'][2]['reason']

View File

@ -1,201 +0,0 @@
==========
Formatting
==========
YAML File
---------
The YAML file used by `openstack-tempest-skiplist` use the following pattern:
.. code-block:: yaml
known_failures:
- test: 'full.tempest.test'
bz: 'https://bugzilla.redhat.com/1'
lp: 'https://launchpad.net/bugs/1'
deployment:
- 'undercloud'
- 'overcloud'
jobs:
- job1
- job2
reason: 'default reason'
releases:
- name: master
lp: 'https://launchpad.net/bugs/2'
reason: 'Some reason'
- name: train
bz: 'https://bugzilla.redhat.com/train1'
- name: ussuri
bz: 'https://bugzilla.redhat.com/ussuri1'
YAML values
-----------
BZ and LP
+++++++++
One of them is required, not both, but it's crucial that people are able to
trackdown the reason the test is being added in the skiplist.
Here there are two levels of lp and bz: the first one, is the global lp and bz
and the second is based on the release. This is required because it's possible
to have the test failing in two different releases but with different reasons.
If the lp or bz is set on test level, you don't need to add it per release, it
will use the test level.
The value of both lp and bz are their respective URL
Deployment
++++++++++
This is right now TripleO only configuration, since it deploys two different
openstack instances, undercloud and overcloud. Default to overcloud.
Installers
++++++++++
This is a list of installers per release where the test will be
skipped. The options for installers are 'tripleo' and 'osp',
where 'tripleo' is the upstream installer and 'osp' is the
downstream installer.
The default (if this option is not set) is 'tripleo' and 'osp'.
Jobs
++++
This is a list of jobs where the test should be skipped. This is not a
required field, however, once set, the tool will return the test only if the
job matches.
Reason
++++++
This is a description about why this test is being skipped. It exists in two
levels, the first in the test level, that will be the default reason, and in
release level, where reason can be different.
Releases
++++++++
Releases contain a list of releases that the test will be skipped. It's very
common that in a release the test is passing, but in another don't, so we can
manage it here.
Here, it's also required a reason, and a lp or a bz
Examples
--------
Below are some examples of valid yaml files that can be used:
No releases
+++++++++++
Since there's no releases, this will be valid for all releases:
.. code-block:: yaml
known_failures:
- test: 'tempest_skip.tests.test_validate'
bz: 'https://bugzilla.redhat.com/1'
lp: 'https://launchpad.net/bugs/1'
deployment:
- 'undercloud'
reason: 'This test will be skipped in any release'
With releases
+++++++++++++
As release is set, the test will be skipped only on the matching releases
.. code-block:: yaml
known_failures:
- test: 'tempest_skip.tests.test_validate'
bz: 'https://bugzilla.redhat.com/1'
lp: 'https://launchpad.net/bugs/1'
deployment:
- 'undercloud'
reason: 'This test will be skipped in any release'
releases:
- name: rocky
reason: 'Test failing in rock because of network'
lp: 'https://launchpad.net/bugs/1'
- name: ussuri
reason: 'Test is failing in ussuri because of storage bug'
bz: 'https://bugzilla.redhat.com/1'
With jobs
+++++++++
If a list of jobs is set, the test will be skipped only in the matching jobs
.. code-block:: yaml
known_failures:
- test: 'tempest_skip.tests.test_validate'
bz: 'https://bugzilla.redhat.com/1'
lp: 'https://launchpad.net/bugs/1'
deployment:
- 'undercloud'
reason: 'This test will be skipped in any release'
jobs:
- tempest-test-job-skip1
- tempest-test-job-skip2
With jobs and releases
++++++++++++++++++++++
This test will be skipped only when it matches both, job and release
.. code-block:: yaml
known_failures:
- test: 'tempest_skip.tests.test_validate'
bz: 'https://bugzilla.redhat.com/1'
lp: 'https://launchpad.net/bugs/1'
deployment:
- 'undercloud'
reason: 'This test will be skipped in all releases'
releases:
- name: rocky
reason: 'Test failing in rock because of network'
lp: 'https://launchpad.net/bugs/1'
- name: ussuri
reason: 'Test is failing in ussuri because of storage bug'
bz: 'https://bugzilla.redhat.com/1'
jobs:
- tempest-test-job-skip1
- tempest-test-job-skip2
With releases and installers
++++++++++++++++++++++++++++
.. code-block:: yaml
known_failures:
- test: 'tempest_skip.tests.test_validate'
bz: 'https://bugzilla.redhat.com/1'
lp: 'https://launchpad.net/bugs/1'
deployment:
- 'overcloud'
reason: 'This test will be skipped in any release'
releases:
- name: train
reason: 'Test failing in train because of network'
installers:
- 'tripleo'
lp: 'https://launchpad.net/bugs/1'
- name: wallaby
reason: 'Test is failing in /osp-17 because of storage bug'
installers:
- 'osp'
bz: 'https://bugzilla.redhat.com/1'

View File

@ -1,5 +0,0 @@
.. toctree::
:maxdepth: 2
:includehidden:
formatting

View File

@ -1,36 +0,0 @@
groups:
- name: openstack-operator
tests:
- tempest.api.identity.*.v3
releases:
- all
- name: cinder-operator
tests:
- tempest.api.volume
releases:
- all
- name: keystone-operator
tests:
- tempest.api.identity.*.v3
releases:
- all
- name: neutron-operator
tests:
- tempest.api.network.*
releases:
- all
- name: nova-operator
tests:
- tempest.api.compute.*
releases:
- all
- name: manila-operator
tests:
- manila_tempest_tests.tests.api
releases:
- all
- name: ironic-operator
tests:
- ironic_tempest_plugin.tests.api.admin.*
releases:
- all

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +0,0 @@
---
- hosts: all
roles:
- ensure-pip
- install_skiplist

View File

@ -1,5 +0,0 @@
---
- hosts: all
roles:
- validate_yaml
- list_skipped

View File

@ -1,268 +0,0 @@
# -*- coding: utf-8 -*-
# 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.
# Glance Release Notes documentation build configuration file, created by
# sphinx-quickstart on Tue Nov 3 17:40:50 2015.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
# sys.path.insert(0, os.path.abspath('.'))
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'openstackdocstheme',
'reno.sphinxext',
]
# openstackdocstheme options
openstackdocs_repo_name = 'openstack/openstack-tempest-skiplist'
openstackdocs_use_storyboard = True
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
# source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
copyright = u'2019, OpenStack'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
# language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
# today = ''
# Else, today_fmt is used as the format for a strftime call.
# today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = []
# The reST default role (used for this markup: `text`) to use for all
# documents.
# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
# modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
# keep_warnings = False
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'openstackdocs'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
# html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
# html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
# html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
# html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
# html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
# html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
# html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
# html_additional_pages = {}
# If false, no module index is generated.
# html_domain_indices = True
# If false, no index is generated.
# html_use_index = True
# If true, the index is split into individual pages for each letter.
# html_split_index = False
# If true, links to the reST sources are added to the pages.
# html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
# html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
# html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
# html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
# html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'skiplistReleaseNotesdoc'
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
# 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
# 'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
# 'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
('index', 'skiplistReleaseNotes.tex',
u'skiplist Release Notes Documentation', u'OpenStack', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
# latex_use_parts = False
# If true, show page references after internal links.
# latex_show_pagerefs = False
# If true, show URL addresses after external links.
# latex_show_urls = False
# Documents to append as an appendix to all manuals.
# latex_appendices = []
# If false, no module index is generated.
# latex_domain_indices = True
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'skiplistreleasenotes', u'skiplist Release Notes Documentation',
[u'OpenStack'], 1)
]
# If true, show URL addresses after external links.
# man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'skiplistReleaseNotes', u'skiplist Release Notes Documentation',
u'OpenStack', 'skiplistReleaseNotes',
'A collection of tempest skipped tests shared across OpenStack projects.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
# texinfo_appendices = []
# If false, no module index is generated.
# texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
# texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
# texinfo_no_detailmenu = False
# -- Options for Internationalization output ------------------------------
locale_dirs = ['locale/']

View File

@ -1,8 +0,0 @@
============================================
openstack-tempest-skiplist Release Notes
============================================
.. toctree::
:maxdepth: 1
unreleased

View File

@ -1,5 +0,0 @@
==============================
Current Series Release Notes
==============================
.. release-notes::

View File

@ -1,6 +0,0 @@
cliff
inquirer
ruamel.yaml>=0.17.7
tempest
validators
voluptuous

View File

@ -1,11 +0,0 @@
Install tempest skiplist
========================
This role install tempest-skiplist.
**Role Variables**
.. zuul:rolevar:: tempest_skip_path
:type: string
A path to the openstack-tempest-skiplist directory

View File

@ -1,7 +0,0 @@
---
# Path for the tempest skip
# tempest_skip_path:
_zuul_path: "{{ zuul.projects['opendev.org/openstack/openstack-tempest-skiplist'].src_dir | default('') }}"
_local_path: "{{ local_working_dir | default('') }}/usr/local/share/ansible"
tempest_skip_path: "{{ (zuul is defined) | ternary(_zuul_path, _local_path) }}"
list_skipped_yaml_file: "{{ tempest_skip_path }}/roles/validate-tempest/vars/tempest_skip.yml"

View File

@ -1,18 +0,0 @@
---
- block:
- name: Create tempest-skiplist venv with latest pip, setuptools and pbr
pip:
name: ['setuptools', 'pbr']
state: latest
extra_args: --user
- name: Ensure a recent version of pip is installed
pip:
name: "pip>=19.1.1"
virtualenv_command: "/usr/bin/python3 -m venv"
- name: Install tempest-skiplist
pip:
name: "."
chdir: "{{ tempest_skip_path }}"
extra_args: --user

View File

@ -1,23 +0,0 @@
List allowed tempest tests
==========================
This role executes the tempest-skip tool and returns the list of tests to be
executed.
**Role Variables**
.. zuul:rolevar:: list_allowed_yaml_file
:type: string
Path to the yaml file containing the skipped tests
.. zuul:rolevar:: list_allowed_job
:type: string
Job name to be used in the filter if required
.. zuul:rolevar:: list_allowed_group
:type: string
Group to be used in the filter. It has more precedence than
list_allowed_job.

View File

@ -1,123 +0,0 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# 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.
from ansible.module_utils.basic import AnsibleModule
from tempest_skip.list_allowed import ListAllowedYaml
import sys
ANSIBLE_METADATA = {
'metadata_version': '0.1',
'status': ['preview'],
'supported_by': 'community'
}
DOCUMENTATION = '''
---
module: list_allowed
author:
- "Arx Cruz (@arxcruz)
version_added: '2.9'
short_description:
- Parse filtered tests from tempest
notes: []
requirements:
- tempest-skip
options:
yaml_file:
description:
- Path to a yaml file containing the tests in
openstack-tempest-skiplist format
required: True
type: str
job:
description:
- Name of the job to be used in the filter.
required: False
type: str
group:
description:
- Group name to be used in the filter. It has more precedence than job
required: False
type: str
'''
EXAMPLES = '''
- name: Get list of allowed tests
list_allowed:
yaml_file: /tmp/allowed.yaml
job: tripleo-ci-centos-8-standalone
group: default
'''
RETURN = '''
allowed_tests:
description:
- List of tests filtered
returned: Always
type: list
sample: [
"tempest.api.volume.test_volumes_snapshots.VolumesSnapshotTestJSON"
]
'''
def run_module():
module_args = dict(
yaml_file=dict(type='str', required=True),
job=dict(type='str', required=False, default=None),
group=dict(type='str', required=False, default=None),
release=dict(type='str', required=False, default="master")
)
result = dict(
changed=True,
message='',
filtered_tests=[]
)
module = AnsibleModule(
argument_spec=module_args
)
if not module.params['yaml_file']:
module.fail_json(msg="A yaml file must be provided!")
if not module.params['job'] and not module.params['group']:
module.fail_json(msg="You must specify either job or group parameter!")
cmd = ListAllowedYaml(__name__, sys.argv[1:])
parser = cmd.get_parser(__name__)
parser.file = module.params['yaml_file']
parser.group = module.params['group']
parser.release = module.params['release']
parser.job = module.params['job']
tests = cmd.take_action(parser)
allowed_tests = [test[0] for test in tests[1]]
result.update({'allowed_tests': allowed_tests})
module.exit_json(**result)
def main():
run_module()
if __name__ == '__main__':
main()

View File

@ -1,8 +0,0 @@
---
- name: List allowed tests
list_allowed:
yaml_file: "{{ list_allowed_yaml_file }}"
group: "{{ list_allowed_group| default(omit) }}"
release: "{{ list_allowed_release | default(omit) }}"
job: "{{ list_allowed_job | default(omit) }}"
register: tempest_allowed_register

View File

@ -1,22 +0,0 @@
List skipped tempest tests
==========================
This role execute the tempest-skip tool and return the list of tests to be
skipped.
**Role Variables**
.. zuul:rolevar:: list_skipped_yaml_file
:type: string
Path to the yaml file containing the skipped tests
.. zuul:rolevar:: list_skipped_release
:type: string
Release name to be used in the filter if required.
.. zuul:rolevar:: list_skipped_job
:type: string
Job name to be used in the filter if required.

View File

@ -1,8 +0,0 @@
---
# list_skipped_yaml_file: /home/zuul/src/openstack/openstack-tempest-skiplist/roles/validate-tempest/vars/tempest_skip.yml
# list_skipped_job: tripleo-ci-centos-8-containers-multinode
# list_skipped_release: master
_zuul_path: "{{ zuul.projects['opendev.org/openstack/openstack-tempest-skiplist'].src_dir | default('') }}"
_local_path: "{{ local_working_dir | default('') }}/usr/local/share/ansible"
tempest_skip_path: "{{ (zuul is defined) | ternary(_zuul_path, _local_path) }}"
list_skipped_yaml_file: "{{ tempest_skip_path }}/roles/validate-tempest/vars/tempest_skip.yml"

View File

@ -1,137 +0,0 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# 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.
from ansible.module_utils.basic import AnsibleModule
from tempest_skip.list_yaml import ListSkippedYaml
import sys
ANSIBLE_METADATA = {
'metadata_version': '0.1',
'status': ['preview'],
'supported_by': 'community'
}
DOCUMENTATION = '''
---
module: list_skipped
author:
- "Arx Cruz (@arxcruz)
version_added: '2.9'
short_description:
- Parse skipped tests from tempest
notes: []
requirements:
- tempest-skip
options:
yaml_file:
description:
- Path to a yaml file containing the skipped tests in
openstack-tempest-skiplist format
required: True
type: str
job:
description:
- Name of the job to be used in the filter. Passing the job it will
filter only tests that have the specified job in the jobs list.
required: False
type: str
release:
description:
- Release name to be used in the filter. Default is set to 'master'
required: False
type: str
deployment:
description:
- Type of deployment, right now is undercloud or overcloud. Default is
set to 'overcloud'
required: False
type: str
installer:
description:
- Type of installer. Right now it's just a string, but in the future
might be specific keys
required: False
type: str
'''
EXAMPLES = '''
- name: Get list of skipped tests
list_skipped:
yaml_file: /tmp/skipped.yaml
job: tripleo-ci-centos-8-standalone
release: master
deployment: 'overcloud'
installer: 'tripleo'
'''
RETURN = '''
skipped_tests:
description:
- List of tests filtered
returned: Always
type: list
sample: [
"tempest.api.volume.test_volumes_snapshots.VolumesSnapshotTestJSON"
]
'''
def run_module():
module_args = dict(
yaml_file=dict(type='str', required=True),
job=dict(type='str', required=False, default=None),
release=dict(type='str', required=False, default='master'),
deployment=dict(type='str', required=False, default='overcloud'),
installer=dict(type='str', required=False, default='tripleo')
)
result = dict(
changed=True,
message='',
skipped_tests=[]
)
module = AnsibleModule(
argument_spec=module_args
)
if not module.params['yaml_file']:
module.fail_json(msg="A yaml file must be provided!")
cmd = ListSkippedYaml(__name__, sys.argv[1:])
parser = cmd.get_parser(__name__)
parser.file = module.params['yaml_file']
parser.release = module.params['release']
parser.job = module.params['job']
parser.deployment = module.params['deployment']
parser.installer = module.params['installer']
tests = cmd.take_action(parser)
skipped_tests = [test[0] for test in tests[1]]
result.update({'skipped_tests': skipped_tests})
module.exit_json(**result)
def main():
run_module()
if __name__ == '__main__':
main()

View File

@ -1,9 +0,0 @@
---
- name: List skipped tests
list_skipped:
yaml_file: "{{ list_skipped_yaml_file }}"
release: "{{ list_skipped_release | default(omit) }}"
job: "{{ list_skipped_job | default(omit) }}"
deployment: "{{ list_skipped_deployment | default(omit) }}"
installer: "{{ list_skipped_installer | default(omit) }}"
register: tempest_skip_register

View File

@ -1,268 +0,0 @@
groups:
- name: default
tests:
- smoke
releases:
- all
- name: featureset001
tests:
- 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps'
releases:
- all
- name: featureset001_periodic
tests:
- 'tempest.api'
- 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps'
releases:
- all