c3458d04ee51ec26be3dc19b1301a186449875d0
Commit Graph

221 Commits

Author SHA1 Message Date
Jonathan Rosser
c5f44982bd Fix deprecated os_project_facts ansible module usage
This patch fixes the warning:
[DEPRECATION WARNING]: The 'os_project_facts' module has been renamed to
'os_project_info', and the renamed one no longer returns ansible_facts.
Change-Id: I7fe4bda991b968530453c620e1ea56a187a26924
2020年05月12日 17:18:44 +01:00
Zuul
45b2ac75d1 Merge "Add support to tempest --worker-file option" 2020年05月04日 23:21:35 +00:00
Arx Cruz
0e6476f5c1 Add support to tempest --worker-file option
This patch add support to tempest run --worker-file option.
This add the possibility to manually schedule how tempest tests will be
executed in each worker
Change-Id: I9ea47452c430c6bf5ec0ac6332cecd5d3abc7792
2020年05月04日 15:54:18 +02:00
Jonathan Rosser
0317e9fc02 Refactor tempest plugin install from source
Previously the tempest plugins were installed using pip independant
of the python_venv_build role, in the past OSA could support a mixed install
of a distro tempest package and source code plugins. The mixed mode has been
removed but the tempest & tempest plugins installation tasks remain seperate.
Tempest is installed using python_venv_build, and the plugins are installed
directly using the ansible pip module. Unfortunatly, these two approaches do
not handle openstack upper-constraints in the same way, particularly for a
package that is installed from source code.
The python_venv_build role will correctly install a version of tempest
corresponding to the specified git SHA even when u-c specifies an earlier version
of the package. Unfortunately, when installing the tempest plugins with
the pip module, the previously installed tempest packages gets downgraded to
match the version specified in u-c as the pip module is unaware of the combined
source + u-c constraints generated by python_venv_build.
Tempest is an unusual case, because it is perhaps the only "top level" openstack
projects which has its own constraint appear in u-c.
This patch also corrects the use use of the venv_wheel_build_enable variable.
As a role default the value of this variable is changed in the whole scope of
the role becasue it is overridden during the stackviz install. The approach
used should be reviewed and refined in a future patch.
This patch also marks bionic/distro jobs as non voting as there has not been
a release of tempest which passes keystone test_list_user_groups test.
Change-Id: I5e8c8540b30865aaccafe59c73fae6fdd6da80a8
2020年04月22日 00:24:29 +01:00
Dmitriy Rabotyagov
1003438006 Added tempest_tempestconf_profile_ specific vars
Added tempest_tempestconf_profile_extras and
tempest_tempestconf_profile_overrides variables
tempest_tempestconf_profile_extras is designed to extend basic
tempest_tempestconf_profile dictionary when required. New var has
presedence in case of having same keys defined. It can be used
to define image or other extra params without need of overriding
defult things
tempest_tempestconf_profile_overrides var is a replacement for
tempest_tempest_conf_overrides which was used in inapropriate way
as tempestconf profile overrides have pretty different format from what
is used by config_template.
[1] https://docs.openstack.org/python-tempestconf/latest/user/profile.html
Related-Bug: #1868938
Change-Id: Ib1e78a6ce2085df82d2a22db6817e800432f2f05
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Co-authored-by: Dmitriy Rabotyagov (noonedeadpunk) <noonedeadpunk@ya.ru>
2020年03月29日 12:55:29 +05:30
Emilien Macchi
2348898bc2 post_install: add missing onditional to workspace task
The "Move over workspace when config is updated" task was running if
copy_tempest_config changed, but copy_tempest_config is created in
"Copy tempest config" only if "not tempest_use_tempestconf" conditional
is met. To avoid an error like "'copy_tempest_config' is undefined", we
need to add the same conditional to the first mentioned task.
Change-Id: I0d603dfa7319d09201f5f1d64d10cc71c56c2c21
2020年03月03日 18:05:35 -05:00
Jonathan Rosser
61f3c98680 Always use virtualenv and pip to install tempest on Ubuntu
For ubuntu distro jobs there are no tempest plugins packages so drop the
'mixed setup' where tempest comes from a distro package and the plugins
come from pip, and then fail to install into the system python environment.
Change-Id: Ic146e011ec15889303061527e17cdc16ed914799
2020年01月30日 10:35:26 +00:00
Jonathan Rosser
9de0b7a59f Use contraints for tempest plugins
This patch unifies the master branch with the changes which have
been necessary to unbreak the stable branches in light of py2 support
being removed from tempest and its plugins.
Depends-On: https://review.opendev.org/704317
Change-Id: I1d447933af5b668c17576a0ed985683a28fa153a
2020年01月29日 09:04:26 +00:00
Jonathan Rosser
817a58d16d Use correct pip executable for mixed distro/source installs
Ubuntu does not package tempest plugins so even for a distro
install the plugins are installed using pip. We must use the correct
pip executable when installing the plugins for py3 environments.
Change-Id: Ib399176ad12d556790daf770f11e7e8e14c3fd98
2020年01月22日 21:26:40 +00:00
Jonathan Rosser
877554ae11 Fix mixed plugin install vars
The var tempest_mixed_setup was previously renamed tempest_plugin_install_source
but a couple of usages were missed. Correct this.
Change-Id: Ia7835491a967c1831f64213ba1b42779136a87da
2020年01月22日 17:55:52 +00:00
Zuul
0f4570ec2b Merge "Fix stackwiz venv pip install args" 2019年12月09日 22:18:17 +00:00
Kourosh Vivan
1bcb1ffbd8 Fix stackwiz venv pip install args
Stackwiz install use venv_pip_install_args when defined.
Change-Id: Ib1cc8fbe721aff1840251e8858d9a4a7eaa1ab41
Close-bug: #1852276 
2019年12月09日 12:31:44 +01:00
Chandan Kumar (raukadah)
0d4f0f3f69 Also keep old_style blacklist schema
The blacklist defined for older release with in the job
does not have test attributes leading to break the role.
In order to have compatibility between older blacklist and
newer blacklist having test tag schema fixes the issue.
Change-Id: Ide422b7b60a0b3a9321fb4686f0a2ab922200b7e
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
2019年12月03日 07:13:08 +05:30
ShangXiao
657a13fb64 Fix a typo in tempest_install_source.yml
Fix the wrong word "visable" to "visible".
Change-Id: I13d77c0d24a5fbf9c7839b55918a7a886cc09256
2019年11月04日 17:12:12 +08:00
Dmitriy Rabotyagov
ad4841f70a Don't download image when it's already there
As image should have been already cached in CI [1], we shouldn't
download it again but just verify the checksum.
[1] https://opendev.org/openstack/openstack-ansible/src/branch/master/tests/roles/bootstrap-host/templates/user_variables.aio.yml.j2#L226
Change-Id: Ib764c70e483513bec5bd97d4499e67beb4501826
2019年10月21日 19:59:08 +03:00
Chandan Kumar (raukadah)
0c49b5c308 Append the tempest run command output in file
In CI, when we run full tempest api and scenario tests, it takes
time and in most of the time at Execute tempest tasks hits
Timeout and no ara report got generated. So we have no idea
what tests ate the time.
Logging the tempest result in a file will give more info
on what happened with the tests.
Change-Id: Ibba761551e6bc14c127d9461de2a72e9f0fcb715
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
2019年10月15日 17:03:27 +05:30
Dmitriy Rabotyagov
e1cecea5f0 Fix tempest source install condition
Because of jinja2 templating delimiters inside when statement tempest
wasn't correctly installed from source.
Also condition is simplified to be more readable. install_method check
works as we would like to run venv installation only for source
installs, but not for the ubuntu mixed setup.
Depends-On: https://review.opendev.org/686041
Change-Id: I39332a35fb2edae65a4762fe24c5b1f8c8675a2b
2019年10月01日 20:30:55 +00:00
Jonathan Rosser
465f5749b4 Allow venv python interpreter to be overridden
Also allow a default var to be specified per distro, maintaining
the current functionality for tripleo without requiring an override.
Change-Id: I99e0082a748d62ed129a860c6f16c523dec8d50e
2019年09月11日 21:35:19 +01:00
Arx Cruz
2496989811 Add provider_physical_network option to private network
The vlan network provider, requires a physical network type, otherwise,
it will fail
Change-Id: I021015709c8254ff5936ad08d61e1e02ab58c44f
2019年08月23日 12:31:57 +02:00
Jonathan Rosser
f4b1c94de9 Do not use a role scoped variable for role include condition
The var tempest_plugin_install_source is defined within the
os_tempest role so if it is used in the condition that includes
the python_venv_build role, it must be in scope for the python venv
build handler which runs in the outer containing playbook, and
this fails with a var not found error.
Change-Id: I7d1fd3b7d06d3a0c6d86750ed36cbe858190f87e
2019年08月16日 19:44:09 +01:00
Zuul
3640f71679 Merge "Add mixed setup for debian based OS" 2019年08月13日 17:47:53 +00:00
Dmitriy Rabotyagov
e7e15eb164 Add mixed setup for debian based OS
Since debian/ubuntu do not provide packages for tempest plugins, we are using
mixed setup. We install tempest as a distro package, while installing
tempest plugins from source, but without venv (for system python).
That guarantees that we have all required plugins and do tests.
To accomplish that variable tempest_plugin_install_source was
introduced.
Change-Id: I198190d601cf8a922c3afaa69a3c0e42ab075735
2019年08月12日 12:44:29 +03:00
Sorin Sbarnea
92b43f56db Fixed bugs identified by newer ansible-lint
- scm: git is mandatory on requirements.yml when using git urls
- role_name is needed in meta
- centos was not listed as supported platform
- galaxy_tags should be used instead of categories
- comparison to empty string should be avoided
These where found while attempting to enable functional testing using
ansible-molecule.
Change-Id: I5f8087516628e20c2539552c653d4ea5361234ec
Needed-By: https://review.opendev.org/#/c/675615/ 
2019年08月09日 13:49:35 +01:00
Dmitriy Rabotjagov
7e6d40ccf1 Set default tempest_install_method for meta handlers
For non-integrated tests tempest_install_method is not defined,
so when python_venv_build tries to launch meta handler, it fails with
undefined variable. Once default is set, this will prevent problems
Depends-On: https://review.opendev.org/#/c/665396/
Change-Id: I3cdfe48cae28969dea381bfa325c4bb4769fb4d1
2019年06月14日 15:52:31 +00:00
Zuul
f7ed5dfcc5 Merge "Switch to import_task in os_tempest" 2019年06月12日 14:55:17 +00:00
Chandan Kumar
6f9fd60969 Switch to import_task in os_tempest
Switch to include_task to import_task and include_role to import
role in the role.
Change-Id: I6b2d2ceead9cc16afc5c7c141c400b8ee61a9da5
Signed-off-by: Chandan Kumar <chkumar@redhat.com>
2019年06月12日 12:02:59 +05:30
Chandan Kumar (raukadah)
6d47796bfe Switch to tempest_pip_install_args
We have tempest_pip_install_args to pass additional
args to python_venv_build role for tempest. Let's use it
instead of pip_install_options.
Change-Id: Ie0299fdd9147aaf8162c3d094d7d619e75652528
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
2019年06月10日 16:11:33 +05:30
Logan V
ad019ce477 Default network segmentation ID correctly
Resolve an ansible 2.8 issue:
argument provider_segmentation_id is of type <type 'str'> and we
were unable to convert to int: <type 'str'> cannot be converted to an
int
Depends-On: https://review.opendev.org/#/c/660697/
Depends-On: https://review.opendev.org/#/c/660772/
Change-Id: Ic88bb7d6f36fe9ad9ff66bfb5119eee5a5f67cd2
2019年05月28日 10:59:57 +00:00
Zuul
c1b1399ddd Merge "Do not ping router when public net is local" 2019年05月09日 20:24:28 +00:00
Chandan Kumar (raukadah)
6af0e09b3a Remove install_test_requirements flag
Due to tempest plugin split, all the tempest plugin requirements
are kept in requirements.txt, not in test_requirements.txt, so
it does not make any sense to install it.
So removing the flag from the role.
Change-Id: I7600f1750538335c1348e7d042e6bf450910e12c
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
2019年05月08日 15:05:06 +00:00
Logan V
897f80a37f Do not ping router when public net is local
Don't bother trying to ping the router address when the public
network type is 'local'. In calico, a local network type is used,
and the router is not set up on the host until an instance using
that network is created. Since this check occurs before the
tempest run (and before any instances are created), the gateway
is not expected to ping.
Change-Id: I47543778487b6a9a2972b29d270d199a4d1e9b61
2019年04月11日 13:02:29 -05:00
Chandan Kumar
8e5086e090 tempest_services var for setting tempest_service_available_{}
Currently os_tempest is used by multiple deployement tools
and each of them have different methods of configuring
services and currently tempest_service_available_{service_name}
are setted based on group vars and group vars is not used at
all places which leads enable user to specifically define a
list of tempest_service_available_{service_name} which is too
hectic.
By introducing tempest_services:
 - aodh
 - neutron
