python-watcher 14.0.0.0rc1__tar.gz → 15.0.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.
Files changed (1159) hide show
  1. python_watcher-15.0.0/.pre-commit-config.yaml +62 -0
  2. python_watcher-15.0.0/.zuul.yaml +402 -0
  3. python_watcher-15.0.0/AUTHORS +220 -0
  4. python_watcher-15.0.0/ChangeLog +1718 -0
  5. python_watcher-15.0.0/PKG-INFO +100 -0
  6. python_watcher-15.0.0/api-ref/source/parameters.yaml +746 -0
  7. python_watcher-15.0.0/api-ref/source/samples/action-skip-request-with-message.json +12 -0
  8. python_watcher-15.0.0/api-ref/source/samples/action-skip-request.json +7 -0
  9. python_watcher-15.0.0/api-ref/source/samples/action-skip-response.json +29 -0
  10. python_watcher-15.0.0/api-ref/source/samples/action-update-status-message-request.json +7 -0
  11. python_watcher-15.0.0/api-ref/source/samples/action-update-status-message-response.json +29 -0
  12. python_watcher-15.0.0/api-ref/source/samples/actionplan-list-detailed-response.json +28 -0
  13. python_watcher-15.0.0/api-ref/source/samples/actionplan-show-response.json +22 -0
  14. python_watcher-15.0.0/api-ref/source/samples/actions-list-detailed-response.json +31 -0
  15. python_watcher-15.0.0/api-ref/source/samples/actions-show-response.json +27 -0
  16. python_watcher-15.0.0/api-ref/source/samples/audit-create-response.json +56 -0
  17. python_watcher-15.0.0/api-ref/source/samples/audit-list-detailed-response.json +60 -0
  18. python_watcher-15.0.0/api-ref/source/samples/audit-show-response.json +56 -0
  19. python_watcher-15.0.0/api-ref/source/samples/datamodel-list-response.json +62 -0
  20. python_watcher-15.0.0/api-ref/source/watcher-api-v1-actionplans.inc +261 -0
  21. python_watcher-15.0.0/api-ref/source/watcher-api-v1-actions.inc +262 -0
  22. python_watcher-15.0.0/api-ref/source/watcher-api-v1-audits.inc +372 -0
  23. python_watcher-15.0.0/api-ref/source/watcher-api-v1-datamodel.inc +68 -0
  24. python_watcher-15.0.0/bindep.txt +23 -0
  25. python_watcher-15.0.0/devstack/lib/watcher +284 -0
  26. python_watcher-15.0.0/devstack/local.conf.compute +57 -0
  27. python_watcher-15.0.0/devstack/local.conf.controller +102 -0
  28. python_watcher-15.0.0/devstack/plugin.sh +54 -0
  29. python_watcher-15.0.0/devstack/prometheus.yml +16 -0
  30. python_watcher-15.0.0/doc/notification_samples/action-cancel-end.json +43 -0
  31. python_watcher-15.0.0/doc/notification_samples/action-cancel-error.json +53 -0
  32. python_watcher-15.0.0/doc/notification_samples/action-cancel-start.json +43 -0
  33. python_watcher-15.0.0/doc/notification_samples/action-create.json +42 -0
  34. python_watcher-15.0.0/doc/notification_samples/action-delete.json +42 -0
  35. python_watcher-15.0.0/doc/notification_samples/action-execution-end.json +43 -0
  36. python_watcher-15.0.0/doc/notification_samples/action-execution-error.json +53 -0
  37. python_watcher-15.0.0/doc/notification_samples/action-execution-start.json +43 -0
  38. python_watcher-15.0.0/doc/notification_samples/action-update.json +52 -0
  39. python_watcher-15.0.0/doc/notification_samples/action_plan-cancel-end.json +57 -0
  40. python_watcher-15.0.0/doc/notification_samples/action_plan-cancel-error.json +67 -0
  41. python_watcher-15.0.0/doc/notification_samples/action_plan-cancel-start.json +57 -0
  42. python_watcher-15.0.0/doc/notification_samples/action_plan-create.json +57 -0
  43. python_watcher-15.0.0/doc/notification_samples/action_plan-delete.json +57 -0
  44. python_watcher-15.0.0/doc/notification_samples/action_plan-execution-end.json +58 -0
  45. python_watcher-15.0.0/doc/notification_samples/action_plan-execution-error.json +68 -0
  46. python_watcher-15.0.0/doc/notification_samples/action_plan-execution-start.json +58 -0
  47. python_watcher-15.0.0/doc/notification_samples/action_plan-update.json +66 -0
  48. python_watcher-15.0.0/doc/notification_samples/audit-create.json +73 -0
  49. python_watcher-15.0.0/doc/notification_samples/audit-delete.json +73 -0
  50. python_watcher-15.0.0/doc/notification_samples/audit-planner-end.json +74 -0
  51. python_watcher-15.0.0/doc/notification_samples/audit-planner-error.json +84 -0
  52. python_watcher-15.0.0/doc/notification_samples/audit-planner-start.json +74 -0
  53. python_watcher-15.0.0/doc/notification_samples/audit-strategy-end.json +74 -0
  54. python_watcher-15.0.0/doc/notification_samples/audit-strategy-error.json +84 -0
  55. python_watcher-15.0.0/doc/notification_samples/audit-strategy-start.json +74 -0
  56. python_watcher-15.0.0/doc/notification_samples/audit-update.json +82 -0
  57. python_watcher-15.0.0/doc/source/architecture.rst +519 -0
  58. python_watcher-15.0.0/doc/source/configuration/configuring.rst +492 -0
  59. python_watcher-15.0.0/doc/source/contributor/concurrency.rst +273 -0
  60. python_watcher-15.0.0/doc/source/contributor/devstack.rst +366 -0
  61. python_watcher-15.0.0/doc/source/contributor/index.rst +13 -0
  62. python_watcher-15.0.0/doc/source/contributor/release-guide.rst +462 -0
  63. python_watcher-15.0.0/doc/source/datasources/aetos.rst +157 -0
  64. python_watcher-15.0.0/doc/source/datasources/index.rst +13 -0
  65. python_watcher-15.0.0/doc/source/datasources/prometheus.rst +140 -0
  66. python_watcher-15.0.0/doc/source/image_src/plantuml/action_state_machine.txt +23 -0
  67. python_watcher-15.0.0/doc/source/images/action_state_machine.png +0 -0
  68. python_watcher-15.0.0/doc/source/index.rst +53 -0
  69. python_watcher-15.0.0/doc/source/integrations/index.rst +126 -0
  70. python_watcher-15.0.0/doc/source/strategies/host_maintenance.rst +137 -0
  71. python_watcher-15.0.0/doc/source/strategies/index.rst +72 -0
  72. python_watcher-15.0.0/doc/source/strategies/strategy-template.rst +120 -0
  73. python_watcher-15.0.0/doc/source/strategies/workload-stabilization.rst +187 -0
  74. python_watcher-15.0.0/doc/source/strategies/workload_balance.rst +147 -0
  75. python_watcher-15.0.0/doc/source/strategies/zone_migration.rst +209 -0
  76. python_watcher-15.0.0/pyproject.toml +3 -0
  77. python_watcher-15.0.0/python_watcher.egg-info/PKG-INFO +100 -0
  78. python_watcher-15.0.0/python_watcher.egg-info/SOURCES.txt +960 -0
  79. python_watcher-15.0.0/python_watcher.egg-info/entry_points.txt +81 -0
  80. python_watcher-15.0.0/python_watcher.egg-info/pbr.json +1 -0
  81. python_watcher-15.0.0/python_watcher.egg-info/requires.txt +49 -0
  82. python_watcher-15.0.0/releasenotes/notes/2025.2-prelude-a9f4c7b2e8d15692.yaml +23 -0
  83. python_watcher-15.0.0/releasenotes/notes/add-fail-options-to-nop-f44f506dc732f2a1.yaml +14 -0
  84. python_watcher-15.0.0/releasenotes/notes/add-wsgi-module-support-597f479e31979270.yaml +30 -0
  85. python_watcher-15.0.0/releasenotes/notes/aetos-datasource-60e50a2338c64c08.yaml +13 -0
  86. python_watcher-15.0.0/releasenotes/notes/blueprint-add-skip-actions-4a5a997dc1133f13.yaml +20 -0
  87. python_watcher-15.0.0/releasenotes/notes/bp-extend-compute-model-attributes-b56bc093e8637bb4.yaml +14 -0
  88. python_watcher-15.0.0/releasenotes/notes/bug-2103451-fixes-prometheus-queries-with-multiple-target-0e65d20711d1abe2.yaml +8 -0
  89. python_watcher-15.0.0/releasenotes/notes/bug-2109494-e5bf401767fa6cd6.yaml +11 -0
  90. python_watcher-15.0.0/releasenotes/notes/bug-2110947.yaml +10 -0
  91. python_watcher-15.0.0/releasenotes/notes/bug-2112100-c1e56173cd29a35e.yaml +11 -0
  92. python_watcher-15.0.0/releasenotes/notes/bug-2112187-763bae283e0b736d.yaml +47 -0
  93. python_watcher-15.0.0/releasenotes/notes/bug-2113776-4bd314fb46623fbc.yaml +14 -0
  94. python_watcher-15.0.0/releasenotes/notes/bug-2117726-fix-model-list-api-ref-30cc7ed1c85c0d0e.yaml +7 -0
  95. python_watcher-15.0.0/releasenotes/notes/bug-2120586-fix-nova-microversion-check-9022a378b75d046f.yaml +7 -0
  96. python_watcher-15.0.0/releasenotes/notes/bug-2121601-allow-status-message-updates-in-skipped-state-a8b4c5d7e9f2g3h1.yaml +11 -0
  97. python_watcher-15.0.0/releasenotes/notes/decision-engine-threading-mode-26fc8066dcd499a2.yaml +12 -0
  98. python_watcher-15.0.0/releasenotes/notes/deprecate-noisy-neighbor-strat-7da910837ae8fa80.yaml +6 -0
  99. python_watcher-15.0.0/releasenotes/notes/donot-run-host-migration-strategy-on-disabled-hosts-24084a22d4c8f914.yaml +10 -0
  100. python_watcher-15.0.0/releasenotes/notes/drop-operation-not-permitted-exception-14e49b35a3ca00d1.yaml +6 -0
  101. python_watcher-15.0.0/releasenotes/notes/drop-patch-delete-post-action-api-37fe4ce5be6500db.yaml +6 -0
  102. python_watcher-15.0.0/releasenotes/notes/drop-py39-8a9c99678b3e8eeb.yaml +6 -0
  103. python_watcher-15.0.0/releasenotes/notes/drop-python-dateutil-dependency-2118404-f5a8b2c1e9d4a6b3.yaml +5 -0
  104. python_watcher-15.0.0/releasenotes/notes/experimental-integrations-490d4cc32444288d.yaml +6 -0
  105. python_watcher-15.0.0/releasenotes/notes/fix-action-plan-state-on-failure-69e498d902ada5c5.yaml +13 -0
  106. python_watcher-15.0.0/releasenotes/notes/host-maintenance-strategy-disable-migration-options-a2b72e32736e5446.yaml +17 -0
  107. python_watcher-15.0.0/releasenotes/notes/make-monasca-client-optional-7e1a96b2ac902867.yaml +13 -0
  108. python_watcher-15.0.0/releasenotes/notes/query-interval-not-query-timeout-ecb6f2c6b1a647e9.yaml +21 -0
  109. python_watcher-15.0.0/releasenotes/notes/return-error-400-on-bad-parameters-bb964e4f5cadc15c.yaml +7 -0
  110. python_watcher-15.0.0/releasenotes/notes/storage_model_enabled_default-48c197f5a540956c.yaml +7 -0
  111. python_watcher-15.0.0/releasenotes/notes/update-notification-topics-daf6303a63963ee9.yaml +7 -0
  112. python_watcher-15.0.0/releasenotes/notes/wokload-stablization-strategy-name-9988e554ac2655a2.yaml +7 -0
  113. python_watcher-15.0.0/releasenotes/notes/zone-migration-missing-dst-node-bd0377af1f1ed245.yaml +14 -0
  114. python_watcher-15.0.0/releasenotes/source/2025.1.rst +6 -0
  115. python_watcher-15.0.0/releasenotes/source/index.rst +42 -0
  116. python_watcher-15.0.0/releasenotes/source/locale/fr/LC_MESSAGES/releasenotes.po +33 -0
  117. python_watcher-15.0.0/requirements.txt +49 -0
  118. python_watcher-15.0.0/setup.cfg +112 -0
  119. python_watcher-15.0.0/test-requirements.txt +11 -0
  120. python_watcher-15.0.0/tools/test-setup.sh +56 -0
  121. python_watcher-15.0.0/tox.ini +162 -0
  122. python_watcher-15.0.0/watcher/api/controllers/rest_api_version_history.rst +50 -0
  123. python_watcher-15.0.0/watcher/api/controllers/v1/action.py +474 -0
  124. python_watcher-15.0.0/watcher/api/controllers/v1/action_plan.py +605 -0
  125. python_watcher-15.0.0/watcher/api/controllers/v1/audit.py +744 -0
  126. python_watcher-15.0.0/watcher/api/controllers/v1/audit_template.py +698 -0
  127. python_watcher-15.0.0/watcher/api/controllers/v1/data_model.py +83 -0
  128. python_watcher-15.0.0/watcher/api/controllers/v1/goal.py +235 -0
  129. python_watcher-15.0.0/watcher/api/controllers/v1/scoring_engine.py +242 -0
  130. python_watcher-15.0.0/watcher/api/controllers/v1/service.py +257 -0
  131. python_watcher-15.0.0/watcher/api/controllers/v1/strategy.py +331 -0
  132. python_watcher-15.0.0/watcher/api/controllers/v1/types.py +244 -0
  133. python_watcher-15.0.0/watcher/api/controllers/v1/utils.py +215 -0
  134. python_watcher-15.0.0/watcher/api/controllers/v1/versions.py +56 -0
  135. python_watcher-15.0.0/watcher/applier/action_plan/default.py +131 -0
  136. python_watcher-15.0.0/watcher/applier/actions/change_nova_service_state.py +131 -0
  137. python_watcher-15.0.0/watcher/applier/actions/migration.py +213 -0
  138. python_watcher-15.0.0/watcher/applier/actions/nop.py +104 -0
  139. python_watcher-15.0.0/watcher/applier/actions/stop.py +169 -0
  140. python_watcher-15.0.0/watcher/applier/actions/volume_migration.py +199 -0
  141. python_watcher-15.0.0/watcher/applier/workflow_engine/base.py +354 -0
  142. python_watcher-15.0.0/watcher/applier/workflow_engine/default.py +203 -0
  143. python_watcher-15.0.0/watcher/cmd/eventlet/__init__.py +36 -0
  144. python_watcher-15.0.0/watcher/cmd/eventlet/decisionengine.py +48 -0
  145. python_watcher-15.0.0/watcher/common/cinder_helper.py +292 -0
  146. python_watcher-15.0.0/watcher/common/clients.py +334 -0
  147. python_watcher-15.0.0/watcher/common/context.py +82 -0
  148. python_watcher-15.0.0/watcher/common/exception.py +523 -0
  149. python_watcher-15.0.0/watcher/common/executor.py +51 -0
  150. python_watcher-15.0.0/watcher/common/keystone_helper.py +103 -0
  151. python_watcher-15.0.0/watcher/common/nova_helper.py +784 -0
  152. python_watcher-15.0.0/watcher/common/oslo_service_helper.py +33 -0
  153. python_watcher-15.0.0/watcher/common/placement_helper.py +180 -0
  154. python_watcher-15.0.0/watcher/common/policies/action.py +68 -0
  155. python_watcher-15.0.0/watcher/common/rpc.py +160 -0
  156. python_watcher-15.0.0/watcher/common/scheduling.py +66 -0
  157. python_watcher-15.0.0/watcher/common/utils.py +196 -0
  158. python_watcher-15.0.0/watcher/conf/__init__.py +76 -0
  159. python_watcher-15.0.0/watcher/conf/aetos_client.py +50 -0
  160. python_watcher-15.0.0/watcher/conf/cinder_client.py +44 -0
  161. python_watcher-15.0.0/watcher/conf/collector.py +60 -0
  162. python_watcher-15.0.0/watcher/conf/datasources.py +65 -0
  163. python_watcher-15.0.0/watcher/conf/decision_engine.py +94 -0
  164. python_watcher-15.0.0/watcher/conf/glance_client.py +44 -0
  165. python_watcher-15.0.0/watcher/conf/gnocchi_client.py +45 -0
  166. python_watcher-15.0.0/watcher/conf/ironic_client.py +44 -0
  167. python_watcher-15.0.0/watcher/conf/keystone_client.py +38 -0
  168. python_watcher-15.0.0/watcher/conf/models.py +40 -0
  169. python_watcher-15.0.0/watcher/conf/monasca_client.py +44 -0
  170. python_watcher-15.0.0/watcher/conf/neutron_client.py +44 -0
  171. python_watcher-15.0.0/watcher/conf/nova_client.py +55 -0
  172. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/env.py +48 -0
  173. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/versions/15f7375ca737_change_efficiacy_indicator_decimals.py +20 -0
  174. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/versions/7150a7d8f228_add_status_message_to_actionplan.py +20 -0
  175. python_watcher-15.0.0/watcher/db/sqlalchemy/api.py +1184 -0
  176. python_watcher-15.0.0/watcher/db/sqlalchemy/models.py +319 -0
  177. python_watcher-15.0.0/watcher/decision_engine/audit/continuous.py +230 -0
  178. python_watcher-15.0.0/watcher/decision_engine/datasources/aetos.py +67 -0
  179. python_watcher-15.0.0/watcher/decision_engine/datasources/base.py +265 -0
  180. python_watcher-15.0.0/watcher/decision_engine/datasources/manager.py +200 -0
  181. python_watcher-15.0.0/watcher/decision_engine/datasources/monasca.py +205 -0
  182. python_watcher-15.0.0/watcher/decision_engine/datasources/prometheus.py +110 -0
  183. python_watcher-15.0.0/watcher/decision_engine/datasources/prometheus_base.py +480 -0
  184. python_watcher-15.0.0/watcher/decision_engine/messaging/audit_endpoint.py +58 -0
  185. python_watcher-15.0.0/watcher/decision_engine/model/collector/base.py +242 -0
  186. python_watcher-15.0.0/watcher/decision_engine/model/collector/manager.py +87 -0
  187. python_watcher-15.0.0/watcher/decision_engine/model/collector/nova.py +537 -0
  188. python_watcher-15.0.0/watcher/decision_engine/model/element/instance.py +63 -0
  189. python_watcher-15.0.0/watcher/decision_engine/model/model_root.py +697 -0
  190. python_watcher-15.0.0/watcher/decision_engine/model/notification/nova.py +373 -0
  191. python_watcher-15.0.0/watcher/decision_engine/planner/weight.py +224 -0
  192. python_watcher-15.0.0/watcher/decision_engine/service.py +68 -0
  193. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/base.py +569 -0
  194. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/host_maintenance.py +321 -0
  195. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/noisy_neighbor.py +282 -0
  196. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/workload_balance.py +367 -0
  197. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/workload_stabilization.py +590 -0
  198. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/zone_migration.py +972 -0
  199. python_watcher-15.0.0/watcher/decision_engine/threading.py +97 -0
  200. python_watcher-15.0.0/watcher/eventlet.py +46 -0
  201. python_watcher-15.0.0/watcher/locale/de/LC_MESSAGES/watcher.po +836 -0
  202. python_watcher-15.0.0/watcher/locale/en_GB/LC_MESSAGES/watcher.po +877 -0
  203. python_watcher-15.0.0/watcher/notifications/action.py +375 -0
  204. python_watcher-15.0.0/watcher/notifications/action_plan.py +423 -0
  205. python_watcher-15.0.0/watcher/notifications/audit.py +388 -0
  206. python_watcher-15.0.0/watcher/objects/action.py +185 -0
  207. python_watcher-15.0.0/watcher/objects/action_plan.py +349 -0
  208. python_watcher-15.0.0/watcher/objects/audit.py +365 -0
  209. python_watcher-15.0.0/watcher/tests/__init__.py +36 -0
  210. python_watcher-15.0.0/watcher/tests/api/v1/test_actions.py +775 -0
  211. python_watcher-15.0.0/watcher/tests/api/v1/test_actions_plans.py +770 -0
  212. python_watcher-15.0.0/watcher/tests/api/v1/test_audit_templates.py +860 -0
  213. python_watcher-15.0.0/watcher/tests/api/v1/test_audits.py +1342 -0
  214. python_watcher-15.0.0/watcher/tests/api/v1/test_data_model.py +185 -0
  215. python_watcher-15.0.0/watcher/tests/api/v1/test_types.py +321 -0
  216. python_watcher-15.0.0/watcher/tests/applier/action_plan/test_default_action_handler.py +221 -0
  217. python_watcher-15.0.0/watcher/tests/applier/actions/test_stop.py +198 -0
  218. python_watcher-15.0.0/watcher/tests/applier/actions/test_volume_migration.py +225 -0
  219. python_watcher-15.0.0/watcher/tests/applier/workflow_engine/test_default_workflow_engine.py +670 -0
  220. python_watcher-15.0.0/watcher/tests/applier/workflow_engine/test_taskflow_action_container.py +280 -0
  221. python_watcher-15.0.0/watcher/tests/base.py +146 -0
  222. python_watcher-15.0.0/watcher/tests/cmd/test_api.py +63 -0
  223. python_watcher-15.0.0/watcher/tests/cmd/test_applier.py +54 -0
  224. python_watcher-15.0.0/watcher/tests/cmd/test_decision_engine.py +64 -0
  225. python_watcher-15.0.0/watcher/tests/common/test_cinder_helper.py +609 -0
  226. python_watcher-15.0.0/watcher/tests/common/test_clients.py +427 -0
  227. python_watcher-15.0.0/watcher/tests/common/test_executor.py +38 -0
  228. python_watcher-15.0.0/watcher/tests/common/test_keystone_helper.py +60 -0
  229. python_watcher-15.0.0/watcher/tests/common/test_nova_helper.py +775 -0
  230. python_watcher-15.0.0/watcher/tests/common/test_oslo_service_helper.py +50 -0
  231. python_watcher-15.0.0/watcher/tests/common/test_scheduling.py +60 -0
  232. python_watcher-15.0.0/watcher/tests/db/base.py +104 -0
  233. python_watcher-15.0.0/watcher/tests/db/test_action.py +411 -0
  234. python_watcher-15.0.0/watcher/tests/db/test_action_plan.py +400 -0
  235. python_watcher-15.0.0/watcher/tests/db/test_audit.py +452 -0
  236. python_watcher-15.0.0/watcher/tests/db/test_efficacy_indicator.py +459 -0
  237. python_watcher-15.0.0/watcher/tests/db/test_migrations.py +277 -0
  238. python_watcher-15.0.0/watcher/tests/db/utils.py +365 -0
  239. python_watcher-15.0.0/watcher/tests/decision_engine/cluster/test_nova_cdmc.py +580 -0
  240. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_aetos_helper.py +61 -0
  241. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_base.py +68 -0
  242. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_manager.py +240 -0
  243. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_monasca_helper.py +163 -0
  244. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_prometheus_base.py +690 -0
  245. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_prometheus_helper.py +168 -0
  246. python_watcher-15.0.0/watcher/tests/decision_engine/model/data/scenario_11_with_1_node_no_instance.xml +5 -0
  247. python_watcher-15.0.0/watcher/tests/decision_engine/model/data/scenario_11_with_2_nodes_2_instances.xml +10 -0
  248. python_watcher-15.0.0/watcher/tests/decision_engine/model/faker_cluster_and_metrics.py +184 -0
  249. python_watcher-15.0.0/watcher/tests/decision_engine/model/faker_cluster_state.py +367 -0
  250. python_watcher-15.0.0/watcher/tests/decision_engine/model/gnocchi_metrics.py +313 -0
  251. python_watcher-15.0.0/watcher/tests/decision_engine/model/notification/data/instance-update-2-1.json +90 -0
  252. python_watcher-15.0.0/watcher/tests/decision_engine/model/notification/test_nova_notifications.py +931 -0
  253. python_watcher-15.0.0/watcher/tests/decision_engine/model/test_element.py +186 -0
  254. python_watcher-15.0.0/watcher/tests/decision_engine/planner/test_weight_planner.py +944 -0
  255. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_base.py +153 -0
  256. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_host_maintenance.py +661 -0
  257. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_workload_balance.py +178 -0
  258. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_workload_stabilization.py +339 -0
  259. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py +872 -0
  260. python_watcher-15.0.0/watcher/tests/decision_engine/test_scheduling.py +142 -0
  261. python_watcher-15.0.0/watcher/tests/decision_engine/test_service.py +73 -0
  262. python_watcher-15.0.0/watcher/tests/fake_policy.py +84 -0
  263. python_watcher-15.0.0/watcher/tests/fixtures/watcher.py +139 -0
  264. python_watcher-15.0.0/watcher/tests/notifications/__init__.py +0 -0
  265. python_watcher-15.0.0/watcher/tests/notifications/test_action_notification.py +504 -0
  266. python_watcher-15.0.0/watcher/tests/notifications/test_action_plan_notification.py +614 -0
  267. python_watcher-15.0.0/watcher/tests/notifications/test_audit_notification.py +493 -0
  268. python_watcher-15.0.0/watcher/tests/notifications/test_notification.py +359 -0
  269. python_watcher-15.0.0/watcher/tests/objects/__init__.py +0 -0
  270. python_watcher-15.0.0/watcher/tests/objects/test_action.py +233 -0
  271. python_watcher-15.0.0/watcher/tests/objects/test_objects.py +563 -0
  272. python_watcher-15.0.0/watcher/wsgi/__init__.py +0 -0
  273. python_watcher-15.0.0/watcher/wsgi/api.py +18 -0
  274. python_watcher-14.0.0.0rc1/.pre-commit-config.yaml +0 -62
  275. python_watcher-14.0.0.0rc1/.zuul.yaml +0 -289
  276. python_watcher-14.0.0.0rc1/AUTHORS +0 -214
  277. python_watcher-14.0.0.0rc1/ChangeLog +0 -1622
  278. python_watcher-14.0.0.0rc1/PKG-INFO +0 -99
  279. python_watcher-14.0.0.0rc1/api-ref/source/parameters.yaml +0 -655
  280. python_watcher-14.0.0.0rc1/api-ref/source/samples/actionplan-list-detailed-response.json +0 -27
  281. python_watcher-14.0.0.0rc1/api-ref/source/samples/actionplan-show-response.json +0 -21
  282. python_watcher-14.0.0.0rc1/api-ref/source/samples/actions-list-detailed-response.json +0 -30
  283. python_watcher-14.0.0.0rc1/api-ref/source/samples/actions-show-response.json +0 -26
  284. python_watcher-14.0.0.0rc1/api-ref/source/samples/audit-create-response.json +0 -55
  285. python_watcher-14.0.0.0rc1/api-ref/source/samples/audit-list-detailed-response.json +0 -59
  286. python_watcher-14.0.0.0rc1/api-ref/source/samples/audit-show-response.json +0 -55
  287. python_watcher-14.0.0.0rc1/api-ref/source/samples/datamodel-list-response.json +0 -38
  288. python_watcher-14.0.0.0rc1/api-ref/source/watcher-api-v1-actionplans.inc +0 -258
  289. python_watcher-14.0.0.0rc1/api-ref/source/watcher-api-v1-actions.inc +0 -155
  290. python_watcher-14.0.0.0rc1/api-ref/source/watcher-api-v1-audits.inc +0 -367
  291. python_watcher-14.0.0.0rc1/api-ref/source/watcher-api-v1-datamodel.inc +0 -57
  292. python_watcher-14.0.0.0rc1/devstack/files/apache-watcher-api.template +0 -42
  293. python_watcher-14.0.0.0rc1/devstack/lib/watcher +0 -339
  294. python_watcher-14.0.0.0rc1/devstack/plugin.sh +0 -51
  295. python_watcher-14.0.0.0rc1/doc/notification_samples/action-cancel-end.json +0 -41
  296. python_watcher-14.0.0.0rc1/doc/notification_samples/action-cancel-error.json +0 -51
  297. python_watcher-14.0.0.0rc1/doc/notification_samples/action-cancel-start.json +0 -41
  298. python_watcher-14.0.0.0rc1/doc/notification_samples/action-create.json +0 -40
  299. python_watcher-14.0.0.0rc1/doc/notification_samples/action-delete.json +0 -40
  300. python_watcher-14.0.0.0rc1/doc/notification_samples/action-execution-end.json +0 -41
  301. python_watcher-14.0.0.0rc1/doc/notification_samples/action-execution-error.json +0 -51
  302. python_watcher-14.0.0.0rc1/doc/notification_samples/action-execution-start.json +0 -41
  303. python_watcher-14.0.0.0rc1/doc/notification_samples/action-update.json +0 -49
  304. python_watcher-14.0.0.0rc1/doc/notification_samples/action_plan-cancel-end.json +0 -55
  305. python_watcher-14.0.0.0rc1/doc/notification_samples/action_plan-cancel-error.json +0 -65
  306. python_watcher-14.0.0.0rc1/doc/notification_samples/action_plan-cancel-start.json +0 -55
  307. python_watcher-14.0.0.0rc1/doc/notification_samples/action_plan-create.json +0 -55
  308. python_watcher-14.0.0.0rc1/doc/notification_samples/action_plan-delete.json +0 -55
  309. python_watcher-14.0.0.0rc1/doc/notification_samples/action_plan-execution-end.json +0 -56
  310. python_watcher-14.0.0.0rc1/doc/notification_samples/action_plan-execution-error.json +0 -66
  311. python_watcher-14.0.0.0rc1/doc/notification_samples/action_plan-execution-start.json +0 -56
  312. python_watcher-14.0.0.0rc1/doc/notification_samples/action_plan-update.json +0 -64
  313. python_watcher-14.0.0.0rc1/doc/notification_samples/audit-create.json +0 -72
  314. python_watcher-14.0.0.0rc1/doc/notification_samples/audit-delete.json +0 -72
  315. python_watcher-14.0.0.0rc1/doc/notification_samples/audit-planner-end.json +0 -73
  316. python_watcher-14.0.0.0rc1/doc/notification_samples/audit-planner-error.json +0 -83
  317. python_watcher-14.0.0.0rc1/doc/notification_samples/audit-planner-start.json +0 -73
  318. python_watcher-14.0.0.0rc1/doc/notification_samples/audit-strategy-end.json +0 -73
  319. python_watcher-14.0.0.0rc1/doc/notification_samples/audit-strategy-error.json +0 -83
  320. python_watcher-14.0.0.0rc1/doc/notification_samples/audit-strategy-start.json +0 -73
  321. python_watcher-14.0.0.0rc1/doc/notification_samples/audit-update.json +0 -81
  322. python_watcher-14.0.0.0rc1/doc/source/architecture.rst +0 -484
  323. python_watcher-14.0.0.0rc1/doc/source/configuration/configuring.rst +0 -474
  324. python_watcher-14.0.0.0rc1/doc/source/contributor/concurrency.rst +0 -248
  325. python_watcher-14.0.0.0rc1/doc/source/contributor/devstack.rst +0 -319
  326. python_watcher-14.0.0.0rc1/doc/source/contributor/index.rst +0 -12
  327. python_watcher-14.0.0.0rc1/doc/source/datasources/index.rst +0 -8
  328. python_watcher-14.0.0.0rc1/doc/source/datasources/prometheus.rst +0 -140
  329. python_watcher-14.0.0.0rc1/doc/source/index.rst +0 -52
  330. python_watcher-14.0.0.0rc1/doc/source/strategies/host_maintenance.rst +0 -94
  331. python_watcher-14.0.0.0rc1/doc/source/strategies/index.rst +0 -8
  332. python_watcher-14.0.0.0rc1/doc/source/strategies/strategy-template.rst +0 -115
  333. python_watcher-14.0.0.0rc1/doc/source/strategies/workload-stabilization.rst +0 -144
  334. python_watcher-14.0.0.0rc1/doc/source/strategies/workload_balance.rst +0 -103
  335. python_watcher-14.0.0.0rc1/doc/source/strategies/zone_migration.rst +0 -154
  336. python_watcher-14.0.0.0rc1/python_watcher.egg-info/PKG-INFO +0 -99
  337. python_watcher-14.0.0.0rc1/python_watcher.egg-info/SOURCES.txt +0 -885
  338. python_watcher-14.0.0.0rc1/python_watcher.egg-info/entry_points.txt +0 -80
  339. python_watcher-14.0.0.0rc1/python_watcher.egg-info/pbr.json +0 -1
  340. python_watcher-14.0.0.0rc1/python_watcher.egg-info/requires.txt +0 -46
  341. python_watcher-14.0.0.0rc1/releasenotes/source/index.rst +0 -41
  342. python_watcher-14.0.0.0rc1/requirements.txt +0 -49
  343. python_watcher-14.0.0.0rc1/setup.cfg +0 -108
  344. python_watcher-14.0.0.0rc1/test-requirements.txt +0 -7
  345. python_watcher-14.0.0.0rc1/tox.ini +0 -153
  346. python_watcher-14.0.0.0rc1/watcher/api/controllers/rest_api_version_history.rst +0 -41
  347. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/action.py +0 -439
  348. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/action_plan.py +0 -607
  349. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/audit.py +0 -742
  350. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/audit_template.py +0 -711
  351. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/data_model.py +0 -72
  352. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/goal.py +0 -242
  353. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/scoring_engine.py +0 -250
  354. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/service.py +0 -264
  355. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/strategy.py +0 -338
  356. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/types.py +0 -233
  357. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/utils.py +0 -196
  358. python_watcher-14.0.0.0rc1/watcher/api/controllers/v1/versions.py +0 -54
  359. python_watcher-14.0.0.0rc1/watcher/applier/action_plan/default.py +0 -104
  360. python_watcher-14.0.0.0rc1/watcher/applier/actions/change_nova_service_state.py +0 -133
  361. python_watcher-14.0.0.0rc1/watcher/applier/actions/migration.py +0 -215
  362. python_watcher-14.0.0.0rc1/watcher/applier/actions/nop.py +0 -78
  363. python_watcher-14.0.0.0rc1/watcher/applier/actions/volume_migration.py +0 -245
  364. python_watcher-14.0.0.0rc1/watcher/applier/workflow_engine/base.py +0 -308
  365. python_watcher-14.0.0.0rc1/watcher/applier/workflow_engine/default.py +0 -204
  366. python_watcher-14.0.0.0rc1/watcher/cmd/__init__.py +0 -29
  367. python_watcher-14.0.0.0rc1/watcher/cmd/decisionengine.py +0 -53
  368. python_watcher-14.0.0.0rc1/watcher/common/cinder_helper.py +0 -254
  369. python_watcher-14.0.0.0rc1/watcher/common/clients.py +0 -290
  370. python_watcher-14.0.0.0rc1/watcher/common/context.py +0 -112
  371. python_watcher-14.0.0.0rc1/watcher/common/exception.py +0 -518
  372. python_watcher-14.0.0.0rc1/watcher/common/keystone_helper.py +0 -124
  373. python_watcher-14.0.0.0rc1/watcher/common/nova_helper.py +0 -745
  374. python_watcher-14.0.0.0rc1/watcher/common/placement_helper.py +0 -180
  375. python_watcher-14.0.0.0rc1/watcher/common/policies/action.py +0 -57
  376. python_watcher-14.0.0.0rc1/watcher/common/rpc.py +0 -162
  377. python_watcher-14.0.0.0rc1/watcher/common/scheduling.py +0 -87
  378. python_watcher-14.0.0.0rc1/watcher/common/utils.py +0 -202
  379. python_watcher-14.0.0.0rc1/watcher/conf/__init__.py +0 -72
  380. python_watcher-14.0.0.0rc1/watcher/conf/cinder_client.py +0 -44
  381. python_watcher-14.0.0.0rc1/watcher/conf/collector.py +0 -55
  382. python_watcher-14.0.0.0rc1/watcher/conf/datasources.py +0 -59
  383. python_watcher-14.0.0.0rc1/watcher/conf/decision_engine.py +0 -93
  384. python_watcher-14.0.0.0rc1/watcher/conf/glance_client.py +0 -44
  385. python_watcher-14.0.0.0rc1/watcher/conf/gnocchi_client.py +0 -45
  386. python_watcher-14.0.0.0rc1/watcher/conf/ironic_client.py +0 -44
  387. python_watcher-14.0.0.0rc1/watcher/conf/keystone_client.py +0 -38
  388. python_watcher-14.0.0.0rc1/watcher/conf/monasca_client.py +0 -44
  389. python_watcher-14.0.0.0rc1/watcher/conf/neutron_client.py +0 -44
  390. python_watcher-14.0.0.0rc1/watcher/conf/nova_client.py +0 -55
  391. python_watcher-14.0.0.0rc1/watcher/db/sqlalchemy/alembic/env.py +0 -54
  392. python_watcher-14.0.0.0rc1/watcher/db/sqlalchemy/api.py +0 -1145
  393. python_watcher-14.0.0.0rc1/watcher/db/sqlalchemy/models.py +0 -314
  394. python_watcher-14.0.0.0rc1/watcher/decision_engine/audit/continuous.py +0 -230
  395. python_watcher-14.0.0.0rc1/watcher/decision_engine/datasources/base.py +0 -265
  396. python_watcher-14.0.0.0rc1/watcher/decision_engine/datasources/manager.py +0 -160
  397. python_watcher-14.0.0.0rc1/watcher/decision_engine/datasources/monasca.py +0 -196
  398. python_watcher-14.0.0.0rc1/watcher/decision_engine/datasources/prometheus.py +0 -512
  399. python_watcher-14.0.0.0rc1/watcher/decision_engine/messaging/audit_endpoint.py +0 -60
  400. python_watcher-14.0.0.0rc1/watcher/decision_engine/model/collector/base.py +0 -242
  401. python_watcher-14.0.0.0rc1/watcher/decision_engine/model/collector/manager.py +0 -64
  402. python_watcher-14.0.0.0rc1/watcher/decision_engine/model/collector/nova.py +0 -528
  403. python_watcher-14.0.0.0rc1/watcher/decision_engine/model/element/instance.py +0 -60
  404. python_watcher-14.0.0.0rc1/watcher/decision_engine/model/model_root.py +0 -682
  405. python_watcher-14.0.0.0rc1/watcher/decision_engine/model/notification/nova.py +0 -363
  406. python_watcher-14.0.0.0rc1/watcher/decision_engine/planner/weight.py +0 -222
  407. python_watcher-14.0.0.0rc1/watcher/decision_engine/strategy/strategies/base.py +0 -569
  408. python_watcher-14.0.0.0rc1/watcher/decision_engine/strategy/strategies/host_maintenance.py +0 -297
  409. python_watcher-14.0.0.0rc1/watcher/decision_engine/strategy/strategies/noisy_neighbor.py +0 -276
  410. python_watcher-14.0.0.0rc1/watcher/decision_engine/strategy/strategies/workload_balance.py +0 -343
  411. python_watcher-14.0.0.0rc1/watcher/decision_engine/strategy/strategies/workload_stabilization.py +0 -580
  412. python_watcher-14.0.0.0rc1/watcher/decision_engine/strategy/strategies/zone_migration.py +0 -963
  413. python_watcher-14.0.0.0rc1/watcher/decision_engine/threading.py +0 -96
  414. python_watcher-14.0.0.0rc1/watcher/eventlet.py +0 -41
  415. python_watcher-14.0.0.0rc1/watcher/locale/de/LC_MESSAGES/watcher.po +0 -840
  416. python_watcher-14.0.0.0rc1/watcher/locale/en_GB/LC_MESSAGES/watcher.po +0 -884
  417. python_watcher-14.0.0.0rc1/watcher/notifications/action.py +0 -360
  418. python_watcher-14.0.0.0rc1/watcher/notifications/action_plan.py +0 -407
  419. python_watcher-14.0.0.0rc1/watcher/notifications/audit.py +0 -371
  420. python_watcher-14.0.0.0rc1/watcher/objects/action.py +0 -182
  421. python_watcher-14.0.0.0rc1/watcher/objects/action_plan.py +0 -345
  422. python_watcher-14.0.0.0rc1/watcher/objects/audit.py +0 -362
  423. python_watcher-14.0.0.0rc1/watcher/tests/__init__.py +0 -29
  424. python_watcher-14.0.0.0rc1/watcher/tests/api/v1/test_actions.py +0 -576
  425. python_watcher-14.0.0.0rc1/watcher/tests/api/v1/test_actions_plans.py +0 -694
  426. python_watcher-14.0.0.0rc1/watcher/tests/api/v1/test_audit_templates.py +0 -860
  427. python_watcher-14.0.0.0rc1/watcher/tests/api/v1/test_audits.py +0 -1126
  428. python_watcher-14.0.0.0rc1/watcher/tests/api/v1/test_data_model.py +0 -85
  429. python_watcher-14.0.0.0rc1/watcher/tests/api/v1/test_types.py +0 -251
  430. python_watcher-14.0.0.0rc1/watcher/tests/applier/action_plan/test_default_action_handler.py +0 -126
  431. python_watcher-14.0.0.0rc1/watcher/tests/applier/actions/test_volume_migration.py +0 -234
  432. python_watcher-14.0.0.0rc1/watcher/tests/applier/workflow_engine/test_default_workflow_engine.py +0 -388
  433. python_watcher-14.0.0.0rc1/watcher/tests/applier/workflow_engine/test_taskflow_action_container.py +0 -164
  434. python_watcher-14.0.0.0rc1/watcher/tests/base.py +0 -140
  435. python_watcher-14.0.0.0rc1/watcher/tests/cmd/test_api.py +0 -63
  436. python_watcher-14.0.0.0rc1/watcher/tests/cmd/test_applier.py +0 -54
  437. python_watcher-14.0.0.0rc1/watcher/tests/cmd/test_decision_engine.py +0 -61
  438. python_watcher-14.0.0.0rc1/watcher/tests/common/test_cinder_helper.py +0 -431
  439. python_watcher-14.0.0.0rc1/watcher/tests/common/test_clients.py +0 -423
  440. python_watcher-14.0.0.0rc1/watcher/tests/common/test_nova_helper.py +0 -705
  441. python_watcher-14.0.0.0rc1/watcher/tests/common/test_scheduling.py +0 -68
  442. python_watcher-14.0.0.0rc1/watcher/tests/db/base.py +0 -88
  443. python_watcher-14.0.0.0rc1/watcher/tests/db/test_action.py +0 -403
  444. python_watcher-14.0.0.0rc1/watcher/tests/db/test_action_plan.py +0 -391
  445. python_watcher-14.0.0.0rc1/watcher/tests/db/test_audit.py +0 -444
  446. python_watcher-14.0.0.0rc1/watcher/tests/db/test_efficacy_indicator.py +0 -411
  447. python_watcher-14.0.0.0rc1/watcher/tests/db/utils.py +0 -363
  448. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/cluster/test_nova_cdmc.py +0 -509
  449. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/datasources/test_base.py +0 -68
  450. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/datasources/test_manager.py +0 -158
  451. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/datasources/test_monasca_helper.py +0 -154
  452. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/datasources/test_prometheus_helper.py +0 -643
  453. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/model/faker_cluster_and_metrics.py +0 -190
  454. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/model/faker_cluster_state.py +0 -361
  455. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/model/gnocchi_metrics.py +0 -313
  456. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/model/notification/test_nova_notifications.py +0 -862
  457. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/model/test_element.py +0 -176
  458. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/planner/test_weight_planner.py +0 -944
  459. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/strategy/strategies/test_base.py +0 -140
  460. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/strategy/strategies/test_host_maintenance.py +0 -224
  461. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/strategy/strategies/test_workload_balance.py +0 -140
  462. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/strategy/strategies/test_workload_stabilization.py +0 -279
  463. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py +0 -766
  464. python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/test_scheduling.py +0 -137
  465. python_watcher-14.0.0.0rc1/watcher/tests/fake_policy.py +0 -83
  466. python_watcher-14.0.0.0rc1/watcher/tests/notifications/test_action_notification.py +0 -486
  467. python_watcher-14.0.0.0rc1/watcher/tests/notifications/test_action_plan_notification.py +0 -598
  468. python_watcher-14.0.0.0rc1/watcher/tests/notifications/test_audit_notification.py +0 -484
  469. python_watcher-14.0.0.0rc1/watcher/tests/notifications/test_notification.py +0 -359
  470. python_watcher-14.0.0.0rc1/watcher/tests/objects/test_action.py +0 -231
  471. python_watcher-14.0.0.0rc1/watcher/tests/objects/test_objects.py +0 -563
  472. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/.coveragerc +0 -0
  473. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/.mailmap +0 -0
  474. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/.stestr.conf +0 -0
  475. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/CONTRIBUTING.rst +0 -0
  476. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/HACKING.rst +0 -0
  477. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/LICENSE +0 -0
  478. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/README.rst +0 -0
  479. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/conf.py +0 -0
  480. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/index.rst +0 -0
  481. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/actionplan-cancel-request-cancelling.json +0 -0
  482. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/actionplan-cancel-request-pending.json +0 -0
  483. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/actionplan-list-response.json +0 -0
  484. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/actionplan-start-response.json +0 -0
  485. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/actions-list-response.json +0 -0
  486. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/api-root-response.json +0 -0
  487. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/api-v1-root-response.json +0 -0
  488. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audit-cancel-request.json +0 -0
  489. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audit-cancel-response.json +0 -0
  490. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audit-create-request-continuous.json +0 -0
  491. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audit-create-request-oneshot.json +0 -0
  492. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audit-list-response.json +0 -0
  493. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audit-update-request.json +0 -0
  494. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audit-update-response.json +0 -0
  495. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audittemplate-create-request-full.json +0 -0
  496. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audittemplate-create-request-minimal.json +0 -0
  497. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audittemplate-create-response.json +0 -0
  498. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audittemplate-list-detailed-response.json +0 -0
  499. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audittemplate-list-response.json +0 -0
  500. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audittemplate-show-response.json +0 -0
  501. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audittemplate-update-request.json +0 -0
  502. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/audittemplate-update-response.json +0 -0
  503. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/goal-list-response.json +0 -0
  504. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/goal-show-response.json +0 -0
  505. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/scoring_engine-list-detailed-response.json +0 -0
  506. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/scoring_engine-list-response.json +0 -0
  507. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/scoring_engine-show-response.json +0 -0
  508. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/service-list-detailed-response.json +0 -0
  509. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/service-list-response.json +0 -0
  510. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/service-show-response.json +0 -0
  511. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/strategy-list-detailed-response.json +0 -0
  512. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/strategy-list-response.json +0 -0
  513. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/strategy-show-response.json +0 -0
  514. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/samples/strategy-state-response.json +0 -0
  515. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/watcher-api-v1-audittemplates.inc +0 -0
  516. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/watcher-api-v1-goals.inc +0 -0
  517. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/watcher-api-v1-scoring_engines.inc +0 -0
  518. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/watcher-api-v1-services.inc +0 -0
  519. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/watcher-api-v1-strategies.inc +0 -0
  520. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/watcher-api-v1-webhooks.inc +0 -0
  521. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/api-ref/source/watcher-api-versions.inc +0 -0
  522. /python_watcher-14.0.0.0rc1/devstack/local.conf.compute → /python_watcher-15.0.0/devstack/local_gnocchi.conf.compute +0 -0
  523. /python_watcher-14.0.0.0rc1/devstack/local.conf.controller → /python_watcher-15.0.0/devstack/local_gnocchi.conf.controller +0 -0
  524. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/devstack/override-defaults +0 -0
  525. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/devstack/settings +0 -0
  526. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/devstack/upgrade/from_rocky/upgrade-watcher +0 -0
  527. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/devstack/upgrade/resources.sh +0 -0
  528. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/devstack/upgrade/settings +0 -0
  529. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/devstack/upgrade/shutdown.sh +0 -0
  530. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/devstack/upgrade/upgrade.sh +0 -0
  531. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/dictionary.txt +0 -0
  532. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/ext/__init__.py +0 -0
  533. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/ext/term.py +0 -0
  534. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/ext/versioned_notifications.py +0 -0
  535. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/notification_samples/infra-optim-exception.json +0 -0
  536. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/notification_samples/service-update.json +0 -0
  537. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/requirements.txt +0 -0
  538. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/_static/.placeholder +0 -0
  539. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/admin/apache-mod-wsgi.rst +0 -0
  540. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/admin/gmr.rst +0 -0
  541. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/admin/index.rst +0 -0
  542. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/admin/policy.rst +0 -0
  543. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/conf.py +0 -0
  544. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/configuration/index.rst +0 -0
  545. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/configuration/watcher.rst +0 -0
  546. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/api_microversion_history.rst +0 -0
  547. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/contributing.rst +0 -0
  548. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/environment.rst +0 -0
  549. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/notifications.rst +0 -0
  550. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/plugin/action-plugin.rst +0 -0
  551. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/plugin/base-setup.rst +0 -0
  552. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/plugin/cdmc-plugin.rst +0 -0
  553. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/plugin/goal-plugin.rst +0 -0
  554. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/plugin/index.rst +0 -0
  555. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/plugin/planner-plugin.rst +0 -0
  556. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/plugin/plugins.rst +0 -0
  557. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/plugin/scoring-engine-plugin.rst +0 -0
  558. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/plugin/strategy-plugin.rst +0 -0
  559. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/rally_link.rst +0 -0
  560. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/contributor/testing.rst +0 -0
  561. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/datasources/grafana.rst +0 -0
  562. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/glossary.rst +0 -0
  563. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/dia/architecture.dia +0 -0
  564. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/dia/functional_data_model.dia +0 -0
  565. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/README.rst +0 -0
  566. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/action_plan_state_machine.txt +0 -0
  567. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/audit_state_machine.txt +0 -0
  568. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/sequence_architecture_cdmc_sync.txt +0 -0
  569. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/sequence_create_and_launch_audit.txt +0 -0
  570. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/sequence_create_audit_template.txt +0 -0
  571. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/sequence_from_audit_execution_to_actionplan_creation.txt +0 -0
  572. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/sequence_launch_action_plan.txt +0 -0
  573. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/sequence_launch_action_plan_in_applier.txt +0 -0
  574. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/sequence_overview_watcher_usage.txt +0 -0
  575. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/sequence_trigger_audit_in_decision_engine.txt +0 -0
  576. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/image_src/plantuml/watcher_db_schema_diagram.txt +0 -0
  577. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/action_plan_state_machine.png +0 -0
  578. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/architecture.svg +0 -0
  579. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/audit_state_machine.png +0 -0
  580. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/functional_data_model.svg +0 -0
  581. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/sequence_architecture_cdmc_sync.png +0 -0
  582. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/sequence_create_and_launch_audit.png +0 -0
  583. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/sequence_create_audit_template.png +0 -0
  584. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/sequence_from_audit_execution_to_actionplan_creation.png +0 -0
  585. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/sequence_launch_action_plan.png +0 -0
  586. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/sequence_launch_action_plan_in_applier.png +0 -0
  587. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/sequence_overview_watcher_usage.png +0 -0
  588. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/sequence_trigger_audit_in_decision_engine.png +0 -0
  589. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/images/watcher_db_schema_diagram.png +0 -0
  590. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/install/common_configure.rst +0 -0
  591. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/install/common_prerequisites.rst +0 -0
  592. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/install/get_started.rst +0 -0
  593. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/install/index.rst +0 -0
  594. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/install/install-rdo.rst +0 -0
  595. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/install/install-ubuntu.rst +0 -0
  596. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/install/install.rst +0 -0
  597. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/install/next-steps.rst +0 -0
  598. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/install/verify.rst +0 -0
  599. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/man/footer.rst +0 -0
  600. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/man/general-options.rst +0 -0
  601. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/man/index.rst +0 -0
  602. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/man/watcher-api.rst +0 -0
  603. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/man/watcher-applier.rst +0 -0
  604. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/man/watcher-db-manage.rst +0 -0
  605. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/man/watcher-decision-engine.rst +0 -0
  606. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/man/watcher-status.rst +0 -0
  607. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/strategies/actuation.rst +0 -0
  608. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/strategies/basic-server-consolidation.rst +0 -0
  609. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/strategies/node_resource_consolidation.rst +0 -0
  610. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/strategies/noisy_neighbor.rst +0 -0
  611. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/strategies/outlet_temp_control.rst +0 -0
  612. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/strategies/saving_energy.rst +0 -0
  613. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/strategies/storage_capacity_balance.rst +0 -0
  614. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/strategies/uniform_airflow.rst +0 -0
  615. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/strategies/vm_workload_consolidation.rst +0 -0
  616. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/user/event_type_audit.rst +0 -0
  617. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/user/index.rst +0 -0
  618. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/user/user-guide.rst +0 -0
  619. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/doc/source/user/ways-to-install.rst +0 -0
  620. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/etc/apache2/watcher +0 -0
  621. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/etc/watcher/README-watcher.conf.txt +0 -0
  622. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/etc/watcher/oslo-config-generator/watcher.conf +0 -0
  623. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/etc/watcher/oslo-policy-generator/watcher-policy-generator.conf +0 -0
  624. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/playbooks/generate_prometheus_config.yml +0 -0
  625. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/playbooks/templates/prometheus.yml.j2 +0 -0
  626. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/python_watcher.egg-info/dependency_links.txt +0 -0
  627. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/python_watcher.egg-info/not-zip-safe +0 -0
  628. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/python_watcher.egg-info/top_level.txt +0 -0
  629. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/rally-jobs/README.rst +0 -0
  630. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/rally-jobs/watcher-watcher.yaml +0 -0
  631. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/.placeholder +0 -0
  632. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/2025.1-prelude-8be97eece4e1d1ff.yaml +0 -0
  633. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/action-plan-cancel-c54726378019e096.yaml +0 -0
  634. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/action-plan-versioned-notifications-api-e8ca4f5d37aa5b4b.yaml +0 -0
  635. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/action-versioned-notifications-api-ff94fc0f401292d0.yaml +0 -0
  636. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/add-baremetal-scoper-9ef23f5fb8f0be6a.yaml +0 -0
  637. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/add-force-field-to-audit-4bcaeedfe27233ad.yaml +0 -0
  638. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/add-ha-support-b9042255e5b76e42.yaml +0 -0
  639. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/add-instance-metrics-to-prometheus-datasource-9fba8c174ff845e1.yaml +0 -0
  640. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/add-name-for-audit-0df1f39f00736f06.yaml +0 -0
  641. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/add-plugins-parameters-376eb6b0b8978b44.yaml +0 -0
  642. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/add-power-on-off-a77673d482568a8b.yaml +0 -0
  643. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/add-scoring-module-fa00d013ed2d614e.yaml +0 -0
  644. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/add-start-end-time-for-continuous-audit-52c45052cb06d153.yaml +0 -0
  645. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/add-upgrade-check-framework-5bb9693c8a78931c.yaml +0 -0
  646. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/api-call-retry-fef741ac684c58dd.yaml +0 -0
  647. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/api-microversioning-7999a3ee8073bf32.yaml +0 -0
  648. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/audit-scoper-for-storage-data-model-cdccc803542d22db.yaml +0 -0
  649. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/audit-tag-vm-metadata-47a3e4468748853c.yaml +0 -0
  650. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/audit-versioned-notifications-api-bca7738e16954bad.yaml +0 -0
  651. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/automatic-triggering-audit-8a9b0540d547db60.yaml +0 -0
  652. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/background-jobs-ha-9d3cf3fe356f4705.yaml +0 -0
  653. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/bp-audit-scope-exclude-project-511a7720aac00dff.yaml +0 -0
  654. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/build-baremetal-data-model-in-watcher-3023453a47b61dab.yaml +0 -0
  655. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/cdm-scoping-8d9c307bad46bfa1.yaml +0 -0
  656. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/centralise-config-opts-95670987dfbdb0e7.yaml +0 -0
  657. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/change-ram-util-metric-4a3e6984b9dd968d.yaml +0 -0
  658. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/check-strategy-requirements-66f9e9262412f8ec.yaml +0 -0
  659. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/cinder-model-integration-baa394a72a0a33bf.yaml +0 -0
  660. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/cluster-model-objects-wrapper-9c799ea262c56a5b.yaml +0 -0
  661. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/compute-cdm-include-all-instances-f7506ded2d57732f.yaml +0 -0
  662. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/configurable-weights-default-planner-3746b33160bc7347.yaml +0 -0
  663. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/consume-nova-versioned-notifications-f98361b37e546b4d.yaml +0 -0
  664. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/continuously-optimization-35364f4d2c0b81fc.yaml +0 -0
  665. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/cron-based-continuous-audits-c3eedf28d9752b37.yaml +0 -0
  666. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/datasource-query-retry-00cba5f7e68aec39.yaml +0 -0
  667. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/db-migration-e1a705a8b54ccdd2.yaml +0 -0
  668. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/define-the-audit-scope-e89edc5051dcf3f2.yaml +0 -0
  669. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/deprecate-ceilometer-datasource-446b0be70fbce28b.yaml +0 -0
  670. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/deprecate-json-formatted-policy-file-3a92379e9f5dd203.yaml +0 -0
  671. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/deprecate-monasca-ds-9065f4d4bee09ab2.yaml +0 -0
  672. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/drop-py-2-7-54f8e806d71f19a7.yaml +0 -0
  673. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/drop-python38-support-eeb19a0bc0160sw1.yaml +0 -0
  674. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/dynamic-action-description-0e947b9e7ef2a134.yaml +0 -0
  675. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/efficacy-indicator-95380ad7b84e3be2.yaml +0 -0
  676. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/enhance-watcher-applier-engine-86c676ce8f179e68.yaml +0 -0
  677. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/event-driven-optimization-based-4870f112bef8a560.yaml +0 -0
  678. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/file-based-metric-map-c2af62b5067895df.yaml +0 -0
  679. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/formal-datasource-interface-implementation-222769d55a127d33.yaml +0 -0
  680. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/general-purpose-decision-engine-threadpool-0711b23abfc9d409.yaml +0 -0
  681. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/get-goal-from-strategy-396c9b13a38bb650.yaml +0 -0
  682. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/global-datasource-preference-3ab47b4be09ff3a5.yaml +0 -0
  683. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/gnocchi-watcher-43c25d391fbd3e9c.yaml +0 -0
  684. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/grafana-datasource-b672367c23ffa0c6.yaml +0 -0
  685. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/graph-based-cluster-model-523937a6f5e66537.yaml +0 -0
  686. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/host-maintenance-strategy-41f640927948fb56.yaml +0 -0
  687. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/improve-compute-data-model-b427c85e4ed2b6fb.yaml +0 -0
  688. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/jsonschema-validation-79cab05d5295da00.yaml +0 -0
  689. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/min-required-nova-train-71f124192d88ae52.yaml +0 -0
  690. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/monasca-support-0b0486b8572ac38b.yaml +0 -0
  691. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/multiple-global-efficacy-indicator-fc11c4844a12a7d5.yaml +0 -0
  692. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/node-resource-consolidation-73bc0c0abfeb0b03.yaml +0 -0
  693. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/noisy-neighbor-strategy-a71342740b59dddc.yaml +0 -0
  694. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/notifications-actionplan-cancel-edb2a4a12543e2d0.yaml +0 -0
  695. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/optimization-threshold-21ad38f0470d0e1a.yaml +0 -0
  696. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/persistent-audit-parameters-ae41dd7252ba9672.yaml +0 -0
  697. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/planner-storage-action-plan-26ef37893c5e8648.yaml +0 -0
  698. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/prometheus-datasource-e56f2f7b8f3427c2.yaml +0 -0
  699. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/remove-ceilometer-datasource-8d9ab7d64d61e405.yaml +0 -0
  700. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/remove-nova-legacy-notifications-e1b6d10eff58f30a.yaml +0 -0
  701. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/replace-cold-migrate-to-use-nova-migration-api-cecd9a39ddd3bc58.yaml +0 -0
  702. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/scope-for-data-model-ea9792f90db14343.yaml +0 -0
  703. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/service-versioned-notifications-api-70367b79a565d900.yaml +0 -0
  704. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/show-datamodel-api-6945b744fd5d25d5.yaml +0 -0
  705. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/stale-action-plan-b6a6b08df873c128.yaml +0 -0
  706. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/standard-deviation-strategy-cd1d0c443fdfde9c.yaml +0 -0
  707. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/storage-workload-balance-0ecabbc1791e6894.yaml +0 -0
  708. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/support-keystoneclient-option-b30d1ff45f86a2e7.yaml +0 -0
  709. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/support-placement-api-58ce6bef1bbbe98a.yaml +0 -0
  710. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/suspended-audit-state-07f998c94e9d9a47.yaml +0 -0
  711. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/uniform-airflow-strategy-68cdba1419c3f770.yaml +0 -0
  712. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/uwsgi-support-8dcea6961e56dad0.yaml +0 -0
  713. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/volume-migrate-action-fc57b0ce0e4c39ae.yaml +0 -0
  714. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/watcher-notifications-ovo-7b44d52ef6400dd0.yaml +0 -0
  715. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/watcher-planner-selector-84d77549d46f362a.yaml +0 -0
  716. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/watcher-policies-1e86a30f0f11c6fa.yaml +0 -0
  717. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/watcher-service-list-7b2f4b64f71e9b89.yaml +0 -0
  718. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/watcher-versioned-objects-fc5abf5c81c4590c.yaml +0 -0
  719. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/workload-balance-base-on-cpu-or-ram-util-3ff4ee968c32b2ed.yaml +0 -0
  720. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/workload-balance-migration-strategy-a0b05148a57815c0.yaml +0 -0
  721. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/notes/zone-migration-strategy-10f7656a2a01e607.yaml +0 -0
  722. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/2023.1.rst +0 -0
  723. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/2023.2.rst +0 -0
  724. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/2024.1.rst +0 -0
  725. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/2024.2.rst +0 -0
  726. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/_static/.placeholder +0 -0
  727. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/conf.py +0 -0
  728. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po +0 -0
  729. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/newton.rst +0 -0
  730. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/ocata.rst +0 -0
  731. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/pike.rst +0 -0
  732. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/queens.rst +0 -0
  733. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/rocky.rst +0 -0
  734. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/stein.rst +0 -0
  735. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/train.rst +0 -0
  736. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/unreleased.rst +0 -0
  737. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/ussuri.rst +0 -0
  738. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/victoria.rst +0 -0
  739. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/wallaby.rst +0 -0
  740. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/xena.rst +0 -0
  741. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/yoga.rst +0 -0
  742. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/releasenotes/source/zed.rst +0 -0
  743. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/setup.py +0 -0
  744. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/__init__.py +0 -0
  745. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/_i18n.py +0 -0
  746. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/__init__.py +0 -0
  747. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/acl.py +0 -0
  748. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/app.py +0 -0
  749. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/app.wsgi +0 -0
  750. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/config.py +0 -0
  751. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/controllers/__init__.py +0 -0
  752. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/controllers/base.py +0 -0
  753. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/controllers/link.py +0 -0
  754. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/controllers/root.py +0 -0
  755. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/controllers/v1/__init__.py +0 -0
  756. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/controllers/v1/collection.py +0 -0
  757. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/controllers/v1/efficacy_indicator.py +0 -0
  758. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/controllers/v1/webhooks.py +0 -0
  759. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/hooks.py +0 -0
  760. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/middleware/__init__.py +0 -0
  761. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/middleware/auth_token.py +0 -0
  762. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/middleware/parsable_error.py +0 -0
  763. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/scheduling.py +0 -0
  764. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/api/wsgi.py +0 -0
  765. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/__init__.py +0 -0
  766. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/action_plan/__init__.py +0 -0
  767. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/action_plan/base.py +0 -0
  768. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/actions/__init__.py +0 -0
  769. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/actions/base.py +0 -0
  770. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/actions/change_node_power_state.py +0 -0
  771. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/actions/factory.py +0 -0
  772. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/actions/resize.py +0 -0
  773. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/actions/sleep.py +0 -0
  774. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/base.py +0 -0
  775. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/default.py +0 -0
  776. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/loading/__init__.py +0 -0
  777. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/loading/default.py +0 -0
  778. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/manager.py +0 -0
  779. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/messaging/__init__.py +0 -0
  780. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/messaging/trigger.py +0 -0
  781. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/rpcapi.py +0 -0
  782. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/sync.py +0 -0
  783. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/applier/workflow_engine/__init__.py +0 -0
  784. {python_watcher-14.0.0.0rc1/watcher/common → python_watcher-15.0.0/watcher/cmd}/__init__.py +0 -0
  785. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/cmd/dbmanage.py +0 -0
  786. {python_watcher-14.0.0.0rc1/watcher/cmd → python_watcher-15.0.0/watcher/cmd/eventlet}/api.py +0 -0
  787. {python_watcher-14.0.0.0rc1/watcher/cmd → python_watcher-15.0.0/watcher/cmd/eventlet}/applier.py +0 -0
  788. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/cmd/status.py +0 -0
  789. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/cmd/sync.py +0 -0
  790. {python_watcher-14.0.0.0rc1/watcher/common/loader → python_watcher-15.0.0/watcher/common}/__init__.py +0 -0
  791. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/config.py +0 -0
  792. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/ironic_helper.py +0 -0
  793. {python_watcher-14.0.0.0rc1/watcher/common/metal_helper → python_watcher-15.0.0/watcher/common/loader}/__init__.py +0 -0
  794. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/loader/base.py +0 -0
  795. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/loader/default.py +0 -0
  796. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/loader/loadable.py +0 -0
  797. {python_watcher-14.0.0.0rc1/watcher/db → python_watcher-15.0.0/watcher/common/metal_helper}/__init__.py +0 -0
  798. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/metal_helper/base.py +0 -0
  799. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/metal_helper/constants.py +0 -0
  800. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/metal_helper/factory.py +0 -0
  801. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/metal_helper/ironic.py +0 -0
  802. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/metal_helper/maas.py +0 -0
  803. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/paths.py +0 -0
  804. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policies/__init__.py +0 -0
  805. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policies/action_plan.py +0 -0
  806. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policies/audit.py +0 -0
  807. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policies/audit_template.py +0 -0
  808. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policies/base.py +0 -0
  809. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policies/data_model.py +0 -0
  810. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policies/goal.py +0 -0
  811. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policies/scoring_engine.py +0 -0
  812. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policies/service.py +0 -0
  813. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policies/strategy.py +0 -0
  814. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/policy.py +0 -0
  815. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/service.py +0 -0
  816. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/common/service_manager.py +0 -0
  817. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/api.py +0 -0
  818. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/applier.py +0 -0
  819. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/clients_auth.py +0 -0
  820. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/db.py +0 -0
  821. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/exception.py +0 -0
  822. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/grafana_client.py +0 -0
  823. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/grafana_translators.py +0 -0
  824. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/maas_client.py +0 -0
  825. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/opts.py +0 -0
  826. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/paths.py +0 -0
  827. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/placement_client.py +0 -0
  828. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/planner.py +0 -0
  829. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/plugins.py +0 -0
  830. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/prometheus_client.py +0 -0
  831. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/conf/service.py +0 -0
  832. {python_watcher-14.0.0.0rc1/watcher/db/sqlalchemy → python_watcher-15.0.0/watcher/db}/__init__.py +0 -0
  833. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/api.py +0 -0
  834. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/migration.py +0 -0
  835. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/purge.py +0 -0
  836. {python_watcher-14.0.0.0rc1/watcher/decision_engine → python_watcher-15.0.0/watcher/db/sqlalchemy}/__init__.py +0 -0
  837. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/README.rst +0 -0
  838. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/script.py.mako +0 -0
  839. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/versions/001_ocata.py +0 -0
  840. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/versions/0f6042416884_add_apscheduler_jobs.py +0 -0
  841. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/versions/3cfc94cecf4e_add_name_for_audit.py +0 -0
  842. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/versions/4b16194c56bc_add_start_end_time.py +0 -0
  843. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/versions/52804f2498c4_add_hostname.py +0 -0
  844. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/versions/609bec748f2a_add_force_field.py +0 -0
  845. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/versions/a86240e89a29_.py +0 -0
  846. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/versions/d098df6021e2_cron_support_for_audit.py +0 -0
  847. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic/versions/d09a5945e4a0_add_action_description_table.py +0 -0
  848. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/alembic.ini +0 -0
  849. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/job_store.py +0 -0
  850. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/db/sqlalchemy/migration.py +0 -0
  851. {python_watcher-14.0.0.0rc1/watcher/decision_engine/audit → python_watcher-15.0.0/watcher/decision_engine}/__init__.py +0 -0
  852. {python_watcher-14.0.0.0rc1/watcher/decision_engine/datasources → python_watcher-15.0.0/watcher/decision_engine/audit}/__init__.py +0 -0
  853. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/audit/base.py +0 -0
  854. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/audit/event.py +0 -0
  855. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/audit/oneshot.py +0 -0
  856. {python_watcher-14.0.0.0rc1/watcher/decision_engine/datasources/grafana_translator → python_watcher-15.0.0/watcher/decision_engine/datasources}/__init__.py +0 -0
  857. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/datasources/gnocchi.py +0 -0
  858. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/datasources/grafana.py +0 -0
  859. {python_watcher-14.0.0.0rc1/watcher/decision_engine/goal/efficacy → python_watcher-15.0.0/watcher/decision_engine/datasources/grafana_translator}/__init__.py +0 -0
  860. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/datasources/grafana_translator/base.py +0 -0
  861. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/datasources/grafana_translator/influxdb.py +0 -0
  862. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/gmr.py +0 -0
  863. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/goal/__init__.py +0 -0
  864. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/goal/base.py +0 -0
  865. {python_watcher-14.0.0.0rc1/watcher/decision_engine/loading → python_watcher-15.0.0/watcher/decision_engine/goal/efficacy}/__init__.py +0 -0
  866. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/goal/efficacy/base.py +0 -0
  867. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/goal/efficacy/indicators.py +0 -0
  868. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/goal/efficacy/specs.py +0 -0
  869. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/goal/goals.py +0 -0
  870. {python_watcher-14.0.0.0rc1/watcher/decision_engine/messaging → python_watcher-15.0.0/watcher/decision_engine/loading}/__init__.py +0 -0
  871. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/loading/default.py +0 -0
  872. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/manager.py +0 -0
  873. {python_watcher-14.0.0.0rc1/watcher/decision_engine/model → python_watcher-15.0.0/watcher/decision_engine/messaging}/__init__.py +0 -0
  874. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/messaging/data_model_endpoint.py +0 -0
  875. {python_watcher-14.0.0.0rc1/watcher/decision_engine/model/collector → python_watcher-15.0.0/watcher/decision_engine/model}/__init__.py +0 -0
  876. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/base.py +0 -0
  877. {python_watcher-14.0.0.0rc1/watcher/decision_engine/model/notification → python_watcher-15.0.0/watcher/decision_engine/model/collector}/__init__.py +0 -0
  878. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/collector/cinder.py +0 -0
  879. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/collector/ironic.py +0 -0
  880. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/element/__init__.py +0 -0
  881. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/element/baremetal_resource.py +0 -0
  882. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/element/base.py +0 -0
  883. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/element/compute_resource.py +0 -0
  884. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/element/node.py +0 -0
  885. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/element/storage_resource.py +0 -0
  886. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/element/volume.py +0 -0
  887. {python_watcher-14.0.0.0rc1/watcher/decision_engine/planner → python_watcher-15.0.0/watcher/decision_engine/model/notification}/__init__.py +0 -0
  888. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/notification/base.py +0 -0
  889. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/notification/cinder.py +0 -0
  890. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/model/notification/filtering.py +0 -0
  891. {python_watcher-14.0.0.0rc1/watcher/decision_engine/scope → python_watcher-15.0.0/watcher/decision_engine/planner}/__init__.py +0 -0
  892. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/planner/base.py +0 -0
  893. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/planner/manager.py +0 -0
  894. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/planner/node_resource_consolidation.py +0 -0
  895. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/planner/workload_stabilization.py +0 -0
  896. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/rpcapi.py +0 -0
  897. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/scheduling.py +0 -0
  898. {python_watcher-14.0.0.0rc1/watcher/decision_engine/scoring → python_watcher-15.0.0/watcher/decision_engine/scope}/__init__.py +0 -0
  899. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/scope/baremetal.py +0 -0
  900. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/scope/base.py +0 -0
  901. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/scope/compute.py +0 -0
  902. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/scope/storage.py +0 -0
  903. {python_watcher-14.0.0.0rc1/watcher/decision_engine/solution → python_watcher-15.0.0/watcher/decision_engine/scoring}/__init__.py +0 -0
  904. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/scoring/base.py +0 -0
  905. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/scoring/dummy_scorer.py +0 -0
  906. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/scoring/dummy_scoring_container.py +0 -0
  907. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/scoring/scoring_factory.py +0 -0
  908. {python_watcher-14.0.0.0rc1/watcher/decision_engine/strategy → python_watcher-15.0.0/watcher/decision_engine/solution}/__init__.py +0 -0
  909. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/solution/base.py +0 -0
  910. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/solution/default.py +0 -0
  911. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/solution/efficacy.py +0 -0
  912. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/solution/solution_comparator.py +0 -0
  913. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/solution/solution_evaluator.py +0 -0
  914. {python_watcher-14.0.0.0rc1/watcher/decision_engine/strategy/common → python_watcher-15.0.0/watcher/decision_engine/strategy}/__init__.py +0 -0
  915. {python_watcher-14.0.0.0rc1/watcher/decision_engine/strategy/context → python_watcher-15.0.0/watcher/decision_engine/strategy/common}/__init__.py +0 -0
  916. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/common/level.py +0 -0
  917. {python_watcher-14.0.0.0rc1/watcher/decision_engine/strategy/selection → python_watcher-15.0.0/watcher/decision_engine/strategy/context}/__init__.py +0 -0
  918. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/context/base.py +0 -0
  919. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/context/default.py +0 -0
  920. {python_watcher-14.0.0.0rc1/watcher/hacking → python_watcher-15.0.0/watcher/decision_engine/strategy/selection}/__init__.py +0 -0
  921. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/selection/base.py +0 -0
  922. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/selection/default.py +0 -0
  923. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/__init__.py +0 -0
  924. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/actuation.py +0 -0
  925. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/basic_consolidation.py +0 -0
  926. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/dummy_strategy.py +0 -0
  927. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/dummy_with_resize.py +0 -0
  928. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/dummy_with_scorer.py +0 -0
  929. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/node_resource_consolidation.py +0 -0
  930. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/outlet_temp_control.py +0 -0
  931. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/saving_energy.py +0 -0
  932. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/storage_capacity_balance.py +0 -0
  933. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/uniform_airflow.py +0 -0
  934. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py +0 -0
  935. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/decision_engine/sync.py +0 -0
  936. {python_watcher-14.0.0.0rc1/watcher/tests/api → python_watcher-15.0.0/watcher/hacking}/__init__.py +0 -0
  937. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/hacking/checks.py +0 -0
  938. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/notifications/__init__.py +0 -0
  939. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/notifications/base.py +0 -0
  940. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/notifications/exception.py +0 -0
  941. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/notifications/goal.py +0 -0
  942. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/notifications/service.py +0 -0
  943. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/notifications/strategy.py +0 -0
  944. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/objects/__init__.py +0 -0
  945. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/objects/action_description.py +0 -0
  946. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/objects/audit_template.py +0 -0
  947. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/objects/base.py +0 -0
  948. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/objects/efficacy_indicator.py +0 -0
  949. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/objects/fields.py +0 -0
  950. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/objects/goal.py +0 -0
  951. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/objects/scoring_engine.py +0 -0
  952. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/objects/service.py +0 -0
  953. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/objects/strategy.py +0 -0
  954. {python_watcher-14.0.0.0rc1/watcher/tests/api/v1 → python_watcher-15.0.0/watcher/tests/api}/__init__.py +0 -0
  955. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/base.py +0 -0
  956. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/test_base.py +0 -0
  957. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/test_config.py +0 -0
  958. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/test_hooks.py +0 -0
  959. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/test_root.py +0 -0
  960. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/test_scheduling.py +0 -0
  961. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/test_utils.py +0 -0
  962. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/utils.py +0 -0
  963. {python_watcher-14.0.0.0rc1/watcher/tests/applier → python_watcher-15.0.0/watcher/tests/api/v1}/__init__.py +0 -0
  964. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/v1/test_goals.py +0 -0
  965. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/v1/test_microversions.py +0 -0
  966. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/v1/test_root.py +0 -0
  967. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/v1/test_scoring_engines.py +0 -0
  968. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/v1/test_services.py +0 -0
  969. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/v1/test_strategies.py +0 -0
  970. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/v1/test_utils.py +0 -0
  971. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/api/v1/test_webhooks.py +0 -0
  972. {python_watcher-14.0.0.0rc1/watcher/tests/applier/action_plan → python_watcher-15.0.0/watcher/tests/applier}/__init__.py +0 -0
  973. {python_watcher-14.0.0.0rc1/watcher/tests/applier/actions → python_watcher-15.0.0/watcher/tests/applier/action_plan}/__init__.py +0 -0
  974. {python_watcher-14.0.0.0rc1/watcher/tests/applier/actions/loading → python_watcher-15.0.0/watcher/tests/applier/actions}/__init__.py +0 -0
  975. {python_watcher-14.0.0.0rc1/watcher/tests/applier/messaging → python_watcher-15.0.0/watcher/tests/applier/actions/loading}/__init__.py +0 -0
  976. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/actions/loading/test_default_actions_loader.py +0 -0
  977. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/actions/test_change_node_power_state.py +0 -0
  978. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/actions/test_change_nova_service_state.py +0 -0
  979. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/actions/test_migration.py +0 -0
  980. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/actions/test_resize.py +0 -0
  981. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/actions/test_sleep.py +0 -0
  982. {python_watcher-14.0.0.0rc1/watcher/tests/applier/workflow_engine → python_watcher-15.0.0/watcher/tests/applier/messaging}/__init__.py +0 -0
  983. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/messaging/test_trigger_action_plan_endpoint.py +0 -0
  984. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/test_applier_manager.py +0 -0
  985. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/test_rpcapi.py +0 -0
  986. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/test_sync.py +0 -0
  987. {python_watcher-14.0.0.0rc1/watcher/tests/applier/workflow_engine/loading → python_watcher-15.0.0/watcher/tests/applier/workflow_engine}/__init__.py +0 -0
  988. {python_watcher-14.0.0.0rc1/watcher/tests/cmd → python_watcher-15.0.0/watcher/tests/applier/workflow_engine/loading}/__init__.py +0 -0
  989. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/applier/workflow_engine/loading/test_default_engine_loader.py +0 -0
  990. {python_watcher-14.0.0.0rc1/watcher/tests/common → python_watcher-15.0.0/watcher/tests/cmd}/__init__.py +0 -0
  991. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/cmd/test_db_manage.py +0 -0
  992. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/cmd/test_status.py +0 -0
  993. {python_watcher-14.0.0.0rc1/watcher/tests/common/loader → python_watcher-15.0.0/watcher/tests/common}/__init__.py +0 -0
  994. {python_watcher-14.0.0.0rc1/watcher/tests/common/metal_helper → python_watcher-15.0.0/watcher/tests/common/loader}/__init__.py +0 -0
  995. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/common/loader/test_loader.py +0 -0
  996. {python_watcher-14.0.0.0rc1/watcher/tests/conf → python_watcher-15.0.0/watcher/tests/common/metal_helper}/__init__.py +0 -0
  997. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/common/metal_helper/test_base.py +0 -0
  998. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/common/metal_helper/test_factory.py +0 -0
  999. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/common/metal_helper/test_ironic.py +0 -0
  1000. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/common/metal_helper/test_maas.py +0 -0
  1001. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/common/test_ironic_helper.py +0 -0
  1002. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/common/test_placement_helper.py +0 -0
  1003. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/common/test_service.py +0 -0
  1004. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/common/test_utils.py +0 -0
  1005. {python_watcher-14.0.0.0rc1/watcher/tests/db → python_watcher-15.0.0/watcher/tests/conf}/__init__.py +0 -0
  1006. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/conf/test_list_opts.py +0 -0
  1007. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/conf_fixture.py +0 -0
  1008. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/config.py +0 -0
  1009. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/audit → python_watcher-15.0.0/watcher/tests/db}/__init__.py +0 -0
  1010. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/db/test_action_description.py +0 -0
  1011. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/db/test_audit_template.py +0 -0
  1012. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/db/test_goal.py +0 -0
  1013. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/db/test_purge.py +0 -0
  1014. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/db/test_scoring_engine.py +0 -0
  1015. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/db/test_service.py +0 -0
  1016. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/db/test_strategy.py +0 -0
  1017. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/__init__.py +0 -0
  1018. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/cluster → python_watcher-15.0.0/watcher/tests/decision_engine/audit}/__init__.py +0 -0
  1019. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/audit/test_audit_handlers.py +0 -0
  1020. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/datasources → python_watcher-15.0.0/watcher/tests/decision_engine/cluster}/__init__.py +0 -0
  1021. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/cluster/test_cinder_cdmc.py +0 -0
  1022. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/cluster/test_cluster_data_model_collector.py +0 -0
  1023. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/datasources/grafana_translators → python_watcher-15.0.0/watcher/tests/decision_engine/datasources}/__init__.py +0 -0
  1024. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/event_consumer → python_watcher-15.0.0/watcher/tests/decision_engine/datasources/grafana_translators}/__init__.py +0 -0
  1025. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/datasources/grafana_translators/test_base.py +0 -0
  1026. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/datasources/grafana_translators/test_influxdb.py +0 -0
  1027. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/datasources/test_gnocchi_helper.py +0 -0
  1028. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/datasources/test_grafana_helper.py +0 -0
  1029. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/loading → python_watcher-15.0.0/watcher/tests/decision_engine/event_consumer}/__init__.py +0 -0
  1030. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/fake_goals.py +0 -0
  1031. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/fake_metal_helper.py +0 -0
  1032. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/fake_strategies.py +0 -0
  1033. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/messaging → python_watcher-15.0.0/watcher/tests/decision_engine/loading}/__init__.py +0 -0
  1034. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/loading/test_collector_loader.py +0 -0
  1035. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/loading/test_default_planner_loader.py +0 -0
  1036. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/loading/test_default_strategy_loader.py +0 -0
  1037. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/loading/test_goal_loader.py +0 -0
  1038. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/model → python_watcher-15.0.0/watcher/tests/decision_engine/messaging}/__init__.py +0 -0
  1039. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/messaging/test_audit_endpoint.py +0 -0
  1040. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/messaging/test_data_model_endpoint.py +0 -0
  1041. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/model/notification → python_watcher-15.0.0/watcher/tests/decision_engine/model}/__init__.py +0 -0
  1042. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/ironic_scenario_1.xml +0 -0
  1043. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_1.xml +0 -0
  1044. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_10.xml +0 -0
  1045. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_1_with_1_node_unavailable.xml +0 -0
  1046. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_1_with_all_instances_exclude.xml +0 -0
  1047. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_1_with_all_nodes_disable.xml +0 -0
  1048. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_1_with_metrics.xml +0 -0
  1049. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_2_with_metrics.xml +0 -0
  1050. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_3_with_2_nodes.xml +0 -0
  1051. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_3_with_metrics.xml +0 -0
  1052. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_4_with_1_node_no_instance.xml +0 -0
  1053. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_5_with_instance_disk_0.xml +0 -0
  1054. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_6_with_2_nodes.xml +0 -0
  1055. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_7_with_2_nodes.xml +0 -0
  1056. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_8_with_4_nodes.xml +0 -0
  1057. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/scenario_9_with_3_active_plus_1_disabled_nodes.xml +0 -0
  1058. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/data/storage_scenario_1.xml +0 -0
  1059. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/monasca_metrics.py +0 -0
  1060. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/planner → python_watcher-15.0.0/watcher/tests/decision_engine/model/notification}/__init__.py +0 -0
  1061. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/capacity.json +0 -0
  1062. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-create-end.json +0 -0
  1063. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-delete-end.json +0 -0
  1064. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-live_migration_force_complete-end.json +0 -0
  1065. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-live_migration_post-end.json +0 -0
  1066. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-lock.json +0 -0
  1067. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-pause-end.json +0 -0
  1068. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-power_off-end.json +0 -0
  1069. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-power_on-end.json +0 -0
  1070. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-rebuild-end.json +0 -0
  1071. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-rescue-end.json +0 -0
  1072. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-resize_confirm-end.json +0 -0
  1073. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-restore-end.json +0 -0
  1074. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-resume-end.json +0 -0
  1075. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-shelve-end.json +0 -0
  1076. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-shutdown-end.json +0 -0
  1077. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-soft_delete-end.json +0 -0
  1078. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-suspend-end.json +0 -0
  1079. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-unlock.json +0 -0
  1080. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-unpause-end.json +0 -0
  1081. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-unrescue-end.json +0 -0
  1082. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-unshelve-end.json +0 -0
  1083. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/instance-update.json +0 -0
  1084. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario3_instance-update.json +0 -0
  1085. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario3_notfound_instance-update.json +0 -0
  1086. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario3_notfound_legacy_instance-update.json +0 -0
  1087. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario3_service-update-disabled.json +0 -0
  1088. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario3_service-update-enabled.json +0 -0
  1089. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_bootable-volume-create.json +0 -0
  1090. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_capacity.json +0 -0
  1091. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_capacity_node_notfound.json +0 -0
  1092. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_capacity_pool_notfound.json +0 -0
  1093. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_error-volume-create.json +0 -0
  1094. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_volume-attach.json +0 -0
  1095. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_volume-create.json +0 -0
  1096. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_volume-create_pool_notfound.json +0 -0
  1097. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_volume-delete.json +0 -0
  1098. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_volume-detach.json +0 -0
  1099. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_volume-resize.json +0 -0
  1100. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/scenario_1_volume-update.json +0 -0
  1101. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/service-create.json +0 -0
  1102. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/service-delete.json +0 -0
  1103. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/data/service-update.json +0 -0
  1104. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/fake_managers.py +0 -0
  1105. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/test_cinder_notifications.py +0 -0
  1106. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/notification/test_notifications.py +0 -0
  1107. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/model/test_model.py +0 -0
  1108. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/scope → python_watcher-15.0.0/watcher/tests/decision_engine/planner}/__init__.py +0 -0
  1109. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/planner/test_node_resource_consolidation.py +0 -0
  1110. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/planner/test_planner_manager.py +0 -0
  1111. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/planner/test_workload_stabilization_planner.py +0 -0
  1112. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/scoring → python_watcher-15.0.0/watcher/tests/decision_engine/scope}/__init__.py +0 -0
  1113. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/scope/fake_scopes.py +0 -0
  1114. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/scope/test_baremetal.py +0 -0
  1115. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/scope/test_compute.py +0 -0
  1116. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/scope/test_storage.py +0 -0
  1117. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/solution → python_watcher-15.0.0/watcher/tests/decision_engine/scoring}/__init__.py +0 -0
  1118. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/scoring/test_dummy_scorer.py +0 -0
  1119. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/scoring/test_dummy_scoring_container.py +0 -0
  1120. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/scoring/test_scoring_factory.py +0 -0
  1121. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/strategy → python_watcher-15.0.0/watcher/tests/decision_engine/solution}/__init__.py +0 -0
  1122. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/solution/test_default_solution.py +0 -0
  1123. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/strategy/context → python_watcher-15.0.0/watcher/tests/decision_engine/strategy}/__init__.py +0 -0
  1124. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/strategy/selector → python_watcher-15.0.0/watcher/tests/decision_engine/strategy/context}/__init__.py +0 -0
  1125. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/context/test_strategy_context.py +0 -0
  1126. {python_watcher-14.0.0.0rc1/watcher/tests/decision_engine/strategy/strategies → python_watcher-15.0.0/watcher/tests/decision_engine/strategy/selector}/__init__.py +0 -0
  1127. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/selector/test_strategy_selector.py +0 -0
  1128. {python_watcher-14.0.0.0rc1/watcher/tests/notifications → python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies}/__init__.py +0 -0
  1129. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_actuator.py +0 -0
  1130. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_basic_consolidation.py +0 -0
  1131. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_dummy_strategy.py +0 -0
  1132. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_dummy_with_scorer.py +0 -0
  1133. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_node_resource_consolidation.py +0 -0
  1134. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_noisy_neighbor.py +0 -0
  1135. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_outlet_temp_control.py +0 -0
  1136. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_saving_energy.py +0 -0
  1137. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_storage_capacity_balance.py +0 -0
  1138. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_strategy_endpoint.py +0 -0
  1139. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_uniform_airflow.py +0 -0
  1140. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/strategy/strategies/test_vm_workload_consolidation.py +0 -0
  1141. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/test_gmr.py +0 -0
  1142. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/test_rpcapi.py +0 -0
  1143. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/decision_engine/test_sync.py +0 -0
  1144. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/fakes.py +0 -0
  1145. {python_watcher-14.0.0.0rc1/watcher/tests/objects → python_watcher-15.0.0/watcher/tests/fixtures}/__init__.py +0 -0
  1146. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/notifications/test_service_notifications.py +0 -0
  1147. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/objects/test_action_description.py +0 -0
  1148. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/objects/test_action_plan.py +0 -0
  1149. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/objects/test_audit.py +0 -0
  1150. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/objects/test_audit_template.py +0 -0
  1151. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/objects/test_efficacy_indicator.py +0 -0
  1152. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/objects/test_goal.py +0 -0
  1153. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/objects/test_scoring_engine.py +0 -0
  1154. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/objects/test_service.py +0 -0
  1155. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/objects/test_strategy.py +0 -0
  1156. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/objects/utils.py +0 -0
  1157. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/policy_fixture.py +0 -0
  1158. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/tests/test_threading.py +0 -0
  1159. {python_watcher-14.0.0.0rc1 → python_watcher-15.0.0}/watcher/version.py +0 -0
