36 Commits

Author SHA1 Message Date
Federico Ressi
69ea632d3e Update Dockerfile to use bindep and tox
Change-Id: I1fd2e966863908751ab5cba685e99c1ddf07b582
2020-06-19 07:39:26 +02:00
Federico Ressi
f530416164 Add tool to install bindeps
Change-Id: I1d6152924cffa168ad3199cf97506ac597257e45
2020-06-15 16:44:27 +02:00
Federico Ressi
151bfae959 Delete IR workspace before importing new one
Change-Id: Ib6c7c16bf3656dcfbdde3221fce1c07c5c05b502
2020-06-09 14:59:10 +02:00
Federico Ressi
c50ab412a0 Create Docker files for Tobiko project
- Dockerfile file is intended for running test cases
  without using tox
- infrared_plugin/Dockerfile file is intended to run
  Tobiko IR plugin
- docker-compose file is intended to emulate the tox
  experience by using docker

All images are build staring from official CentOS 8
image.

Change-Id: I2f57f6e1c9c6161cef9448d25027d784ebd37e2c
2020-06-01 10:19:21 +02:00
Federico Ressi
dfef18e978 Remove old IR plugin and old related CI tools
Change-Id: I79f07a19098fb07cb64b854d186463918ae35755
2020-05-12 10:39:20 +02:00
Alex Katz
32c91c7264 Added --ignore-test-failures CLI flag
Tox venv commands are expected to return a code that indicates
test cases final outcome:

 - 0 => any test vase has failed
 - 1 => some test case has failed
 - not in [0, 1] => any other error

This change handles the special case when some test cases have
failed. In any of below cases:
 - JENKINS_URL environment variable is defined on controller node
 - --ignore-test-failure flag is passed to IR plugin
then the plugin runs without treating it as an error.

This has been introduced because when running the plugin from
a Jenkins slave host, Jenkins itself is expected to check test
case have failed looking at produced Junit XML artifacts.

Change-Id: Ia7d7f736ae18a7561dced2271228d86ca658e892
2020-05-11 13:57:26 +00:00
Federico Ressi
92248c8506 Refactor test execution scripts
- Acreate a new tools/run_tests.py script to
  execute test cases
- Move report generation to such script and
  remove 'report' tox environment
- Running test cases generates report files
  (.log, .html, .xml) into 'report/{envname}'
  directory
- Test cases failures will returns exit code 1
  Other script test runner failures returns
  exit code 2

Big refactory to tox.ini file to try semplifying it:

- create the new 'py3' tox environment for running unit
  tests as default platform python 3 interpreter
- use same as py3 '{envdir}' for scenario, functional,
  neutron and faults tox environments

Change-Id: Id09425245cc86b84b41e6b3b1c1db759cc686f3a
2020-05-06 17:41:35 +02:00
Federico Ressi
31f6026ab9 Implement test workflow steps
Change-Id: I34026836ac42dd6f2a5e5dfc05203c460cc949fc
2020-04-08 14:32:58 +02:00
Federico Ressi
86441d7aac Update roles requiring python
Change-Id: Iae5cd4affc3e7d148221e55768fbdf6d28907e54
2020-04-03 11:10:38 +00:00
Federico Ressi
e116222308 Allow to specify python interpter used for testing IR plugin
Change-Id: I2ea68efed1fe1c0dc22b3c49118cfc5c93c8a037
2020-04-01 08:42:00 +00:00
Federico Ressi
5a41476432 Separate run_tox and make_report tasks
Change-Id: Ic064cdaa2b001358f3748b433baa1f9055db940a
2020-03-23 20:25:24 +00:00
Federico Ressi
1874cd6b14 Fix tox environemnt setup when missing binary packages
Change-Id: Ifb3c74e1de31e66cd1383379f8f9b00af97eadf7
2020-03-17 14:07:52 +01:00
Federico Ressi
b1815b45f8 Allow to get prefix of base python interpreter
Change-Id: Ia56cd2002a790e941bdb4070978116609b7d7968
2020-03-17 14:07:52 +01:00
Federico Ressi
76999d710e Reduce verbosity of make_report script
Change-Id: I330ad250584fb8ffce8bf27bcb6fdca2ba3c88e4
2020-03-17 14:07:52 +01:00
Federico Ressi
f53cf0f1cb Download IR workspace from a URL before importing it
Change-Id: I82aa2c5b779b18291b87ee9dee6ba44179466ef4
2020-03-11 14:16:25 +01:00
Federico Ressi
447231ef0a Import infrared workspace if available
Change-Id: I06469d73e4da3005bccc6333becb5a0a69e4c89c
2020-03-11 11:42:14 +01:00
pinikomarov
b165c8e2ff unblock Downstream CI : STDERR: virtualenv.py: error: no such option: --seeder
seeder option is in the newest virtualenv only ,
and under this condition, virtualenv will never upgrade :

