python-watcher 14.1.0__py3-none-any.whl → 15.0.0__py3-none-any.whl
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.
- {python_watcher-14.1.0.dist-info → python_watcher-15.0.0.dist-info}/AUTHORS +6 -0
- {python_watcher-14.1.0.dist-info → python_watcher-15.0.0.dist-info}/METADATA +7 -5
- {python_watcher-14.1.0.dist-info → python_watcher-15.0.0.dist-info}/RECORD +161 -137
- {python_watcher-14.1.0.dist-info → python_watcher-15.0.0.dist-info}/entry_points.txt +4 -3
- python_watcher-15.0.0.dist-info/pbr.json +1 -0
- watcher/api/controllers/rest_api_version_history.rst +9 -0
- watcher/api/controllers/v1/action.py +90 -55
- watcher/api/controllers/v1/action_plan.py +10 -12
- watcher/api/controllers/v1/audit.py +20 -23
- watcher/api/controllers/v1/audit_template.py +1 -14
- watcher/api/controllers/v1/data_model.py +17 -6
- watcher/api/controllers/v1/goal.py +0 -7
- watcher/api/controllers/v1/scoring_engine.py +0 -8
- watcher/api/controllers/v1/service.py +0 -7
- watcher/api/controllers/v1/strategy.py +0 -7
- watcher/api/controllers/v1/types.py +11 -0
- watcher/api/controllers/v1/utils.py +19 -0
- watcher/api/controllers/v1/versions.py +3 -1
- watcher/applier/action_plan/default.py +9 -0
- watcher/applier/actions/change_nova_service_state.py +2 -4
- watcher/applier/actions/migration.py +1 -3
- watcher/applier/actions/nop.py +29 -3
- watcher/applier/actions/stop.py +169 -0
- watcher/applier/workflow_engine/base.py +59 -13
- watcher/applier/workflow_engine/default.py +2 -3
- watcher/cmd/__init__.py +0 -29
- watcher/cmd/eventlet/__init__.py +36 -0
- watcher/cmd/{decisionengine.py → eventlet/decisionengine.py} +2 -7
- watcher/common/cinder_helper.py +45 -7
- watcher/common/clients.py +45 -1
- watcher/common/context.py +6 -36
- watcher/common/exception.py +9 -4
- watcher/common/executor.py +51 -0
- watcher/common/keystone_helper.py +13 -0
- watcher/common/nova_helper.py +43 -4
- watcher/common/oslo_service_helper.py +33 -0
- watcher/common/placement_helper.py +1 -1
- watcher/common/policies/action.py +11 -0
- watcher/common/rpc.py +0 -2
- watcher/common/scheduling.py +6 -27
- watcher/conf/__init__.py +4 -0
- watcher/conf/aetos_client.py +50 -0
- watcher/conf/cinder_client.py +3 -3
- watcher/conf/collector.py +11 -6
- watcher/conf/datasources.py +11 -5
- watcher/conf/decision_engine.py +2 -1
- watcher/conf/glance_client.py +3 -3
- watcher/conf/gnocchi_client.py +3 -3
- watcher/conf/ironic_client.py +4 -4
- watcher/conf/keystone_client.py +1 -1
- watcher/conf/models.py +40 -0
- watcher/conf/monasca_client.py +3 -3
- watcher/conf/neutron_client.py +3 -3
- watcher/conf/nova_client.py +3 -3
- watcher/db/sqlalchemy/alembic/env.py +0 -6
- watcher/db/sqlalchemy/alembic/versions/15f7375ca737_change_efficiacy_indicator_decimals.py +20 -0
- watcher/db/sqlalchemy/alembic/versions/7150a7d8f228_add_status_message_to_actionplan.py +20 -0
- watcher/db/sqlalchemy/api.py +44 -5
- watcher/db/sqlalchemy/models.py +7 -2
- watcher/decision_engine/audit/continuous.py +2 -2
- watcher/decision_engine/datasources/aetos.py +67 -0
- watcher/decision_engine/datasources/base.py +3 -3
- watcher/decision_engine/datasources/manager.py +42 -2
- watcher/decision_engine/datasources/monasca.py +14 -5
- watcher/decision_engine/datasources/prometheus.py +11 -420
- watcher/decision_engine/datasources/prometheus_base.py +480 -0
- watcher/decision_engine/messaging/audit_endpoint.py +4 -6
- watcher/decision_engine/model/collector/base.py +5 -5
- watcher/decision_engine/model/collector/manager.py +24 -1
- watcher/decision_engine/model/collector/nova.py +15 -6
- watcher/decision_engine/model/element/instance.py +3 -0
- watcher/decision_engine/model/model_root.py +15 -0
- watcher/decision_engine/model/notification/nova.py +13 -3
- watcher/decision_engine/planner/weight.py +2 -0
- watcher/decision_engine/service.py +68 -0
- watcher/decision_engine/strategy/strategies/base.py +1 -1
- watcher/decision_engine/strategy/strategies/host_maintenance.py +64 -18
- watcher/decision_engine/strategy/strategies/noisy_neighbor.py +6 -0
- watcher/decision_engine/strategy/strategies/workload_balance.py +36 -12
- watcher/decision_engine/strategy/strategies/workload_stabilization.py +13 -3
- watcher/decision_engine/strategy/strategies/zone_migration.py +20 -6
- watcher/decision_engine/threading.py +4 -3
- watcher/eventlet.py +11 -6
- watcher/locale/de/LC_MESSAGES/watcher.po +1 -5
- watcher/locale/en_GB/LC_MESSAGES/watcher.po +1 -8
- watcher/notifications/action.py +23 -8
- watcher/notifications/action_plan.py +25 -9
- watcher/notifications/audit.py +25 -8
- watcher/objects/action.py +4 -1
- watcher/objects/action_plan.py +5 -1
- watcher/objects/audit.py +4 -1
- watcher/tests/__init__.py +7 -0
- watcher/tests/api/v1/test_actions.py +263 -64
- watcher/tests/api/v1/test_actions_plans.py +76 -0
- watcher/tests/api/v1/test_audit_templates.py +1 -1
- watcher/tests/api/v1/test_audits.py +215 -44
- watcher/tests/api/v1/test_data_model.py +103 -3
- watcher/tests/api/v1/test_types.py +70 -0
- watcher/tests/applier/action_plan/test_default_action_handler.py +68 -0
- watcher/tests/applier/actions/test_stop.py +198 -0
- watcher/tests/applier/workflow_engine/test_default_workflow_engine.py +282 -0
- watcher/tests/applier/workflow_engine/test_taskflow_action_container.py +117 -1
- watcher/tests/base.py +7 -1
- watcher/tests/cmd/test_api.py +1 -1
- watcher/tests/cmd/test_applier.py +1 -1
- watcher/tests/cmd/test_decision_engine.py +4 -1
- watcher/tests/common/test_cinder_helper.py +181 -3
- watcher/tests/common/test_clients.py +11 -7
- watcher/tests/common/test_executor.py +38 -0
- watcher/tests/common/test_keystone_helper.py +60 -0
- watcher/tests/common/test_nova_helper.py +74 -4
- watcher/tests/common/test_oslo_service_helper.py +50 -0
- watcher/tests/common/test_scheduling.py +3 -11
- watcher/tests/db/base.py +16 -0
- watcher/tests/db/test_action.py +8 -0
- watcher/tests/db/test_action_plan.py +9 -0
- watcher/tests/db/test_audit.py +8 -0
- watcher/tests/db/test_efficacy_indicator.py +48 -0
- watcher/tests/db/test_migrations.py +277 -0
- watcher/tests/db/utils.py +4 -2
- watcher/tests/decision_engine/cluster/test_nova_cdmc.py +73 -2
- watcher/tests/decision_engine/datasources/test_aetos_helper.py +61 -0
- watcher/tests/decision_engine/datasources/test_base.py +2 -2
- watcher/tests/decision_engine/datasources/test_manager.py +98 -16
- watcher/tests/decision_engine/datasources/test_monasca_helper.py +10 -1
- watcher/tests/decision_engine/datasources/test_prometheus_base.py +690 -0
- watcher/tests/decision_engine/datasources/test_prometheus_helper.py +66 -611
- watcher/tests/decision_engine/model/data/scenario_11_with_1_node_no_instance.xml +5 -0
- watcher/tests/decision_engine/model/data/scenario_11_with_2_nodes_2_instances.xml +10 -0
- watcher/tests/decision_engine/model/faker_cluster_and_metrics.py +0 -6
- watcher/tests/decision_engine/model/faker_cluster_state.py +6 -0
- watcher/tests/decision_engine/model/gnocchi_metrics.py +2 -2
- watcher/tests/decision_engine/model/notification/data/instance-update-2-1.json +90 -0
- watcher/tests/decision_engine/model/notification/test_nova_notifications.py +72 -3
- watcher/tests/decision_engine/model/test_element.py +10 -0
- watcher/tests/decision_engine/planner/test_weight_planner.py +8 -8
- watcher/tests/decision_engine/strategy/strategies/test_base.py +21 -8
- watcher/tests/decision_engine/strategy/strategies/test_host_maintenance.py +438 -4
- watcher/tests/decision_engine/strategy/strategies/test_workload_balance.py +40 -2
- watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py +103 -0
- watcher/tests/decision_engine/test_scheduling.py +5 -0
- watcher/tests/decision_engine/test_service.py +73 -0
- watcher/tests/fake_policy.py +1 -0
- watcher/tests/fixtures/__init__.py +0 -0
- watcher/tests/fixtures/watcher.py +139 -0
- watcher/tests/notifications/test_action_notification.py +52 -34
- watcher/tests/notifications/test_action_plan_notification.py +40 -24
- watcher/tests/notifications/test_audit_notification.py +26 -17
- watcher/tests/notifications/test_notification.py +22 -22
- watcher/tests/objects/test_action.py +3 -1
- watcher/tests/objects/test_objects.py +5 -5
- python_watcher-14.1.0.dist-info/pbr.json +0 -1
- {python_watcher-14.1.0.data → python_watcher-15.0.0.data}/data/etc/apache2/watcher +0 -0
- {python_watcher-14.1.0.data → python_watcher-15.0.0.data}/data/etc/watcher/README-watcher.conf.txt +0 -0
- {python_watcher-14.1.0.data → python_watcher-15.0.0.data}/data/etc/watcher/oslo-config-generator/watcher.conf +0 -0
- {python_watcher-14.1.0.data → python_watcher-15.0.0.data}/data/etc/watcher/oslo-policy-generator/watcher-policy-generator.conf +0 -0
- {python_watcher-14.1.0.data → python_watcher-15.0.0.data}/scripts/watcher-api-wsgi +0 -0
- {python_watcher-14.1.0.dist-info → python_watcher-15.0.0.dist-info}/LICENSE +0 -0
- {python_watcher-14.1.0.dist-info → python_watcher-15.0.0.dist-info}/WHEEL +0 -0
- {python_watcher-14.1.0.dist-info → python_watcher-15.0.0.dist-info}/top_level.txt +0 -0
- /watcher/cmd/{api.py → eventlet/api.py} +0 -0
- /watcher/cmd/{applier.py → eventlet/applier.py} +0 -0
|
@@ -18,6 +18,7 @@ BubaVV <vmarkov@mirantis.com>
|
|
|
18
18
|
Béla Vancsics <vancsics@inf.u-szeged.hu>
|
|
19
19
|
Cao Xuan Hoang <hoangcx@vn.fujitsu.com>
|
|
20
20
|
Chandan Kumar (raukadah) <chkumar@redhat.com>
|
|
21
|
+
Chandan Kumar <chkumar@redhat.com>
|
|
21
22
|
ChangBo Guo(gcb) <eric.guo@easystack.cn>
|
|
22
23
|
Chaozhe.Chen <chaozhe.chen@easystack.cn>
|
|
23
24
|
Chris MacNaughton <chris.macnaughton@canonical.com>
|
|
@@ -51,6 +52,7 @@ Iswarya_Vakati <v.iswarya@nectechnologies.in>
|
|
|
51
52
|
Jaewoo Park <jp655p@att.com>
|
|
52
53
|
James E. Blair <jeblair@redhat.com>
|
|
53
54
|
James Page <james.page@canonical.com>
|
|
55
|
+
Jaromir Wysoglad <jwysogla@redhat.com>
|
|
54
56
|
Jean-Emile DARTOIS <jean-emile.dartois@b-com.com>
|
|
55
57
|
Jeremy Liu <liujiong@gohighsec.com>
|
|
56
58
|
Jiri Podivin <jpodivin@redhat.com>
|
|
@@ -83,6 +85,7 @@ Pradeep Kumar Singh <ps4openstack@gmail.com>
|
|
|
83
85
|
Prashanth Hari <prashanth.hari@walmart.com>
|
|
84
86
|
Prudhvi Rao Shedimbi <prudhvi.rao.shedimbi@intel.com>
|
|
85
87
|
Q.hongtao <qihongtao@inspur.com>
|
|
88
|
+
Quang Ngo <quang.ngo@canonical.com>
|
|
86
89
|
Ralf Rantzau <rrantzau@cisco.com>
|
|
87
90
|
Ronelle Landy <rlandy@redhat.com>
|
|
88
91
|
Sampath Priyankara <sam47priya@gmail.com>
|
|
@@ -123,6 +126,7 @@ Zhenyu Zheng <zheng.zhenyu@outlook.com>
|
|
|
123
126
|
Zhenzan Zhou <zhenzan.zhou@intel.com>
|
|
124
127
|
aditi <adi.sky17@gmail.com>
|
|
125
128
|
aditi <aditi.s@nectechnologies.in>
|
|
129
|
+
afanasev.s <afanasev.s@selectel.ru>
|
|
126
130
|
akhiljain23 <akhil.jain@india.nec.com>
|
|
127
131
|
akihito-inoh <aki-inou@rs.jp.nec.com>
|
|
128
132
|
avnish <avnish.pal@nectechnologies.in>
|
|
@@ -152,6 +156,7 @@ iswarya_vakati <v.iswarya@nectechnologies.in>
|
|
|
152
156
|
jacky06 <zhang.min@99cloud.net>
|
|
153
157
|
jaugustine <ja224e@att.com>
|
|
154
158
|
jeremy.zhang <zhangjun_inspur@163.com>
|
|
159
|
+
jgilaber <jgilaber@redhat.com>
|
|
155
160
|
jinquanni <ni.jinquan@zte.com.cn>
|
|
156
161
|
junjie huang <junjie.huang@intel.com>
|
|
157
162
|
licanwei <li.canwei2@zte.com.cn>
|
|
@@ -164,6 +169,7 @@ m <mandreou@redhat.com>
|
|
|
164
169
|
maaoyu <maaoyu@inspur.com>
|
|
165
170
|
melissaml <ma.lei@99cloud.net>
|
|
166
171
|
mergalievibragim <mer_eng@mail.ru>
|
|
172
|
+
morenod <dsanzmor@redhat.com>
|
|
167
173
|
pangliye <pangliye@inspur.com>
|
|
168
174
|
pengyuesheng <pengyuesheng@gohighsec.com>
|
|
169
175
|
qinchunhua <qin.chunhua@zte.com.cn>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-watcher
|
|
3
|
-
Version:
|
|
3
|
+
Version: 15.0.0
|
|
4
4
|
Summary: OpenStack Watcher provides a flexible and scalable resource optimization service for multi-tenant OpenStack-based clouds.
|
|
5
5
|
Home-page: https://docs.openstack.org/watcher/latest/
|
|
6
6
|
Author: OpenStack
|
|
@@ -17,10 +17,11 @@ Classifier: Programming Language :: Python :: 3
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
-
Requires-Python: >=3.
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
21
|
License-File: LICENSE
|
|
22
22
|
License-File: AUTHORS
|
|
23
23
|
Requires-Dist: apscheduler >=3.5.1
|
|
24
|
+
Requires-Dist: debtcollector >=1.2.0
|
|
24
25
|
Requires-Dist: eventlet >=0.27.0
|
|
25
26
|
Requires-Dist: jsonpatch >=1.21
|
|
26
27
|
Requires-Dist: keystoneauth1 >=3.4.0
|
|
@@ -40,7 +41,7 @@ Requires-Dist: oslo.messaging >=14.1.0
|
|
|
40
41
|
Requires-Dist: oslo.policy >=4.5.0
|
|
41
42
|
Requires-Dist: oslo.reports >=1.27.0
|
|
42
43
|
Requires-Dist: oslo.serialization >=2.25.0
|
|
43
|
-
Requires-Dist: oslo.service >=
|
|
44
|
+
Requires-Dist: oslo.service[threading] >=4.2.1
|
|
44
45
|
Requires-Dist: oslo.upgradecheck >=1.3.0
|
|
45
46
|
Requires-Dist: oslo.utils >=7.0.0
|
|
46
47
|
Requires-Dist: oslo.versionedobjects >=1.32.0
|
|
@@ -52,10 +53,9 @@ Requires-Dist: gnocchiclient >=7.0.1
|
|
|
52
53
|
Requires-Dist: python-cinderclient >=3.5.0
|
|
53
54
|
Requires-Dist: python-glanceclient >=2.9.1
|
|
54
55
|
Requires-Dist: python-keystoneclient >=3.15.0
|
|
55
|
-
Requires-Dist: python-monascaclient >=1.12.0
|
|
56
56
|
Requires-Dist: python-neutronclient >=6.7.0
|
|
57
57
|
Requires-Dist: python-novaclient >=14.1.0
|
|
58
|
-
Requires-Dist: python-observabilityclient >=
|
|
58
|
+
Requires-Dist: python-observabilityclient >=1.1.0
|
|
59
59
|
Requires-Dist: python-openstackclient >=3.14.0
|
|
60
60
|
Requires-Dist: python-ironicclient >=2.5.0
|
|
61
61
|
Requires-Dist: SQLAlchemy >=1.2.5
|
|
@@ -66,6 +66,8 @@ Requires-Dist: WSME >=0.9.2
|
|
|
66
66
|
Requires-Dist: networkx >=2.4
|
|
67
67
|
Requires-Dist: microversion-parse >=0.2.1
|
|
68
68
|
Requires-Dist: futurist >=1.8.0
|
|
69
|
+
Provides-Extra: monasca
|
|
70
|
+
Requires-Dist: python-monascaclient >=1.12.0 ; extra == 'monasca'
|
|
69
71
|
|
|
70
72
|
=======
|
|
71
73
|
Watcher
|