@@ -0,0 +1,62 @@
1
+ ---
2
+ repos:
3
+ - repo: https://github.com/pre-commit/pre-commit-hooks
4
+ rev: v5.0.0
5
+ hooks:
6
+ # whitespace
7
+ - id: trailing-whitespace
8
+ - id: mixed-line-ending
9
+ args: ['--fix', 'lf']
10
+ exclude: '.*\.(svg)$'
11
+ - id: check-byte-order-marker
12
+ # file format and permissions
13
+ - id: check-ast
14
+ - id: debug-statements
15
+ - id: check-json
16
+ files: .*\.json$
17
+ - id: check-yaml
18
+ files: .*\.(yaml|yml)$
19
+ - id: check-executables-have-shebangs
20
+ - id: check-shebang-scripts-are-executable
21
+ # git
22
+ - id: check-added-large-files
23
+ - id: check-case-conflict
24
+ - id: detect-private-key
25
+ - id: check-merge-conflict
26
+ - repo: https://github.com/Lucas-C/pre-commit-hooks
27
+ rev: v1.5.5
28
+ hooks:
29
+ - id: remove-tabs
30
+ exclude: '.*\.(svg)$'
31
+ - repo: https://opendev.org/openstack/hacking
32
+ rev: 7.0.0
33
+ hooks:
34
+ - id: hacking
35
+ additional_dependencies: []
36
+ exclude: '^(doc|releasenotes|tools)/.*$'
37
+ - repo: https://github.com/PyCQA/bandit
38
+ rev: 1.8.3
39
+ hooks:
40
+ - id: bandit
41
+ args: ['-x', 'tests', '-s', 'B101,B311,B320']
42
+ - repo: https://github.com/hhatto/autopep8
43
+ rev: v2.3.2
44
+ hooks:
45
+ - id: autopep8
46
+ files: '^.*\.py$'
47
+ - repo: https://github.com/codespell-project/codespell
48
+ rev: v2.4.1
49
+ hooks:
50
+ - id: codespell
51
+ args: ['--ignore-words=doc/dictionary.txt']
52
+ - repo: https://github.com/sphinx-contrib/sphinx-lint
53
+ rev: v1.0.0
54
+ hooks:
55
+ - id: sphinx-lint
56
+ args: [--enable=default-role]
57
+ files: ^doc/|^releasenotes/|^api-guide/
58
+ types: [rst]
59
+ - repo: https://github.com/PyCQA/doc8
60
+ rev: v1.1.2
61
+ hooks:
62
+ - id: doc8
@@ -0,0 +1,402 @@
1
+ - job:
2
+ name: watcher-tempest-actuator
3
+ parent: watcher-tempest-multinode
4
+ vars:
5
+ tempest_test_regex: watcher_tempest_plugin.tests.scenario.test_execute_actuator
6
+
7
+ - job:
8
+ name: watcher-tempest-strategies
9
+ parent: watcher-tempest-multinode
10
+ vars:
11
+ tempest_concurrency: 1
12
+ # All tests inside watcher_tempest_plugin.tests.scenario with tag "strategy"
13
+ # or test_execute_strategies file
14
+ # excluding tests with tag "real_load"
15
+ tempest_test_regex: (^watcher_tempest_plugin.tests.scenario)(.*\[.*\bstrategy\b.*\].*)|(^watcher_tempest_plugin.tests.scenario.test_execute_strategies)
16
+ tempest_exclude_regex: .*\[.*\breal_load\b.*\].*
17
+
18
+ - job:
19
+ name: watcher-tempest-multinode
20
+ parent: watcher-tempest-functional
21
+ nodeset: openstack-two-node-noble
22
+ roles:
23
+ - zuul: openstack/tempest
24
+ group-vars:
25
+ subnode:
26
+ devstack_local_conf:
27
+ post-config:
28
+ $WATCHER_CONF:
29
+ watcher_cluster_data_model_collectors.compute:
30
+ period: 120
31
+ watcher_cluster_data_model_collectors.baremetal:
32
+ period: 120
33
+ watcher_cluster_data_model_collectors.storage:
34
+ period: 120
35
+ $CINDER_CONF:
36
+ # enable notifications in compute node, by default they are only
37
+ # configured in the controller
38
+ oslo_messaging_notifications:
39
+ driver: messagingv2
40
+ devstack_services:
41
+ watcher-api: false
42
+ watcher-decision-engine: true
43
+ watcher-applier: false
44
+ c-bak: false
45
+ ceilometer: false
46
+ ceilometer-acompute: false
47
+ ceilometer-acentral: false
48
+ ceilometer-anotification: false
49
+ watcher: false
50
+ gnocchi-api: false
51
+ gnocchi-metricd: false
52
+ rabbit: false
53
+ mysql: false
54
+ vars:
55
+ devstack_localrc:
56
+ GNOCCHI_ARCHIVE_POLICY_TEMPEST: "ceilometer-low-rate"
57
+ CEILOMETER_PIPELINE_INTERVAL: 15
58
+ devstack_services:
59
+ ceilometer-acompute: false
60
+ ceilometer-acentral: true
61
+ ceilometer-anotification: true
62
+ devstack_local_conf:
63
+ post-config:
64
+ $WATCHER_CONF:
65
+ watcher_cluster_data_model_collectors.compute:
66
+ period: 120
67
+ watcher_cluster_data_model_collectors.baremetal:
68
+ period: 120
69
+ watcher_cluster_data_model_collectors.storage:
70
+ period: 120
71
+ $CINDER_CONF:
72
+ # enable notifications in compute node, by default they are only
73
+ # configured in the controller
74
+ oslo_messaging_notifications:
75
+ driver: messagingv2
76
+ test-config:
77
+ $TEMPEST_CONFIG:
78
+ compute:
79
+ min_compute_nodes: 2
80
+ min_microversion: 2.56
81
+ compute-feature-enabled:
82
+ live_migration: true
83
+ block_migration_for_live_migration: true
84
+ placement:
85
+ min_microversion: 1.29
86
+ telemetry:
87
+ ceilometer_polling_interval: 15
88
+ devstack_plugins:
89
+ ceilometer: https://opendev.org/openstack/ceilometer
90
+
91
+ - job:
92
+ name: watcher-tempest-functional
93
+ parent: devstack-tempest
94
+ timeout: 7200
95
+ required-projects: &base_required_projects
96
+ - openstack/ceilometer
97
+ - openstack/python-openstackclient
98
+ - openstack/python-watcherclient
99
+ - openstack/watcher
100
+ - openstack/watcher-tempest-plugin
101
+ - openstack/tempest
102
+ vars: &base_vars
103
+ devstack_plugins:
104
+ watcher: https://opendev.org/openstack/watcher
105
+ devstack_services:
106
+ watcher-api: true
107
+ watcher-decision-engine: true
108
+ watcher-applier: true
109
+ tempest: true
110
+ s-account: false
111
+ s-container: false
112
+ s-object: false
113
+ s-proxy: false
114
+ tempest_plugins:
115
+ - watcher-tempest-plugin
116
+ tempest_test_regex: watcher_tempest_plugin.tests.api
117
+ tox_envlist: all
118
+ zuul_copy_output:
119
+ /etc/hosts: logs
120
+
121
+ - job:
122
+ name: watcher-tempest-functional-ipv6-only
123
+ parent: devstack-tempest-ipv6
124
+ description: |
125
+ Watcher devstack tempest tests job for IPv6-only deployment
126
+ required-projects: *base_required_projects
127
+ vars: *base_vars
128
+
129
+ - job:
130
+ name: watcher-grenade
131
+ parent: grenade
132
+ required-projects:
133
+ - openstack/watcher
134
+ - openstack/python-watcherclient
135
+ - openstack/watcher-tempest-plugin
136
+ vars: *base_vars
137
+ irrelevant-files: &irrelevent_files
138
+ - ^(test-|)requirements.txt$
139
+ - ^.*\.rst$
140
+ - ^api-ref/.*$
141
+ - ^doc/.*$
142
+ - ^watcher/hacking/.*$
143
+ - ^watcher/tests/.*$
144
+ - ^releasenotes/.*$
145
+ - ^setup.cfg$
146
+ - ^tools/.*$
147
+ - ^tox.ini$
148
+
149
+ - job:
150
+ name: watcher-sg-core-tempest-base
151
+ parent: devstack-tempest
152
+ nodeset: openstack-two-node-noble
153
+ description: |
154
+ This job is for testing watcher and sg-core/prometheus installation
155
+ abstract: true
156
+ pre-run:
157
+ - playbooks/generate_prometheus_config.yml
158
+ irrelevant-files: *irrelevent_files
159
+ timeout: 7800
160
+ required-projects: &base_sg_required_projects
161
+ - openstack/aodh
162
+ - openstack/ceilometer
163
+ - openstack/tempest
164
+ - openstack-k8s-operators/sg-core
165
+ - openstack/watcher
166
+ - openstack/python-watcherclient
167
+ - openstack/watcher-tempest-plugin
168
+ - openstack/devstack-plugin-prometheus
169
+ vars:
170
+ configure_swap_size: 8192
171
+ devstack_plugins:
172
+ ceilometer: https://opendev.org/openstack/ceilometer
173
+ aodh: https://opendev.org/openstack/aodh
174
+ sg-core: https://github.com/openstack-k8s-operators/sg-core
175
+ watcher: https://opendev.org/openstack/watcher
176
+ devstack-plugin-prometheus: https://opendev.org/openstack/devstack-plugin-prometheus
177
+ devstack_services:
178
+ ceilometer-acompute: true
179
+ watcher-api: true
180
+ watcher-decision-engine: true
181
+ watcher-applier: true
182
+ tempest: true
183
+ # We do not need Swift in this job so disable it for speed
184
+ # Swift services
185
+ s-account: false
186
+ s-container: false
187
+ s-object: false
188
+ s-proxy: false
189
+ # Prometheus related service
190
+ prometheus: true
191
+ node_exporter: true
192
+ devstack_localrc:
193
+ CEILOMETER_BACKENDS: "sg-core"
194
+ CEILOMETER_PIPELINE_INTERVAL: 15
195
+ CEILOMETER_ALARM_THRESHOLD: 6000000000
196
+ PROMETHEUS_CONFIG_FILE: "/home/zuul/prometheus.yml"
197
+ devstack_local_conf:
198
+ post-config:
199
+ $WATCHER_CONF:
200
+ watcher_datasources:
201
+ datasources: prometheus
202
+ prometheus_client:
203
+ host: 127.0.0.1
204
+ port: 9090
205
+ watcher_cluster_data_model_collectors.compute:
206
+ period: 120
207
+ watcher_cluster_data_model_collectors.baremetal:
208
+ period: 120
209
+ watcher_cluster_data_model_collectors.storage:
210
+ period: 120
211
+ compute_model:
212
+ enable_extended_attributes: true
213
+ nova_client:
214
+ api_version: "2.96"
215
+ test-config:
216
+ $TEMPEST_CONFIG:
217
+ compute:
218
+ min_compute_nodes: 2
219
+ min_microversion: 2.56
220
+ compute-feature-enabled:
221
+ live_migration: true
222
+ block_migration_for_live_migration: true
223
+ placement:
224
+ min_microversion: 1.29
225
+ service_available:
226
+ sg_core: True
227
+ telemetry_services:
228
+ metric_backends: prometheus
229
+ telemetry:
230
+ disable_ssl_certificate_validation: True
231
+ ceilometer_polling_interval: 15
232
+ optimize:
233
+ datasource: prometheus
234
+ extended_attributes_nova_microversion: "2.96"
235
+ data_model_collectors_period: 120
236
+ tempest_plugins:
237
+ - watcher-tempest-plugin
238
+ # All tests inside watcher_tempest_plugin.tests.scenario with tag "strategy"
239
+ # and test_execute_strategies, test_data_model files
240
+ # excluding tests with tag "real_load"
241
+ tempest_test_regex: (watcher_tempest_plugin.tests.scenario)(.*\[.*\bstrategy\b.*\].*)|(watcher_tempest_plugin.tests.scenario.(test_execute_strategies|test_data_model))
242
+ tempest_exclude_regex: .*\[.*\breal_load\b.*\].*
243
+ tempest_concurrency: 1
244
+ tox_envlist: all
245
+ zuul_copy_output:
246
+ /etc/prometheus/prometheus.yml: logs
247
+ group-vars:
248
+ subnode:
249
+ devstack_plugins:
250
+ ceilometer: https://opendev.org/openstack/ceilometer
251
+ devstack-plugin-prometheus: https://opendev.org/openstack/devstack-plugin-prometheus
252
+ devstack_services:
253
+ ceilometer-acompute: true
254
+ sg-core: false
255
+ prometheus: false
256
+ node_exporter: true
257
+ devstack_localrc:
258
+ CEILOMETER_BACKEND: "none"
259
+ CEILOMETER_BACKENDS: "none"
260
+ devstack_local_conf:
261
+ post-config:
262
+ $WATCHER_CONF:
263
+ watcher_cluster_data_model_collectors.compute:
264
+ period: 120
265
+ watcher_cluster_data_model_collectors.baremetal:
266
+ period: 120
267
+ watcher_cluster_data_model_collectors.storage:
268
+ period: 120
269
+
270
+ - job:
271
+ name: watcher-prometheus-integration
272
+ parent: watcher-sg-core-tempest-base
273
+ vars:
274
+ devstack_services:
275
+ ceilometer-acompute: false
276
+ node_exporter: false
277
+ group-vars:
278
+ subnode:
279
+ devstack_services:
280
+ ceilometer-acompute: false
281
+ node_exporter: false
282
+
283
+ - job:
284
+ name: watcher-aetos-integration
285
+ parent: watcher-sg-core-tempest-base
286
+ description: |
287
+ This job tests Watcher with Aetos reverse-proxy for Prometheus
288
+ using Keystone authentication instead of direct Prometheus access.
289
+ required-projects:
290
+ - openstack/python-observabilityclient
291
+ - openstack/aetos
292
+ vars: &aetos_vars
293
+ devstack_services:
294
+ ceilometer-acompute: false
295
+ node_exporter: false
296
+ devstack_plugins:
297
+ ceilometer: https://opendev.org/openstack/ceilometer
298
+ sg-core: https://github.com/openstack-k8s-operators/sg-core
299
+ watcher: https://opendev.org/openstack/watcher
300
+ devstack-plugin-prometheus: https://opendev.org/openstack/devstack-plugin-prometheus
301
+ aetos: https://opendev.org/openstack/aetos
302
+ devstack_local_conf:
303
+ post-config:
304
+ $WATCHER_CONF:
305
+ watcher_datasources:
306
+ datasources: aetos
307
+ aetos_client:
308
+ interface: public
309
+ region_name: RegionOne
310
+ fqdn_label: fqdn
311
+ instance_uuid_label: resource
312
+ test-config:
313
+ $TEMPEST_CONFIG:
314
+ optimize:
315
+ datasource: prometheus
316
+ group-vars:
317
+ subnode:
318
+ devstack_services:
319
+ ceilometer-acompute: false
320
+ node_exporter: false
321
+
322
+ - job:
323
+ name: watcher-prometheus-integration-realdata
324
+ parent: watcher-sg-core-tempest-base
325
+ vars: &realdata_vars
326
+ devstack_services:
327
+ ceilometer-acompute: true
328
+ node_exporter: true
329
+ devstack_localrc:
330
+ NODE_EXPORTER_COLLECTOR_EXCLUDE: ""
331
+ devstack_local_conf:
332
+ test-config:
333
+ $TEMPEST_CONFIG:
334
+ optimize:
335
+ datasource: ""
336
+ real_workload_period: 300
337
+ # All tests inside watcher_tempest_plugin.tests.scenario with tag "real_load"
338
+ tempest_test_regex: (^watcher_tempest_plugin.tests.scenario)(.*\[.*\breal_load\b.*\].*)
339
+ tempest_exclude_regex: ""
340
+ group-vars: &realdata_group_vars
341
+ subnode:
342
+ devstack_services:
343
+ ceilometer-acompute: true
344
+ node_exporter: true
345
+ devstack_localrc:
346
+ NODE_EXPORTER_COLLECTOR_EXCLUDE: ""
347
+
348
+ - job:
349
+ name: watcher-prometheus-integration-threading
350
+ parent: watcher-prometheus-integration
351
+ vars:
352
+ devstack_localrc:
353
+ 'SYSTEMD_ENV_VARS["watcher-decision-engine"]': OS_WATCHER_DISABLE_EVENTLET_PATCHING=true
354
+
355
+ - job:
356
+ name: openstack-tox-py312-threading
357
+ parent: openstack-tox-py312
358
+ description: |
359
+ Run tox with the py3-threading environment.
360
+ vars:
361
+ tox_envlist: py3-threading
362
+
363
+ - job:
364
+ name: watcher-aetos-integration-realdata
365
+ parent: watcher-aetos-integration
366
+ vars: *realdata_vars
367
+ group-vars: *realdata_group_vars
368
+
369
+ - project:
370
+ queue: watcher
371
+ templates:
372
+ - check-requirements
373
+ - openstack-cover-jobs
374
+ - openstack-python3-jobs
375
+ - publish-openstack-docs-pti
376
+ - release-notes-jobs-python3
377
+ check:
378
+ jobs:
379
+ - openstack-tox-py312-threading
380
+ - watcher-tempest-functional
381
+ - watcher-grenade
382
+ - watcher-tempest-strategies
383
+ - watcher-tempest-actuator
384
+ - python-watcherclient-functional:
385
+ files:
386
+ - ^watcher/api/*
387
+ - watcher-tempest-functional-ipv6-only
388
+ - watcher-prometheus-integration
389
+ - watcher-prometheus-integration-threading
390
+ - watcher-aetos-integration
391
+ gate:
392
+ jobs:
393
+ - watcher-tempest-functional
394
+ - watcher-tempest-functional-ipv6-only
395
+ experimental:
396
+ jobs:
397
+ - watcher-prometheus-integration-realdata
398
+ - watcher-aetos-integration-realdata
399
+ periodic-weekly:
400
+ jobs:
401
+ - watcher-prometheus-integration-realdata
402
+ - watcher-aetos-integration-realdata
@@ -0,0 +1,220 @@
1
+ 98k <18552437190@163.com>
2
+ Akihito INOH <aki-inou@rs.jp.nec.com>
3
+ Alexander Chadin <a.chadin@servionica.ru>
4
+ Alexander Chadin <aschadin@sbcloud.ru>
5
+ Alexandr Stavitskiy <stavitskiy@servionica.ru>
6
+ Alfredo Moralejo <amoralej@redhat.com>
7
+ Amy Fong <amy.fong@windriver.com>
8
+ Andrea Frittoli <andrea.frittoli@gmail.com>
9
+ Andreas Jaeger <aj@suse.com>
10
+ Andreas Jaeger <jaegerandi@gmail.com>
11
+ Antoine Cabot <antoine.cabot@b-com.com>
12
+ Anton Khaldin <anton.haldin@gmail.com>
13
+ Atul Pandey <atul.pandey@nectechnologies.in>
14
+ Bin Zhou <zhou.bin9@zte.com.cn>
15
+ Biswajeeban Mishra <mishra@inf.u-szeged.hu>
16
+ Bruno Grazioli <bwg_bruno@hotmail.com>
17
+ BubaVV <vmarkov@mirantis.com>
18
+ Béla Vancsics <vancsics@inf.u-szeged.hu>
19
+ Cao Xuan Hoang <hoangcx@vn.fujitsu.com>
20
+ Chandan Kumar (raukadah) <chkumar@redhat.com>
21
+ Chandan Kumar <chkumar@redhat.com>
22
+ ChangBo Guo(gcb) <eric.guo@easystack.cn>
23
+ Chaozhe.Chen <chaozhe.chen@easystack.cn>
24
+ Chris MacNaughton <chris.macnaughton@canonical.com>
25
+ Chris Spencer <christopher.m.spencer@intel.com>
26
+ Clark Boylan <clark.boylan@gmail.com>
27
+ Daniel Pawlik <daniel.pawlik@corp.ovh.com>
28
+ Dantali0n <info@dantalion.nl>
29
+ Dao Cong Tien <tiendc@vn.fujitsu.com>
30
+ Darren Shaw <ds354m@att.com>
31
+ David TARDIVEL <David.TARDIVEL@b-com.com>
32
+ Doug Hellmann <doug@doughellmann.com>
33
+ Douglas Viroel <dviroel@redhat.com>
34
+ Douglas Viroel <viroel@gmail.com>
35
+ Drew Thorstensen <thorst@us.ibm.com>
36
+ Edwin Zhai <edwin.zhai@intel.com>
37
+ Egor Panfilov <erakli00@gmail.com>
38
+ Erik Olof Gunnar Andersson <eandersson@blizzard.com>
39
+ Fanis Kalimullin <fmkalimullin@gmail.com>
40
+ Feng Shengqin <feng.shengqin@zte.com.cn>
41
+ Flavio Percoco <flaper87@gmail.com>
42
+ ForestLee <lichl@hotmail.com>
43
+ Ghanshyam Mann <gmann@ghanshyammann.com>
44
+ Guang Yee <guang.yee@suse.com>
45
+ Gábor Antal <antal@inf.u-szeged.hu>
46
+ Ha Van Tu <tuhv@vn.fujitsu.com>
47
+ Hervé Beraud <hberaud@redhat.com>
48
+ Hidekazu Nakamura <hid-nakamura@vf.jp.nec.com>
49
+ Hoang Trung Hieu <hieuht@vn.fujitsu.com>
50
+ Ian Wienand <iwienand@redhat.com>
51
+ Iswarya_Vakati <v.iswarya@nectechnologies.in>
52
+ Jaewoo Park <jp655p@att.com>
53
+ James E. Blair <jeblair@redhat.com>
54
+ James Page <james.page@canonical.com>
55
+ Jaromir Wysoglad <jwysogla@redhat.com>
56
+ Jean-Emile DARTOIS <jean-emile.dartois@b-com.com>
57
+ Jeremy Liu <liujiong@gohighsec.com>
58
+ Jiri Podivin <jpodivin@redhat.com>
59
+ Joe Cropper <jwcroppe@us.ibm.com>
60
+ Ken'ichi Ohmichi <ken-oomichi@wx.jp.nec.com>
61
+ Kevin_Zheng <zhengzhenyu@huawei.com>
62
+ Kien Nguyen <kiennt@vn.fujitsu.com>
63
+ Lance Bragstad <lbragstad@gmail.com>
64
+ Larry Rensing <lr699s@att.com>
65
+ LiXiangyu <lixiangyu@cmss.chinamobile.com>
66
+ Lin Yang <lin.a.yang@intel.com>
67
+ Lucian Petrut <lpetrut@cloudbasesolutions.com>
68
+ Luigi Toscano <ltoscano@redhat.com>
69
+ Luong Anh Tuan <tuanla@vn.fujitsu.com>
70
+ M V P Nitesh <m.nitesh@nectechnologies.in>
71
+ Margarita Shakhova <mbshakhova.sbt@sberbank.ru>
72
+ Martin Kopec <mkopec@redhat.com>
73
+ Matt Riedemann <mriedem.os@gmail.com>
74
+ Michael Gugino <michael.gugino@walmart.com>
75
+ Michelle Mandel <mmandel@us.ibm.com>
76
+ Muzammil Mueen <muzammil.mueen@gmail.com>
77
+ Ngo Quoc Cuong <cuongnq@vn.fujitsu.com>
78
+ Nguyen Hai <nguyentrihai93@gmail.com>
79
+ Nguyen Hai Truong <truongnh@vn.fujitsu.com>
80
+ Nguyen Hung Phuong <phuongnh@vn.fujitsu.com>
81
+ Nishant Kumar <nishant.e.kumar@ericsson.com>
82
+ OpenStack Release Bot <infra-root@openstack.org>
83
+ Palimariu Marius <palimarium@gmail.com>
84
+ Pradeep Kumar Singh <ps4openstack@gmail.com>
85
+ Prashanth Hari <prashanth.hari@walmart.com>
86
+ Prudhvi Rao Shedimbi <prudhvi.rao.shedimbi@intel.com>
87
+ Q.hongtao <qihongtao@inspur.com>
88
+ Quang Ngo <quang.ngo@canonical.com>
89
+ Ralf Rantzau <rrantzau@cisco.com>
90
+ Ronelle Landy <rlandy@redhat.com>
91
+ Sampath Priyankara <sam47priya@gmail.com>
92
+ Santhosh Fernandes <santhosh.fernandes@gmail.com>
93
+ Sean McGinnis <sean.mcginnis@gmail.com>
94
+ Sean Mooney <work@seanmooney.info>
95
+ ShangXiao <shangxiaobj@inspur.com>
96
+ Steve Kowalik <steven@wedontsleep.org>
97
+ Steve Wilkerson <sw5822@att.com>
98
+ Sumit Jamgade <sjamgade@suse.com>
99
+ Susanne Balle <sleipnir012@gmail.com>
100
+ Swapnil Kulkarni (coolsvap) <me@coolsvap.net>
101
+ Takashi Kajinami <kajinamit@oss.nttdata.com>
102
+ Takashi Kajinami <tkajinam@redhat.com>
103
+ Takashi Natsume <takanattie@gmail.com>
104
+ Tatiana Kholkina <holkina@selectel.ru>
105
+ Taylor Peoples <tpeoples@us.ibm.com>
106
+ Thierry Carrez <thierry@openstack.org>
107
+ Tin Lam <tl3438@att.com>
108
+ Tobias Urdin <tobias.urdin@binero.com>
109
+ Tobias Urdin <tobias.urdin@binero.se>
110
+ Tomasz Kaczynski <tomasz.kaczynski@intel.com>
111
+ Tomasz Trębski <tomasz.trebski@ts.fujitsu.com>
112
+ Viacheslav Samarin <samarin@servionica.ru>
113
+ Viktor Varga <vvarga@inf.u-szeged.hu>
114
+ Vincent Françoise <Vincent.FRANCOISE@b-com.com>
115
+ Vladimir Ostroverkhov <ostroverkhov@servionica.ru>
116
+ Vu Cong Tuan <tuanvc@vn.fujitsu.com>
117
+ XiaojueGuan <guanalbertjone@gmail.com>
118
+ XieYingYun <smokony@sina.com>
119
+ Yaguo Zhou <zhouyaguo@gmail.com>
120
+ Yatin Kumbhare <yatinkumbhare@gmail.com>
121
+ Yosef Hoffman <yh128t@att.com>
122
+ Yumeng Bao <yumeng_bao@yahoo.com>
123
+ YumengBao <bao.yumeng@zte.com.cn>
124
+ Yumeng_Bao <yumeng_bao@yahoo.com>
125
+ Zhenyu Zheng <zheng.zhenyu@outlook.com>
126
+ Zhenzan Zhou <zhenzan.zhou@intel.com>
127
+ aditi <adi.sky17@gmail.com>
128
+ aditi <aditi.s@nectechnologies.in>
129
+ afanasev.s <afanasev.s@selectel.ru>
130
+ akhiljain23 <akhil.jain@india.nec.com>
131
+ akihito-inoh <aki-inou@rs.jp.nec.com>
132
+ avnish <avnish.pal@nectechnologies.in>
133
+ baiwenteng <baiwenteng@inspur.com>
134
+ caoyuan <cao.yuan@99cloud.net>
135
+ chao liu <liuc@rc.inesa.com>
136
+ chenaidong1 <chen.aidong@zte.com.cn>
137
+ chengebj5238 <chengebj@inspur.com>
138
+ chenghuiyu <yuchenghui@unionpay.com>
139
+ chenke <chen.ke14@zte.com.cn>
140
+ chenker <chen.ke14@zte.com.cn>
141
+ chenming <chenm30@chinaunicom.cn>
142
+ chenxing <chason.chan@foxmail.com>
143
+ cima <cima@zhaw.ch>
144
+ deepak_mourya <deepak.mourya@nectechnologies.in>
145
+ digambar <digambarpatil15@yahoo.co.in>
146
+ ericxiett <eric_xiett@163.com>
147
+ gaofei <gao.fei@inspur.com>
148
+ gaozx <zxgao@fiberhome.com>
149
+ gecong1973 <ge.cong@zte.com.cn>
150
+ gengchc2 <geng.changcai2@zte.com.cn>
151
+ ghanshyam <gmann@ghanshyammann.com>
152
+ haris tanvir <haristanvir@hotmail.com>
153
+ howardlee <lihongweibj@inspur.com>
154
+ inspurericzhang <zhanglf01@inspur.com>
155
+ iswarya_vakati <v.iswarya@nectechnologies.in>
156
+ jacky06 <zhang.min@99cloud.net>
157
+ jaugustine <ja224e@att.com>
158
+ jeremy.zhang <zhangjun_inspur@163.com>
159
+ jgilaber <jgilaber@redhat.com>
160
+ jinquanni <ni.jinquan@zte.com.cn>
161
+ junjie huang <junjie.huang@intel.com>
162
+ licanwei <li.canwei2@zte.com.cn>
163
+ limin0801 <limin.lc@inspur.com>
164
+ lingyongxu <lyxu@fiberhome.com>
165
+ liushuobj <liushuobj@inspur.com>
166
+ liyanhang <liyh@gohighsec.com>
167
+ lvxianguo <lvxianguo@inspur.com>
168
+ m <mandreou@redhat.com>
169
+ maaoyu <maaoyu@inspur.com>
170
+ melissaml <ma.lei@99cloud.net>
171
+ mergalievibragim <mer_eng@mail.ru>
172
+ morenod <dsanzmor@redhat.com>
173
+ pangliye <pangliye@inspur.com>
174
+ pengyuesheng <pengyuesheng@gohighsec.com>
175
+ qinchunhua <qin.chunhua@zte.com.cn>
176
+ qiufossen <qiujunting@inspur.com>
177
+ rajat29 <rajat.sharma@nectechnologies.in>
178
+ ricolin <rico.lin@easystack.cn>
179
+ ricolin <ricolin@ricolky.com>
180
+ root <songwenping@inspur.com>
181
+ sai <saigandham467@gmail.com>
182
+ shangxiaobj <shangxiaobj@inspur.com>
183
+ sharat.sharma <sharat.sharma@nectechnologies.in>
184
+ shubhendu <shubhendu.poothia@nectechnologies.in>
185
+ songwenping <songwenping@inspur.com>
186
+ sue <sugar-2008@163.com>
187
+ sunjia <sunjia@inspur.com>
188
+ suzhengwei <sugar-2008@163.com>
189
+ suzhengwei <suzhengwei@inspur.com>
190
+ the.bling <sudhansu.banerjee@outlook.com>
191
+ ting.wang <ting.wang@easystack.cn>
192
+ unknown <w00345332@szxbz243.huaweiobz.com>
193
+ vmahe <vincent.mahe@b-com.com>
194
+ wangjiaqi07 <wangjiaqi07@inspur.com>
195
+ wangqi <wang.qi@99cloud.net>
196
+ wangxiyuan <wangxiyuan@huawei.com>
197
+ wangzihao <wangzihao@yovole.com>
198
+ watanabe isao <watanabe.isao.openstack@gmail.com>
199
+ weiweigu <gu.weiwei@zte.com.cn>
200
+ wu.chunyang <wu.chunyang@99cloud.net>
201
+ wu.chunyang <wuchunyang@yovole.com>
202
+ xiaoxue <pisces.giu@gmail.com>
203
+ xuanyandong <xuanyandong@inspur.com>
204
+ yanxubin <xbyan@fiberhome.com>
205
+ yuhui_inspur <yuhui@inspur.com>
206
+ zhang.lei <zhang.lei@99cloud.net>
207
+ zhangbailin <zhangbailin@inspur.com>
208
+ zhangdebo <zhangdebo@inspur.com>
209
+ zhangguoqing <zhang.guoqing@99cloud.net>
210
+ zhangjianfeng <kill51216@163.com>
211
+ zhangyanxian <zhang.yanxian@zte.com.cn>
212
+ zhangyanxian <zhangyanxianmail@163.com>
213
+ zhengwei6082 <zhengwei6082@fiberhome.com>
214
+ zhoulinhui <df.some@foxmail.com>
215
+ zhufl <zhu.fanglei@zte.com.cn>
216
+ zhulingjie <easyzlj@gmail.com>
217
+ zhurong <aaronzhu1121@gmail.com>
218
+ zhuzeyu <zhu.zeyu@zte.com.cn>
219
+ zte-hanrong <han.rong3@zte.com.cn>
220
+ 鲍昱蒙00205026 <00205026@zte.intra>