watcher-tempest-plugin 3.3.0__tar.gz → 3.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/.zuul.yaml +20 -13
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/AUTHORS +11 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/CONTRIBUTING.rst +4 -4
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/ChangeLog +65 -0
- {watcher_tempest_plugin-3.3.0/watcher_tempest_plugin.egg-info → watcher_tempest_plugin-3.5.0}/PKG-INFO +16 -16
- watcher_tempest_plugin-3.5.0/README.rst +19 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/doc/source/conf.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/doc/source/readme.rst +24 -12
- watcher_tempest_plugin-3.5.0/pyproject.toml +3 -0
- watcher_tempest_plugin-3.5.0/releasenotes/notes/drop-python38-support-eeb09a8bc0170ce2.yaml +6 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/requirements.txt +1 -1
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/setup.cfg +5 -17
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/test-requirements.txt +1 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/tox.ini +9 -6
- watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/config.py +130 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/infra_optim_clients.py +17 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/plugin.py +8 -1
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/services/base.py +110 -2
- watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/services/infra_optim/v1/json/api_microversion_fixture.py +47 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/services/infra_optim/v1/json/client.py +29 -0
- watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/services/metric/prometheus_client.py +221 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/base.py +23 -1
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/test_action.py +65 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/test_action_plan.py +8 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/test_api_discovery.py +3 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/test_audit.py +13 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/test_audit_template.py +12 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/test_goal.py +3 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/test_scoring_engine.py +3 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/test_service.py +3 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/test_strategy.py +3 -0
- watcher_tempest_plugin-3.3.0/watcher_tempest_plugin/config.py → watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/tests/client_functional/__init__.py +15 -8
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/client_functional/v1/test_action.py +4 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/client_functional/v1/test_action_plan.py +5 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/client_functional/v1/test_audit.py +11 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/client_functional/v1/test_audit_template.py +7 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/client_functional/v1/test_goal.py +5 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/client_functional/v1/test_scoring_engine.py +5 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/client_functional/v1/test_service.py +5 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/client_functional/v1/test_strategy.py +6 -0
- watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/tests/scenario/base.py +1094 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/scenario/test_execute_actuator.py +21 -14
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/scenario/test_execute_basic_optim.py +18 -4
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/scenario/test_execute_dummy_optim.py +2 -0
- watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/tests/scenario/test_execute_host_maintenance.py +115 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/scenario/test_execute_storage_balance.py +3 -1
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/scenario/test_execute_strategies.py +94 -56
- watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/tests/scenario/test_execute_strategies_real.py +179 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/scenario/test_execute_vm_workload_consolidation.py +23 -16
- watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/tests/scenario/test_execute_workload_balance.py +131 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/scenario/test_execute_workload_balancing.py +19 -6
- watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/tests/scenario/test_execute_zone_migration.py +106 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0/watcher_tempest_plugin.egg-info}/PKG-INFO +16 -16
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin.egg-info/SOURCES.txt +6 -3
- watcher_tempest_plugin-3.5.0/watcher_tempest_plugin.egg-info/pbr.json +1 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin.egg-info/requires.txt +1 -1
- watcher_tempest_plugin-3.3.0/README.rst +0 -20
- watcher_tempest_plugin-3.3.0/babel.cfg +0 -2
- watcher_tempest_plugin-3.3.0/watcher_tempest_plugin/README.rst +0 -170
- watcher_tempest_plugin-3.3.0/watcher_tempest_plugin/tests/scenario/__init__.py +0 -0
- watcher_tempest_plugin-3.3.0/watcher_tempest_plugin/tests/scenario/base.py +0 -557
- watcher_tempest_plugin-3.3.0/watcher_tempest_plugin/tests/scenario/manager.py +0 -240
- watcher_tempest_plugin-3.3.0/watcher_tempest_plugin/tests/scenario/test_execute_host_maintenance.py +0 -126
- watcher_tempest_plugin-3.3.0/watcher_tempest_plugin/tests/scenario/test_execute_zone_migration.py +0 -131
- watcher_tempest_plugin-3.3.0/watcher_tempest_plugin.egg-info/pbr.json +0 -1
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/.coveragerc +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/.mailmap +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/.stestr.conf +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/.testr.conf +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/HACKING.rst +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/LICENSE +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/doc/requirements.txt +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/doc/source/contributing.rst +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/doc/source/index.rst +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/releasenotes/notes/.placeholder +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/releasenotes/notes/drop-py-2-7-eb1979587d237f5e.yaml +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/releasenotes/source/_static/.placeholder +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/releasenotes/source/_templates/.placeholder +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/releasenotes/source/conf.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/releasenotes/source/index.rst +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/releasenotes/source/unreleased.rst +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/setup.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/services/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/services/infra_optim/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/services/infra_optim/v1/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/services/infra_optim/v1/json/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/services/metric/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/services/metric/v1/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/services/metric/v1/json/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/services/metric/v1/json/client.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/api/admin/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0/watcher_tempest_plugin/tests/client_functional → watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/tests/client_functional/v1}/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/tests/client_functional/v1/base.py +0 -0
- {watcher_tempest_plugin-3.3.0/watcher_tempest_plugin/tests/client_functional/v1 → watcher_tempest_plugin-3.5.0/watcher_tempest_plugin/tests/scenario}/__init__.py +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin.egg-info/dependency_links.txt +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin.egg-info/entry_points.txt +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin.egg-info/not-zip-safe +0 -0
- {watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin.egg-info/top_level.txt +0 -0
|
@@ -3,40 +3,47 @@
|
|
|
3
3
|
templates:
|
|
4
4
|
- check-requirements
|
|
5
5
|
- tempest-plugin-jobs
|
|
6
|
+
- publish-openstack-docs-pti
|
|
7
|
+
- release-notes-jobs-python3
|
|
6
8
|
check:
|
|
7
9
|
jobs:
|
|
8
|
-
- watcherclient-tempest-functional
|
|
9
10
|
- watcher-tempest-functional
|
|
10
11
|
- watcher-tempest-actuator
|
|
11
12
|
- watcher-tempest-strategies
|
|
13
|
+
- watcher-prometheus-integration
|
|
14
|
+
- watcher-aetos-integration
|
|
15
|
+
- watcher-tempest-functional-2025-2
|
|
16
|
+
- watcher-tempest-functional-2025-1
|
|
12
17
|
- watcher-tempest-functional-2024-2
|
|
13
18
|
- watcher-tempest-functional-2024-1
|
|
14
|
-
- watcher-tempest-functional-2023-2
|
|
15
|
-
- watcher-tempest-functional-2023-1
|
|
16
19
|
gate:
|
|
17
20
|
jobs:
|
|
18
21
|
- watcher-tempest-functional
|
|
22
|
+
experimental:
|
|
23
|
+
jobs:
|
|
24
|
+
- watcher-prometheus-integration-realdata
|
|
25
|
+
- watcher-aetos-integration-realdata
|
|
19
26
|
|
|
20
27
|
- job:
|
|
21
|
-
name: watcher-tempest-functional-
|
|
28
|
+
name: watcher-tempest-functional-2025-2
|
|
22
29
|
parent: watcher-tempest-functional
|
|
23
|
-
nodeset: openstack-single-node-
|
|
24
|
-
override-checkout: stable/
|
|
30
|
+
nodeset: openstack-single-node-noble
|
|
31
|
+
override-checkout: stable/2025.2
|
|
25
32
|
|
|
26
33
|
- job:
|
|
27
|
-
name: watcher-tempest-functional-
|
|
34
|
+
name: watcher-tempest-functional-2025-1
|
|
28
35
|
parent: watcher-tempest-functional
|
|
29
|
-
nodeset: openstack-single-node-
|
|
30
|
-
override-checkout: stable/
|
|
36
|
+
nodeset: openstack-single-node-noble
|
|
37
|
+
override-checkout: stable/2025.1
|
|
31
38
|
|
|
32
39
|
- job:
|
|
33
|
-
name: watcher-tempest-functional-
|
|
40
|
+
name: watcher-tempest-functional-2024-2
|
|
34
41
|
parent: watcher-tempest-functional
|
|
35
42
|
nodeset: openstack-single-node-jammy
|
|
36
|
-
override-checkout: stable/
|
|
43
|
+
override-checkout: stable/2024.2
|
|
37
44
|
|
|
38
45
|
- job:
|
|
39
|
-
name: watcher-tempest-functional-
|
|
46
|
+
name: watcher-tempest-functional-2024-1
|
|
40
47
|
parent: watcher-tempest-functional
|
|
41
48
|
nodeset: openstack-single-node-jammy
|
|
42
|
-
override-checkout: stable/
|
|
49
|
+
override-checkout: stable/2024.1
|
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
98k <18552437190@163.com>
|
|
2
2
|
Alexander Chadin <a.chadin@servionica.ru>
|
|
3
|
+
Alfredo Moralejo <amoralej@redhat.com>
|
|
3
4
|
Andrea Frittoli <andrea.frittoli@gmail.com>
|
|
4
5
|
Andreas Jaeger <aj@suse.com>
|
|
6
|
+
Chandan Kumar (raukadah) <chkumar@redhat.com>
|
|
5
7
|
Chandan Kumar <chkumar@redhat.com>
|
|
6
8
|
Dantali0n <info@dantalion.nl>
|
|
7
9
|
David TARDIVEL <David.TARDIVEL@b-com.com>
|
|
10
|
+
Douglas Viroel <viroel@gmail.com>
|
|
8
11
|
Drew Thorstensen <thorst@us.ibm.com>
|
|
9
12
|
Ghanshyam Mann <gmann@ghanshyammann.com>
|
|
10
13
|
Gábor Antal <antal@inf.u-szeged.hu>
|
|
11
14
|
Hervé Beraud <hberaud@redhat.com>
|
|
12
15
|
Hidekazu Nakamura <hid-nakamura@vf.jp.nec.com>
|
|
13
16
|
Jaewoo Park <jp655p@att.com>
|
|
17
|
+
Jaromir Wysoglad <jwysogla@redhat.com>
|
|
14
18
|
Ken'ichi Ohmichi <ken-oomichi@wx.jp.nec.com>
|
|
15
19
|
Larry Rensing <lr699s@att.com>
|
|
20
|
+
Martin Kopec <mkopec@redhat.com>
|
|
16
21
|
Michael Gugino <michael.gugino@walmart.com>
|
|
17
22
|
Ngo Quoc Cuong <cuongnq@vn.fujitsu.com>
|
|
18
23
|
Nguyen Hai <nguyentrihai93@gmail.com>
|
|
19
24
|
Nishant Kumar <nishant.e.kumar@ericsson.com>
|
|
25
|
+
Roman Popelka <rpopelka@redhat.com>
|
|
26
|
+
Sean Mooney <work@seanmooney.info>
|
|
20
27
|
ShangXiao <shangxiaobj@inspur.com>
|
|
21
28
|
Sumit Jamgade <sjamgade@suse.com>
|
|
29
|
+
Takashi Kajinami <kajinamit@oss.nttdata.com>
|
|
22
30
|
Tin Lam <tl3438@att.com>
|
|
23
31
|
Vieri <15050873171@163.com>
|
|
24
32
|
Vincent Françoise <Vincent.FRANCOISE@b-com.com>
|
|
@@ -36,6 +44,9 @@ licanwei <li.canwei2@zte.com.cn>
|
|
|
36
44
|
limin.lc <limin.lc@inspur.com>
|
|
37
45
|
liyou01 <liyou01@inspur.com>
|
|
38
46
|
maaoyu <maaoyu@inspur.com>
|
|
47
|
+
malinga tembo <mtembo@redhat.com>
|
|
48
|
+
morenod <dsanz@redhat.com>
|
|
49
|
+
morenod <dsanzmor@redhat.com>
|
|
39
50
|
qinchunhua <qin.chunhua@zte.com.cn>
|
|
40
51
|
qingszhao <zhao.daqing@99cloud.net>
|
|
41
52
|
rajat29 <rajat.sharma@nectechnologies.in>
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
If you would like to contribute to the development of OpenStack, you must
|
|
2
|
-
follow the steps
|
|
2
|
+
follow the steps on this page:
|
|
3
3
|
|
|
4
|
-
https://docs.
|
|
4
|
+
https://docs.opendev.org/opendev/infra-manual/latest/developers.html
|
|
5
5
|
|
|
6
6
|
If you already have a good understanding of how the system works and your
|
|
7
7
|
OpenStack accounts are set up, you can skip to the development workflow
|
|
8
8
|
section of this documentation to learn how changes to OpenStack should be
|
|
9
9
|
submitted for review via the Gerrit tool:
|
|
10
10
|
|
|
11
|
-
https://docs.
|
|
11
|
+
https://docs.opendev.org/opendev/infra-manual/latest/developers.html#development-workflow
|
|
12
12
|
|
|
13
13
|
Pull requests submitted through GitHub will be ignored.
|
|
14
14
|
|
|
15
15
|
Bugs should be filed on Launchpad, not GitHub:
|
|
16
16
|
|
|
17
|
-
https://bugs.launchpad.net/
|
|
17
|
+
https://bugs.launchpad.net/watcher-tempest-plugin
|
|
@@ -1,10 +1,75 @@
|
|
|
1
1
|
CHANGES
|
|
2
2
|
=======
|
|
3
3
|
|
|
4
|
+
3.5.0
|
|
5
|
+
-----
|
|
6
|
+
|
|
7
|
+
* Add stable/2025.2 job
|
|
8
|
+
* Check for single instance migration to backup node
|
|
9
|
+
* Add Aetos jobs in check and experimental pipelines
|
|
10
|
+
* Add custom flavor and dynamic threshold to workload\_balance tests
|
|
11
|
+
* Add api test for skip action
|
|
12
|
+
* Add support for microversion testing for api and scenario tests
|
|
13
|
+
* Skip execute\_workload\_balance\_strategy\_cpu|ram due to known bug
|
|
14
|
+
* Create a function for deleting old injected metrics on prometheus
|
|
15
|
+
* Inject metrics for host total ram on prometheus
|
|
16
|
+
* Add workload\_stabilization RAM tests and adapt the current one for CPU
|
|
17
|
+
* Add tests for workload\_balance with injected data
|
|
18
|
+
* Add tests for workload balance with real data
|
|
19
|
+
* Fix injected host\_ram\_usage metrics
|
|
20
|
+
* Refact on creating instances and inject metrics
|
|
21
|
+
* Update tests on zone migration strategy
|
|
22
|
+
* Update tests for host maintenance strategy
|
|
23
|
+
* Move function for creating instances from 1 to variable number
|
|
24
|
+
* Add reusable method for getting enabled compute nodes
|
|
25
|
+
* Enforce compute host in create\_one\_instance\_per\_host
|
|
26
|
+
* Change destination node calculation on actuator tests
|
|
27
|
+
* Change timeframe of fake metrics uploaded to gnocchi
|
|
28
|
+
* Use get\_host\_for\_server and get\_host\_other\_than to get src/dst node
|
|
29
|
+
* Remove stable/2023.2 job
|
|
30
|
+
* Add metrics for RAM to gnocchi and prometheus injected data
|
|
31
|
+
* Add experimental pipeline to allow run jobs with real data
|
|
32
|
+
* Refactor of wait\_for\_instances\_in\_model function to wait until all instances are in the correct compute node on the model
|
|
33
|
+
* add pyproject.toml to support pip 23.1
|
|
34
|
+
* Add tests for host\_maintenance strategy with backup node
|
|
35
|
+
* Add check-uuid to pep8 tox tests
|
|
36
|
+
* Bug: 2107531. Adding unique uuid decorator to all watcher tests
|
|
37
|
+
* Ensure test\_execute\_workload\_stabilization\_strategy creates non-emtpy action nplan
|
|
38
|
+
* skip metric injection when not needed
|
|
39
|
+
* Replace UPPER\_CONSTRAINTS\_FILE
|
|
40
|
+
* Fix typo on bugs link
|
|
41
|
+
* Add stable/2025.1 job
|
|
42
|
+
* Add real-data scenario tests
|
|
43
|
+
* Add deprecation about client\_functional tests
|
|
44
|
+
* Check expected actions included in plans when executing strategies
|
|
45
|
+
* Drop watcherclient-tempest-functional job
|
|
46
|
+
|
|
47
|
+
3.4.0
|
|
48
|
+
-----
|
|
49
|
+
|
|
50
|
+
* Move make\_host\_statistic to the correct strategy
|
|
51
|
+
* Small improvements to prometheus\_client and zone migration test
|
|
52
|
+
* Add a check for instances in the compute model
|
|
53
|
+
* Add support to run promtool in a podified deployment
|
|
54
|
+
* Add support for prometheus datasource in scenario tests
|
|
55
|
+
* tox: Drop envdir
|
|
56
|
+
* Add new config option optimize.datasource
|
|
57
|
+
* Drop bandit B320 profile to fix pep8 job
|
|
58
|
+
* Update documentation and add a job to publish it
|
|
59
|
+
* Remove stable/2023.1 job from master gate
|
|
60
|
+
* Drop translation sections
|
|
61
|
+
* Support py3.12 and drop py3.8
|
|
62
|
+
* Remove scenario manager
|
|
63
|
+
* Remove create\_volume & create\_volume\_type
|
|
64
|
+
* Remove create\_server method
|
|
65
|
+
* Remove \_create\_port and create\_keypair methods
|
|
66
|
+
* Bump tempest minimal version to 27.0.0 or higher
|
|
67
|
+
|
|
4
68
|
3.3.0
|
|
5
69
|
-----
|
|
6
70
|
|
|
7
71
|
* Add stable/2024.2 jobs on master gate
|
|
72
|
+
* Drop unnecessary 'x' bit from doc config file
|
|
8
73
|
|
|
9
74
|
3.2.0
|
|
10
75
|
-----
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: watcher-tempest-plugin
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.5.0
|
|
4
4
|
Summary: Tempest plugin watcher-tempest-plugin
|
|
5
5
|
Home-page: https://docs.openstack.org/watcher/latest/
|
|
6
6
|
Author: OpenStack
|
|
@@ -14,34 +14,34 @@ Classifier: Programming Language :: Python
|
|
|
14
14
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
15
15
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.
|
|
19
|
-
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Requires-Python: >=3.9
|
|
20
22
|
License-File: LICENSE
|
|
21
23
|
Requires-Dist: pbr>=3.1.1
|
|
22
24
|
Requires-Dist: oslo.log>=3.36.0
|
|
23
25
|
Requires-Dist: oslo.utils>=3.33.0
|
|
24
|
-
Requires-Dist: tempest>=
|
|
26
|
+
Requires-Dist: tempest>=27.0.0
|
|
25
27
|
Requires-Dist: os-traits>=0.15.0
|
|
26
28
|
|
|
27
29
|
======================
|
|
28
30
|
watcher-tempest-plugin
|
|
29
31
|
======================
|
|
30
32
|
|
|
31
|
-
|
|
33
|
+
This repository contains a `Tempest`_ `test plugin`_ to verify the
|
|
34
|
+
functionality of the `Watcher`_ service.
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
80 cols, so that distribution package maintainers can use it in their packages.
|
|
35
|
-
Note that this is a hard requirement.
|
|
36
|
+
See the following docs to learn more:
|
|
36
37
|
|
|
37
38
|
* Free software: Apache license
|
|
38
|
-
* Documentation: https://docs.openstack.org/watcher
|
|
39
|
-
* Release notes: https://docs.openstack.org/releasenotes/watcher
|
|
39
|
+
* Documentation: https://docs.openstack.org/watcher-tempest-plugin/latest/
|
|
40
|
+
* Release notes: https://docs.openstack.org/releasenotes/watcher-tempest-plugin/
|
|
40
41
|
* Source: https://opendev.org/openstack/watcher-tempest-plugin
|
|
41
|
-
* Bugs: https://bugs.launchpad.net/watcher
|
|
42
|
+
* Bugs: https://bugs.launchpad.net/watcher-tempest-plugin
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
* TODO
|
|
44
|
+
.. _Tempest: https://docs.openstack.org/tempest
|
|
45
|
+
.. _test plugin: https://docs.openstack.org/tempest/latest/plugin.html
|
|
46
|
+
.. _Watcher: https://docs.openstack.org/watcher/latest/
|
|
47
47
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
======================
|
|
2
|
+
watcher-tempest-plugin
|
|
3
|
+
======================
|
|
4
|
+
|
|
5
|
+
This repository contains a `Tempest`_ `test plugin`_ to verify the
|
|
6
|
+
functionality of the `Watcher`_ service.
|
|
7
|
+
|
|
8
|
+
See the following docs to learn more:
|
|
9
|
+
|
|
10
|
+
* Free software: Apache license
|
|
11
|
+
* Documentation: https://docs.openstack.org/watcher-tempest-plugin/latest/
|
|
12
|
+
* Release notes: https://docs.openstack.org/releasenotes/watcher-tempest-plugin/
|
|
13
|
+
* Source: https://opendev.org/openstack/watcher-tempest-plugin
|
|
14
|
+
* Bugs: https://bugs.launchpad.net/watcher-tempest-plugin
|
|
15
|
+
|
|
16
|
+
.. _Tempest: https://docs.openstack.org/tempest
|
|
17
|
+
.. _test plugin: https://docs.openstack.org/tempest/latest/plugin.html
|
|
18
|
+
.. _Watcher: https://docs.openstack.org/watcher/latest/
|
|
19
|
+
|
|
File without changes
|
|
@@ -20,14 +20,15 @@ Tempest installation
|
|
|
20
20
|
|
|
21
21
|
To install Tempest you can issue the following commands::
|
|
22
22
|
|
|
23
|
-
$ git clone https://
|
|
23
|
+
$ git clone https://opendev.org/openstack/tempest
|
|
24
24
|
$ cd tempest/
|
|
25
25
|
$ pip install .
|
|
26
26
|
|
|
27
|
-
The folder you are
|
|
27
|
+
The folder's path you are now in will be called ``<TEMPEST_DIR>`` from now
|
|
28
|
+
onwards.
|
|
28
29
|
|
|
29
|
-
Please note that although it is fully working outside a virtual environment,
|
|
30
|
-
is recommended to install within a `venv`.
|
|
30
|
+
Please note that although it is fully working outside a `virtual environment`_,
|
|
31
|
+
it is recommended to install within a `venv`.
|
|
31
32
|
|
|
32
33
|
|
|
33
34
|
Watcher Tempest testing setup
|
|
@@ -38,7 +39,7 @@ following command::
|
|
|
38
39
|
|
|
39
40
|
$ pip install -e <WATCHER_SRC_DIR>
|
|
40
41
|
|
|
41
|
-
Then
|
|
42
|
+
Then set up a local working environment (here ``watcher-cloud``) for running
|
|
42
43
|
Tempest for Watcher which shall contain the configuration for your OpenStack
|
|
43
44
|
integration platform.
|
|
44
45
|
|
|
@@ -58,7 +59,7 @@ issue the following commands::
|
|
|
58
59
|
$ cd <TEMPEST_DIR>/watcher-cloud/etc
|
|
59
60
|
$ cp tempest.conf.sample tempest.conf
|
|
60
61
|
|
|
61
|
-
At this point you need to edit the ``watcher-cloud/etc/tempest.conf``
|
|
62
|
+
At this point, you need to edit the ``watcher-cloud/etc/tempest.conf``
|
|
62
63
|
file as described in the `Tempest configuration guide`_.
|
|
63
64
|
Shown below is a minimal configuration you need to set within your
|
|
64
65
|
``tempest.conf`` configuration file which can get you started.
|
|
@@ -85,8 +86,8 @@ You now have the minimum configuration for running Watcher Tempest tests on a
|
|
|
85
86
|
single node.
|
|
86
87
|
|
|
87
88
|
Since deploying Watcher with only a single compute node is not very useful, a
|
|
88
|
-
few more
|
|
89
|
-
enable the execution of multi-node scenarios::
|
|
89
|
+
few more configurations have to be set in your ``tempest.conf`` file in order
|
|
90
|
+
to enable the execution of multi-node scenarios::
|
|
90
91
|
|
|
91
92
|
[compute]
|
|
92
93
|
# To indicate Tempest test that you have provided enough compute nodes
|
|
@@ -117,13 +118,13 @@ To run only these tests in Tempest, you can then issue these commands::
|
|
|
117
118
|
|
|
118
119
|
$ tempest run --config-file watcher-cloud/etc/tempest.conf --regex watcher_tempest_plugin
|
|
119
120
|
|
|
120
|
-
|
|
121
|
+
Alternatively, the following commands if you are in the Tempest directory::
|
|
121
122
|
|
|
122
123
|
$ cd <TEMPEST_DIR>/watcher-cloud
|
|
123
124
|
$ tempest run --regex watcher_tempest_plugin
|
|
124
125
|
|
|
125
|
-
To run a single test case, go to Tempest directory, then run with test
|
|
126
|
-
name, e.g.::
|
|
126
|
+
To run a single test case, go to the Tempest directory, then run with the test
|
|
127
|
+
case name, e.g.::
|
|
127
128
|
|
|
128
129
|
$ cd <TEMPEST_DIR>
|
|
129
130
|
$ tempest run --config-file watcher-cloud/etc/tempest.conf --regex \
|
|
@@ -136,9 +137,20 @@ before you can do so, you need to follow the Tempest explanation on running
|
|
|
136
137
|
$ export TEMPEST_CONFIG_DIR=<TEMPEST_DIR>/watcher-cloud/etc/
|
|
137
138
|
$ tox -eall-plugin watcher
|
|
138
139
|
|
|
139
|
-
.. _tox with plugins: https://docs.openstack.org/tempest/latest/plugin.html#notes-for-using-plugins-with-virtualenvs
|
|
140
|
+
.. _tox with plugins: https://docs.openstack.org/tempest/latest/plugins/plugin.html#notes-for-using-plugins-with-virtualenvs
|
|
140
141
|
|
|
141
142
|
And, to run a specific test::
|
|
142
143
|
|
|
143
144
|
$ export TEMPEST_CONFIG_DIR=<TEMPEST_DIR>/watcher-cloud/etc/
|
|
144
145
|
$ tox -eall-plugin watcher_tempest_plugin.tests.api.admin.test_audit_template.TestCreateDeleteAuditTemplate.test_create_audit_template
|
|
146
|
+
|
|
147
|
+
Watcherclient Tempest tests execution
|
|
148
|
+
-------------------------------------
|
|
149
|
+
|
|
150
|
+
To run Watcherclient functional tests you need to execute ``tempest run`` command::
|
|
151
|
+
|
|
152
|
+
$ tempest run --regex watcher_tempest_plugin.tests.client_functional
|
|
153
|
+
|
|
154
|
+
You can run specified test(s) by using a regular expression::
|
|
155
|
+
|
|
156
|
+
$ tempest run --regex watcher_tempest_plugin.tests.client_functional.v1.test_action.ActionTests.test_action_list
|
|
@@ -6,7 +6,7 @@ description_file =
|
|
|
6
6
|
author = OpenStack
|
|
7
7
|
author_email = openstack-discuss@lists.openstack.org
|
|
8
8
|
home_page = https://docs.openstack.org/watcher/latest/
|
|
9
|
-
python_requires = >=3.
|
|
9
|
+
python_requires = >=3.9
|
|
10
10
|
classifier =
|
|
11
11
|
Environment :: OpenStack
|
|
12
12
|
Intended Audience :: Information Technology
|
|
@@ -17,27 +17,15 @@ classifier =
|
|
|
17
17
|
Programming Language :: Python :: Implementation :: CPython
|
|
18
18
|
Programming Language :: Python :: 3 :: Only
|
|
19
19
|
Programming Language :: Python :: 3
|
|
20
|
-
Programming Language :: Python :: 3.
|
|
21
|
-
Programming Language :: Python :: 3.
|
|
20
|
+
Programming Language :: Python :: 3.9
|
|
21
|
+
Programming Language :: Python :: 3.10
|
|
22
|
+
Programming Language :: Python :: 3.11
|
|
23
|
+
Programming Language :: Python :: 3.12
|
|
22
24
|
|
|
23
25
|
[files]
|
|
24
26
|
packages =
|
|
25
27
|
watcher_tempest_plugin
|
|
26
28
|
|
|
27
|
-
[compile_catalog]
|
|
28
|
-
directory = watcher-tempest-plugin/locale
|
|
29
|
-
domain = watcher-tempest-plugin
|
|
30
|
-
|
|
31
|
-
[update_catalog]
|
|
32
|
-
domain = watcher-tempest-plugin
|
|
33
|
-
output_dir = watcher-tempest-plugin/locale
|
|
34
|
-
input_file = watcher-tempest-plugin/locale/watcher-tempest-plugin.pot
|
|
35
|
-
|
|
36
|
-
[extract_messages]
|
|
37
|
-
keywords = _ gettext ngettext l_ lazy_gettext
|
|
38
|
-
mapping_file = babel.cfg
|
|
39
|
-
output_file = watcher-tempest-plugin/locale/watcher-tempest-plugin.pot
|
|
40
|
-
|
|
41
29
|
[entry_points]
|
|
42
30
|
tempest.test_plugins =
|
|
43
31
|
watcher_tests = watcher_tempest_plugin.plugin:WatcherTempestPlugin
|
|
@@ -7,11 +7,11 @@ ignore_basepython_conflict = True
|
|
|
7
7
|
[testenv]
|
|
8
8
|
basepython = python3
|
|
9
9
|
usedevelop = True
|
|
10
|
-
install_command = pip install -c{env:
|
|
10
|
+
install_command = pip install -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} {opts} {packages}
|
|
11
11
|
setenv =
|
|
12
|
-
VIRTUAL_ENV={envdir}
|
|
13
12
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
14
13
|
deps =
|
|
14
|
+
-r{toxinidir}/requirements.txt
|
|
15
15
|
-r{toxinidir}/test-requirements.txt
|
|
16
16
|
commands = stestr run --slowest {posargs}
|
|
17
17
|
|
|
@@ -19,12 +19,13 @@ commands = stestr run --slowest {posargs}
|
|
|
19
19
|
commands =
|
|
20
20
|
doc8 doc/source/ CONTRIBUTING.rst HACKING.rst README.rst
|
|
21
21
|
flake8
|
|
22
|
-
bandit -r watcher_tempest_plugin -x tests -n5 -ll
|
|
22
|
+
bandit -r watcher_tempest_plugin -x tests -n5 -ll
|
|
23
|
+
check-uuid --package watcher_tempest_plugin
|
|
23
24
|
|
|
24
25
|
[testenv:cover]
|
|
25
26
|
setenv =
|
|
26
27
|
{[testenv]setenv}
|
|
27
|
-
PYTHON=coverage run --source
|
|
28
|
+
PYTHON=coverage run --source watcher_tempest_plugin --parallel-mode
|
|
28
29
|
commands =
|
|
29
30
|
stestr run {posargs}
|
|
30
31
|
coverage combine
|
|
@@ -41,7 +42,6 @@ deps =
|
|
|
41
42
|
commands = sphinx-build -W -b html doc/source doc/build/html
|
|
42
43
|
|
|
43
44
|
[testenv:pdf-docs]
|
|
44
|
-
envdir = {toxworkdir}/docs
|
|
45
45
|
deps = {[testenv:docs]deps}
|
|
46
46
|
allowlist_externals =
|
|
47
47
|
rm
|
|
@@ -60,7 +60,7 @@ commands = oslo_debug_helper {posargs}
|
|
|
60
60
|
|
|
61
61
|
[testenv:bandit]
|
|
62
62
|
deps = -r{toxinidir}/test-requirements.txt
|
|
63
|
-
commands = bandit -r watcher_tempest_plugin -x tests -n5 -ll
|
|
63
|
+
commands = bandit -r watcher_tempest_plugin -x tests -n5 -ll
|
|
64
64
|
|
|
65
65
|
show-source = True
|
|
66
66
|
ignore = E123,E125
|
|
@@ -76,3 +76,6 @@ exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,demo/,releasenotes
|
|
|
76
76
|
|
|
77
77
|
[doc8]
|
|
78
78
|
extension=.rst
|
|
79
|
+
|
|
80
|
+
[testenv:uuidgen]
|
|
81
|
+
commands = check-uuid --fix --package watcher_tempest_plugin
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
# Copyright (c) 2016 b<>com
|
|
3
|
+
#
|
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
# you may not use this file except in compliance with the License.
|
|
6
|
+
# You may obtain a copy of the License at
|
|
7
|
+
#
|
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
#
|
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
13
|
+
# implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
|
|
17
|
+
from oslo_config import cfg
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
service_option = cfg.BoolOpt("watcher",
|
|
21
|
+
default=True,
|
|
22
|
+
help="Whether or not watcher is expected to be "
|
|
23
|
+
"available")
|
|
24
|
+
|
|
25
|
+
optimization_group = cfg.OptGroup(name="optimize",
|
|
26
|
+
title="Watcher Service Options")
|
|
27
|
+
|
|
28
|
+
OptimizationGroup = [
|
|
29
|
+
cfg.StrOpt(
|
|
30
|
+
"datasource",
|
|
31
|
+
default="gnocchi",
|
|
32
|
+
choices=["gnocchi", "prometheus", ""],
|
|
33
|
+
help="Name of the data source used with the Watcher Service. "
|
|
34
|
+
"Tempest will retrieve and add metrics from/to this data "
|
|
35
|
+
"source when running Strategy tests. When running "
|
|
36
|
+
"tests that do not require instance or host metrics, "
|
|
37
|
+
"you can define this option to an empty string."),
|
|
38
|
+
cfg.StrOpt(
|
|
39
|
+
"openstack_type",
|
|
40
|
+
default="devstack",
|
|
41
|
+
choices=["devstack", "podified"],
|
|
42
|
+
help="Type of OpenStack deployment.",
|
|
43
|
+
),
|
|
44
|
+
# Proxy host configuration
|
|
45
|
+
cfg.StrOpt(
|
|
46
|
+
"proxy_host_address",
|
|
47
|
+
default="",
|
|
48
|
+
help="A proxy host to run extra commands for some datasources.",
|
|
49
|
+
),
|
|
50
|
+
cfg.StrOpt(
|
|
51
|
+
"proxy_host_user",
|
|
52
|
+
default="",
|
|
53
|
+
help="User of the proxy host to run extra commands for "
|
|
54
|
+
"some datasources.",
|
|
55
|
+
),
|
|
56
|
+
cfg.StrOpt(
|
|
57
|
+
"proxy_host_pkey",
|
|
58
|
+
default="",
|
|
59
|
+
help="Path to a private key to access the proxy host.",
|
|
60
|
+
),
|
|
61
|
+
cfg.StrOpt(
|
|
62
|
+
"proxy_host_pkey_type",
|
|
63
|
+
default="rsa",
|
|
64
|
+
help="Private key type to be used to access the proxy host.",
|
|
65
|
+
),
|
|
66
|
+
# Prometheus datasource configuration
|
|
67
|
+
cfg.StrOpt(
|
|
68
|
+
"prometheus_host",
|
|
69
|
+
default="127.0.0.1",
|
|
70
|
+
help="The hostname or IP address for the prometheus server.",
|
|
71
|
+
),
|
|
72
|
+
cfg.StrOpt(
|
|
73
|
+
"prometheus_port",
|
|
74
|
+
default="9090",
|
|
75
|
+
help="The port number used by the prometheus server.",
|
|
76
|
+
),
|
|
77
|
+
cfg.StrOpt(
|
|
78
|
+
"prometheus_promtool",
|
|
79
|
+
default="promtool",
|
|
80
|
+
help="The promtool binary path in the host.",
|
|
81
|
+
),
|
|
82
|
+
cfg.BoolOpt(
|
|
83
|
+
"prometheus_ssl_enabled",
|
|
84
|
+
default=False,
|
|
85
|
+
help="Whether or not SSL is enabled in prometheus server.",
|
|
86
|
+
),
|
|
87
|
+
cfg.StrOpt(
|
|
88
|
+
"prometheus_ssl_cert_dir",
|
|
89
|
+
default="",
|
|
90
|
+
help="Path to directory that constains certificates needed to "
|
|
91
|
+
"interact with the Prometheus server.",
|
|
92
|
+
),
|
|
93
|
+
cfg.StrOpt(
|
|
94
|
+
"prometheus_fqdn_label",
|
|
95
|
+
default="fqdn",
|
|
96
|
+
help="The label that Prometheus uses to store the fqdn of "
|
|
97
|
+
"exporters.",
|
|
98
|
+
),
|
|
99
|
+
# Podified control plane configuration
|
|
100
|
+
cfg.StrOpt(
|
|
101
|
+
"podified_kubeconfig_path",
|
|
102
|
+
default="",
|
|
103
|
+
help="Path to a kubeconfig file, to run 'oc' commands in a "
|
|
104
|
+
"podified control plane environment."
|
|
105
|
+
),
|
|
106
|
+
cfg.StrOpt(
|
|
107
|
+
"podified_namespace",
|
|
108
|
+
default="openstack",
|
|
109
|
+
help="Namespace where OpenStack is deployed in a podified "
|
|
110
|
+
"control plane environment."
|
|
111
|
+
),
|
|
112
|
+
cfg.IntOpt(
|
|
113
|
+
"real_workload_period",
|
|
114
|
+
default=120,
|
|
115
|
+
help="In real-data test cases, the period of time during which "
|
|
116
|
+
"the load will be executed in seconds."
|
|
117
|
+
),
|
|
118
|
+
cfg.StrOpt(
|
|
119
|
+
"min_microversion",
|
|
120
|
+
default=None,
|
|
121
|
+
help="Lower version of the test target microversion range. "
|
|
122
|
+
"The format is 'X.Y', where 'X' and 'Y' are int values."
|
|
123
|
+
),
|
|
124
|
+
cfg.StrOpt(
|
|
125
|
+
"max_microversion",
|
|
126
|
+
default=None,
|
|
127
|
+
help="Upper version of the test target microversion range. "
|
|
128
|
+
"The format is 'X.Y', where 'X' and 'Y' are int values."
|
|
129
|
+
),
|
|
130
|
+
]
|
|
@@ -24,6 +24,7 @@ from tempest.lib.common import rest_client
|
|
|
24
24
|
from tempest.lib.services.placement import placement_client
|
|
25
25
|
|
|
26
26
|
from watcher_tempest_plugin.services.infra_optim.v1.json import client as ioc
|
|
27
|
+
from watcher_tempest_plugin.services.metric import prometheus_client as pc
|
|
27
28
|
from watcher_tempest_plugin.services.metric.v1.json import client as gc
|
|
28
29
|
|
|
29
30
|
CONF = config.CONF
|
|
@@ -39,6 +40,22 @@ class BaseManager(clients.Manager, metaclass=abc.ABCMeta):
|
|
|
39
40
|
self.auth_provider, 'metric', CONF.identity.region)
|
|
40
41
|
self.placement_client = ExtendPlacementClient(
|
|
41
42
|
self.auth_provider, 'placement', CONF.identity.region)
|
|
43
|
+
prom_ssl = "s" if CONF.optimize.prometheus_ssl_enabled else ""
|
|
44
|
+
self.prometheus_client = pc.PromtoolClient(
|
|
45
|
+
"http{}://{}:{}".format(prom_ssl,
|
|
46
|
+
CONF.optimize.prometheus_host,
|
|
47
|
+
CONF.optimize.prometheus_port),
|
|
48
|
+
promtool_path=CONF.optimize.prometheus_promtool,
|
|
49
|
+
openstack_type=CONF.optimize.openstack_type,
|
|
50
|
+
proxy_host_address=CONF.optimize.proxy_host_address,
|
|
51
|
+
proxy_host_user=CONF.optimize.proxy_host_user,
|
|
52
|
+
proxy_host_pkey=CONF.optimize.proxy_host_pkey,
|
|
53
|
+
proxy_host_pkey_type=CONF.optimize.proxy_host_pkey_type,
|
|
54
|
+
podified_ns=CONF.optimize.podified_namespace,
|
|
55
|
+
podified_kubeconfig=CONF.optimize.podified_kubeconfig_path,
|
|
56
|
+
prometheus_ssl_cert=CONF.optimize.prometheus_ssl_cert_dir,
|
|
57
|
+
prometheus_fqdn_label=CONF.optimize.prometheus_fqdn_label,
|
|
58
|
+
)
|
|
42
59
|
|
|
43
60
|
|
|
44
61
|
class AdminManager(BaseManager):
|
{watcher_tempest_plugin-3.3.0 → watcher_tempest_plugin-3.5.0}/watcher_tempest_plugin/plugin.py
RENAMED
|
@@ -30,5 +30,12 @@ class WatcherTempestPlugin(plugins.TempestPlugin):
|
|
|
30
30
|
conf.register_opt(watcher_config.service_option,
|
|
31
31
|
group='service_available')
|
|
32
32
|
|
|
33
|
+
conf.register_group(watcher_config.optimization_group)
|
|
34
|
+
conf.register_opts(watcher_config.OptimizationGroup,
|
|
35
|
+
watcher_config.optimization_group)
|
|
36
|
+
|
|
33
37
|
def get_opt_lists(self):
|
|
34
|
-
return [('service_available', [watcher_config.service_option])
|
|
38
|
+
return [('service_available', [watcher_config.service_option]),
|
|
39
|
+
(watcher_config.optimization_group.name,
|
|
40
|
+
watcher_config.OptimizationGroup)
|
|
41
|
+
]
|