[stack@undercloud-0 tobiko]$ if ! python3 -m virtualenv --version; then
> virtualenv --version;fi
16.0.0

Change-Id: I86c5bf6429a5ae67b049fb88564ff7b7ef72968c
2020-02-21 01:45:42 +02:00
Federico Ressi
2e3af9b534 Fix Tox Infrared job
Change-Id: Ie4ad2f23e1e518c688dc4334acaa3379827ac146
2020-02-18 15:40:01 +01:00
Federico Ressi
e91356faeb Fix tools/ci/tox script when 'python' command is not available
Change-Id: I73f5b45de60f47a489a8140ab63baa899599e34e
2020-01-27 11:38:01 +01:00
Federico Ressi
7ead7d7602 Missing binary packages don't interrupt tools/ci/tox script
Change-Id: Id763634bb436b598fd90ea8e2f51d5f4e3fcfdd1
2020-01-23 14:40:25 +01:00
Federico Ressi
eb10374b68 Move realpath implementation tools/ci/activate
Change-Id: Ie1523acbe5b30be90ec21bf825ac54ce809db454
2020-01-23 12:16:06 +01:00
Federico Ressi
71b25c3483 Fix tools script python warnings
Change-Id: Ibdcd957ef689efd3ca0bd4ee729eb9f1e767413a
2020-01-17 07:45:09 +00:00
Federico Ressi
a9e9d5ee60 Create Tox InfraRed upstream job
Change-Id: Ib816520d63a51ae37a9be8f2036131bd58ecd054
2020-01-16 15:53:38 +00:00
Federico Ressi
e41d31589b Install missing dependencies on Ubuntu
* Install missing binary dependencies on Ubuntu

* Workarounds known Ubuntu get-pip issue #43
  (https://github.com/pypa/get-pip/issues/43)

Change-Id: Ic38646443e8cd0f0bf46017d4c116620a49bb4dd
2020-01-09 12:13:25 +01:00
Federico Ressi
19c43aec23 Add yum repos for installing missing packages if needed
It adds missing RHEL repo (*-server-opt) before installing tobiko
binary deps (python3, python3-devel, etc):
  
This has been tested on below distros:
- RHEL 7.5 (provisioned by OSP-10)
- RHEL 7.7 (provisioned by OSP-13)
- CENTOS 7.7 (provisioned by Vagrant)

Change-Id: I5e632b7734ce2ac60b1f8d1070e439584e8b521a
2020-01-09 10:16:13 +00:00
Federico Ressi
e1a859bb44 Install python3 packages using bindep in tox ci script
Change-Id: I8507a0f84f6ef8fe5bc91ccad36166df24ee4d27
2020-01-08 15:05:39 +01:00
Federico Ressi
0225e380d7 Drop support for Python 2.7
Change-Id: I0a14324269cbfe8ae93aa4707e135e18a858d2aa
2020-01-03 16:32:47 +00:00
Federico Ressi
0b93f34b72 Let python wrapper script choose wich default python version to use
Change-Id: I094bdbce0898351aced3f6cca4cd3a7cb7adb8cb
2019-12-04 12:23:59 +01:00
Federico Ressi
88cdecbc4f Produce separate named report files
Refactor role with tags for execute pre-run, run and
post-run phases.

Change-Id: I7daff63be56d2746a63e00d21aaa78078e60f60f
2019-12-03 21:06:38 +00:00
Federico Ressi
7095ff11e9 Create generic ansible Tobiko role for CI
Change-Id: I1d31d9ff30fbde418d0abcc84212b4408ed7e515
2019-11-25 17:56:07 +01:00
Federico Ressi
1929871d16 Allow to pick python version in CI tools
Change-Id: I96c1e26af6aaefa26b164ed9dd9ff0e29fb702af
2019-11-18 09:05:58 +00:00
Federico Ressi
16f5a9bb56 Add tool to print out yaml file to js format
Change-Id: Ic98e3075c42b70b9430ca500502ef4f566b749ac
2019-07-04 10:39:18 +02:00
Federico Ressi
9e36e39c17 Add command to print out keystone credentials used by Tobiko
Change-Id: I898f8c5de3b0d25a984f0cc7b178e6e490edb75a
2019-06-28 16:19:02 +02:00
Federico Ressi
1c1234ec1b Add tobiko-fixture CLI wrapper to CI tools
Change-Id: Ic56585cd05271488e8fba61871e792ea6ebd3914
2019-06-25 14:32:31 +02:00
Federico Ressi
27e46c8c39 Update CI tools with an openstack wrapper
Change-Id: I786884c540962fd908b0d323938aa9733ead65ce
2019-06-25 14:32:31 +02:00
Federico Ressi
a880634a6f Automatically select python version on scenario and fucntional tests
Change-Id: I6da8e7fd15f913758c562bcc5aa7baca6a9692a2
2019-05-27 06:20:27 +02:00