python-watcher 15.0.0__py3-none-any.whl → 15.1.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.
Files changed (29) hide show
  1. {python_watcher-15.0.0.dist-info → python_watcher-15.1.0.dist-info}/METADATA +58 -49
  2. {python_watcher-15.0.0.dist-info → python_watcher-15.1.0.dist-info}/RECORD +28 -27
  3. {python_watcher-15.0.0.dist-info → python_watcher-15.1.0.dist-info}/WHEEL +1 -1
  4. python_watcher-15.1.0.dist-info/pbr.json +1 -0
  5. watcher/api/controllers/rest_api_version_history.rst +8 -0
  6. watcher/common/nova_helper.py +119 -30
  7. watcher/conf/__init__.py +2 -0
  8. watcher/conf/nova.py +61 -0
  9. watcher/decision_engine/model/notification/cinder.py +16 -0
  10. watcher/decision_engine/model/notification/nova.py +1 -1
  11. watcher/decision_engine/strategy/strategies/zone_migration.py +61 -31
  12. watcher/tests/api/v1/test_audits.py +144 -24
  13. watcher/tests/base.py +12 -0
  14. watcher/tests/common/test_nova_helper.py +818 -126
  15. watcher/tests/decision_engine/model/faker_cluster_state.py +18 -0
  16. watcher/tests/decision_engine/model/notification/data/{instance-live_migration_post-end.json → instance-live_migration_post_dest-end.json} +2 -2
  17. watcher/tests/decision_engine/model/notification/test_cinder_notifications.py +137 -0
  18. watcher/tests/decision_engine/model/notification/test_nova_notifications.py +3 -3
  19. watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py +797 -118
  20. python_watcher-15.0.0.dist-info/pbr.json +0 -1
  21. {python_watcher-15.0.0.data → python_watcher-15.1.0.data}/data/etc/apache2/watcher +0 -0
  22. {python_watcher-15.0.0.data → python_watcher-15.1.0.data}/data/etc/watcher/README-watcher.conf.txt +0 -0
  23. {python_watcher-15.0.0.data → python_watcher-15.1.0.data}/data/etc/watcher/oslo-config-generator/watcher.conf +0 -0
  24. {python_watcher-15.0.0.data → python_watcher-15.1.0.data}/data/etc/watcher/oslo-policy-generator/watcher-policy-generator.conf +0 -0
  25. {python_watcher-15.0.0.data → python_watcher-15.1.0.data}/scripts/watcher-api-wsgi +0 -0
  26. {python_watcher-15.0.0.dist-info → python_watcher-15.1.0.dist-info}/entry_points.txt +0 -0
  27. {python_watcher-15.0.0.dist-info → python_watcher-15.1.0.dist-info/licenses}/AUTHORS +0 -0
  28. {python_watcher-15.0.0.dist-info → python_watcher-15.1.0.dist-info/licenses}/LICENSE +0 -0
  29. {python_watcher-15.0.0.dist-info → python_watcher-15.1.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: python-watcher
3
- Version: 15.0.0
3
+ Version: 15.1.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
@@ -20,54 +20,63 @@ Classifier: Programming Language :: Python :: 3.12
20
20
  Requires-Python: >=3.10
21
21
  License-File: LICENSE
22
22
  License-File: AUTHORS
23
- Requires-Dist: apscheduler >=3.5.1
24
- Requires-Dist: debtcollector >=1.2.0
25
- Requires-Dist: eventlet >=0.27.0
26
- Requires-Dist: jsonpatch >=1.21
27
- Requires-Dist: keystoneauth1 >=3.4.0
28
- Requires-Dist: jsonschema >=3.2.0
29
- Requires-Dist: keystonemiddleware >=4.21.0
30
- Requires-Dist: lxml >=4.5.1
31
- Requires-Dist: croniter >=0.3.20
32
- Requires-Dist: os-resource-classes >=0.4.0
33
- Requires-Dist: oslo.concurrency >=3.26.0
34
- Requires-Dist: oslo.cache >=1.29.0
35
- Requires-Dist: oslo.config >=6.8.0
36
- Requires-Dist: oslo.context >=2.21.0
37
- Requires-Dist: oslo.db >=4.44.0
38
- Requires-Dist: oslo.i18n >=3.20.0
39
- Requires-Dist: oslo.log >=3.37.0
40
- Requires-Dist: oslo.messaging >=14.1.0
41
- Requires-Dist: oslo.policy >=4.5.0
42
- Requires-Dist: oslo.reports >=1.27.0
43
- Requires-Dist: oslo.serialization >=2.25.0
44
- Requires-Dist: oslo.service[threading] >=4.2.1
45
- Requires-Dist: oslo.upgradecheck >=1.3.0
46
- Requires-Dist: oslo.utils >=7.0.0
47
- Requires-Dist: oslo.versionedobjects >=1.32.0
48
- Requires-Dist: PasteDeploy >=1.5.2
49
- Requires-Dist: pbr >=3.1.1
50
- Requires-Dist: pecan >=1.3.2
51
- Requires-Dist: PrettyTable >=0.7.2
52
- Requires-Dist: gnocchiclient >=7.0.1
53
- Requires-Dist: python-cinderclient >=3.5.0
54
- Requires-Dist: python-glanceclient >=2.9.1
55
- Requires-Dist: python-keystoneclient >=3.15.0
56
- Requires-Dist: python-neutronclient >=6.7.0
57
- Requires-Dist: python-novaclient >=14.1.0
58
- Requires-Dist: python-observabilityclient >=1.1.0
59
- Requires-Dist: python-openstackclient >=3.14.0
60
- Requires-Dist: python-ironicclient >=2.5.0
61
- Requires-Dist: SQLAlchemy >=1.2.5
62
- Requires-Dist: stevedore >=1.28.0
63
- Requires-Dist: taskflow >=3.8.0
64
- Requires-Dist: WebOb >=1.8.5
65
- Requires-Dist: WSME >=0.9.2
66
- Requires-Dist: networkx >=2.4
67
- Requires-Dist: microversion-parse >=0.2.1
68
- Requires-Dist: futurist >=1.8.0
23
+ Requires-Dist: apscheduler>=3.5.1
24
+ Requires-Dist: debtcollector>=1.2.0
25
+ Requires-Dist: eventlet>=0.27.0
26
+ Requires-Dist: jsonpatch>=1.21
27
+ Requires-Dist: keystoneauth1>=3.4.0
28
+ Requires-Dist: jsonschema>=3.2.0
29
+ Requires-Dist: keystonemiddleware>=4.21.0
30
+ Requires-Dist: lxml>=4.5.1
31
+ Requires-Dist: croniter>=0.3.20
32
+ Requires-Dist: os-resource-classes>=0.4.0
33
+ Requires-Dist: oslo.concurrency>=3.26.0
34
+ Requires-Dist: oslo.cache>=1.29.0
35
+ Requires-Dist: oslo.config>=6.8.0
36
+ Requires-Dist: oslo.context>=2.21.0
37
+ Requires-Dist: oslo.db>=4.44.0
38
+ Requires-Dist: oslo.i18n>=3.20.0
39
+ Requires-Dist: oslo.log>=3.37.0
40
+ Requires-Dist: oslo.messaging>=14.1.0
41
+ Requires-Dist: oslo.policy>=4.5.0
42
+ Requires-Dist: oslo.reports>=1.27.0
43
+ Requires-Dist: oslo.serialization>=2.25.0
44
+ Requires-Dist: oslo.service[threading]>=4.2.1
45
+ Requires-Dist: oslo.upgradecheck>=1.3.0
46
+ Requires-Dist: oslo.utils>=7.0.0
47
+ Requires-Dist: oslo.versionedobjects>=1.32.0
48
+ Requires-Dist: PasteDeploy>=1.5.2
49
+ Requires-Dist: pbr>=3.1.1
50
+ Requires-Dist: pecan>=1.3.2
51
+ Requires-Dist: PrettyTable>=0.7.2
52
+ Requires-Dist: gnocchiclient>=7.0.1
53
+ Requires-Dist: python-cinderclient>=3.5.0
54
+ Requires-Dist: python-glanceclient>=2.9.1
55
+ Requires-Dist: python-keystoneclient>=3.15.0
56
+ Requires-Dist: python-neutronclient>=6.7.0
57
+ Requires-Dist: python-novaclient>=14.1.0
58
+ Requires-Dist: python-observabilityclient>=1.1.0
59
+ Requires-Dist: python-openstackclient>=3.14.0
60
+ Requires-Dist: python-ironicclient>=2.5.0
61
+ Requires-Dist: SQLAlchemy>=1.2.5
62
+ Requires-Dist: stevedore>=1.28.0
63
+ Requires-Dist: taskflow>=3.8.0
64
+ Requires-Dist: WebOb>=1.8.5
65
+ Requires-Dist: WSME>=0.9.2
66
+ Requires-Dist: networkx>=2.4
67
+ Requires-Dist: microversion-parse>=0.2.1
68
+ Requires-Dist: futurist>=1.8.0
69
69
  Provides-Extra: monasca
70
- Requires-Dist: python-monascaclient >=1.12.0 ; extra == 'monasca'
70
+ Requires-Dist: python-monascaclient>=1.12.0; extra == "monasca"
71
+ Dynamic: author
72
+ Dynamic: author-email
73
+ Dynamic: classifier
74
+ Dynamic: description
75
+ Dynamic: home-page
76
+ Dynamic: license-file
77
+ Dynamic: requires-dist
78
+ Dynamic: requires-python
79
+ Dynamic: summary
71
80
 
72
81
  =======
73
82
  Watcher
@@ -1,8 +1,10 @@
1
- python_watcher-15.0.0.data/data/etc/apache2/watcher,sha256=urybYUTb0kAVIvbm4WK5oDfXR82QSK2lyMl4Z9dCz4Q,1190
2
- python_watcher-15.0.0.data/data/etc/watcher/README-watcher.conf.txt,sha256=EIa_sjXDyl1XSg0ovsFwUjqw0euS0N2PYn4HtyBGJME,131
3
- python_watcher-15.0.0.data/data/etc/watcher/oslo-config-generator/watcher.conf,sha256=O7g1DZqgXvbQgkBfot0dR1ar1d-3SBkOU_ZK4Dz7SFc,406
4
- python_watcher-15.0.0.data/data/etc/watcher/oslo-policy-generator/watcher-policy-generator.conf,sha256=ZfIuVdtrj7IZm2BrRQvAW3JOL_kqCiILf-vBmwX3ufw,76
5
- python_watcher-15.0.0.data/scripts/watcher-api-wsgi,sha256=YcIpUO3iRVW6Fu3Md_ooAeHkmJJasG031naMdf8cv2A,1829
1
+ python_watcher-15.1.0.data/data/etc/apache2/watcher,sha256=urybYUTb0kAVIvbm4WK5oDfXR82QSK2lyMl4Z9dCz4Q,1190
2
+ python_watcher-15.1.0.data/data/etc/watcher/README-watcher.conf.txt,sha256=EIa_sjXDyl1XSg0ovsFwUjqw0euS0N2PYn4HtyBGJME,131
3
+ python_watcher-15.1.0.data/data/etc/watcher/oslo-config-generator/watcher.conf,sha256=O7g1DZqgXvbQgkBfot0dR1ar1d-3SBkOU_ZK4Dz7SFc,406
4
+ python_watcher-15.1.0.data/data/etc/watcher/oslo-policy-generator/watcher-policy-generator.conf,sha256=ZfIuVdtrj7IZm2BrRQvAW3JOL_kqCiILf-vBmwX3ufw,76
5
+ python_watcher-15.1.0.data/scripts/watcher-api-wsgi,sha256=YcIpUO3iRVW6Fu3Md_ooAeHkmJJasG031naMdf8cv2A,1829
6
+ python_watcher-15.1.0.dist-info/licenses/AUTHORS,sha256=_WO5_45pJAVeBpD3J-G8AFeMPJyA5OV0Fzms6SOsqO4,8168
7
+ python_watcher-15.1.0.dist-info/licenses/LICENSE,sha256=XfKg2H1sVi8OoRxoisUlMqoo10TKvHmU_wU39ks7MyA,10143
6
8
  watcher/__init__.py,sha256=Vs2olXPZ_IAV1rukHYRl3ITzYFBNXX9mIUtFXkMWYwg,640
7
9
  watcher/_i18n.py,sha256=-25OcpwjDCiYdFIUJh86S7Sg0fs3wMIIjEreaGUyCyY,1295
8
10
  watcher/eventlet.py,sha256=z6WuDS9HJAq6vRZCg5ozYpWCs3lwhDuv9R70bj8tpQ0,1476
@@ -18,7 +20,7 @@ watcher/api/wsgi.py,sha256=ey-w1Wp2LndVdbQTC9kVGxRbyKwalmM7dyem-kWX0Ac,1269
18
20
  watcher/api/controllers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
21
  watcher/api/controllers/base.py,sha256=v7lTNmWkY4-JeY6AhWi_mFN3lHWAPrdGgvgcs0FLKgQ,4397
20
22
  watcher/api/controllers/link.py,sha256=gQA2fMLtTdLpkZA7lmZOq8pBiRzpMjHPiOfDIYcpCPs,2035
21
- watcher/api/controllers/rest_api_version_history.rst,sha256=e52BG32Y33paP8aIbe5O-qEoWI1O1d-F2rLFbBc7pN4,1488
23
+ watcher/api/controllers/rest_api_version_history.rst,sha256=jwDd7a5kuXl1UMeWMN-U26Zm11MB_MykQh0lp2BiUmg,1852
22
24
  watcher/api/controllers/root.py,sha256=faobr9kV2C6DiZnRNkJJUuEMym03JP5PawTYrc3BcHQ,3650
23
25
  watcher/api/controllers/v1/__init__.py,sha256=emVVogtBzsn5bgC_XbVXtgjbYAnvk17R5ueOIonVO0M,10926
24
26
  watcher/api/controllers/v1/action.py,sha256=W9bPC8OkWl160M3iCEQ1QPH_BtcKpgeQbKNKPVXNIwU,18802
@@ -83,7 +85,7 @@ watcher/common/exception.py,sha256=fVIAuTZWeUbB2vgtt9JFdxaFEaNX99wtE-pVudkpzzk,1
83
85
  watcher/common/executor.py,sha256=WTrHVZnZZ14Uf4P4YGFXdwqiGBufbCMXR_0-9GsG7SU,1879
84
86
  watcher/common/ironic_helper.py,sha256=Uw21GnwJHScDPbjiHfou9ZrKIkVF0hgsoVikJBoGPNw,1609
85
87
  watcher/common/keystone_helper.py,sha256=qECuvEoTz7y5jraczIiMKHcVjK8ls6-DuIly5-fH7UU,3891
86
- watcher/common/nova_helper.py,sha256=iofUaXc4u5BbZgi2NwAgMYpihKvwl9Z4hg8WI3lQBB8,31242
88
+ watcher/common/nova_helper.py,sha256=6zo1MMU3dQabc_a9aNWP_6qgdx7DBu5xBZBiLCvv13c,34397
87
89
  watcher/common/oslo_service_helper.py,sha256=1K9nEqNM_oTgt51_3FydCyzuPcBRhkVN84DsMuZLlFY,1182
88
90
  watcher/common/paths.py,sha256=QIHaSfIR7SExS6ecyqD24iCdkiXIxDk6FopCVF9ijho,1178
89
91
  watcher/common/placement_helper.py,sha256=YP02OHiZOCaJODPAE2QRojf4PKJDlctW-dFn9asuj6w,6653
@@ -114,7 +116,7 @@ watcher/common/policies/goal.py,sha256=qrTbC9NIFJKbcRl_JCuEJI0IqmM8oSadTSaLwo6LV
114
116
  watcher/common/policies/scoring_engine.py,sha256=DSB21nxhKlt74VIEuV_Rd1VuwT5Kp4sT1dfZRgpMMQY,2136
115
117
  watcher/common/policies/service.py,sha256=TjaoGXXRz_GnjRsUOyZN4YIAPe7QVzL8OOgyQyzkr6U,1577
116
118
  watcher/common/policies/strategy.py,sha256=1TlqnmG_MmVvqEaFCnQyl_YDEHJg3LAFwl60OF_ZTrM,1904
117
- watcher/conf/__init__.py,sha256=jF0YMiupztfseXdTAn0E1Y3vw35dVgI4H1r2EygyU1A,2539
119
+ watcher/conf/__init__.py,sha256=0IsdHWN3i6FfClMSliqeygshiF2v4nkEPUJ7ED2oJV4,2594
118
120
  watcher/conf/aetos_client.py,sha256=N6YLE0BWBvF7f22ntkQJjP3UOhBad7pSM5paAMGKUHE,1985
119
121
  watcher/conf/api.py,sha256=y_o2YZ5Pm04qP8WAqBmDYDkoiJf5I0S9TxXNTHMvZG4,2792
120
122
  watcher/conf/applier.py,sha256=6FJvElFyGCLZc7A037gbW3wbrFYQnRyXrPB3nfKEkXw,2207
@@ -135,6 +137,7 @@ watcher/conf/maas_client.py,sha256=7KGb3yIKWDvCdYA5Kc22uszkFEOp9rcJQHpQFES2dfA,1
135
137
  watcher/conf/models.py,sha256=Fo1zQMcUjtEIroMZ4mx3kRLr2A_-3JldMZJQZ7SKIko,1390
136
138
  watcher/conf/monasca_client.py,sha256=8agQc5E5PJ2Na7MRTj9OCJbBd8coF1Ug1GvzG-GJMxw,1602
137
139
  watcher/conf/neutron_client.py,sha256=MrrdfkephVKwZjxdN7Jh1oIzR8bymsb8CB8ixs55e1Q,1604
140
+ watcher/conf/nova.py,sha256=ZXH_zWNXzmPID07ty8iQMngvqy4XzMj2jIbgi7ckeag,2464
138
141
  watcher/conf/nova_client.py,sha256=xLo_jKOkWTioKYYE5XJkygtz9og43zBKxGSav5A-dYk,1919
139
142
  watcher/conf/opts.py,sha256=iDiDlV8Ix5KNGtW2SBBPQ0tU36l5o_a07JjFVsyX48M,2547
140
143
  watcher/conf/paths.py,sha256=8O3QyEZY2vJHOts8nwSE7ofcfhvstQmluXRLVFz0abM,1774
@@ -223,9 +226,9 @@ watcher/decision_engine/model/element/storage_resource.py,sha256=I94tqbf1mvafoni
223
226
  watcher/decision_engine/model/element/volume.py,sha256=LfeKC3ccWch8rzOGi8oW3vPkyJmx0-IRm2LX9-Y77vc,1856
224
227
  watcher/decision_engine/model/notification/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
225
228
  watcher/decision_engine/model/notification/base.py,sha256=WkPqRXVqwZOJ2Fa7ixebvriaT2oztZ_z0sHp59Ndgso,1120
226
- watcher/decision_engine/model/notification/cinder.py,sha256=Hnti1Gu8YuNRVwjZsbTm8NJkMuHUYjUDkL0cBOll6Uc,14150
229
+ watcher/decision_engine/model/notification/cinder.py,sha256=lWGcKFk_BqnvOci-AbcupPHVK4jQDdlWp_33eSyixj4,14938
227
230
  watcher/decision_engine/model/notification/filtering.py,sha256=Lr_VUikkw5nBfEzeqLD87pSA7h0Sm7aXaa7sB4-Zu5s,2887
228
- watcher/decision_engine/model/notification/nova.py,sha256=xrwQNXcmbqjO-5FSRut4vXDgtwGWmJpULy8_0xbaa4E,15232
231
+ watcher/decision_engine/model/notification/nova.py,sha256=q3RBs8U1SSUQURVl1rSzO13GxD2k2inDp6G9AzOr19g,15237
229
232
  watcher/decision_engine/planner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
230
233
  watcher/decision_engine/planner/base.py,sha256=uuT_36Dz5fFzT0ki80yKeVPpwV2QKkPy_jfzacn5sQo,3069
231
234
  watcher/decision_engine/planner/manager.py,sha256=CczWdn3o06z-VQ345QW9AktNu7WkIexnZYEJQT7jkgs,1026
@@ -274,7 +277,7 @@ watcher/decision_engine/strategy/strategies/uniform_airflow.py,sha256=MzCCmXirah
274
277
  watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py,sha256=-usWMjqFcbTSWbGKNmsSlZ-0wnMNwLv2w22Fu6nIqyw,27190
275
278
  watcher/decision_engine/strategy/strategies/workload_balance.py,sha256=QFOr-UwJkv0XrYPpm-oZmbEoznDyk2yTDnGHJvkzCe4,15893
276
279
  watcher/decision_engine/strategy/strategies/workload_stabilization.py,sha256=Lfn51YMJTxS6n3AwGe-Dc0oVsMCMLXypoTwfevlOl88,25445
277
- watcher/decision_engine/strategy/strategies/zone_migration.py,sha256=dp7LlrWEtklqbtvC8RrKMwAq5HXmNdLv6WUu5_Va2bU,33623
280
+ watcher/decision_engine/strategy/strategies/zone_migration.py,sha256=C4DYdSErOHuihuE1KARE4KyyID4HF1evFlxCX4xrL80,34934
278
281
  watcher/hacking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
279
282
  watcher/hacking/checks.py,sha256=D-PG1fgVyU5TIKVmZcJ0CXbmLx-8_ivU5vCKQvtZkjk,10383
280
283
  watcher/locale/de/LC_MESSAGES/watcher.po,sha256=-EqexOllNxp5DIvacuQAKPVDB8NASduyQXOpoXRMbB4,26317
@@ -302,7 +305,7 @@ watcher/objects/scoring_engine.py,sha256=FzVZdqqske6pDZ62AiImTBxy1GyTXPVD5qAIO-F
302
305
  watcher/objects/service.py,sha256=8hDtwzjPN6f5qJ7bd6vsQH1c34U-gdR9uuYOXUPRCEw,5415
303
306
  watcher/objects/strategy.py,sha256=iVVjD8Y5ElWutvreagq4v76NKZarYodRYFp0FN0ZYeU,10140
304
307
  watcher/tests/__init__.py,sha256=Aynp0tyKHUkPxNRVkaACnLMweeHAl23ONMHRIaLq4xs,1660
305
- watcher/tests/base.py,sha256=5ajPtty2fIGtamM9XLx7aR7i9EBX8msGLN6o2ICeeU4,5087
308
+ watcher/tests/base.py,sha256=jTLaTcO7sAVSHVFQlpDkCzlHqqDimwpcLhiU-qdqdPI,5464
306
309
  watcher/tests/conf_fixture.py,sha256=x9jqmyHCxwORv19Lxb8D90MdV8MOfQGcZn0tNPhfl6o,1794
307
310
  watcher/tests/config.py,sha256=1rSRFhxcTQ7hoqMLcQK3v5tLe925yfK9jIv-9mJVDNs,1068
308
311
  watcher/tests/fake_policy.py,sha256=AI6L5yvJ1r3_Yf-ksJvIFo_SpTkC7ObH6tRxhRzIcgA,2073
@@ -322,7 +325,7 @@ watcher/tests/api/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
322
325
  watcher/tests/api/v1/test_actions.py,sha256=l27mglSLBQE_A-eQFv5rUzu4nwS3CaIQtLo37JMxgqI,33989
323
326
  watcher/tests/api/v1/test_actions_plans.py,sha256=L7xC9ZANo41qfnmBL3RNQf-jAb6e8NaIQekTPpp0sSk,33795
324
327
  watcher/tests/api/v1/test_audit_templates.py,sha256=Snj3vFLthLDciTlLUFu80Rj2u91mnVvHa5afY6LRRIo,38366
325
- watcher/tests/api/v1/test_audits.py,sha256=dNOLZSvtBVoCgzwK_smlDaF6EjquZi4FYCeyyCSunJI,59389
328
+ watcher/tests/api/v1/test_audits.py,sha256=NpVDYiVTg4t75A06AsZztrdxPIFx8QAQb3f5eRcveKc,64432
326
329
  watcher/tests/api/v1/test_data_model.py,sha256=jR5yf5jSxbwb89N5XxlZcqDdxrLCuKuCxudZ6xCZHdM,6635
327
330
  watcher/tests/api/v1/test_goals.py,sha256=vveUL0rQHv0LV9xa1T4EQCNpyAbdQMFF14_HHKsyHUs,7335
328
331
  watcher/tests/api/v1/test_microversions.py,sha256=0Oo_AZqg-Mvmc5GGVvIPkWvr2Czl1ku4tUPlEh8WclE,4998
@@ -368,7 +371,7 @@ watcher/tests/common/test_clients.py,sha256=SD6qQsND91faF9Q1eTR8TIEFiAoiqKZef6Fg
368
371
  watcher/tests/common/test_executor.py,sha256=W1F7ANlyTEX-v8wycQXE5SQ0yIkagvh3w2u7xk7x4p0,1404
369
372
  watcher/tests/common/test_ironic_helper.py,sha256=Ut-bpvPBQJWdu9xWPvzQ0sFEimuHU0_i3bC3T9aHvE0,2162
370
373
  watcher/tests/common/test_keystone_helper.py,sha256=xxYp7QdUHLPjPGR1nL8LG1QHfXDYiYZV2kevI3-z8sY,2624
371
- watcher/tests/common/test_nova_helper.py,sha256=FCj1vGbuyCymG-iiCwZUd0aPRi83hsc-xPBZPTeG8sA,31088
374
+ watcher/tests/common/test_nova_helper.py,sha256=Fjtp-RFr-M46U_6hnkS5Z2GhDNEBvdmH-6dGbGnt7Pc,60621
372
375
  watcher/tests/common/test_oslo_service_helper.py,sha256=aG28fDYYtCDGrSPrRbcPBKeFtq4v8KBYMslXzLYLXlQ,1677
373
376
  watcher/tests/common/test_placement_helper.py,sha256=Y4P2YbWhC0itWGJbaDkoua9ot0XknXuM8disvceIXQQ,11761
374
377
  watcher/tests/common/test_scheduling.py,sha256=pOokZK33L9eaXUX42OZmBukkIwu91wAthSG4XwezXU4,2235
@@ -436,7 +439,7 @@ watcher/tests/decision_engine/messaging/test_audit_endpoint.py,sha256=RQ6yT3MxeZ
436
439
  watcher/tests/decision_engine/messaging/test_data_model_endpoint.py,sha256=6wj90UIYwXDqRiOFamHtlW3cKxavFewV27xhEhVxHi4,2008
437
440
  watcher/tests/decision_engine/model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
438
441
  watcher/tests/decision_engine/model/faker_cluster_and_metrics.py,sha256=pLOJl7uwWYjFxhHbwxgYTWvKAPIPC79ykHU-Yu7FOZk,6893
439
- watcher/tests/decision_engine/model/faker_cluster_state.py,sha256=zU1ik6H6JmVJr1S7G7_Clrh_UAEOVynAwuVDWWZC4_A,12677
442
+ watcher/tests/decision_engine/model/faker_cluster_state.py,sha256=p3SW99eEzDQWIdOJseSPKxHPr4JBZEHBloil9PA5RJM,13116
440
443
  watcher/tests/decision_engine/model/gnocchi_metrics.py,sha256=Fs5gGrAgxHA2eENzJbWCMDEUNMZPxy2qUwhLFNWTS-M,9357
441
444
  watcher/tests/decision_engine/model/monasca_metrics.py,sha256=s-voe8Cu7Su2_Tn_sp3dSxWTPI3zgFd9Wtrf9CZ7Wu4,4121
442
445
  watcher/tests/decision_engine/model/test_element.py,sha256=9PggbUFDshEEcbVYhU-49TKQgtufHIlTfqoJNI8Czb4,6000
@@ -462,14 +465,14 @@ watcher/tests/decision_engine/model/data/scenario_9_with_3_active_plus_1_disable
462
465
  watcher/tests/decision_engine/model/data/storage_scenario_1.xml,sha256=bB_GEYJTtQYRTp0hhx854PCPW0nt440dJADVgKUh-OU,4147
463
466
  watcher/tests/decision_engine/model/notification/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
464
467
  watcher/tests/decision_engine/model/notification/fake_managers.py,sha256=B315A8QIx3WRo1v3dRUWiDW0A3KExkOnIWx7Rw_jSCE,2308
465
- watcher/tests/decision_engine/model/notification/test_cinder_notifications.py,sha256=CWh2m-6Vk-zxmG8TaAmdyJ6aISSZq_YZ3UIokvPdbAo,25536
468
+ watcher/tests/decision_engine/model/notification/test_cinder_notifications.py,sha256=f_CcRfRhud-cu219FAZr_J6y1sD3CFz0qknNSyp3ewU,30668
466
469
  watcher/tests/decision_engine/model/notification/test_notifications.py,sha256=3hnMabwOC23themUCx2iBz3itIHiNlJ6dHmBYLAWvgs,3715
467
- watcher/tests/decision_engine/model/notification/test_nova_notifications.py,sha256=lDHNwLcUgBm6-tOHFqngWlnhj9zSyaMGCuxzIkYs9dE,38187
470
+ watcher/tests/decision_engine/model/notification/test_nova_notifications.py,sha256=gN1rfT06R2j9l8IfmgNZPFV4mZvLrSJIjRmLlMOrIRE,38202
468
471
  watcher/tests/decision_engine/model/notification/data/capacity.json,sha256=CA-SuGK3Pu0guK9YKg-bR1a_Ek0QOPCG-EeyqTXYadw,318
469
472
  watcher/tests/decision_engine/model/notification/data/instance-create-end.json,sha256=aWw_hqFNqosDisDNqPkwlEwxS3fGWtnu6mnYnuMxy0U,4171
470
473
  watcher/tests/decision_engine/model/notification/data/instance-delete-end.json,sha256=sgRs0KW-DGncU59d2e5PvG7CsSPYAwKxnOWeV7bx0BI,1726
471
474
  watcher/tests/decision_engine/model/notification/data/instance-live_migration_force_complete-end.json,sha256=M7Xdgf1QQq4u4bG8xGeEVaDJMZ5TbHkCIwzSbq_UFlA,3781
472
- watcher/tests/decision_engine/model/notification/data/instance-live_migration_post-end.json,sha256=gABjx06mbIlEIEhirVFoDSCjE2mv2cLKpq5uj9cRd7g,3757
475
+ watcher/tests/decision_engine/model/notification/data/instance-live_migration_post_dest-end.json,sha256=dCqHM0wjMBMxAdG6ZoPamPQa-NkKh195JbRqLh5WSp4,3761
473
476
  watcher/tests/decision_engine/model/notification/data/instance-lock.json,sha256=oNLGz0dHNohoBygJM2xgQzeXVC7Jz8HOEnYeD8T0v8w,3741
474
477
  watcher/tests/decision_engine/model/notification/data/instance-pause-end.json,sha256=71WjOQrjmJfNCtzVKgUM_AbwOVS8t36AAcIKlhzRUV0,3749
475
478
  watcher/tests/decision_engine/model/notification/data/instance-power_off-end.json,sha256=AOra0n69HQ2KgEfeS1TRndyk9Qvq8DcW1Mn6w1XpVT8,3755
@@ -547,7 +550,7 @@ watcher/tests/decision_engine/strategy/strategies/test_uniform_airflow.py,sha256
547
550
  watcher/tests/decision_engine/strategy/strategies/test_vm_workload_consolidation.py,sha256=AXY55dBg_8w37qpy0BT89ScUo81BUCZXwZO957jTgEE,19203
548
551
  watcher/tests/decision_engine/strategy/strategies/test_workload_balance.py,sha256=m2VljGe-9IJBBRyJwkseDiRxLB1z510tQL3orGyG470,8380
549
552
  watcher/tests/decision_engine/strategy/strategies/test_workload_stabilization.py,sha256=eGr_PX8dpM4oTlC-GFrimDN1kQbKpNFzA_C5c4mo250,14313
550
- watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py,sha256=GCKRn3EGd3oTOa1xYRVNhSagTQLSyRGhsF2vKpf7OxA,35447
553
+ watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py,sha256=syUFRGHNi6kPfzgTgJ0AtAliajR16bCb4jGpa27bKS0,68197
551
554
  watcher/tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
552
555
  watcher/tests/fixtures/watcher.py,sha256=9BqKxgaBLWG0LEss-rnRQu3CuB4Z6hzry6hjI0UNxhk,4923
553
556
  watcher/tests/notifications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -571,11 +574,9 @@ watcher/tests/objects/test_strategy.py,sha256=WoJYFQD0LU7vkUT2MMy1bx3S6eY458aTIC
571
574
  watcher/tests/objects/utils.py,sha256=WtBFlXWIBRvl1keAjz1GtrkUWppil2pFIA-RngcqA5c,8058
572
575
  watcher/wsgi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
573
576
  watcher/wsgi/api.py,sha256=F1s1Q_CMuRdgS_f7Gl3XzavjZqdxqO9IHLxSWl6NOO4,789
574
- python_watcher-15.0.0.dist-info/AUTHORS,sha256=_WO5_45pJAVeBpD3J-G8AFeMPJyA5OV0Fzms6SOsqO4,8168
575
- python_watcher-15.0.0.dist-info/LICENSE,sha256=XfKg2H1sVi8OoRxoisUlMqoo10TKvHmU_wU39ks7MyA,10143
576
- python_watcher-15.0.0.dist-info/METADATA,sha256=PBodlnv8b1gAHnZyhrGb5W61funxo3b3745Up-9Rjk8,3973
577
- python_watcher-15.0.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
578
- python_watcher-15.0.0.dist-info/entry_points.txt,sha256=neFmDxaEe7U6uSPJEFcai3Aw4cyI_aFnHXDoWBK1fqI,4464
579
- python_watcher-15.0.0.dist-info/pbr.json,sha256=7qGp9loWh0LLaE96yxtWXDcXYrl9QL4L7JApQ2g_J3U,47
580
- python_watcher-15.0.0.dist-info/top_level.txt,sha256=O2B7Sbzshq5s-tZxb2a7VETvMDiJItSYieAiJ6Jm5yY,8
581
- python_watcher-15.0.0.dist-info/RECORD,,
577
+ python_watcher-15.1.0.dist-info/METADATA,sha256=4m3xIlcgr8hXxtg5K6sgpHe44fk93wlMpz4a7bnm7Vw,4110
578
+ python_watcher-15.1.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
579
+ python_watcher-15.1.0.dist-info/entry_points.txt,sha256=neFmDxaEe7U6uSPJEFcai3Aw4cyI_aFnHXDoWBK1fqI,4464
580
+ python_watcher-15.1.0.dist-info/pbr.json,sha256=tq55Q-B7howl7MbzEzrOBt5yHnr2WaArntB3YJ6VSjI,47
581
+ python_watcher-15.1.0.dist-info/top_level.txt,sha256=O2B7Sbzshq5s-tZxb2a7VETvMDiJItSYieAiJ6Jm5yY,8
582
+ python_watcher-15.1.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.2)
2
+ Generator: setuptools (82.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1 @@
1
+ {"git_version": "398f603b", "is_release": true}
@@ -48,3 +48,11 @@ and action plans. The ``status_message`` field can be set when transitioning
48
48
  an action to SKIPPED state, and can also be updated for actions that are
49
49
  already in SKIPPED state, allowing administrators to fix typos, provide more
50
50
  detailed explanations, or expand on reasons that were initially omitted.
51
+
52
+ 1.6 (Maximum in 2025.2 Flamingo)
53
+ ---
54
+ Added new server attributes, ``server_flavor_extra_specs`` and
55
+ ``server_pinned_az``, to the response of ``GET /v1/data_model`` API when
56
+ selecting ``compute`` as the ``data_model_type`` parameter. The collection of
57
+ these extended attributes is controlled by
58
+ ``[compute_model] enable_extended_attributes`` configuration option.