will set those vars automatically and makes it easier for
handling tempest_service_availabe vars.
Depends-On: https://review.openstack.org/#/c/649653/
Change-Id: I8734f38206b73e6547a6ec545f07f625e844ed66
Signed-off-by: Chandan Kumar <chkumar@redhat.com>
2019年04月08日 16:51:52 +05:30
Chandan Kumar
8d81e1eff2 Fix Generate test-list file task
Currently in Generate test-list file task, shell script used to
generate test-list gets cancatnates with the whitelist-file
options leading to saying whitelist file not found.
Removing - from jinja conditionals fixes the issue
Change-Id: I05f08cfbaca4d030d20079f22080340d6e1c7239
Signed-off-by: Chandan Kumar <chkumar@redhat.com>
2019年04月04日 13:43:27 +05:30
Chandan Kumar
54d56dbd56 Update role for new source build process
The variable tempest_developer_mode and tempest_venv_download no
longer carry any meaning. This review changes os_tempest to do
the equivalent of what developer_mode was all the time, meaning
that it always builds the venv and never requires the repo
server, but it will use a repo server when available.
As part of this, we move the source build out of its own file
because it's now a single task to include the venv build role.
This is just to make it easier to follow the code.
Change-Id: I7ab81ab707a5576682abcbe9952d85e79a1f3856
2019年03月28日 09:24:04 +05:30
Zuul
f4df58025c Merge "Use tempest_keystone_interface_insecure var for ssl verification" 2019年03月26日 16:23:27 +00:00
Chandan Kumar
e9bcf96cbf Use tempest_keystone_interface_insecure var for ssl verification
Currently keystone_service_internaluri_insecure var is used for
doing disabling/enabling ssl, but it comes from os_keystone role
which is not used at all places. It adds a dependency on
os_tempest role to set the value. Moving to a new var allows
use to define one less var in os_tempest.
Change-Id: Id20d13ed3138e39a14a3f8c6a9c11a6c3d3566df
2019年03月26日 19:00:42 +05:30
Zuul
59e0332ccb Merge "Ensure stackviz installs from tarball URL only" 2019年03月22日 22:12:12 +00:00
Chandan Kumar
abb16c921d Beautify Generate test-list file shell task
Currently Generate test-list file shell task is wrapped in a
single long script with jinja template which makes it hard to
read and it also leads to cause jinja issue, breaking it into
multiple lines improves it.
Change-Id: I17dd53dc583d75a3a19019ba4d7eac8be7077338
2019年03月21日 23:09:42 +05:30
Jesse Pretorius
fde68805fa Ensure stackviz installs from tarball URL only
Stackviz installs from a tarball in order to make it happen quicker.
If we were to build it from git sources, then we'd have to build the
HTML page ourselves, which takes approximately ten minutes.
Due to the tarball URL being used as the package name, we're unable
to constrain it without making the venv build role a lot more complex.
To keep it simple, we just disable the wheel build process and install
it from the tarball instead.
Depends-On: https://review.openstack.org/644391
Change-Id: Ieb498c49377d77577c98ddb2d911066e44d8d9dd
2019年03月18日 18:41:38 +00:00
Chandan Kumar
8794a6641b Bring back the --serial flag alive
https://git.openstack.org/cgit/openstack/
openstack-ansible-os_tempest/tree/tasks/tempest_run.yml#n24
Syntex is correct, but --serial flag was not getting exposed in
rocky/master os_tempest tempest_run playbook, It refactors
the shell script and nicer so that it works perfectly.
Change-Id: Ieca5103f803778a44bbb517954b56a9069babbdd
2019年03月18日 20:48:56 +05:30
Chandan Kumar
43298b1bbe Set tempest concurrency to int only
Currently os_tempest role checks tempest concurrency to greater
than 0. But this review https://review.openstack.org/#/c/641349/
sets default concurrency to zero so we donot need to check the
default concuurency to greater than 0.
https://github.com/mtreinish/stestr/pull/232 already checks the
concurrency value to int so we donot need to define check for int.
Change-Id: If53b59f3faede91e158cd544742ab37639800b57
2019年03月15日 11:18:10 +05:30
Chandan Kumar
c01f3a2558 Create tempest related directories from ansible user
Currently tempest related directories are created by root, which
makes the os_tempest needs to be runned as root which is
dangerous.
This changes allows to create the tempest related directories
as a normal user and use root user/owner where it is need in
the userspace.
Change-Id: I698495bdf915d108dc3978d898fb802e12ef1c96
2019年03月04日 17:32:19 +05:30
Zuul
d333065635 Merge "Do ping test from tempest host and disable it by default" 2019年02月27日 23:27:11 +00:00
Zuul
f63148332c Merge "Update workspace tempest.conf on changes" 2019年02月27日 17:16:52 +00:00
Jesse Pretorius
11bc7124bd Do ping test from tempest host and disable it by default
Currently the ping test runs from the tempest_service_setup_host,
which may not have the correct package installed to execute it.
The ping package is installed on to the tempest host, and the
requirement to do the ping test is actually to verify connectivity
from the tempest host before running tempest itself.
This patch changes the ping test to run from the tempest host,
and because the test is primarily for gate testing, it is disabled
by default.
Change-Id: I3d1f9e17ef45b4427e8d3088bbcfa0c0df126c4a
2019年02月27日 16:14:24 +00:00
Chandan Kumar
5dce7aec08 use tempest_run_stackviz to generate stackviz report
When os_tempest is used locally or not in CI for
development and testing, it does not make any sense to generate
stackviz report each time. Adding tempest_run_stackviz makes sure
when it is enabled then it will run.
Change-Id: I4f9a6bcce7e1f4b7ebc873ee11f141d40f0d3e36
2019年02月25日 06:47:07 +00:00
Kevin Carter
c4d586afea Remove the private option from include_role
The private option on include role was never implemented and
will no longer be developed. This change removes the option
so ansible no longer raises a deprecation warning.
Change-Id: I8c769b24c41cbe4703336fdadac977c63a9cbef3
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2019年02月22日 00:50:16 +00:00
Shannon Mitchell
cd23f62b01 Update workspace tempest.conf on changes
When updating variables that would result in a modified
tempest.conf, the /root/.tempest/etc/tempest.conf or
/etc/tempest.conf would get updated properly. A tempest
init happens after and does not copy those into an
existing workspace. This change allows backup workspaces
to be kept on each modification to keep from loosing any
existing workspaces.
Change-Id: Id2de9cbd0f06b73dead5298afb857df2700bab60
Closes-Bug: #1763336 
2019年02月21日 10:36:33 -06:00
Zuul
6364b54f79 Merge "Revert "Only init a workspace if doesn't exists"" 2019年02月20日 04:14:49 +00:00
Chandan Kumar
08b6566e35 Revert "Only init a workspace if doesn't exists"
This reverts commit 1084cd9954.
As when we move tempest workspace to a different directory, the
directory is empty and tempest will fail to run any operation stating 
no .stestr.conf file found. In order to fix the issue, we need to do
tempest init.
Change-Id: Ia29398d3e82b880efe5e82febbc6dd6cf32b7450
2019年02月19日 10:45:24 +00:00