python-watcher 15.0.0__tar.gz → 16.0.0.0rc1__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 (1443) hide show
  1. python_watcher-16.0.0.0rc1/.pre-commit-config.yaml +68 -0
  2. python_watcher-16.0.0.0rc1/.zuul.yaml +401 -0
  3. python_watcher-16.0.0.0rc1/AUTHORS +223 -0
  4. python_watcher-16.0.0.0rc1/ChangeLog +1822 -0
  5. python_watcher-16.0.0.0rc1/PKG-INFO +105 -0
  6. python_watcher-16.0.0.0rc1/README.rst +28 -0
  7. python_watcher-16.0.0.0rc1/api-ref/source/conf.py +75 -0
  8. python_watcher-16.0.0.0rc1/devstack/lib/watcher +258 -0
  9. python_watcher-16.0.0.0rc1/doc/ext/term.py +181 -0
  10. python_watcher-16.0.0.0rc1/doc/ext/versioned_notifications.py +132 -0
  11. python_watcher-16.0.0.0rc1/doc/source/actions/change_node_power_state.rst +28 -0
  12. python_watcher-16.0.0.0rc1/doc/source/actions/change_nova_service_state.rst +41 -0
  13. python_watcher-16.0.0.0rc1/doc/source/actions/index.rst +52 -0
  14. python_watcher-16.0.0.0rc1/doc/source/actions/migrate.rst +51 -0
  15. python_watcher-16.0.0.0rc1/doc/source/actions/nop.rst +32 -0
  16. python_watcher-16.0.0.0rc1/doc/source/actions/resize.rst +38 -0
  17. python_watcher-16.0.0.0rc1/doc/source/actions/sleep.rst +24 -0
  18. python_watcher-16.0.0.0rc1/doc/source/actions/stop.rst +32 -0
  19. python_watcher-16.0.0.0rc1/doc/source/actions/volume_migration.rst +59 -0
  20. python_watcher-16.0.0.0rc1/doc/source/admin/index.rst +15 -0
  21. python_watcher-16.0.0.0rc1/doc/source/architecture.rst +522 -0
  22. python_watcher-16.0.0.0rc1/doc/source/conf.py +147 -0
  23. python_watcher-16.0.0.0rc1/doc/source/contributor/concurrency.rst +274 -0
  24. python_watcher-16.0.0.0rc1/doc/source/contributor/plugin/strategy-plugin.rst +305 -0
  25. python_watcher-16.0.0.0rc1/doc/source/datasources/aetos.rst +164 -0
  26. python_watcher-16.0.0.0rc1/doc/source/datasources/index.rst +16 -0
  27. python_watcher-16.0.0.0rc1/doc/source/datasources/migrate-prometheus-to-aetos.rst +198 -0
  28. python_watcher-16.0.0.0rc1/doc/source/datasources/prometheus.rst +148 -0
  29. python_watcher-16.0.0.0rc1/doc/source/images/architecture.svg +1483 -0
  30. python_watcher-16.0.0.0rc1/doc/source/integrations/index.rst +125 -0
  31. python_watcher-16.0.0.0rc1/doc/source/strategies/index.rst +58 -0
  32. python_watcher-16.0.0.0rc1/doc/source/strategies/strategy-template.rst +115 -0
  33. python_watcher-16.0.0.0rc1/doc/source/strategies/zone_migration.rst +206 -0
  34. python_watcher-16.0.0.0rc1/doc/source/user/continuous_type_audit.rst +451 -0
  35. python_watcher-16.0.0.0rc1/doc/source/user/index.rst +11 -0
  36. python_watcher-16.0.0.0rc1/etc/watcher/oslo-config-generator/watcher.conf +18 -0
  37. python_watcher-16.0.0.0rc1/pyproject.toml +36 -0
  38. python_watcher-16.0.0.0rc1/python_watcher.egg-info/PKG-INFO +105 -0
  39. python_watcher-16.0.0.0rc1/python_watcher.egg-info/SOURCES.txt +1011 -0
  40. python_watcher-16.0.0.0rc1/python_watcher.egg-info/entry_points.txt +84 -0
  41. python_watcher-16.0.0.0rc1/python_watcher.egg-info/pbr.json +1 -0
  42. python_watcher-16.0.0.0rc1/python_watcher.egg-info/requires.txt +45 -0
  43. python_watcher-16.0.0.0rc1/releasenotes/notes/2026.1-prelude-09557da1a8c6979c.yaml +33 -0
  44. python_watcher-16.0.0.0rc1/releasenotes/notes/960265-optional-pool-fields-storage-xml-26701a4ce5e54f2b.yaml +11 -0
  45. python_watcher-16.0.0.0rc1/releasenotes/notes/add-retries-nova-calls-32455b6fbf7523f1.yaml +7 -0
  46. python_watcher-16.0.0.0rc1/releasenotes/notes/applier-threading-mode-882c79ca8843bc5a.yaml +15 -0
  47. python_watcher-16.0.0.0rc1/releasenotes/notes/blueprint-remove-cancel-ongoing-actions-11144f2acb562188.yaml +8 -0
  48. python_watcher-16.0.0.0rc1/releasenotes/notes/bug-2098984-zone-migration-instance-not-found-b9ce947dd3e7e020.yaml +9 -0
  49. python_watcher-16.0.0.0rc1/releasenotes/notes/bug-2109722-cb205216d0c1a836.yaml +13 -0
  50. python_watcher-16.0.0.0rc1/releasenotes/notes/bug-2122149-fix-migrate-source-node-host-maintenance-30ef096bdb7e5b24.yaml +8 -0
  51. python_watcher-16.0.0.0rc1/releasenotes/notes/bug-2126767-d0a2911d1e046805.yaml +17 -0
  52. python_watcher-16.0.0.0rc1/releasenotes/notes/bug-2127777-7f512e63e087da91.yaml +12 -0
  53. python_watcher-16.0.0.0rc1/releasenotes/notes/bug-2129692-a1f941b8fa5a71be.yaml +15 -0
  54. python_watcher-16.0.0.0rc1/releasenotes/notes/bug-2131663-b486d36f77d13a5d.yaml +11 -0
  55. python_watcher-16.0.0.0rc1/releasenotes/notes/bug-2134046-7daa7debfc302122.yaml +10 -0
  56. python_watcher-16.0.0.0rc1/releasenotes/notes/bug-2138857-e3505aa4a20a7831.yaml +7 -0
  57. python_watcher-16.0.0.0rc1/releasenotes/notes/change-nova-service-precondition-check-8c87bc04a4fd3d0f.yaml +9 -0
  58. python_watcher-16.0.0.0rc1/releasenotes/notes/cors-e506801ebc0ed3f1.yaml +6 -0
  59. python_watcher-16.0.0.0rc1/releasenotes/notes/deprecate-bindir-bf65362735ba0633.yaml +5 -0
  60. python_watcher-16.0.0.0rc1/releasenotes/notes/deprecate-maas-9dfbb7975d379231.yaml +8 -0
  61. python_watcher-16.0.0.0rc1/releasenotes/notes/deprecate-prometheus-datasource-f8a3c2e1d9b4f5a7.yaml +38 -0
  62. python_watcher-16.0.0.0rc1/releasenotes/notes/deprecate_actionplan_rollback_opt-9447a2b26bbe476e.yaml +8 -0
  63. python_watcher-16.0.0.0rc1/releasenotes/notes/http_proxy_to_wsgi-81ab98b39038fb39.yaml +8 -0
  64. python_watcher-16.0.0.0rc1/releasenotes/notes/migration-precondition-check-ff55be4.yaml +17 -0
  65. python_watcher-16.0.0.0rc1/releasenotes/notes/monitor-failed-appliers-5278211fbac4aef6.yaml +12 -0
  66. python_watcher-16.0.0.0rc1/releasenotes/notes/prepare-openstacksdk-migration-73cc43ab26ed47e6.yaml +14 -0
  67. python_watcher-16.0.0.0rc1/releasenotes/notes/remove-dead-nova-helper-methods-62125e08.yaml +14 -0
  68. python_watcher-16.0.0.0rc1/releasenotes/notes/remove-evenlet-timeout-cdm-7f8761c92bbca808.yaml +11 -0
  69. python_watcher-16.0.0.0rc1/releasenotes/notes/remove-glance-client-Yjk5ZDNh.yaml +10 -0
  70. python_watcher-16.0.0.0rc1/releasenotes/notes/remove-monasca-datasource-e70fec5b837d44.yaml +7 -0
  71. python_watcher-16.0.0.0rc1/releasenotes/notes/remove-neutron-client-42431931f1fe48a2.yaml +9 -0
  72. python_watcher-16.0.0.0rc1/releasenotes/notes/remove-unused-nova-helper-methods-3ee84f57eaab458d.yaml +15 -0
  73. python_watcher-16.0.0.0rc1/releasenotes/notes/request-id-fdfe63effd88be78.yaml +5 -0
  74. python_watcher-16.0.0.0rc1/releasenotes/notes/resize-precondition-check-3d234a9000c3c93f.yaml +15 -0
  75. python_watcher-16.0.0.0rc1/releasenotes/notes/resize-timeout-0f6ede6ec9b644b7.yaml +11 -0
  76. python_watcher-16.0.0.0rc1/releasenotes/notes/stop-precondition-check-95f2e5fe83355a4e.yaml +8 -0
  77. python_watcher-16.0.0.0rc1/releasenotes/notes/update-notification-topics-daf6303a63963ee9.yaml +8 -0
  78. python_watcher-16.0.0.0rc1/releasenotes/notes/zone-migration-with-attached-volume-without-compute-nodes-ec4b1329e2b58279.yaml +11 -0
  79. python_watcher-16.0.0.0rc1/releasenotes/notes/zone_migrate_src_type-642186730a4f354e.yaml +10 -0
  80. python_watcher-16.0.0.0rc1/releasenotes/notes/zone_migration_schema_change-92a9ec8631870c84.yaml +7 -0
  81. python_watcher-16.0.0.0rc1/releasenotes/source/2025.2.rst +6 -0
  82. python_watcher-16.0.0.0rc1/releasenotes/source/conf.py +256 -0
  83. python_watcher-16.0.0.0rc1/releasenotes/source/index.rst +43 -0
  84. python_watcher-16.0.0.0rc1/requirements.txt +48 -0
  85. python_watcher-16.0.0.0rc1/setup.cfg +110 -0
  86. python_watcher-16.0.0.0rc1/tox.ini +161 -0
  87. python_watcher-16.0.0.0rc1/watcher/_i18n.py +40 -0
  88. python_watcher-16.0.0.0rc1/watcher/api/acl.py +40 -0
  89. python_watcher-16.0.0.0rc1/watcher/api/app.py +77 -0
  90. python_watcher-16.0.0.0rc1/watcher/api/app.wsgi +23 -0
  91. python_watcher-16.0.0.0rc1/watcher/api/config.py +53 -0
  92. python_watcher-16.0.0.0rc1/watcher/api/controllers/base.py +134 -0
  93. python_watcher-16.0.0.0rc1/watcher/api/controllers/link.py +59 -0
  94. python_watcher-16.0.0.0rc1/watcher/api/controllers/rest_api_version_history.rst +58 -0
  95. python_watcher-16.0.0.0rc1/watcher/api/controllers/root.py +121 -0
  96. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/__init__.py +288 -0
  97. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/action.py +473 -0
  98. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/action_plan.py +604 -0
  99. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/audit.py +741 -0
  100. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/audit_template.py +697 -0
  101. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/collection.py +48 -0
  102. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/data_model.py +82 -0
  103. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/efficacy_indicator.py +71 -0
  104. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/goal.py +234 -0
  105. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/scoring_engine.py +241 -0
  106. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/service.py +256 -0
  107. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/strategy.py +330 -0
  108. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/types.py +244 -0
  109. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/utils.py +215 -0
  110. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/versions.py +54 -0
  111. python_watcher-16.0.0.0rc1/watcher/api/controllers/v1/webhooks.py +64 -0
  112. python_watcher-16.0.0.0rc1/watcher/api/hooks.py +112 -0
  113. python_watcher-16.0.0.0rc1/watcher/api/middleware/auth_token.py +61 -0
  114. python_watcher-16.0.0.0rc1/watcher/api/middleware/parsable_error.py +93 -0
  115. python_watcher-16.0.0.0rc1/watcher/applier/action_plan/base.py +25 -0
  116. python_watcher-16.0.0.0rc1/watcher/applier/action_plan/default.py +129 -0
  117. python_watcher-16.0.0.0rc1/watcher/applier/actions/base.py +147 -0
  118. python_watcher-16.0.0.0rc1/watcher/applier/actions/change_node_power_state.py +138 -0
  119. python_watcher-16.0.0.0rc1/watcher/applier/actions/change_nova_service_state.py +145 -0
  120. python_watcher-16.0.0.0rc1/watcher/applier/actions/factory.py +39 -0
  121. python_watcher-16.0.0.0rc1/watcher/applier/actions/migration.py +265 -0
  122. python_watcher-16.0.0.0rc1/watcher/applier/actions/nop.py +103 -0
  123. python_watcher-16.0.0.0rc1/watcher/applier/actions/resize.py +136 -0
  124. python_watcher-16.0.0.0rc1/watcher/applier/actions/sleep.py +80 -0
  125. python_watcher-16.0.0.0rc1/watcher/applier/actions/stop.py +172 -0
  126. python_watcher-16.0.0.0rc1/watcher/applier/actions/volume_migration.py +254 -0
  127. python_watcher-16.0.0.0rc1/watcher/applier/base.py +33 -0
  128. python_watcher-16.0.0.0rc1/watcher/applier/default.py +62 -0
  129. python_watcher-16.0.0.0rc1/watcher/applier/loading/default.py +26 -0
  130. python_watcher-16.0.0.0rc1/watcher/applier/manager.py +56 -0
  131. python_watcher-16.0.0.0rc1/watcher/applier/messaging/trigger.py +56 -0
  132. python_watcher-16.0.0.0rc1/watcher/applier/rpcapi.py +70 -0
  133. python_watcher-16.0.0.0rc1/watcher/applier/service.py +55 -0
  134. python_watcher-16.0.0.0rc1/watcher/applier/service_monitor.py +90 -0
  135. python_watcher-16.0.0.0rc1/watcher/applier/sync.py +81 -0
  136. python_watcher-16.0.0.0rc1/watcher/applier/workflow_engine/base.py +322 -0
  137. python_watcher-16.0.0.0rc1/watcher/applier/workflow_engine/default.py +215 -0
  138. python_watcher-16.0.0.0rc1/watcher/cmd/dbmanage.py +156 -0
  139. python_watcher-16.0.0.0rc1/watcher/cmd/eventlet/api.py +48 -0
  140. python_watcher-16.0.0.0rc1/watcher/cmd/eventlet/applier.py +45 -0
  141. python_watcher-16.0.0.0rc1/watcher/cmd/eventlet/decisionengine.py +47 -0
  142. python_watcher-16.0.0.0rc1/watcher/cmd/status.py +60 -0
  143. python_watcher-16.0.0.0rc1/watcher/cmd/sync.py +39 -0
  144. python_watcher-16.0.0.0rc1/watcher/common/cinder_helper.py +333 -0
  145. python_watcher-16.0.0.0rc1/watcher/common/clients.py +276 -0
  146. python_watcher-16.0.0.0rc1/watcher/common/config.py +57 -0
  147. python_watcher-16.0.0.0rc1/watcher/common/context.py +82 -0
  148. python_watcher-16.0.0.0rc1/watcher/common/exception.py +539 -0
  149. python_watcher-16.0.0.0rc1/watcher/common/executor.py +92 -0
  150. python_watcher-16.0.0.0rc1/watcher/common/ironic_helper.py +48 -0
  151. python_watcher-16.0.0.0rc1/watcher/common/keystone_helper.py +103 -0
  152. python_watcher-16.0.0.0rc1/watcher/common/loader/base.py +27 -0
  153. python_watcher-16.0.0.0rc1/watcher/common/loader/default.py +93 -0
  154. python_watcher-16.0.0.0rc1/watcher/common/loader/loadable.py +67 -0
  155. python_watcher-16.0.0.0rc1/watcher/common/metal_helper/base.py +82 -0
  156. python_watcher-16.0.0.0rc1/watcher/common/metal_helper/ironic.py +98 -0
  157. python_watcher-16.0.0.0rc1/watcher/common/metal_helper/maas.py +128 -0
  158. python_watcher-16.0.0.0rc1/watcher/common/nova_helper.py +1204 -0
  159. python_watcher-16.0.0.0rc1/watcher/common/oslo_service_helper.py +32 -0
  160. python_watcher-16.0.0.0rc1/watcher/common/placement_helper.py +180 -0
  161. python_watcher-16.0.0.0rc1/watcher/common/scheduling.py +70 -0
  162. python_watcher-16.0.0.0rc1/watcher/common/service.py +390 -0
  163. python_watcher-16.0.0.0rc1/watcher/common/service_manager.py +54 -0
  164. python_watcher-16.0.0.0rc1/watcher/common/utils.py +193 -0
  165. python_watcher-16.0.0.0rc1/watcher/conf/__init__.py +71 -0
  166. python_watcher-16.0.0.0rc1/watcher/conf/api.py +72 -0
  167. python_watcher-16.0.0.0rc1/watcher/conf/applier.py +65 -0
  168. python_watcher-16.0.0.0rc1/watcher/conf/cinder_client.py +43 -0
  169. python_watcher-16.0.0.0rc1/watcher/conf/clients_auth.py +30 -0
  170. python_watcher-16.0.0.0rc1/watcher/conf/collector.py +68 -0
  171. python_watcher-16.0.0.0rc1/watcher/conf/datasources.py +65 -0
  172. python_watcher-16.0.0.0rc1/watcher/conf/db.py +43 -0
  173. python_watcher-16.0.0.0rc1/watcher/conf/decision_engine.py +92 -0
  174. python_watcher-16.0.0.0rc1/watcher/conf/exception.py +32 -0
  175. python_watcher-16.0.0.0rc1/watcher/conf/gnocchi_client.py +44 -0
  176. python_watcher-16.0.0.0rc1/watcher/conf/grafana_client.py +151 -0
  177. python_watcher-16.0.0.0rc1/watcher/conf/grafana_translators.py +43 -0
  178. python_watcher-16.0.0.0rc1/watcher/conf/ironic_client.py +43 -0
  179. python_watcher-16.0.0.0rc1/watcher/conf/keystone_client.py +37 -0
  180. python_watcher-16.0.0.0rc1/watcher/conf/nova.py +106 -0
  181. python_watcher-16.0.0.0rc1/watcher/conf/nova_client.py +74 -0
  182. python_watcher-16.0.0.0rc1/watcher/conf/opts.py +72 -0
  183. python_watcher-16.0.0.0rc1/watcher/conf/paths.py +53 -0
  184. python_watcher-16.0.0.0rc1/watcher/conf/planner.py +40 -0
  185. python_watcher-16.0.0.0rc1/watcher/conf/plugins.py +71 -0
  186. python_watcher-16.0.0.0rc1/watcher/conf/prometheus_client.py +119 -0
  187. python_watcher-16.0.0.0rc1/watcher/conf/service.py +56 -0
  188. python_watcher-16.0.0.0rc1/watcher/db/api.py +879 -0
  189. python_watcher-16.0.0.0rc1/watcher/db/purge.py +472 -0
  190. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/alembic/script.py.mako +22 -0
  191. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/alembic/versions/15f7375ca737_change_efficiacy_indicator_decimals.py +20 -0
  192. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/alembic/versions/3cfc94cecf4e_add_name_for_audit.py +22 -0
  193. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/alembic/versions/4b16194c56bc_add_start_end_time.py +24 -0
  194. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/alembic/versions/52804f2498c4_add_hostname.py +26 -0
  195. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/alembic/versions/609bec748f2a_add_force_field.py +22 -0
  196. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/alembic/versions/7150a7d8f228_add_status_message_to_actionplan.py +22 -0
  197. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/alembic/versions/a86240e89a29_.py +45 -0
  198. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/api.py +1191 -0
  199. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/job_store.py +124 -0
  200. python_watcher-16.0.0.0rc1/watcher/db/sqlalchemy/models.py +319 -0
  201. python_watcher-16.0.0.0rc1/watcher/decision_engine/audit/base.py +160 -0
  202. python_watcher-16.0.0.0rc1/watcher/decision_engine/audit/continuous.py +229 -0
  203. python_watcher-16.0.0.0rc1/watcher/decision_engine/audit/event.py +26 -0
  204. python_watcher-16.0.0.0rc1/watcher/decision_engine/audit/oneshot.py +26 -0
  205. python_watcher-16.0.0.0rc1/watcher/decision_engine/datasources/aetos.py +67 -0
  206. python_watcher-16.0.0.0rc1/watcher/decision_engine/datasources/base.py +264 -0
  207. python_watcher-16.0.0.0rc1/watcher/decision_engine/datasources/gnocchi.py +282 -0
  208. python_watcher-16.0.0.0rc1/watcher/decision_engine/datasources/grafana.py +263 -0
  209. python_watcher-16.0.0.0rc1/watcher/decision_engine/datasources/grafana_translator/base.py +124 -0
  210. python_watcher-16.0.0.0rc1/watcher/decision_engine/datasources/grafana_translator/influxdb.py +87 -0
  211. python_watcher-16.0.0.0rc1/watcher/decision_engine/datasources/manager.py +186 -0
  212. python_watcher-16.0.0.0rc1/watcher/decision_engine/datasources/prometheus.py +93 -0
  213. python_watcher-16.0.0.0rc1/watcher/decision_engine/datasources/prometheus_base.py +475 -0
  214. python_watcher-16.0.0.0rc1/watcher/decision_engine/gmr.py +47 -0
  215. python_watcher-16.0.0.0rc1/watcher/decision_engine/goal/__init__.py +31 -0
  216. python_watcher-16.0.0.0rc1/watcher/decision_engine/goal/base.py +61 -0
  217. python_watcher-16.0.0.0rc1/watcher/decision_engine/goal/efficacy/base.py +86 -0
  218. python_watcher-16.0.0.0rc1/watcher/decision_engine/goal/efficacy/indicators.py +306 -0
  219. python_watcher-16.0.0.0rc1/watcher/decision_engine/goal/efficacy/specs.py +163 -0
  220. python_watcher-16.0.0.0rc1/watcher/decision_engine/goal/goals.py +267 -0
  221. python_watcher-16.0.0.0rc1/watcher/decision_engine/loading/default.py +57 -0
  222. python_watcher-16.0.0.0rc1/watcher/decision_engine/manager.py +84 -0
  223. python_watcher-16.0.0.0rc1/watcher/decision_engine/messaging/audit_endpoint.py +58 -0
  224. python_watcher-16.0.0.0rc1/watcher/decision_engine/messaging/data_model_endpoint.py +59 -0
  225. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/base.py +37 -0
  226. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/collector/base.py +245 -0
  227. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/collector/cinder.py +321 -0
  228. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/collector/ironic.py +120 -0
  229. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/collector/manager.py +86 -0
  230. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/collector/nova.py +565 -0
  231. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/element/__init__.py +41 -0
  232. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/element/baremetal_resource.py +30 -0
  233. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/element/base.py +68 -0
  234. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/element/compute_resource.py +29 -0
  235. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/element/instance.py +62 -0
  236. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/element/node.py +110 -0
  237. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/element/storage_resource.py +30 -0
  238. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/element/volume.py +55 -0
  239. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/model_root.py +710 -0
  240. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/notification/base.py +36 -0
  241. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/notification/cinder.py +402 -0
  242. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/notification/filtering.py +86 -0
  243. python_watcher-16.0.0.0rc1/watcher/decision_engine/model/notification/nova.py +374 -0
  244. python_watcher-16.0.0.0rc1/watcher/decision_engine/planner/base.py +75 -0
  245. python_watcher-16.0.0.0rc1/watcher/decision_engine/planner/manager.py +34 -0
  246. python_watcher-16.0.0.0rc1/watcher/decision_engine/planner/node_resource_consolidation.py +162 -0
  247. python_watcher-16.0.0.0rc1/watcher/decision_engine/planner/weight.py +223 -0
  248. python_watcher-16.0.0.0rc1/watcher/decision_engine/planner/workload_stabilization.py +297 -0
  249. python_watcher-16.0.0.0rc1/watcher/decision_engine/rpcapi.py +80 -0
  250. python_watcher-16.0.0.0rc1/watcher/decision_engine/scheduling.py +99 -0
  251. python_watcher-16.0.0.0rc1/watcher/decision_engine/scope/baremetal.py +65 -0
  252. python_watcher-16.0.0.0rc1/watcher/decision_engine/scope/base.py +36 -0
  253. python_watcher-16.0.0.0rc1/watcher/decision_engine/scope/compute.py +222 -0
  254. python_watcher-16.0.0.0rc1/watcher/decision_engine/scope/storage.py +163 -0
  255. python_watcher-16.0.0.0rc1/watcher/decision_engine/scoring/base.py +122 -0
  256. python_watcher-16.0.0.0rc1/watcher/decision_engine/scoring/dummy_scorer.py +168 -0
  257. python_watcher-16.0.0.0rc1/watcher/decision_engine/scoring/dummy_scoring_container.py +97 -0
  258. python_watcher-16.0.0.0rc1/watcher/decision_engine/scoring/scoring_factory.py +105 -0
  259. python_watcher-16.0.0.0rc1/watcher/decision_engine/service.py +80 -0
  260. python_watcher-16.0.0.0rc1/watcher/decision_engine/service_monitor.py +95 -0
  261. python_watcher-16.0.0.0rc1/watcher/decision_engine/solution/base.py +119 -0
  262. python_watcher-16.0.0.0rc1/watcher/decision_engine/solution/default.py +68 -0
  263. python_watcher-16.0.0.0rc1/watcher/decision_engine/solution/efficacy.py +104 -0
  264. python_watcher-16.0.0.0rc1/watcher/decision_engine/solution/solution_comparator.py +24 -0
  265. python_watcher-16.0.0.0rc1/watcher/decision_engine/solution/solution_evaluator.py +24 -0
  266. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/common/level.py +26 -0
  267. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/context/base.py +67 -0
  268. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/context/default.py +69 -0
  269. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/selection/base.py +25 -0
  270. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/selection/default.py +72 -0
  271. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/__init__.py +60 -0
  272. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/actuation.py +100 -0
  273. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/base.py +566 -0
  274. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/basic_consolidation.py +461 -0
  275. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/dummy_strategy.py +102 -0
  276. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/dummy_with_resize.py +120 -0
  277. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/dummy_with_scorer.py +165 -0
  278. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/host_maintenance.py +320 -0
  279. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/node_resource_consolidation.py +290 -0
  280. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/noisy_neighbor.py +281 -0
  281. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/outlet_temp_control.py +277 -0
  282. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/saving_energy.py +235 -0
  283. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/storage_capacity_balance.py +401 -0
  284. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/uniform_airflow.py +323 -0
  285. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py +658 -0
  286. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/workload_balance.py +366 -0
  287. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/workload_stabilization.py +589 -0
  288. python_watcher-16.0.0.0rc1/watcher/decision_engine/strategy/strategies/zone_migration.py +1035 -0
  289. python_watcher-16.0.0.0rc1/watcher/decision_engine/sync.py +578 -0
  290. python_watcher-16.0.0.0rc1/watcher/decision_engine/threading.py +112 -0
  291. python_watcher-16.0.0.0rc1/watcher/hacking/checks.py +272 -0
  292. python_watcher-16.0.0.0rc1/watcher/notifications/__init__.py +28 -0
  293. python_watcher-16.0.0.0rc1/watcher/notifications/action.py +374 -0
  294. python_watcher-16.0.0.0rc1/watcher/notifications/action_plan.py +422 -0
  295. python_watcher-16.0.0.0rc1/watcher/notifications/audit.py +387 -0
  296. python_watcher-16.0.0.0rc1/watcher/notifications/base.py +215 -0
  297. python_watcher-16.0.0.0rc1/watcher/notifications/goal.py +52 -0
  298. python_watcher-16.0.0.0rc1/watcher/notifications/service.py +112 -0
  299. python_watcher-16.0.0.0rc1/watcher/notifications/strategy.py +52 -0
  300. python_watcher-16.0.0.0rc1/watcher/objects/action.py +184 -0
  301. python_watcher-16.0.0.0rc1/watcher/objects/action_description.py +140 -0
  302. python_watcher-16.0.0.0rc1/watcher/objects/action_plan.py +348 -0
  303. python_watcher-16.0.0.0rc1/watcher/objects/audit.py +364 -0
  304. python_watcher-16.0.0.0rc1/watcher/objects/audit_template.py +240 -0
  305. python_watcher-16.0.0.0rc1/watcher/objects/base.py +179 -0
  306. python_watcher-16.0.0.0rc1/watcher/objects/efficacy_indicator.py +184 -0
  307. python_watcher-16.0.0.0rc1/watcher/objects/fields.py +177 -0
  308. python_watcher-16.0.0.0rc1/watcher/objects/goal.py +175 -0
  309. python_watcher-16.0.0.0rc1/watcher/objects/scoring_engine.py +197 -0
  310. python_watcher-16.0.0.0rc1/watcher/objects/service.py +144 -0
  311. python_watcher-16.0.0.0rc1/watcher/objects/strategy.py +236 -0
  312. python_watcher-16.0.0.0rc1/watcher/tests/fixtures/conf_fixture.py +50 -0
  313. python_watcher-16.0.0.0rc1/watcher/tests/fixtures/db_lock.py +81 -0
  314. python_watcher-16.0.0.0rc1/watcher/tests/fixtures/fake_policy.py +84 -0
  315. python_watcher-16.0.0.0rc1/watcher/tests/fixtures/fakes.py +113 -0
  316. python_watcher-16.0.0.0rc1/watcher/tests/fixtures/policy_fixture.py +44 -0
  317. python_watcher-16.0.0.0rc1/watcher/tests/fixtures/watcher.py +139 -0
  318. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/base.py +290 -0
  319. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/test_base.py +32 -0
  320. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/test_config.py +35 -0
  321. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/test_hooks.py +263 -0
  322. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/test_root.py +70 -0
  323. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/test_utils.py +56 -0
  324. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/utils.py +109 -0
  325. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_actions.py +775 -0
  326. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_actions_plans.py +773 -0
  327. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_audit_templates.py +860 -0
  328. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_audits.py +1495 -0
  329. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_data_model.py +185 -0
  330. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_goals.py +189 -0
  331. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_microversions.py +110 -0
  332. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_root.py +19 -0
  333. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_scoring_engines.py +181 -0
  334. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_services.py +199 -0
  335. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_strategies.py +303 -0
  336. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_types.py +321 -0
  337. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_utils.py +70 -0
  338. python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1/test_webhooks.py +73 -0
  339. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/action_plan/test_default_action_handler.py +221 -0
  340. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/actions/loading/test_default_actions_loader.py +35 -0
  341. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/actions/test_change_node_power_state.py +169 -0
  342. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/actions/test_change_nova_service_state.py +180 -0
  343. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/actions/test_migration.py +426 -0
  344. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/actions/test_resize.py +134 -0
  345. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/actions/test_sleep.py +46 -0
  346. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/actions/test_stop.py +203 -0
  347. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/actions/test_volume_migration.py +347 -0
  348. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/messaging/test_trigger_action_plan_endpoint.py +53 -0
  349. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/test_applier_manager.py +42 -0
  350. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/test_rpcapi.py +55 -0
  351. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/test_service.py +70 -0
  352. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/test_service_monitor.py +581 -0
  353. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/test_sync.py +96 -0
  354. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/workflow_engine/loading/test_default_engine_loader.py +30 -0
  355. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/workflow_engine/test_default_workflow_engine.py +669 -0
  356. python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/workflow_engine/test_taskflow_action_container.py +429 -0
  357. python_watcher-16.0.0.0rc1/watcher/tests/unit/base.py +158 -0
  358. python_watcher-16.0.0.0rc1/watcher/tests/unit/cmd/test_api.py +62 -0
  359. python_watcher-16.0.0.0rc1/watcher/tests/unit/cmd/test_applier.py +53 -0
  360. python_watcher-16.0.0.0rc1/watcher/tests/unit/cmd/test_db_manage.py +174 -0
  361. python_watcher-16.0.0.0rc1/watcher/tests/unit/cmd/test_decision_engine.py +63 -0
  362. python_watcher-16.0.0.0rc1/watcher/tests/unit/cmd/test_status.py +42 -0
  363. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/loader/test_loader.py +102 -0
  364. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/metal_helper/test_base.py +96 -0
  365. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/metal_helper/test_factory.py +38 -0
  366. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/metal_helper/test_ironic.py +135 -0
  367. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/metal_helper/test_maas.py +130 -0
  368. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_cinder_helper.py +799 -0
  369. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_clients.py +339 -0
  370. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_executor.py +77 -0
  371. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_ironic_helper.py +62 -0
  372. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_keystone_helper.py +60 -0
  373. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_nova_helper.py +2274 -0
  374. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_oslo_service_helper.py +50 -0
  375. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_placement_helper.py +319 -0
  376. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_scheduling.py +60 -0
  377. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_service.py +374 -0
  378. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/test_utils.py +52 -0
  379. python_watcher-16.0.0.0rc1/watcher/tests/unit/common/utils.py +147 -0
  380. python_watcher-16.0.0.0rc1/watcher/tests/unit/conf/test_list_opts.py +170 -0
  381. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/base.py +127 -0
  382. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_action.py +411 -0
  383. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_action_description.py +287 -0
  384. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_action_plan.py +436 -0
  385. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_audit.py +452 -0
  386. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_audit_template.py +402 -0
  387. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_deadlock_decorator_validation.py +281 -0
  388. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_efficacy_indicator.py +459 -0
  389. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_goal.py +332 -0
  390. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_migrations.py +277 -0
  391. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_purge.py +513 -0
  392. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_scoring_engine.py +338 -0
  393. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_service.py +302 -0
  394. python_watcher-16.0.0.0rc1/watcher/tests/unit/db/test_strategy.py +366 -0
  395. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/audit/test_audit_handlers.py +540 -0
  396. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/cluster/test_cinder_cdmc.py +155 -0
  397. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/cluster/test_cluster_data_model_collector.py +92 -0
  398. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/cluster/test_nova_cdmc.py +834 -0
  399. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources/grafana_translators/test_base.py +105 -0
  400. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources/grafana_translators/test_influxdb.py +175 -0
  401. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources/test_aetos_helper.py +61 -0
  402. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources/test_base.py +67 -0
  403. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources/test_gnocchi_helper.py +223 -0
  404. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources/test_grafana_helper.py +299 -0
  405. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources/test_manager.py +208 -0
  406. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources/test_prometheus_base.py +690 -0
  407. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources/test_prometheus_helper.py +115 -0
  408. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/fake_goals.py +82 -0
  409. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/fake_strategies.py +84 -0
  410. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/loading/test_collector_loader.py +81 -0
  411. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/loading/test_default_planner_loader.py +30 -0
  412. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/loading/test_default_strategy_loader.py +77 -0
  413. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/loading/test_goal_loader.py +75 -0
  414. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/messaging/test_audit_endpoint.py +67 -0
  415. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/messaging/test_data_model_endpoint.py +53 -0
  416. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/data/scenario_1.xml +47 -0
  417. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/faker_cluster_and_metrics.py +183 -0
  418. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/faker_cluster_state.py +385 -0
  419. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/gnocchi_metrics.py +318 -0
  420. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/notification/data/instance-live_migration_post_dest-end.json +97 -0
  421. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/notification/fake_managers.py +75 -0
  422. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/notification/test_cinder_notifications.py +743 -0
  423. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/notification/test_notifications.py +107 -0
  424. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/notification/test_nova_notifications.py +940 -0
  425. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/test_element.py +185 -0
  426. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/test_model.py +565 -0
  427. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/planner/test_node_resource_consolidation.py +244 -0
  428. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/planner/test_planner_manager.py +29 -0
  429. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/planner/test_weight_planner.py +943 -0
  430. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/planner/test_workload_stabilization_planner.py +382 -0
  431. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/scope/fake_scopes.py +72 -0
  432. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/scope/test_baremetal.py +61 -0
  433. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/scope/test_compute.py +325 -0
  434. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/scope/test_storage.py +214 -0
  435. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/scoring/test_dummy_scorer.py +50 -0
  436. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/scoring/test_dummy_scoring_container.py +47 -0
  437. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/scoring/test_scoring_factory.py +49 -0
  438. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/solution/test_default_solution.py +64 -0
  439. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/context/test_strategy_context.py +105 -0
  440. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/selector/test_strategy_selector.py +58 -0
  441. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_actuator.py +36 -0
  442. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_base.py +136 -0
  443. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_basic_consolidation.py +255 -0
  444. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_dummy_strategy.py +48 -0
  445. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_dummy_with_scorer.py +48 -0
  446. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_host_maintenance.py +707 -0
  447. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_node_resource_consolidation.py +344 -0
  448. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_noisy_neighbor.py +133 -0
  449. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_outlet_temp_control.py +113 -0
  450. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_saving_energy.py +156 -0
  451. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_storage_capacity_balance.py +239 -0
  452. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_strategy_endpoint.py +65 -0
  453. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_uniform_airflow.py +167 -0
  454. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_vm_workload_consolidation.py +425 -0
  455. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_workload_balance.py +177 -0
  456. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_workload_stabilization.py +346 -0
  457. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies/test_zone_migration.py +2017 -0
  458. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/test_gmr.py +35 -0
  459. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/test_rpcapi.py +65 -0
  460. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/test_scheduling.py +110 -0
  461. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/test_service.py +90 -0
  462. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/test_service_monitor.py +683 -0
  463. python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/test_sync.py +713 -0
  464. python_watcher-16.0.0.0rc1/watcher/tests/unit/notifications/test_action_notification.py +504 -0
  465. python_watcher-16.0.0.0rc1/watcher/tests/unit/notifications/test_action_plan_notification.py +616 -0
  466. python_watcher-16.0.0.0rc1/watcher/tests/unit/notifications/test_audit_notification.py +494 -0
  467. python_watcher-16.0.0.0rc1/watcher/tests/unit/notifications/test_notification.py +358 -0
  468. python_watcher-16.0.0.0rc1/watcher/tests/unit/notifications/test_service_notifications.py +76 -0
  469. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_action.py +233 -0
  470. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_action_description.py +119 -0
  471. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_action_plan.py +324 -0
  472. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_audit.py +325 -0
  473. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_audit_template.py +222 -0
  474. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_efficacy_indicator.py +148 -0
  475. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_goal.py +143 -0
  476. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_objects.py +563 -0
  477. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_scoring_engine.py +152 -0
  478. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_service.py +116 -0
  479. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/test_strategy.py +167 -0
  480. python_watcher-16.0.0.0rc1/watcher/tests/unit/objects/utils.py +256 -0
  481. python_watcher-16.0.0.0rc1/watcher/tests/unit/test_threading.py +170 -0
  482. python_watcher-16.0.0.0rc1/watcher/wsgi/__init__.py +0 -0
  483. python_watcher-15.0.0/.pre-commit-config.yaml +0 -62
  484. python_watcher-15.0.0/.zuul.yaml +0 -402
  485. python_watcher-15.0.0/AUTHORS +0 -220
  486. python_watcher-15.0.0/ChangeLog +0 -1718
  487. python_watcher-15.0.0/PKG-INFO +0 -100
  488. python_watcher-15.0.0/README.rst +0 -29
  489. python_watcher-15.0.0/api-ref/source/conf.py +0 -75
  490. python_watcher-15.0.0/devstack/lib/watcher +0 -284
  491. python_watcher-15.0.0/doc/ext/term.py +0 -170
  492. python_watcher-15.0.0/doc/ext/versioned_notifications.py +0 -133
  493. python_watcher-15.0.0/doc/source/admin/index.rst +0 -14
  494. python_watcher-15.0.0/doc/source/architecture.rst +0 -519
  495. python_watcher-15.0.0/doc/source/conf.py +0 -147
  496. python_watcher-15.0.0/doc/source/contributor/concurrency.rst +0 -273
  497. python_watcher-15.0.0/doc/source/contributor/plugin/strategy-plugin.rst +0 -305
  498. python_watcher-15.0.0/doc/source/datasources/aetos.rst +0 -157
  499. python_watcher-15.0.0/doc/source/datasources/index.rst +0 -13
  500. python_watcher-15.0.0/doc/source/datasources/prometheus.rst +0 -140
  501. python_watcher-15.0.0/doc/source/images/architecture.svg +0 -1483
  502. python_watcher-15.0.0/doc/source/integrations/index.rst +0 -126
  503. python_watcher-15.0.0/doc/source/strategies/index.rst +0 -72
  504. python_watcher-15.0.0/doc/source/strategies/strategy-template.rst +0 -120
  505. python_watcher-15.0.0/doc/source/strategies/zone_migration.rst +0 -209
  506. python_watcher-15.0.0/doc/source/user/index.rst +0 -10
  507. python_watcher-15.0.0/etc/watcher/oslo-config-generator/watcher.conf +0 -16
  508. python_watcher-15.0.0/pyproject.toml +0 -3
  509. python_watcher-15.0.0/python_watcher.egg-info/PKG-INFO +0 -100
  510. python_watcher-15.0.0/python_watcher.egg-info/SOURCES.txt +0 -960
  511. python_watcher-15.0.0/python_watcher.egg-info/entry_points.txt +0 -81
  512. python_watcher-15.0.0/python_watcher.egg-info/pbr.json +0 -1
  513. python_watcher-15.0.0/python_watcher.egg-info/requires.txt +0 -49
  514. python_watcher-15.0.0/releasenotes/notes/update-notification-topics-daf6303a63963ee9.yaml +0 -7
  515. python_watcher-15.0.0/releasenotes/source/conf.py +0 -258
  516. python_watcher-15.0.0/releasenotes/source/index.rst +0 -42
  517. python_watcher-15.0.0/requirements.txt +0 -49
  518. python_watcher-15.0.0/setup.cfg +0 -112
  519. python_watcher-15.0.0/tox.ini +0 -162
  520. python_watcher-15.0.0/watcher/_i18n.py +0 -41
  521. python_watcher-15.0.0/watcher/api/acl.py +0 -41
  522. python_watcher-15.0.0/watcher/api/app.py +0 -58
  523. python_watcher-15.0.0/watcher/api/app.wsgi +0 -24
  524. python_watcher-15.0.0/watcher/api/config.py +0 -54
  525. python_watcher-15.0.0/watcher/api/controllers/base.py +0 -135
  526. python_watcher-15.0.0/watcher/api/controllers/link.py +0 -60
  527. python_watcher-15.0.0/watcher/api/controllers/rest_api_version_history.rst +0 -50
  528. python_watcher-15.0.0/watcher/api/controllers/root.py +0 -121
  529. python_watcher-15.0.0/watcher/api/controllers/v1/__init__.py +0 -288
  530. python_watcher-15.0.0/watcher/api/controllers/v1/action.py +0 -474
  531. python_watcher-15.0.0/watcher/api/controllers/v1/action_plan.py +0 -605
  532. python_watcher-15.0.0/watcher/api/controllers/v1/audit.py +0 -744
  533. python_watcher-15.0.0/watcher/api/controllers/v1/audit_template.py +0 -698
  534. python_watcher-15.0.0/watcher/api/controllers/v1/collection.py +0 -50
  535. python_watcher-15.0.0/watcher/api/controllers/v1/data_model.py +0 -83
  536. python_watcher-15.0.0/watcher/api/controllers/v1/efficacy_indicator.py +0 -72
  537. python_watcher-15.0.0/watcher/api/controllers/v1/goal.py +0 -235
  538. python_watcher-15.0.0/watcher/api/controllers/v1/scoring_engine.py +0 -242
  539. python_watcher-15.0.0/watcher/api/controllers/v1/service.py +0 -257
  540. python_watcher-15.0.0/watcher/api/controllers/v1/strategy.py +0 -331
  541. python_watcher-15.0.0/watcher/api/controllers/v1/types.py +0 -244
  542. python_watcher-15.0.0/watcher/api/controllers/v1/utils.py +0 -215
  543. python_watcher-15.0.0/watcher/api/controllers/v1/versions.py +0 -56
  544. python_watcher-15.0.0/watcher/api/controllers/v1/webhooks.py +0 -64
  545. python_watcher-15.0.0/watcher/api/hooks.py +0 -113
  546. python_watcher-15.0.0/watcher/api/middleware/auth_token.py +0 -62
  547. python_watcher-15.0.0/watcher/api/middleware/parsable_error.py +0 -94
  548. python_watcher-15.0.0/watcher/api/scheduling.py +0 -126
  549. python_watcher-15.0.0/watcher/applier/action_plan/base.py +0 -26
  550. python_watcher-15.0.0/watcher/applier/action_plan/default.py +0 -131
  551. python_watcher-15.0.0/watcher/applier/actions/base.py +0 -148
  552. python_watcher-15.0.0/watcher/applier/actions/change_node_power_state.py +0 -139
  553. python_watcher-15.0.0/watcher/applier/actions/change_nova_service_state.py +0 -131
  554. python_watcher-15.0.0/watcher/applier/actions/factory.py +0 -40
  555. python_watcher-15.0.0/watcher/applier/actions/migration.py +0 -213
  556. python_watcher-15.0.0/watcher/applier/actions/nop.py +0 -104
  557. python_watcher-15.0.0/watcher/applier/actions/resize.py +0 -111
  558. python_watcher-15.0.0/watcher/applier/actions/sleep.py +0 -81
  559. python_watcher-15.0.0/watcher/applier/actions/stop.py +0 -169
  560. python_watcher-15.0.0/watcher/applier/actions/volume_migration.py +0 -199
  561. python_watcher-15.0.0/watcher/applier/base.py +0 -34
  562. python_watcher-15.0.0/watcher/applier/default.py +0 -63
  563. python_watcher-15.0.0/watcher/applier/loading/default.py +0 -26
  564. python_watcher-15.0.0/watcher/applier/manager.py +0 -57
  565. python_watcher-15.0.0/watcher/applier/messaging/trigger.py +0 -50
  566. python_watcher-15.0.0/watcher/applier/rpcapi.py +0 -71
  567. python_watcher-15.0.0/watcher/applier/sync.py +0 -75
  568. python_watcher-15.0.0/watcher/applier/workflow_engine/base.py +0 -354
  569. python_watcher-15.0.0/watcher/applier/workflow_engine/default.py +0 -203
  570. python_watcher-15.0.0/watcher/cmd/dbmanage.py +0 -157
  571. python_watcher-15.0.0/watcher/cmd/eventlet/api.py +0 -53
  572. python_watcher-15.0.0/watcher/cmd/eventlet/applier.py +0 -46
  573. python_watcher-15.0.0/watcher/cmd/eventlet/decisionengine.py +0 -48
  574. python_watcher-15.0.0/watcher/cmd/status.py +0 -60
  575. python_watcher-15.0.0/watcher/cmd/sync.py +0 -40
  576. python_watcher-15.0.0/watcher/common/cinder_helper.py +0 -292
  577. python_watcher-15.0.0/watcher/common/clients.py +0 -334
  578. python_watcher-15.0.0/watcher/common/config.py +0 -35
  579. python_watcher-15.0.0/watcher/common/context.py +0 -82
  580. python_watcher-15.0.0/watcher/common/exception.py +0 -523
  581. python_watcher-15.0.0/watcher/common/executor.py +0 -51
  582. python_watcher-15.0.0/watcher/common/ironic_helper.py +0 -49
  583. python_watcher-15.0.0/watcher/common/keystone_helper.py +0 -103
  584. python_watcher-15.0.0/watcher/common/loader/base.py +0 -28
  585. python_watcher-15.0.0/watcher/common/loader/default.py +0 -94
  586. python_watcher-15.0.0/watcher/common/loader/loadable.py +0 -68
  587. python_watcher-15.0.0/watcher/common/metal_helper/base.py +0 -81
  588. python_watcher-15.0.0/watcher/common/metal_helper/ironic.py +0 -94
  589. python_watcher-15.0.0/watcher/common/metal_helper/maas.py +0 -125
  590. python_watcher-15.0.0/watcher/common/nova_helper.py +0 -784
  591. python_watcher-15.0.0/watcher/common/oslo_service_helper.py +0 -33
  592. python_watcher-15.0.0/watcher/common/paths.py +0 -37
  593. python_watcher-15.0.0/watcher/common/placement_helper.py +0 -180
  594. python_watcher-15.0.0/watcher/common/scheduling.py +0 -66
  595. python_watcher-15.0.0/watcher/common/service.py +0 -290
  596. python_watcher-15.0.0/watcher/common/service_manager.py +0 -55
  597. python_watcher-15.0.0/watcher/common/utils.py +0 -196
  598. python_watcher-15.0.0/watcher/conf/__init__.py +0 -76
  599. python_watcher-15.0.0/watcher/conf/api.py +0 -73
  600. python_watcher-15.0.0/watcher/conf/applier.py +0 -62
  601. python_watcher-15.0.0/watcher/conf/cinder_client.py +0 -44
  602. python_watcher-15.0.0/watcher/conf/clients_auth.py +0 -31
  603. python_watcher-15.0.0/watcher/conf/collector.py +0 -60
  604. python_watcher-15.0.0/watcher/conf/datasources.py +0 -65
  605. python_watcher-15.0.0/watcher/conf/db.py +0 -44
  606. python_watcher-15.0.0/watcher/conf/decision_engine.py +0 -94
  607. python_watcher-15.0.0/watcher/conf/exception.py +0 -33
  608. python_watcher-15.0.0/watcher/conf/glance_client.py +0 -44
  609. python_watcher-15.0.0/watcher/conf/gnocchi_client.py +0 -45
  610. python_watcher-15.0.0/watcher/conf/grafana_client.py +0 -152
  611. python_watcher-15.0.0/watcher/conf/grafana_translators.py +0 -44
  612. python_watcher-15.0.0/watcher/conf/ironic_client.py +0 -44
  613. python_watcher-15.0.0/watcher/conf/keystone_client.py +0 -38
  614. python_watcher-15.0.0/watcher/conf/monasca_client.py +0 -44
  615. python_watcher-15.0.0/watcher/conf/neutron_client.py +0 -44
  616. python_watcher-15.0.0/watcher/conf/nova_client.py +0 -55
  617. python_watcher-15.0.0/watcher/conf/opts.py +0 -72
  618. python_watcher-15.0.0/watcher/conf/paths.py +0 -57
  619. python_watcher-15.0.0/watcher/conf/planner.py +0 -41
  620. python_watcher-15.0.0/watcher/conf/plugins.py +0 -72
  621. python_watcher-15.0.0/watcher/conf/prometheus_client.py +0 -62
  622. python_watcher-15.0.0/watcher/conf/service.py +0 -50
  623. python_watcher-15.0.0/watcher/db/api.py +0 -879
  624. python_watcher-15.0.0/watcher/db/purge.py +0 -473
  625. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/script.py.mako +0 -22
  626. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/versions/15f7375ca737_change_efficiacy_indicator_decimals.py +0 -20
  627. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/versions/3cfc94cecf4e_add_name_for_audit.py +0 -22
  628. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/versions/4b16194c56bc_add_start_end_time.py +0 -24
  629. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/versions/52804f2498c4_add_hostname.py +0 -26
  630. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/versions/609bec748f2a_add_force_field.py +0 -22
  631. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/versions/7150a7d8f228_add_status_message_to_actionplan.py +0 -20
  632. python_watcher-15.0.0/watcher/db/sqlalchemy/alembic/versions/a86240e89a29_.py +0 -45
  633. python_watcher-15.0.0/watcher/db/sqlalchemy/api.py +0 -1184
  634. python_watcher-15.0.0/watcher/db/sqlalchemy/job_store.py +0 -125
  635. python_watcher-15.0.0/watcher/db/sqlalchemy/models.py +0 -319
  636. python_watcher-15.0.0/watcher/decision_engine/audit/base.py +0 -153
  637. python_watcher-15.0.0/watcher/decision_engine/audit/continuous.py +0 -230
  638. python_watcher-15.0.0/watcher/decision_engine/audit/event.py +0 -27
  639. python_watcher-15.0.0/watcher/decision_engine/audit/oneshot.py +0 -27
  640. python_watcher-15.0.0/watcher/decision_engine/datasources/aetos.py +0 -67
  641. python_watcher-15.0.0/watcher/decision_engine/datasources/base.py +0 -265
  642. python_watcher-15.0.0/watcher/decision_engine/datasources/gnocchi.py +0 -283
  643. python_watcher-15.0.0/watcher/decision_engine/datasources/grafana.py +0 -265
  644. python_watcher-15.0.0/watcher/decision_engine/datasources/grafana_translator/base.py +0 -125
  645. python_watcher-15.0.0/watcher/decision_engine/datasources/grafana_translator/influxdb.py +0 -88
  646. python_watcher-15.0.0/watcher/decision_engine/datasources/manager.py +0 -200
  647. python_watcher-15.0.0/watcher/decision_engine/datasources/monasca.py +0 -205
  648. python_watcher-15.0.0/watcher/decision_engine/datasources/prometheus.py +0 -110
  649. python_watcher-15.0.0/watcher/decision_engine/datasources/prometheus_base.py +0 -480
  650. python_watcher-15.0.0/watcher/decision_engine/gmr.py +0 -48
  651. python_watcher-15.0.0/watcher/decision_engine/goal/__init__.py +0 -32
  652. python_watcher-15.0.0/watcher/decision_engine/goal/base.py +0 -62
  653. python_watcher-15.0.0/watcher/decision_engine/goal/efficacy/base.py +0 -87
  654. python_watcher-15.0.0/watcher/decision_engine/goal/efficacy/indicators.py +0 -307
  655. python_watcher-15.0.0/watcher/decision_engine/goal/efficacy/specs.py +0 -164
  656. python_watcher-15.0.0/watcher/decision_engine/goal/goals.py +0 -268
  657. python_watcher-15.0.0/watcher/decision_engine/loading/default.py +0 -58
  658. python_watcher-15.0.0/watcher/decision_engine/manager.py +0 -85
  659. python_watcher-15.0.0/watcher/decision_engine/messaging/audit_endpoint.py +0 -58
  660. python_watcher-15.0.0/watcher/decision_engine/messaging/data_model_endpoint.py +0 -60
  661. python_watcher-15.0.0/watcher/decision_engine/model/base.py +0 -38
  662. python_watcher-15.0.0/watcher/decision_engine/model/collector/base.py +0 -242
  663. python_watcher-15.0.0/watcher/decision_engine/model/collector/cinder.py +0 -317
  664. python_watcher-15.0.0/watcher/decision_engine/model/collector/ironic.py +0 -115
  665. python_watcher-15.0.0/watcher/decision_engine/model/collector/manager.py +0 -87
  666. python_watcher-15.0.0/watcher/decision_engine/model/collector/nova.py +0 -537
  667. python_watcher-15.0.0/watcher/decision_engine/model/element/__init__.py +0 -42
  668. python_watcher-15.0.0/watcher/decision_engine/model/element/baremetal_resource.py +0 -31
  669. python_watcher-15.0.0/watcher/decision_engine/model/element/base.py +0 -66
  670. python_watcher-15.0.0/watcher/decision_engine/model/element/compute_resource.py +0 -30
  671. python_watcher-15.0.0/watcher/decision_engine/model/element/instance.py +0 -63
  672. python_watcher-15.0.0/watcher/decision_engine/model/element/node.py +0 -111
  673. python_watcher-15.0.0/watcher/decision_engine/model/element/storage_resource.py +0 -31
  674. python_watcher-15.0.0/watcher/decision_engine/model/element/volume.py +0 -56
  675. python_watcher-15.0.0/watcher/decision_engine/model/model_root.py +0 -697
  676. python_watcher-15.0.0/watcher/decision_engine/model/notification/base.py +0 -37
  677. python_watcher-15.0.0/watcher/decision_engine/model/notification/cinder.py +0 -385
  678. python_watcher-15.0.0/watcher/decision_engine/model/notification/filtering.py +0 -87
  679. python_watcher-15.0.0/watcher/decision_engine/model/notification/nova.py +0 -373
  680. python_watcher-15.0.0/watcher/decision_engine/planner/base.py +0 -76
  681. python_watcher-15.0.0/watcher/decision_engine/planner/manager.py +0 -35
  682. python_watcher-15.0.0/watcher/decision_engine/planner/node_resource_consolidation.py +0 -163
  683. python_watcher-15.0.0/watcher/decision_engine/planner/weight.py +0 -224
  684. python_watcher-15.0.0/watcher/decision_engine/planner/workload_stabilization.py +0 -298
  685. python_watcher-15.0.0/watcher/decision_engine/rpcapi.py +0 -81
  686. python_watcher-15.0.0/watcher/decision_engine/scheduling.py +0 -129
  687. python_watcher-15.0.0/watcher/decision_engine/scope/baremetal.py +0 -66
  688. python_watcher-15.0.0/watcher/decision_engine/scope/base.py +0 -37
  689. python_watcher-15.0.0/watcher/decision_engine/scope/compute.py +0 -223
  690. python_watcher-15.0.0/watcher/decision_engine/scope/storage.py +0 -163
  691. python_watcher-15.0.0/watcher/decision_engine/scoring/base.py +0 -123
  692. python_watcher-15.0.0/watcher/decision_engine/scoring/dummy_scorer.py +0 -169
  693. python_watcher-15.0.0/watcher/decision_engine/scoring/dummy_scoring_container.py +0 -98
  694. python_watcher-15.0.0/watcher/decision_engine/scoring/scoring_factory.py +0 -106
  695. python_watcher-15.0.0/watcher/decision_engine/service.py +0 -68
  696. python_watcher-15.0.0/watcher/decision_engine/solution/base.py +0 -120
  697. python_watcher-15.0.0/watcher/decision_engine/solution/default.py +0 -69
  698. python_watcher-15.0.0/watcher/decision_engine/solution/efficacy.py +0 -105
  699. python_watcher-15.0.0/watcher/decision_engine/solution/solution_comparator.py +0 -25
  700. python_watcher-15.0.0/watcher/decision_engine/solution/solution_evaluator.py +0 -25
  701. python_watcher-15.0.0/watcher/decision_engine/strategy/common/level.py +0 -27
  702. python_watcher-15.0.0/watcher/decision_engine/strategy/context/base.py +0 -68
  703. python_watcher-15.0.0/watcher/decision_engine/strategy/context/default.py +0 -70
  704. python_watcher-15.0.0/watcher/decision_engine/strategy/selection/base.py +0 -26
  705. python_watcher-15.0.0/watcher/decision_engine/strategy/selection/default.py +0 -73
  706. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/__init__.py +0 -61
  707. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/actuation.py +0 -101
  708. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/base.py +0 -569
  709. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/basic_consolidation.py +0 -462
  710. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/dummy_strategy.py +0 -103
  711. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/dummy_with_resize.py +0 -121
  712. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/dummy_with_scorer.py +0 -166
  713. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/host_maintenance.py +0 -321
  714. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/node_resource_consolidation.py +0 -291
  715. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/noisy_neighbor.py +0 -282
  716. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/outlet_temp_control.py +0 -278
  717. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/saving_energy.py +0 -243
  718. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/storage_capacity_balance.py +0 -402
  719. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/uniform_airflow.py +0 -324
  720. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py +0 -659
  721. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/workload_balance.py +0 -367
  722. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/workload_stabilization.py +0 -590
  723. python_watcher-15.0.0/watcher/decision_engine/strategy/strategies/zone_migration.py +0 -972
  724. python_watcher-15.0.0/watcher/decision_engine/sync.py +0 -579
  725. python_watcher-15.0.0/watcher/decision_engine/threading.py +0 -97
  726. python_watcher-15.0.0/watcher/hacking/checks.py +0 -313
  727. python_watcher-15.0.0/watcher/notifications/__init__.py +0 -29
  728. python_watcher-15.0.0/watcher/notifications/action.py +0 -375
  729. python_watcher-15.0.0/watcher/notifications/action_plan.py +0 -423
  730. python_watcher-15.0.0/watcher/notifications/audit.py +0 -388
  731. python_watcher-15.0.0/watcher/notifications/base.py +0 -216
  732. python_watcher-15.0.0/watcher/notifications/goal.py +0 -53
  733. python_watcher-15.0.0/watcher/notifications/service.py +0 -113
  734. python_watcher-15.0.0/watcher/notifications/strategy.py +0 -53
  735. python_watcher-15.0.0/watcher/objects/action.py +0 -185
  736. python_watcher-15.0.0/watcher/objects/action_description.py +0 -141
  737. python_watcher-15.0.0/watcher/objects/action_plan.py +0 -349
  738. python_watcher-15.0.0/watcher/objects/audit.py +0 -365
  739. python_watcher-15.0.0/watcher/objects/audit_template.py +0 -241
  740. python_watcher-15.0.0/watcher/objects/base.py +0 -179
  741. python_watcher-15.0.0/watcher/objects/efficacy_indicator.py +0 -185
  742. python_watcher-15.0.0/watcher/objects/fields.py +0 -177
  743. python_watcher-15.0.0/watcher/objects/goal.py +0 -176
  744. python_watcher-15.0.0/watcher/objects/scoring_engine.py +0 -198
  745. python_watcher-15.0.0/watcher/objects/service.py +0 -145
  746. python_watcher-15.0.0/watcher/objects/strategy.py +0 -237
  747. python_watcher-15.0.0/watcher/tests/api/base.py +0 -291
  748. python_watcher-15.0.0/watcher/tests/api/test_base.py +0 -32
  749. python_watcher-15.0.0/watcher/tests/api/test_config.py +0 -35
  750. python_watcher-15.0.0/watcher/tests/api/test_hooks.py +0 -265
  751. python_watcher-15.0.0/watcher/tests/api/test_root.py +0 -64
  752. python_watcher-15.0.0/watcher/tests/api/test_scheduling.py +0 -115
  753. python_watcher-15.0.0/watcher/tests/api/test_utils.py +0 -57
  754. python_watcher-15.0.0/watcher/tests/api/utils.py +0 -110
  755. python_watcher-15.0.0/watcher/tests/api/v1/test_actions.py +0 -775
  756. python_watcher-15.0.0/watcher/tests/api/v1/test_actions_plans.py +0 -770
  757. python_watcher-15.0.0/watcher/tests/api/v1/test_audit_templates.py +0 -860
  758. python_watcher-15.0.0/watcher/tests/api/v1/test_audits.py +0 -1342
  759. python_watcher-15.0.0/watcher/tests/api/v1/test_data_model.py +0 -185
  760. python_watcher-15.0.0/watcher/tests/api/v1/test_goals.py +0 -189
  761. python_watcher-15.0.0/watcher/tests/api/v1/test_microversions.py +0 -110
  762. python_watcher-15.0.0/watcher/tests/api/v1/test_root.py +0 -19
  763. python_watcher-15.0.0/watcher/tests/api/v1/test_scoring_engines.py +0 -181
  764. python_watcher-15.0.0/watcher/tests/api/v1/test_services.py +0 -199
  765. python_watcher-15.0.0/watcher/tests/api/v1/test_strategies.py +0 -303
  766. python_watcher-15.0.0/watcher/tests/api/v1/test_types.py +0 -321
  767. python_watcher-15.0.0/watcher/tests/api/v1/test_utils.py +0 -70
  768. python_watcher-15.0.0/watcher/tests/api/v1/test_webhooks.py +0 -73
  769. python_watcher-15.0.0/watcher/tests/applier/action_plan/test_default_action_handler.py +0 -221
  770. python_watcher-15.0.0/watcher/tests/applier/actions/loading/test_default_actions_loader.py +0 -30
  771. python_watcher-15.0.0/watcher/tests/applier/actions/test_change_node_power_state.py +0 -169
  772. python_watcher-15.0.0/watcher/tests/applier/actions/test_change_nova_service_state.py +0 -136
  773. python_watcher-15.0.0/watcher/tests/applier/actions/test_migration.py +0 -224
  774. python_watcher-15.0.0/watcher/tests/applier/actions/test_resize.py +0 -92
  775. python_watcher-15.0.0/watcher/tests/applier/actions/test_sleep.py +0 -46
  776. python_watcher-15.0.0/watcher/tests/applier/actions/test_stop.py +0 -198
  777. python_watcher-15.0.0/watcher/tests/applier/actions/test_volume_migration.py +0 -225
  778. python_watcher-15.0.0/watcher/tests/applier/messaging/test_trigger_action_plan_endpoint.py +0 -38
  779. python_watcher-15.0.0/watcher/tests/applier/test_applier_manager.py +0 -42
  780. python_watcher-15.0.0/watcher/tests/applier/test_rpcapi.py +0 -56
  781. python_watcher-15.0.0/watcher/tests/applier/test_sync.py +0 -86
  782. python_watcher-15.0.0/watcher/tests/applier/workflow_engine/loading/test_default_engine_loader.py +0 -31
  783. python_watcher-15.0.0/watcher/tests/applier/workflow_engine/test_default_workflow_engine.py +0 -670
  784. python_watcher-15.0.0/watcher/tests/applier/workflow_engine/test_taskflow_action_container.py +0 -280
  785. python_watcher-15.0.0/watcher/tests/base.py +0 -146
  786. python_watcher-15.0.0/watcher/tests/cmd/test_api.py +0 -63
  787. python_watcher-15.0.0/watcher/tests/cmd/test_applier.py +0 -54
  788. python_watcher-15.0.0/watcher/tests/cmd/test_db_manage.py +0 -175
  789. python_watcher-15.0.0/watcher/tests/cmd/test_decision_engine.py +0 -64
  790. python_watcher-15.0.0/watcher/tests/cmd/test_status.py +0 -42
  791. python_watcher-15.0.0/watcher/tests/common/loader/test_loader.py +0 -103
  792. python_watcher-15.0.0/watcher/tests/common/metal_helper/test_base.py +0 -96
  793. python_watcher-15.0.0/watcher/tests/common/metal_helper/test_factory.py +0 -38
  794. python_watcher-15.0.0/watcher/tests/common/metal_helper/test_ironic.py +0 -128
  795. python_watcher-15.0.0/watcher/tests/common/metal_helper/test_maas.py +0 -126
  796. python_watcher-15.0.0/watcher/tests/common/test_cinder_helper.py +0 -609
  797. python_watcher-15.0.0/watcher/tests/common/test_clients.py +0 -427
  798. python_watcher-15.0.0/watcher/tests/common/test_executor.py +0 -38
  799. python_watcher-15.0.0/watcher/tests/common/test_ironic_helper.py +0 -63
  800. python_watcher-15.0.0/watcher/tests/common/test_keystone_helper.py +0 -60
  801. python_watcher-15.0.0/watcher/tests/common/test_nova_helper.py +0 -775
  802. python_watcher-15.0.0/watcher/tests/common/test_oslo_service_helper.py +0 -50
  803. python_watcher-15.0.0/watcher/tests/common/test_placement_helper.py +0 -319
  804. python_watcher-15.0.0/watcher/tests/common/test_scheduling.py +0 -60
  805. python_watcher-15.0.0/watcher/tests/common/test_service.py +0 -106
  806. python_watcher-15.0.0/watcher/tests/common/test_utils.py +0 -52
  807. python_watcher-15.0.0/watcher/tests/conf/test_list_opts.py +0 -171
  808. python_watcher-15.0.0/watcher/tests/conf_fixture.py +0 -50
  809. python_watcher-15.0.0/watcher/tests/db/base.py +0 -104
  810. python_watcher-15.0.0/watcher/tests/db/test_action.py +0 -411
  811. python_watcher-15.0.0/watcher/tests/db/test_action_description.py +0 -288
  812. python_watcher-15.0.0/watcher/tests/db/test_action_plan.py +0 -400
  813. python_watcher-15.0.0/watcher/tests/db/test_audit.py +0 -452
  814. python_watcher-15.0.0/watcher/tests/db/test_audit_template.py +0 -402
  815. python_watcher-15.0.0/watcher/tests/db/test_efficacy_indicator.py +0 -459
  816. python_watcher-15.0.0/watcher/tests/db/test_goal.py +0 -332
  817. python_watcher-15.0.0/watcher/tests/db/test_migrations.py +0 -277
  818. python_watcher-15.0.0/watcher/tests/db/test_purge.py +0 -514
  819. python_watcher-15.0.0/watcher/tests/db/test_scoring_engine.py +0 -339
  820. python_watcher-15.0.0/watcher/tests/db/test_service.py +0 -303
  821. python_watcher-15.0.0/watcher/tests/db/test_strategy.py +0 -367
  822. python_watcher-15.0.0/watcher/tests/decision_engine/audit/test_audit_handlers.py +0 -515
  823. python_watcher-15.0.0/watcher/tests/decision_engine/cluster/test_cinder_cdmc.py +0 -155
  824. python_watcher-15.0.0/watcher/tests/decision_engine/cluster/test_cluster_data_model_collector.py +0 -93
  825. python_watcher-15.0.0/watcher/tests/decision_engine/cluster/test_nova_cdmc.py +0 -580
  826. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/grafana_translators/test_base.py +0 -106
  827. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/grafana_translators/test_influxdb.py +0 -176
  828. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_aetos_helper.py +0 -61
  829. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_base.py +0 -68
  830. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_gnocchi_helper.py +0 -224
  831. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_grafana_helper.py +0 -302
  832. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_manager.py +0 -240
  833. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_monasca_helper.py +0 -163
  834. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_prometheus_base.py +0 -690
  835. python_watcher-15.0.0/watcher/tests/decision_engine/datasources/test_prometheus_helper.py +0 -168
  836. python_watcher-15.0.0/watcher/tests/decision_engine/fake_goals.py +0 -83
  837. python_watcher-15.0.0/watcher/tests/decision_engine/fake_strategies.py +0 -85
  838. python_watcher-15.0.0/watcher/tests/decision_engine/loading/test_collector_loader.py +0 -82
  839. python_watcher-15.0.0/watcher/tests/decision_engine/loading/test_default_planner_loader.py +0 -31
  840. python_watcher-15.0.0/watcher/tests/decision_engine/loading/test_default_strategy_loader.py +0 -78
  841. python_watcher-15.0.0/watcher/tests/decision_engine/loading/test_goal_loader.py +0 -78
  842. python_watcher-15.0.0/watcher/tests/decision_engine/messaging/test_audit_endpoint.py +0 -68
  843. python_watcher-15.0.0/watcher/tests/decision_engine/messaging/test_data_model_endpoint.py +0 -54
  844. python_watcher-15.0.0/watcher/tests/decision_engine/model/data/scenario_1.xml +0 -47
  845. python_watcher-15.0.0/watcher/tests/decision_engine/model/faker_cluster_and_metrics.py +0 -184
  846. python_watcher-15.0.0/watcher/tests/decision_engine/model/faker_cluster_state.py +0 -367
  847. python_watcher-15.0.0/watcher/tests/decision_engine/model/gnocchi_metrics.py +0 -313
  848. python_watcher-15.0.0/watcher/tests/decision_engine/model/monasca_metrics.py +0 -128
  849. python_watcher-15.0.0/watcher/tests/decision_engine/model/notification/data/instance-live_migration_post-end.json +0 -97
  850. python_watcher-15.0.0/watcher/tests/decision_engine/model/notification/fake_managers.py +0 -76
  851. python_watcher-15.0.0/watcher/tests/decision_engine/model/notification/test_cinder_notifications.py +0 -607
  852. python_watcher-15.0.0/watcher/tests/decision_engine/model/notification/test_notifications.py +0 -108
  853. python_watcher-15.0.0/watcher/tests/decision_engine/model/notification/test_nova_notifications.py +0 -931
  854. python_watcher-15.0.0/watcher/tests/decision_engine/model/test_element.py +0 -186
  855. python_watcher-15.0.0/watcher/tests/decision_engine/model/test_model.py +0 -530
  856. python_watcher-15.0.0/watcher/tests/decision_engine/planner/test_node_resource_consolidation.py +0 -245
  857. python_watcher-15.0.0/watcher/tests/decision_engine/planner/test_planner_manager.py +0 -30
  858. python_watcher-15.0.0/watcher/tests/decision_engine/planner/test_weight_planner.py +0 -944
  859. python_watcher-15.0.0/watcher/tests/decision_engine/planner/test_workload_stabilization_planner.py +0 -379
  860. python_watcher-15.0.0/watcher/tests/decision_engine/scope/fake_scopes.py +0 -73
  861. python_watcher-15.0.0/watcher/tests/decision_engine/scope/test_baremetal.py +0 -62
  862. python_watcher-15.0.0/watcher/tests/decision_engine/scope/test_compute.py +0 -301
  863. python_watcher-15.0.0/watcher/tests/decision_engine/scope/test_storage.py +0 -215
  864. python_watcher-15.0.0/watcher/tests/decision_engine/scoring/test_dummy_scorer.py +0 -51
  865. python_watcher-15.0.0/watcher/tests/decision_engine/scoring/test_dummy_scoring_container.py +0 -48
  866. python_watcher-15.0.0/watcher/tests/decision_engine/scoring/test_scoring_factory.py +0 -50
  867. python_watcher-15.0.0/watcher/tests/decision_engine/solution/test_default_solution.py +0 -65
  868. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/context/test_strategy_context.py +0 -106
  869. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/selector/test_strategy_selector.py +0 -59
  870. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_actuator.py +0 -37
  871. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_base.py +0 -153
  872. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_basic_consolidation.py +0 -248
  873. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_dummy_strategy.py +0 -49
  874. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_dummy_with_scorer.py +0 -49
  875. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_host_maintenance.py +0 -661
  876. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_node_resource_consolidation.py +0 -345
  877. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_noisy_neighbor.py +0 -134
  878. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_outlet_temp_control.py +0 -114
  879. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_saving_energy.py +0 -163
  880. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_storage_capacity_balance.py +0 -240
  881. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_strategy_endpoint.py +0 -66
  882. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_uniform_airflow.py +0 -168
  883. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_vm_workload_consolidation.py +0 -426
  884. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_workload_balance.py +0 -178
  885. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_workload_stabilization.py +0 -339
  886. python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py +0 -872
  887. python_watcher-15.0.0/watcher/tests/decision_engine/test_gmr.py +0 -36
  888. python_watcher-15.0.0/watcher/tests/decision_engine/test_rpcapi.py +0 -66
  889. python_watcher-15.0.0/watcher/tests/decision_engine/test_scheduling.py +0 -142
  890. python_watcher-15.0.0/watcher/tests/decision_engine/test_service.py +0 -73
  891. python_watcher-15.0.0/watcher/tests/decision_engine/test_sync.py +0 -714
  892. python_watcher-15.0.0/watcher/tests/fake_policy.py +0 -84
  893. python_watcher-15.0.0/watcher/tests/fakes.py +0 -113
  894. python_watcher-15.0.0/watcher/tests/fixtures/watcher.py +0 -139
  895. python_watcher-15.0.0/watcher/tests/notifications/test_action_notification.py +0 -504
  896. python_watcher-15.0.0/watcher/tests/notifications/test_action_plan_notification.py +0 -614
  897. python_watcher-15.0.0/watcher/tests/notifications/test_audit_notification.py +0 -493
  898. python_watcher-15.0.0/watcher/tests/notifications/test_notification.py +0 -359
  899. python_watcher-15.0.0/watcher/tests/notifications/test_service_notifications.py +0 -77
  900. python_watcher-15.0.0/watcher/tests/objects/test_action.py +0 -233
  901. python_watcher-15.0.0/watcher/tests/objects/test_action_description.py +0 -120
  902. python_watcher-15.0.0/watcher/tests/objects/test_action_plan.py +0 -324
  903. python_watcher-15.0.0/watcher/tests/objects/test_audit.py +0 -325
  904. python_watcher-15.0.0/watcher/tests/objects/test_audit_template.py +0 -222
  905. python_watcher-15.0.0/watcher/tests/objects/test_efficacy_indicator.py +0 -148
  906. python_watcher-15.0.0/watcher/tests/objects/test_goal.py +0 -143
  907. python_watcher-15.0.0/watcher/tests/objects/test_objects.py +0 -563
  908. python_watcher-15.0.0/watcher/tests/objects/test_scoring_engine.py +0 -152
  909. python_watcher-15.0.0/watcher/tests/objects/test_service.py +0 -116
  910. python_watcher-15.0.0/watcher/tests/objects/test_strategy.py +0 -167
  911. python_watcher-15.0.0/watcher/tests/objects/utils.py +0 -256
  912. python_watcher-15.0.0/watcher/tests/policy_fixture.py +0 -44
  913. python_watcher-15.0.0/watcher/tests/test_threading.py +0 -149
  914. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/.coveragerc +0 -0
  915. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/.mailmap +0 -0
  916. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/.stestr.conf +0 -0
  917. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/CONTRIBUTING.rst +0 -0
  918. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/HACKING.rst +0 -0
  919. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/LICENSE +0 -0
  920. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/index.rst +0 -0
  921. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/parameters.yaml +0 -0
  922. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/action-skip-request-with-message.json +0 -0
  923. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/action-skip-request.json +0 -0
  924. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/action-skip-response.json +0 -0
  925. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/action-update-status-message-request.json +0 -0
  926. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/action-update-status-message-response.json +0 -0
  927. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/actionplan-cancel-request-cancelling.json +0 -0
  928. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/actionplan-cancel-request-pending.json +0 -0
  929. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/actionplan-list-detailed-response.json +0 -0
  930. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/actionplan-list-response.json +0 -0
  931. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/actionplan-show-response.json +0 -0
  932. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/actionplan-start-response.json +0 -0
  933. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/actions-list-detailed-response.json +0 -0
  934. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/actions-list-response.json +0 -0
  935. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/actions-show-response.json +0 -0
  936. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/api-root-response.json +0 -0
  937. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/api-v1-root-response.json +0 -0
  938. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audit-cancel-request.json +0 -0
  939. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audit-cancel-response.json +0 -0
  940. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audit-create-request-continuous.json +0 -0
  941. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audit-create-request-oneshot.json +0 -0
  942. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audit-create-response.json +0 -0
  943. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audit-list-detailed-response.json +0 -0
  944. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audit-list-response.json +0 -0
  945. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audit-show-response.json +0 -0
  946. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audit-update-request.json +0 -0
  947. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audit-update-response.json +0 -0
  948. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audittemplate-create-request-full.json +0 -0
  949. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audittemplate-create-request-minimal.json +0 -0
  950. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audittemplate-create-response.json +0 -0
  951. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audittemplate-list-detailed-response.json +0 -0
  952. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audittemplate-list-response.json +0 -0
  953. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audittemplate-show-response.json +0 -0
  954. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audittemplate-update-request.json +0 -0
  955. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/audittemplate-update-response.json +0 -0
  956. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/datamodel-list-response.json +0 -0
  957. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/goal-list-response.json +0 -0
  958. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/goal-show-response.json +0 -0
  959. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/scoring_engine-list-detailed-response.json +0 -0
  960. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/scoring_engine-list-response.json +0 -0
  961. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/scoring_engine-show-response.json +0 -0
  962. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/service-list-detailed-response.json +0 -0
  963. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/service-list-response.json +0 -0
  964. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/service-show-response.json +0 -0
  965. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/strategy-list-detailed-response.json +0 -0
  966. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/strategy-list-response.json +0 -0
  967. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/strategy-show-response.json +0 -0
  968. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/samples/strategy-state-response.json +0 -0
  969. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-v1-actionplans.inc +0 -0
  970. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-v1-actions.inc +0 -0
  971. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-v1-audits.inc +0 -0
  972. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-v1-audittemplates.inc +0 -0
  973. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-v1-datamodel.inc +0 -0
  974. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-v1-goals.inc +0 -0
  975. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-v1-scoring_engines.inc +0 -0
  976. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-v1-services.inc +0 -0
  977. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-v1-strategies.inc +0 -0
  978. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-v1-webhooks.inc +0 -0
  979. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/api-ref/source/watcher-api-versions.inc +0 -0
  980. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/bindep.txt +0 -0
  981. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/local.conf.compute +0 -0
  982. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/local.conf.controller +0 -0
  983. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/local_gnocchi.conf.compute +0 -0
  984. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/local_gnocchi.conf.controller +0 -0
  985. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/override-defaults +0 -0
  986. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/plugin.sh +0 -0
  987. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/prometheus.yml +0 -0
  988. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/settings +0 -0
  989. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/upgrade/from_rocky/upgrade-watcher +0 -0
  990. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/upgrade/resources.sh +0 -0
  991. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/upgrade/settings +0 -0
  992. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/upgrade/shutdown.sh +0 -0
  993. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/devstack/upgrade/upgrade.sh +0 -0
  994. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/dictionary.txt +0 -0
  995. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/ext/__init__.py +0 -0
  996. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action-cancel-end.json +0 -0
  997. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action-cancel-error.json +0 -0
  998. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action-cancel-start.json +0 -0
  999. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action-create.json +0 -0
  1000. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action-delete.json +0 -0
  1001. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action-execution-end.json +0 -0
  1002. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action-execution-error.json +0 -0
  1003. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action-execution-start.json +0 -0
  1004. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action-update.json +0 -0
  1005. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action_plan-cancel-end.json +0 -0
  1006. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action_plan-cancel-error.json +0 -0
  1007. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action_plan-cancel-start.json +0 -0
  1008. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action_plan-create.json +0 -0
  1009. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action_plan-delete.json +0 -0
  1010. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action_plan-execution-end.json +0 -0
  1011. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action_plan-execution-error.json +0 -0
  1012. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action_plan-execution-start.json +0 -0
  1013. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/action_plan-update.json +0 -0
  1014. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/audit-create.json +0 -0
  1015. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/audit-delete.json +0 -0
  1016. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/audit-planner-end.json +0 -0
  1017. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/audit-planner-error.json +0 -0
  1018. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/audit-planner-start.json +0 -0
  1019. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/audit-strategy-end.json +0 -0
  1020. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/audit-strategy-error.json +0 -0
  1021. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/audit-strategy-start.json +0 -0
  1022. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/audit-update.json +0 -0
  1023. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/infra-optim-exception.json +0 -0
  1024. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/notification_samples/service-update.json +0 -0
  1025. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/requirements.txt +0 -0
  1026. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/_static/.placeholder +0 -0
  1027. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/admin/apache-mod-wsgi.rst +0 -0
  1028. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/admin/gmr.rst +0 -0
  1029. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/admin/policy.rst +0 -0
  1030. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/configuration/configuring.rst +0 -0
  1031. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/configuration/index.rst +0 -0
  1032. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/configuration/watcher.rst +0 -0
  1033. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/api_microversion_history.rst +0 -0
  1034. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/contributing.rst +0 -0
  1035. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/devstack.rst +0 -0
  1036. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/environment.rst +0 -0
  1037. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/index.rst +0 -0
  1038. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/notifications.rst +0 -0
  1039. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/plugin/action-plugin.rst +0 -0
  1040. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/plugin/base-setup.rst +0 -0
  1041. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/plugin/cdmc-plugin.rst +0 -0
  1042. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/plugin/goal-plugin.rst +0 -0
  1043. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/plugin/index.rst +0 -0
  1044. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/plugin/planner-plugin.rst +0 -0
  1045. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/plugin/plugins.rst +0 -0
  1046. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/plugin/scoring-engine-plugin.rst +0 -0
  1047. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/rally_link.rst +0 -0
  1048. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/release-guide.rst +0 -0
  1049. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/contributor/testing.rst +0 -0
  1050. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/datasources/grafana.rst +0 -0
  1051. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/glossary.rst +0 -0
  1052. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/dia/architecture.dia +0 -0
  1053. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/dia/functional_data_model.dia +0 -0
  1054. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/README.rst +0 -0
  1055. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/action_plan_state_machine.txt +0 -0
  1056. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/action_state_machine.txt +0 -0
  1057. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/audit_state_machine.txt +0 -0
  1058. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/sequence_architecture_cdmc_sync.txt +0 -0
  1059. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/sequence_create_and_launch_audit.txt +0 -0
  1060. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/sequence_create_audit_template.txt +0 -0
  1061. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/sequence_from_audit_execution_to_actionplan_creation.txt +0 -0
  1062. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/sequence_launch_action_plan.txt +0 -0
  1063. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/sequence_launch_action_plan_in_applier.txt +0 -0
  1064. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/sequence_overview_watcher_usage.txt +0 -0
  1065. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/sequence_trigger_audit_in_decision_engine.txt +0 -0
  1066. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/image_src/plantuml/watcher_db_schema_diagram.txt +0 -0
  1067. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/action_plan_state_machine.png +0 -0
  1068. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/action_state_machine.png +0 -0
  1069. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/audit_state_machine.png +0 -0
  1070. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/functional_data_model.svg +0 -0
  1071. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/sequence_architecture_cdmc_sync.png +0 -0
  1072. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/sequence_create_and_launch_audit.png +0 -0
  1073. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/sequence_create_audit_template.png +0 -0
  1074. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/sequence_from_audit_execution_to_actionplan_creation.png +0 -0
  1075. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/sequence_launch_action_plan.png +0 -0
  1076. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/sequence_launch_action_plan_in_applier.png +0 -0
  1077. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/sequence_overview_watcher_usage.png +0 -0
  1078. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/sequence_trigger_audit_in_decision_engine.png +0 -0
  1079. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/images/watcher_db_schema_diagram.png +0 -0
  1080. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/index.rst +0 -0
  1081. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/install/common_configure.rst +0 -0
  1082. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/install/common_prerequisites.rst +0 -0
  1083. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/install/get_started.rst +0 -0
  1084. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/install/index.rst +0 -0
  1085. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/install/install-rdo.rst +0 -0
  1086. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/install/install-ubuntu.rst +0 -0
  1087. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/install/install.rst +0 -0
  1088. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/install/next-steps.rst +0 -0
  1089. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/install/verify.rst +0 -0
  1090. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/man/footer.rst +0 -0
  1091. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/man/general-options.rst +0 -0
  1092. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/man/index.rst +0 -0
  1093. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/man/watcher-api.rst +0 -0
  1094. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/man/watcher-applier.rst +0 -0
  1095. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/man/watcher-db-manage.rst +0 -0
  1096. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/man/watcher-decision-engine.rst +0 -0
  1097. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/man/watcher-status.rst +0 -0
  1098. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/actuation.rst +0 -0
  1099. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/basic-server-consolidation.rst +0 -0
  1100. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/host_maintenance.rst +0 -0
  1101. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/node_resource_consolidation.rst +0 -0
  1102. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/noisy_neighbor.rst +0 -0
  1103. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/outlet_temp_control.rst +0 -0
  1104. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/saving_energy.rst +0 -0
  1105. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/storage_capacity_balance.rst +0 -0
  1106. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/uniform_airflow.rst +0 -0
  1107. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/vm_workload_consolidation.rst +0 -0
  1108. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/workload-stabilization.rst +0 -0
  1109. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/strategies/workload_balance.rst +0 -0
  1110. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/user/event_type_audit.rst +0 -0
  1111. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/user/user-guide.rst +0 -0
  1112. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/doc/source/user/ways-to-install.rst +0 -0
  1113. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/etc/apache2/watcher +0 -0
  1114. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/etc/watcher/README-watcher.conf.txt +0 -0
  1115. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/etc/watcher/oslo-policy-generator/watcher-policy-generator.conf +0 -0
  1116. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/playbooks/generate_prometheus_config.yml +0 -0
  1117. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/playbooks/templates/prometheus.yml.j2 +0 -0
  1118. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/python_watcher.egg-info/dependency_links.txt +0 -0
  1119. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/python_watcher.egg-info/not-zip-safe +0 -0
  1120. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/python_watcher.egg-info/top_level.txt +0 -0
  1121. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/rally-jobs/README.rst +0 -0
  1122. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/rally-jobs/watcher-watcher.yaml +0 -0
  1123. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/.placeholder +0 -0
  1124. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/2025.1-prelude-8be97eece4e1d1ff.yaml +0 -0
  1125. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/2025.2-prelude-a9f4c7b2e8d15692.yaml +0 -0
  1126. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/action-plan-cancel-c54726378019e096.yaml +0 -0
  1127. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/action-plan-versioned-notifications-api-e8ca4f5d37aa5b4b.yaml +0 -0
  1128. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/action-versioned-notifications-api-ff94fc0f401292d0.yaml +0 -0
  1129. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-baremetal-scoper-9ef23f5fb8f0be6a.yaml +0 -0
  1130. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-fail-options-to-nop-f44f506dc732f2a1.yaml +0 -0
  1131. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-force-field-to-audit-4bcaeedfe27233ad.yaml +0 -0
  1132. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-ha-support-b9042255e5b76e42.yaml +0 -0
  1133. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-instance-metrics-to-prometheus-datasource-9fba8c174ff845e1.yaml +0 -0
  1134. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-name-for-audit-0df1f39f00736f06.yaml +0 -0
  1135. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-plugins-parameters-376eb6b0b8978b44.yaml +0 -0
  1136. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-power-on-off-a77673d482568a8b.yaml +0 -0
  1137. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-scoring-module-fa00d013ed2d614e.yaml +0 -0
  1138. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-start-end-time-for-continuous-audit-52c45052cb06d153.yaml +0 -0
  1139. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-upgrade-check-framework-5bb9693c8a78931c.yaml +0 -0
  1140. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/add-wsgi-module-support-597f479e31979270.yaml +0 -0
  1141. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/aetos-datasource-60e50a2338c64c08.yaml +0 -0
  1142. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/api-call-retry-fef741ac684c58dd.yaml +0 -0
  1143. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/api-microversioning-7999a3ee8073bf32.yaml +0 -0
  1144. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/audit-scoper-for-storage-data-model-cdccc803542d22db.yaml +0 -0
  1145. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/audit-tag-vm-metadata-47a3e4468748853c.yaml +0 -0
  1146. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/audit-versioned-notifications-api-bca7738e16954bad.yaml +0 -0
  1147. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/automatic-triggering-audit-8a9b0540d547db60.yaml +0 -0
  1148. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/background-jobs-ha-9d3cf3fe356f4705.yaml +0 -0
  1149. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/blueprint-add-skip-actions-4a5a997dc1133f13.yaml +0 -0
  1150. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bp-audit-scope-exclude-project-511a7720aac00dff.yaml +0 -0
  1151. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bp-extend-compute-model-attributes-b56bc093e8637bb4.yaml +0 -0
  1152. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bug-2103451-fixes-prometheus-queries-with-multiple-target-0e65d20711d1abe2.yaml +0 -0
  1153. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bug-2109494-e5bf401767fa6cd6.yaml +0 -0
  1154. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bug-2110947.yaml +0 -0
  1155. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bug-2112100-c1e56173cd29a35e.yaml +0 -0
  1156. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bug-2112187-763bae283e0b736d.yaml +0 -0
  1157. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bug-2113776-4bd314fb46623fbc.yaml +0 -0
  1158. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bug-2117726-fix-model-list-api-ref-30cc7ed1c85c0d0e.yaml +0 -0
  1159. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bug-2120586-fix-nova-microversion-check-9022a378b75d046f.yaml +0 -0
  1160. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/bug-2121601-allow-status-message-updates-in-skipped-state-a8b4c5d7e9f2g3h1.yaml +0 -0
  1161. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/build-baremetal-data-model-in-watcher-3023453a47b61dab.yaml +0 -0
  1162. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/cdm-scoping-8d9c307bad46bfa1.yaml +0 -0
  1163. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/centralise-config-opts-95670987dfbdb0e7.yaml +0 -0
  1164. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/change-ram-util-metric-4a3e6984b9dd968d.yaml +0 -0
  1165. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/check-strategy-requirements-66f9e9262412f8ec.yaml +0 -0
  1166. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/cinder-model-integration-baa394a72a0a33bf.yaml +0 -0
  1167. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/cluster-model-objects-wrapper-9c799ea262c56a5b.yaml +0 -0
  1168. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/compute-cdm-include-all-instances-f7506ded2d57732f.yaml +0 -0
  1169. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/configurable-weights-default-planner-3746b33160bc7347.yaml +0 -0
  1170. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/consume-nova-versioned-notifications-f98361b37e546b4d.yaml +0 -0
  1171. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/continuously-optimization-35364f4d2c0b81fc.yaml +0 -0
  1172. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/cron-based-continuous-audits-c3eedf28d9752b37.yaml +0 -0
  1173. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/datasource-query-retry-00cba5f7e68aec39.yaml +0 -0
  1174. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/db-migration-e1a705a8b54ccdd2.yaml +0 -0
  1175. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/decision-engine-threading-mode-26fc8066dcd499a2.yaml +0 -0
  1176. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/define-the-audit-scope-e89edc5051dcf3f2.yaml +0 -0
  1177. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/deprecate-ceilometer-datasource-446b0be70fbce28b.yaml +0 -0
  1178. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/deprecate-json-formatted-policy-file-3a92379e9f5dd203.yaml +0 -0
  1179. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/deprecate-monasca-ds-9065f4d4bee09ab2.yaml +0 -0
  1180. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/deprecate-noisy-neighbor-strat-7da910837ae8fa80.yaml +0 -0
  1181. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/donot-run-host-migration-strategy-on-disabled-hosts-24084a22d4c8f914.yaml +0 -0
  1182. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/drop-operation-not-permitted-exception-14e49b35a3ca00d1.yaml +0 -0
  1183. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/drop-patch-delete-post-action-api-37fe4ce5be6500db.yaml +0 -0
  1184. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/drop-py-2-7-54f8e806d71f19a7.yaml +0 -0
  1185. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/drop-py39-8a9c99678b3e8eeb.yaml +0 -0
  1186. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/drop-python-dateutil-dependency-2118404-f5a8b2c1e9d4a6b3.yaml +0 -0
  1187. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/drop-python38-support-eeb19a0bc0160sw1.yaml +0 -0
  1188. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/dynamic-action-description-0e947b9e7ef2a134.yaml +0 -0
  1189. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/efficacy-indicator-95380ad7b84e3be2.yaml +0 -0
  1190. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/enhance-watcher-applier-engine-86c676ce8f179e68.yaml +0 -0
  1191. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/event-driven-optimization-based-4870f112bef8a560.yaml +0 -0
  1192. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/experimental-integrations-490d4cc32444288d.yaml +0 -0
  1193. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/file-based-metric-map-c2af62b5067895df.yaml +0 -0
  1194. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/fix-action-plan-state-on-failure-69e498d902ada5c5.yaml +0 -0
  1195. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/formal-datasource-interface-implementation-222769d55a127d33.yaml +0 -0
  1196. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/general-purpose-decision-engine-threadpool-0711b23abfc9d409.yaml +0 -0
  1197. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/get-goal-from-strategy-396c9b13a38bb650.yaml +0 -0
  1198. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/global-datasource-preference-3ab47b4be09ff3a5.yaml +0 -0
  1199. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/gnocchi-watcher-43c25d391fbd3e9c.yaml +0 -0
  1200. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/grafana-datasource-b672367c23ffa0c6.yaml +0 -0
  1201. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/graph-based-cluster-model-523937a6f5e66537.yaml +0 -0
  1202. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/host-maintenance-strategy-41f640927948fb56.yaml +0 -0
  1203. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/host-maintenance-strategy-disable-migration-options-a2b72e32736e5446.yaml +0 -0
  1204. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/improve-compute-data-model-b427c85e4ed2b6fb.yaml +0 -0
  1205. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/jsonschema-validation-79cab05d5295da00.yaml +0 -0
  1206. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/make-monasca-client-optional-7e1a96b2ac902867.yaml +0 -0
  1207. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/min-required-nova-train-71f124192d88ae52.yaml +0 -0
  1208. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/monasca-support-0b0486b8572ac38b.yaml +0 -0
  1209. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/multiple-global-efficacy-indicator-fc11c4844a12a7d5.yaml +0 -0
  1210. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/node-resource-consolidation-73bc0c0abfeb0b03.yaml +0 -0
  1211. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/noisy-neighbor-strategy-a71342740b59dddc.yaml +0 -0
  1212. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/notifications-actionplan-cancel-edb2a4a12543e2d0.yaml +0 -0
  1213. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/optimization-threshold-21ad38f0470d0e1a.yaml +0 -0
  1214. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/persistent-audit-parameters-ae41dd7252ba9672.yaml +0 -0
  1215. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/planner-storage-action-plan-26ef37893c5e8648.yaml +0 -0
  1216. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/prometheus-datasource-e56f2f7b8f3427c2.yaml +0 -0
  1217. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/query-interval-not-query-timeout-ecb6f2c6b1a647e9.yaml +0 -0
  1218. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/remove-ceilometer-datasource-8d9ab7d64d61e405.yaml +0 -0
  1219. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/remove-nova-legacy-notifications-e1b6d10eff58f30a.yaml +0 -0
  1220. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/replace-cold-migrate-to-use-nova-migration-api-cecd9a39ddd3bc58.yaml +0 -0
  1221. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/return-error-400-on-bad-parameters-bb964e4f5cadc15c.yaml +0 -0
  1222. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/scope-for-data-model-ea9792f90db14343.yaml +0 -0
  1223. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/service-versioned-notifications-api-70367b79a565d900.yaml +0 -0
  1224. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/show-datamodel-api-6945b744fd5d25d5.yaml +0 -0
  1225. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/stale-action-plan-b6a6b08df873c128.yaml +0 -0
  1226. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/standard-deviation-strategy-cd1d0c443fdfde9c.yaml +0 -0
  1227. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/storage-workload-balance-0ecabbc1791e6894.yaml +0 -0
  1228. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/storage_model_enabled_default-48c197f5a540956c.yaml +0 -0
  1229. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/support-keystoneclient-option-b30d1ff45f86a2e7.yaml +0 -0
  1230. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/support-placement-api-58ce6bef1bbbe98a.yaml +0 -0
  1231. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/suspended-audit-state-07f998c94e9d9a47.yaml +0 -0
  1232. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/uniform-airflow-strategy-68cdba1419c3f770.yaml +0 -0
  1233. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/uwsgi-support-8dcea6961e56dad0.yaml +0 -0
  1234. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/volume-migrate-action-fc57b0ce0e4c39ae.yaml +0 -0
  1235. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/watcher-notifications-ovo-7b44d52ef6400dd0.yaml +0 -0
  1236. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/watcher-planner-selector-84d77549d46f362a.yaml +0 -0
  1237. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/watcher-policies-1e86a30f0f11c6fa.yaml +0 -0
  1238. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/watcher-service-list-7b2f4b64f71e9b89.yaml +0 -0
  1239. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/watcher-versioned-objects-fc5abf5c81c4590c.yaml +0 -0
  1240. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/wokload-stablization-strategy-name-9988e554ac2655a2.yaml +0 -0
  1241. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/workload-balance-base-on-cpu-or-ram-util-3ff4ee968c32b2ed.yaml +0 -0
  1242. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/workload-balance-migration-strategy-a0b05148a57815c0.yaml +0 -0
  1243. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/zone-migration-missing-dst-node-bd0377af1f1ed245.yaml +0 -0
  1244. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/notes/zone-migration-strategy-10f7656a2a01e607.yaml +0 -0
  1245. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/2023.1.rst +0 -0
  1246. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/2023.2.rst +0 -0
  1247. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/2024.1.rst +0 -0
  1248. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/2024.2.rst +0 -0
  1249. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/2025.1.rst +0 -0
  1250. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/_static/.placeholder +0 -0
  1251. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po +0 -0
  1252. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/locale/fr/LC_MESSAGES/releasenotes.po +0 -0
  1253. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/newton.rst +0 -0
  1254. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/ocata.rst +0 -0
  1255. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/pike.rst +0 -0
  1256. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/queens.rst +0 -0
  1257. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/rocky.rst +0 -0
  1258. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/stein.rst +0 -0
  1259. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/train.rst +0 -0
  1260. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/unreleased.rst +0 -0
  1261. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/ussuri.rst +0 -0
  1262. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/victoria.rst +0 -0
  1263. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/wallaby.rst +0 -0
  1264. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/xena.rst +0 -0
  1265. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/yoga.rst +0 -0
  1266. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/releasenotes/source/zed.rst +0 -0
  1267. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/setup.py +0 -0
  1268. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/test-requirements.txt +0 -0
  1269. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/tools/test-setup.sh +0 -0
  1270. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/__init__.py +0 -0
  1271. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/api/__init__.py +0 -0
  1272. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/api/controllers/__init__.py +0 -0
  1273. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/api/middleware/__init__.py +0 -0
  1274. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/api/wsgi.py +0 -0
  1275. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/applier/__init__.py +0 -0
  1276. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/applier/action_plan/__init__.py +0 -0
  1277. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/applier/actions/__init__.py +0 -0
  1278. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/applier/loading/__init__.py +0 -0
  1279. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/applier/messaging/__init__.py +0 -0
  1280. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/applier/workflow_engine/__init__.py +0 -0
  1281. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/cmd/__init__.py +0 -0
  1282. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/cmd/eventlet/__init__.py +0 -0
  1283. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/__init__.py +0 -0
  1284. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/loader/__init__.py +0 -0
  1285. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/metal_helper/__init__.py +0 -0
  1286. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/metal_helper/constants.py +0 -0
  1287. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/metal_helper/factory.py +0 -0
  1288. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/__init__.py +0 -0
  1289. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/action.py +0 -0
  1290. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/action_plan.py +0 -0
  1291. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/audit.py +0 -0
  1292. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/audit_template.py +0 -0
  1293. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/base.py +0 -0
  1294. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/data_model.py +0 -0
  1295. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/goal.py +0 -0
  1296. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/scoring_engine.py +0 -0
  1297. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/service.py +0 -0
  1298. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policies/strategy.py +0 -0
  1299. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/policy.py +0 -0
  1300. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/common/rpc.py +0 -0
  1301. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/conf/aetos_client.py +0 -0
  1302. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/conf/maas_client.py +0 -0
  1303. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/conf/models.py +0 -0
  1304. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/conf/placement_client.py +0 -0
  1305. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/__init__.py +0 -0
  1306. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/migration.py +0 -0
  1307. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/sqlalchemy/__init__.py +0 -0
  1308. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/sqlalchemy/alembic/README.rst +0 -0
  1309. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/sqlalchemy/alembic/env.py +0 -0
  1310. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/sqlalchemy/alembic/versions/001_ocata.py +0 -0
  1311. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/sqlalchemy/alembic/versions/0f6042416884_add_apscheduler_jobs.py +0 -0
  1312. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/sqlalchemy/alembic/versions/d098df6021e2_cron_support_for_audit.py +0 -0
  1313. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/sqlalchemy/alembic/versions/d09a5945e4a0_add_action_description_table.py +0 -0
  1314. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/sqlalchemy/alembic.ini +0 -0
  1315. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/db/sqlalchemy/migration.py +0 -0
  1316. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/__init__.py +0 -0
  1317. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/audit/__init__.py +0 -0
  1318. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/datasources/__init__.py +0 -0
  1319. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/datasources/grafana_translator/__init__.py +0 -0
  1320. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/goal/efficacy/__init__.py +0 -0
  1321. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/loading/__init__.py +0 -0
  1322. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/messaging/__init__.py +0 -0
  1323. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/model/__init__.py +0 -0
  1324. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/model/collector/__init__.py +0 -0
  1325. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/model/notification/__init__.py +0 -0
  1326. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/planner/__init__.py +0 -0
  1327. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/scope/__init__.py +0 -0
  1328. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/scoring/__init__.py +0 -0
  1329. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/solution/__init__.py +0 -0
  1330. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/strategy/__init__.py +0 -0
  1331. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/strategy/common/__init__.py +0 -0
  1332. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/strategy/context/__init__.py +0 -0
  1333. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/decision_engine/strategy/selection/__init__.py +0 -0
  1334. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/eventlet.py +0 -0
  1335. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/hacking/__init__.py +0 -0
  1336. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/locale/de/LC_MESSAGES/watcher.po +0 -0
  1337. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/locale/en_GB/LC_MESSAGES/watcher.po +0 -0
  1338. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/notifications/exception.py +0 -0
  1339. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/objects/__init__.py +0 -0
  1340. {python_watcher-15.0.0/watcher/tests/api → python_watcher-16.0.0.0rc1/watcher/tests}/__init__.py +0 -0
  1341. {python_watcher-15.0.0/watcher/tests/api/v1 → python_watcher-16.0.0.0rc1/watcher/tests/fixtures}/__init__.py +0 -0
  1342. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/__init__.py +0 -0
  1343. {python_watcher-15.0.0/watcher/tests/applier → python_watcher-16.0.0.0rc1/watcher/tests/unit/api}/__init__.py +0 -0
  1344. {python_watcher-15.0.0/watcher/tests/applier/action_plan → python_watcher-16.0.0.0rc1/watcher/tests/unit/api/v1}/__init__.py +0 -0
  1345. {python_watcher-15.0.0/watcher/tests/applier/actions → python_watcher-16.0.0.0rc1/watcher/tests/unit/applier}/__init__.py +0 -0
  1346. {python_watcher-15.0.0/watcher/tests/applier/actions/loading → python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/action_plan}/__init__.py +0 -0
  1347. {python_watcher-15.0.0/watcher/tests/applier/messaging → python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/actions}/__init__.py +0 -0
  1348. {python_watcher-15.0.0/watcher/tests/applier/workflow_engine → python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/actions/loading}/__init__.py +0 -0
  1349. {python_watcher-15.0.0/watcher/tests/applier/workflow_engine/loading → python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/messaging}/__init__.py +0 -0
  1350. {python_watcher-15.0.0/watcher/tests/cmd → python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/workflow_engine}/__init__.py +0 -0
  1351. {python_watcher-15.0.0/watcher/tests/common → python_watcher-16.0.0.0rc1/watcher/tests/unit/applier/workflow_engine/loading}/__init__.py +0 -0
  1352. {python_watcher-15.0.0/watcher/tests/common/loader → python_watcher-16.0.0.0rc1/watcher/tests/unit/cmd}/__init__.py +0 -0
  1353. {python_watcher-15.0.0/watcher/tests/common/metal_helper → python_watcher-16.0.0.0rc1/watcher/tests/unit/common}/__init__.py +0 -0
  1354. {python_watcher-15.0.0/watcher/tests/conf → python_watcher-16.0.0.0rc1/watcher/tests/unit/common/loader}/__init__.py +0 -0
  1355. {python_watcher-15.0.0/watcher/tests/db → python_watcher-16.0.0.0rc1/watcher/tests/unit/common/metal_helper}/__init__.py +0 -0
  1356. {python_watcher-15.0.0/watcher/tests/decision_engine/audit → python_watcher-16.0.0.0rc1/watcher/tests/unit/conf}/__init__.py +0 -0
  1357. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/config.py +0 -0
  1358. {python_watcher-15.0.0/watcher/tests/decision_engine/cluster → python_watcher-16.0.0.0rc1/watcher/tests/unit/db}/__init__.py +0 -0
  1359. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/db/utils.py +0 -0
  1360. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/__init__.py +0 -0
  1361. {python_watcher-15.0.0/watcher/tests/decision_engine/datasources → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/audit}/__init__.py +0 -0
  1362. {python_watcher-15.0.0/watcher/tests/decision_engine/datasources/grafana_translators → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/cluster}/__init__.py +0 -0
  1363. {python_watcher-15.0.0/watcher/tests/decision_engine/event_consumer → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources}/__init__.py +0 -0
  1364. {python_watcher-15.0.0/watcher/tests/decision_engine/loading → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/datasources/grafana_translators}/__init__.py +0 -0
  1365. {python_watcher-15.0.0/watcher/tests/decision_engine/messaging → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/event_consumer}/__init__.py +0 -0
  1366. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/fake_metal_helper.py +0 -0
  1367. {python_watcher-15.0.0/watcher/tests/decision_engine/model → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/loading}/__init__.py +0 -0
  1368. {python_watcher-15.0.0/watcher/tests/decision_engine/model/notification → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/messaging}/__init__.py +0 -0
  1369. {python_watcher-15.0.0/watcher/tests/decision_engine/planner → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model}/__init__.py +0 -0
  1370. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/ironic_scenario_1.xml +0 -0
  1371. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_10.xml +0 -0
  1372. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_11_with_1_node_no_instance.xml +0 -0
  1373. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_11_with_2_nodes_2_instances.xml +0 -0
  1374. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_1_with_1_node_unavailable.xml +0 -0
  1375. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_1_with_all_instances_exclude.xml +0 -0
  1376. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_1_with_all_nodes_disable.xml +0 -0
  1377. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_1_with_metrics.xml +0 -0
  1378. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_2_with_metrics.xml +0 -0
  1379. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_3_with_2_nodes.xml +0 -0
  1380. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_3_with_metrics.xml +0 -0
  1381. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_4_with_1_node_no_instance.xml +0 -0
  1382. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_5_with_instance_disk_0.xml +0 -0
  1383. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_6_with_2_nodes.xml +0 -0
  1384. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_7_with_2_nodes.xml +0 -0
  1385. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_8_with_4_nodes.xml +0 -0
  1386. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/scenario_9_with_3_active_plus_1_disabled_nodes.xml +0 -0
  1387. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/data/storage_scenario_1.xml +0 -0
  1388. {python_watcher-15.0.0/watcher/tests/decision_engine/scope → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/model/notification}/__init__.py +0 -0
  1389. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/capacity.json +0 -0
  1390. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-create-end.json +0 -0
  1391. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-delete-end.json +0 -0
  1392. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-live_migration_force_complete-end.json +0 -0
  1393. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-lock.json +0 -0
  1394. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-pause-end.json +0 -0
  1395. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-power_off-end.json +0 -0
  1396. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-power_on-end.json +0 -0
  1397. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-rebuild-end.json +0 -0
  1398. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-rescue-end.json +0 -0
  1399. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-resize_confirm-end.json +0 -0
  1400. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-restore-end.json +0 -0
  1401. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-resume-end.json +0 -0
  1402. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-shelve-end.json +0 -0
  1403. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-shutdown-end.json +0 -0
  1404. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-soft_delete-end.json +0 -0
  1405. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-suspend-end.json +0 -0
  1406. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-unlock.json +0 -0
  1407. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-unpause-end.json +0 -0
  1408. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-unrescue-end.json +0 -0
  1409. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-unshelve-end.json +0 -0
  1410. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-update-2-1.json +0 -0
  1411. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/instance-update.json +0 -0
  1412. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario3_instance-update.json +0 -0
  1413. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario3_notfound_instance-update.json +0 -0
  1414. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario3_notfound_legacy_instance-update.json +0 -0
  1415. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario3_service-update-disabled.json +0 -0
  1416. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario3_service-update-enabled.json +0 -0
  1417. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_bootable-volume-create.json +0 -0
  1418. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_capacity.json +0 -0
  1419. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_capacity_node_notfound.json +0 -0
  1420. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_capacity_pool_notfound.json +0 -0
  1421. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_error-volume-create.json +0 -0
  1422. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_volume-attach.json +0 -0
  1423. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_volume-create.json +0 -0
  1424. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_volume-create_pool_notfound.json +0 -0
  1425. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_volume-delete.json +0 -0
  1426. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_volume-detach.json +0 -0
  1427. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_volume-resize.json +0 -0
  1428. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/scenario_1_volume-update.json +0 -0
  1429. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/service-create.json +0 -0
  1430. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/service-delete.json +0 -0
  1431. {python_watcher-15.0.0/watcher/tests → python_watcher-16.0.0.0rc1/watcher/tests/unit}/decision_engine/model/notification/data/service-update.json +0 -0
  1432. {python_watcher-15.0.0/watcher/tests/decision_engine/scoring → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/planner}/__init__.py +0 -0
  1433. {python_watcher-15.0.0/watcher/tests/decision_engine/solution → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/scope}/__init__.py +0 -0
  1434. {python_watcher-15.0.0/watcher/tests/decision_engine/strategy → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/scoring}/__init__.py +0 -0
  1435. {python_watcher-15.0.0/watcher/tests/decision_engine/strategy/context → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/solution}/__init__.py +0 -0
  1436. {python_watcher-15.0.0/watcher/tests/decision_engine/strategy/selector → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy}/__init__.py +0 -0
  1437. {python_watcher-15.0.0/watcher/tests/decision_engine/strategy/strategies → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/context}/__init__.py +0 -0
  1438. {python_watcher-15.0.0/watcher/tests/fixtures → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/selector}/__init__.py +0 -0
  1439. {python_watcher-15.0.0/watcher/tests/notifications → python_watcher-16.0.0.0rc1/watcher/tests/unit/decision_engine/strategy/strategies}/__init__.py +0 -0
  1440. {python_watcher-15.0.0/watcher/tests/objects → python_watcher-16.0.0.0rc1/watcher/tests/unit/notifications}/__init__.py +0 -0
  1441. {python_watcher-15.0.0/watcher/wsgi → python_watcher-16.0.0.0rc1/watcher/tests/unit/objects}/__init__.py +0 -0
  1442. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/version.py +0 -0
  1443. {python_watcher-15.0.0 → python_watcher-16.0.0.0rc1}/watcher/wsgi/api.py +0 -0
@@ -0,0 +1,68 @@
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
+ exclude: '.*\.(rst|inc)$'
27
+ - repo: https://github.com/Lucas-C/pre-commit-hooks
28
+ rev: v1.5.5
29
+ hooks:
30
+ - id: remove-tabs
31
+ exclude: '.*\.(svg)$'
32
+ - repo: https://opendev.org/openstack/hacking
33
+ rev: 7.0.0
34
+ hooks:
35
+ - id: hacking
36
+ additional_dependencies: []
37
+ exclude: '^(doc|releasenotes|tools)/.*$'
38
+ - repo: https://github.com/PyCQA/bandit
39
+ rev: 1.8.3
40
+ hooks:
41
+ - id: bandit
42
+ args: ['-c', 'pyproject.toml']
43
+ - repo: https://github.com/astral-sh/ruff-pre-commit
44
+ rev: v0.12.1
45
+ hooks:
46
+ - id: ruff-check
47
+ args: ['--fix', '--unsafe-fixes']
48
+ - repo: https://github.com/hhatto/autopep8
49
+ rev: v2.3.2
50
+ hooks:
51
+ - id: autopep8
52
+ files: '^.*\.py$'
53
+ - repo: https://github.com/codespell-project/codespell
54
+ rev: v2.4.1
55
+ hooks:
56
+ - id: codespell
57
+ args: ['--ignore-words=doc/dictionary.txt']
58
+ - repo: https://github.com/sphinx-contrib/sphinx-lint
59
+ rev: v1.0.0
60
+ hooks:
61
+ - id: sphinx-lint
62
+ args: [--enable=default-role]
63
+ files: ^doc/|^releasenotes/|^api-guide/
64
+ types: [rst]
65
+ - repo: https://github.com/PyCQA/doc8
66
+ rev: v1.1.2
67
+ hooks:
68
+ - id: doc8
@@ -0,0 +1,401 @@
1
+ - nodeset:
2
+ name: openstack-three-node-noble
3
+ nodes:
4
+ - name: controller
5
+ label: ubuntu-noble
6
+ - name: compute1
7
+ label: ubuntu-noble
8
+ - name: compute2
9
+ label: ubuntu-noble
10
+ groups:
11
+ # Node where tests are executed and test results collected
12
+ - name: tempest
13
+ nodes:
14
+ - controller
15
+ # Nodes running the compute service
16
+ - name: compute
17
+ nodes:
18
+ - controller
19
+ - compute1
20
+ - compute2
21
+ # Nodes that are not the controller
22
+ - name: subnode
23
+ nodes:
24
+ - compute1
25
+ - compute2
26
+ # Switch node for multinode networking setup
27
+ - name: switch
28
+ nodes:
29
+ - controller
30
+ # Peer nodes for multinode networking setup
31
+ - name: peers
32
+ nodes:
33
+ - compute1
34
+ - compute2
35
+
36
+ - job:
37
+ name: watcher-tempest-gnocchi
38
+ parent: watcher-tempest-base-two-node
39
+ description: |
40
+ Watcher multinode devstack tempest job with Gnocchi as datasource. This
41
+ job uses fake metrics injection and does not requires ceilometer-acompute
42
+ to be enabled.
43
+ vars:
44
+ devstack_localrc:
45
+ GNOCCHI_ARCHIVE_POLICY_TEMPEST: "ceilometer-low-rate"
46
+ CEILOMETER_PIPELINE_INTERVAL: 15
47
+
48
+ - job:
49
+ name: watcher-tempest-base
50
+ parent: devstack-tempest
51
+ description: |
52
+ Watcher single node devstack tempest base job template.
53
+ abstract: true
54
+ timeout: 7200
55
+ required-projects: &tempest_base_required_projects
56
+ - openstack/ceilometer
57
+ - openstack/python-openstackclient
58
+ - openstack/python-watcherclient
59
+ - openstack/watcher
60
+ - openstack/watcher-tempest-plugin
61
+ - openstack/tempest
62
+ irrelevant-files: &irrelevant_files
63
+ - ^(test-|)requirements.txt$
64
+ - ^.*\.rst$
65
+ - ^api-ref/.*$
66
+ - ^doc/.*$
67
+ - ^watcher/hacking/.*$
68
+ - ^watcher/tests/.*$
69
+ - ^releasenotes/.*$
70
+ - ^setup.cfg$
71
+ - ^tools/.*$
72
+ - ^tox.ini$
73
+ vars: &tempest_base_vars
74
+ configure_swap_size: 8192
75
+ devstack_plugins:
76
+ ceilometer: https://opendev.org/openstack/ceilometer
77
+ watcher: https://opendev.org/openstack/watcher
78
+ devstack_services:
79
+ watcher-api: true
80
+ watcher-decision-engine: true
81
+ watcher-applier: true
82
+ tempest: true
83
+ s-account: false
84
+ s-container: false
85
+ s-object: false
86
+ s-proxy: false
87
+ ceilometer-acentral: true
88
+ ceilometer-anotification: true
89
+ # ceilometer-acompute disabled by default since most jobs use fake data
90
+ ceilometer-acompute: false
91
+ tempest_plugins:
92
+ - watcher-tempest-plugin
93
+ devstack_localrc:
94
+ CEILOMETER_PIPELINE_INTERVAL: 15
95
+ CEILOMETER_ALARM_THRESHOLD: 6000000000
96
+ devstack_local_conf:
97
+ post-config:
98
+ $WATCHER_CONF: &watcher_conf_base
99
+ watcher_cluster_data_model_collectors.compute:
100
+ period: 120
101
+ watcher_cluster_data_model_collectors.baremetal:
102
+ period: 120
103
+ watcher_cluster_data_model_collectors.storage:
104
+ period: 120
105
+ compute_model:
106
+ enable_extended_attributes: true
107
+ nova_client:
108
+ api_version: "2.96"
109
+ nova:
110
+ migration_max_retries: 120
111
+ migration_interval: 1
112
+ $CINDER_CONF:
113
+ oslo_messaging_notifications:
114
+ driver: messagingv2
115
+ test-config:
116
+ $TEMPEST_CONFIG:
117
+ compute:
118
+ min_compute_nodes: 2
119
+ min_microversion: 2.56
120
+ max_microversion: 2.96
121
+ placement:
122
+ min_microversion: 1.29
123
+ telemetry:
124
+ disable_ssl_certificate_validation: true
125
+ ceilometer_polling_interval: 15
126
+ # tempest variables
127
+ tempest_concurrency: 1
128
+ # Run only API tests
129
+ tempest_test_regex: watcher_tempest_plugin.tests.api
130
+ tox_envlist: all
131
+ zuul_copy_output:
132
+ /etc/hosts: logs
133
+
134
+ - job:
135
+ name: watcher-tempest-base-two-node
136
+ parent: watcher-tempest-base
137
+ nodeset: openstack-two-node-noble
138
+ abstract: true
139
+ description: |
140
+ Watcher multinode devstack tempest job base template.
141
+ vars:
142
+ devstack_local_conf:
143
+ test-config:
144
+ $TEMPEST_CONFIG:
145
+ compute-feature-enabled:
146
+ live_migration: true
147
+ block_migration_for_live_migration: true
148
+ optimize:
149
+ run_extended_attributes_tests: true
150
+ run_continuous_audit_tests: true
151
+ run_zone_migration_extra_tests: true
152
+ run_zone_migration_storage_tests: true
153
+ # tempest variables
154
+ tempest_test_regex: watcher_tempest_plugin.tests\.(api|scenario)
155
+ # excluding tests with tag "real_load"
156
+ tempest_exclude_regex: .*\[.*\breal_load\b.*\].*
157
+ group-vars:
158
+ subnode:
159
+ devstack_plugins:
160
+ ceilometer: https://opendev.org/openstack/ceilometer
161
+ watcher: https://opendev.org/openstack/watcher
162
+ devstack_services:
163
+ # Not needed for jobs with fake metrics injection
164
+ ceilometer-acompute: false
165
+ ceilometer-acentral: false
166
+ ceilometer-anotification: false
167
+ c-bak: false
168
+ gnocchi-api: false
169
+ gnocchi-metricd: false
170
+ rabbit: false
171
+ mysql: false
172
+ watcher-api: false
173
+ watcher-applier: false
174
+ watcher-decision-engine: true
175
+ devstack_localrc:
176
+ CEILOMETER_BACKENDS: "none"
177
+ devstack_local_conf:
178
+ post-config:
179
+ $CINDER_CONF:
180
+ # enable notifications in compute node, by default they are only
181
+ # configured in the controller
182
+ oslo_messaging_notifications:
183
+ driver: messagingv2
184
+ $WATCHER_CONF: *watcher_conf_base
185
+
186
+ - job:
187
+ name: watcher-tempest-api-ipv6-only
188
+ parent: devstack-tempest-ipv6
189
+ description: |
190
+ Watcher single node devstack tempest job for IPv6-only deployment.
191
+ required-projects: *tempest_base_required_projects
192
+ vars: *tempest_base_vars
193
+ irrelevant-files: *irrelevant_files
194
+
195
+ - job:
196
+ name: watcher-grenade
197
+ parent: grenade
198
+ required-projects: *tempest_base_required_projects
199
+ vars:
200
+ <<: *tempest_base_vars
201
+ devstack_plugins:
202
+ watcher: https://opendev.org/openstack/watcher
203
+ irrelevant-files: *irrelevant_files
204
+
205
+ - job:
206
+ name: watcher-tempest-prometheus
207
+ parent: watcher-tempest-base-two-node
208
+ description: |
209
+ Watcher multinode devstack tempest job with Prometheus as datasource.
210
+ This job uses fake metrics injection and does not require ceilometer-acompute
211
+ and node_exporter to be enabled.
212
+ pre-run:
213
+ - playbooks/generate_prometheus_config.yml
214
+ required-projects:
215
+ - openstack/aodh
216
+ - openstack-k8s-operators/sg-core
217
+ - openstack/devstack-plugin-prometheus
218
+ vars:
219
+ devstack_plugins:
220
+ aodh: https://opendev.org/openstack/aodh
221
+ sg-core: https://github.com/openstack-k8s-operators/sg-core
222
+ devstack-plugin-prometheus: https://opendev.org/openstack/devstack-plugin-prometheus
223
+ devstack_services:
224
+ prometheus: true
225
+ # Node exporter service is disable since job uses fake metrics injection
226
+ node_exporter: false
227
+ devstack_localrc:
228
+ CEILOMETER_BACKENDS: "sg-core"
229
+ PROMETHEUS_CONFIG_FILE: "/home/zuul/prometheus.yml"
230
+ devstack_local_conf:
231
+ post-config:
232
+ $WATCHER_CONF: &watcher_conf_prom
233
+ watcher_datasources:
234
+ datasources: prometheus
235
+ prometheus_client:
236
+ host: "{{ hostvars['controller']['nodepool']['private_ipv4'] }}"
237
+ port: 9090
238
+ test-config:
239
+ $TEMPEST_CONFIG:
240
+ service_available:
241
+ sg_core: true
242
+ telemetry_services:
243
+ metric_backends: prometheus
244
+ optimize:
245
+ datasource: prometheus
246
+ zuul_copy_output:
247
+ /etc/prometheus/prometheus.yml: logs
248
+ group-vars:
249
+ subnode:
250
+ devstack_plugins:
251
+ devstack-plugin-prometheus: https://opendev.org/openstack/devstack-plugin-prometheus
252
+ devstack_services:
253
+ sg-core: false
254
+ prometheus: false
255
+ node_exporter: false
256
+ devstack_local_conf:
257
+ post-config:
258
+ $WATCHER_CONF: *watcher_conf_prom
259
+
260
+ - job:
261
+ name: watcher-tempest-aetos
262
+ parent: watcher-tempest-prometheus
263
+ description: |
264
+ Watcher multinode devstack tempest job with Aetos reverse-proxy for
265
+ Prometheus, using Keystone authentication instead of direct Prometheus access.
266
+ This job uses fake metrics injection and does not require ceilometer-acompute
267
+ and node_exporter to be enabled.
268
+ required-projects:
269
+ - openstack/python-observabilityclient
270
+ - openstack/aetos
271
+ vars: &aetos_vars
272
+ devstack_plugins:
273
+ aetos: https://opendev.org/openstack/aetos
274
+ devstack_local_conf:
275
+ post-config:
276
+ $WATCHER_CONF:
277
+ watcher_datasources:
278
+ datasources: aetos
279
+ aetos_client:
280
+ interface: public
281
+ region_name: RegionOne
282
+ fqdn_label: fqdn
283
+ instance_uuid_label: resource
284
+
285
+ - job:
286
+ name: watcher-tempest-prometheus-realdata
287
+ parent: watcher-tempest-prometheus
288
+ nodeset: openstack-three-node-noble
289
+ description: |
290
+ Watcher multinode devstack tempest job with Prometheus as datasource and
291
+ real workload data. This job is executed on a three-node setup to have
292
+ pure controller and compute nodes and avoid resource competition.
293
+ vars: &realdata_vars
294
+ devstack_services:
295
+ ceilometer-acompute: false
296
+ node_exporter: false
297
+ n-cpu: false
298
+ devstack_localrc:
299
+ NODE_EXPORTER_COLLECTOR_EXCLUDE: ""
300
+ CEILOMETER_PIPELINE_INTERVAL: 15
301
+ devstack_local_conf:
302
+ test-config:
303
+ $TEMPEST_CONFIG:
304
+ optimize:
305
+ datasource: ""
306
+ real_workload_period: 480 # 8 minutes
307
+ # All tests inside watcher_tempest_plugin.tests.scenario with tag "real_load"
308
+ tempest_test_regex: (^watcher_tempest_plugin.tests.scenario)(.*\[.*\breal_load\b.*\].*)
309
+ tempest_exclude_regex: ""
310
+ group-vars: &realdata_group_vars
311
+ subnode:
312
+ devstack_services:
313
+ ceilometer-acompute: true
314
+ node_exporter: true
315
+ n-cpu: true
316
+ devstack_localrc:
317
+ CEILOMETER_PIPELINE_INTERVAL: 15
318
+
319
+ - job:
320
+ name: watcher-tempest-prometheus-threading
321
+ parent: watcher-tempest-prometheus
322
+ description: |
323
+ Watcher multinode devstack tempest job with Prometheus as datasource and
324
+ threading mode enabled in specific services.
325
+ vars: &threading_vars
326
+ devstack_localrc:
327
+ 'SYSTEMD_ENV_VARS["watcher-api"]': OS_WATCHER_DISABLE_EVENTLET_PATCHING=true
328
+ 'SYSTEMD_ENV_VARS["watcher-decision-engine"]': OS_WATCHER_DISABLE_EVENTLET_PATCHING=true
329
+ 'SYSTEMD_ENV_VARS["watcher-applier"]': OS_WATCHER_DISABLE_EVENTLET_PATCHING=true
330
+ devstack_local_conf:
331
+ post-config:
332
+ $WATCHER_CONF:
333
+ DEFAULT:
334
+ print_thread_pool_stats: true
335
+ group-vars:
336
+ subnode: *threading_vars
337
+
338
+ - job:
339
+ name: openstack-tox-py312-threading
340
+ parent: openstack-tox-py312
341
+ description: |
342
+ Run tox with the py3-threading environment.
343
+ vars:
344
+ tox_envlist: py3-threading
345
+
346
+ - job:
347
+ name: watcher-tempest-aetos-realdata
348
+ parent: watcher-tempest-aetos
349
+ nodeset: openstack-three-node-noble
350
+ description: |
351
+ Watcher multinode devstack tempest job with Aetos reverse-proxy and real
352
+ workload data. This job is executed on a three-node setup to have
353
+ pure controller and compute nodes and avoid resource competition.
354
+ vars: *realdata_vars
355
+ group-vars: *realdata_group_vars
356
+
357
+ # TODO(dviroel): Remove this job when we update other projects that depend on
358
+ # its definition.
359
+ - job:
360
+ name: watcher-tempest-functional
361
+ parent: watcher-tempest-base
362
+
363
+ - project:
364
+ queue: watcher
365
+ templates:
366
+ - check-requirements
367
+ - openstack-cover-jobs
368
+ - openstack-python3-jobs
369
+ - publish-openstack-docs-pti
370
+ - release-notes-jobs-python3
371
+ check:
372
+ jobs:
373
+ - openstack-tox-py312-threading
374
+ - watcher-grenade
375
+ - watcher-tempest-api-ipv6-only
376
+ - watcher-tempest-gnocchi
377
+ - python-watcherclient-functional:
378
+ files: &watcherclient_functional_files
379
+ - ^watcher/api/*
380
+ - watcher-tempest-prometheus
381
+ - watcher-tempest-prometheus-threading
382
+ - watcher-tempest-aetos
383
+ gate:
384
+ jobs:
385
+ - openstack-tox-py312-threading
386
+ - watcher-grenade
387
+ - watcher-tempest-api-ipv6-only
388
+ - watcher-tempest-gnocchi
389
+ - python-watcherclient-functional:
390
+ files: *watcherclient_functional_files
391
+ - watcher-tempest-prometheus
392
+ - watcher-tempest-prometheus-threading
393
+ - watcher-tempest-aetos
394
+ experimental:
395
+ jobs:
396
+ - watcher-tempest-prometheus-realdata
397
+ - watcher-tempest-aetos-realdata
398
+ periodic-weekly:
399
+ jobs:
400
+ - watcher-tempest-prometheus-realdata
401
+ - watcher-tempest-aetos-realdata
@@ -0,0 +1,223 @@
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
+ Ivan Anfimov <lazekteam@gmail.com>
53
+ Jaewoo Park <jp655p@att.com>
54
+ James E. Blair <jeblair@redhat.com>
55
+ James Page <james.page@canonical.com>
56
+ Jaromir Wysoglad <jwysogla@redhat.com>
57
+ Jean-Emile DARTOIS <jean-emile.dartois@b-com.com>
58
+ Jeremy Liu <liujiong@gohighsec.com>
59
+ Jiri Podivin <jpodivin@redhat.com>
60
+ Joe Cropper <jwcroppe@us.ibm.com>
61
+ Ken'ichi Ohmichi <ken-oomichi@wx.jp.nec.com>
62
+ Kevin_Zheng <zhengzhenyu@huawei.com>
63
+ Kien Nguyen <kiennt@vn.fujitsu.com>
64
+ Lance Bragstad <lbragstad@gmail.com>
65
+ Larry Rensing <lr699s@att.com>
66
+ LiXiangyu <lixiangyu@cmss.chinamobile.com>
67
+ Lin Yang <lin.a.yang@intel.com>
68
+ Lucian Petrut <lpetrut@cloudbasesolutions.com>
69
+ Luigi Toscano <ltoscano@redhat.com>
70
+ Luong Anh Tuan <tuanla@vn.fujitsu.com>
71
+ M V P Nitesh <m.nitesh@nectechnologies.in>
72
+ Marcin Wilk <marcin.wilk@canonical.com>
73
+ Margarita Shakhova <mbshakhova.sbt@sberbank.ru>
74
+ Martin Kopec <mkopec@redhat.com>
75
+ Matt Riedemann <mriedem.os@gmail.com>
76
+ Michael Gugino <michael.gugino@walmart.com>
77
+ Michelle Mandel <mmandel@us.ibm.com>
78
+ Muzammil Mueen <muzammil.mueen@gmail.com>
79
+ Ngo Quoc Cuong <cuongnq@vn.fujitsu.com>
80
+ Nguyen Hai <nguyentrihai93@gmail.com>
81
+ Nguyen Hai Truong <truongnh@vn.fujitsu.com>
82
+ Nguyen Hung Phuong <phuongnh@vn.fujitsu.com>
83
+ Nishant Kumar <nishant.e.kumar@ericsson.com>
84
+ OpenStack Release Bot <infra-root@openstack.org>
85
+ Palimariu Marius <palimarium@gmail.com>
86
+ Pradeep Kumar Singh <ps4openstack@gmail.com>
87
+ Prashanth Hari <prashanth.hari@walmart.com>
88
+ Prudhvi Rao Shedimbi <prudhvi.rao.shedimbi@intel.com>
89
+ Q.hongtao <qihongtao@inspur.com>
90
+ Quang Ngo <quang.ngo@canonical.com>
91
+ Ralf Rantzau <rrantzau@cisco.com>
92
+ Ronelle Landy <rlandy@redhat.com>
93
+ Sampath Priyankara <sam47priya@gmail.com>
94
+ Santhosh Fernandes <santhosh.fernandes@gmail.com>
95
+ Sean McGinnis <sean.mcginnis@gmail.com>
96
+ Sean Mooney <work@seanmooney.info>
97
+ ShangXiao <shangxiaobj@inspur.com>
98
+ Steve Kowalik <steven@wedontsleep.org>
99
+ Steve Wilkerson <sw5822@att.com>
100
+ Sumit Jamgade <sjamgade@suse.com>
101
+ Susanne Balle <sleipnir012@gmail.com>
102
+ Swapnil Kulkarni (coolsvap) <me@coolsvap.net>
103
+ Takashi Kajinami <kajinamit@oss.nttdata.com>
104
+ Takashi Kajinami <tkajinam@redhat.com>
105
+ Takashi Natsume <takanattie@gmail.com>
106
+ Tatiana Kholkina <holkina@selectel.ru>
107
+ Taylor Peoples <tpeoples@us.ibm.com>
108
+ Thierry Carrez <thierry@openstack.org>
109
+ Thomas Goirand <zigo@debian.org>
110
+ Tin Lam <tl3438@att.com>
111
+ Tobias Urdin <tobias.urdin@binero.com>
112
+ Tobias Urdin <tobias.urdin@binero.se>
113
+ Tomasz Kaczynski <tomasz.kaczynski@intel.com>
114
+ Tomasz Trębski <tomasz.trebski@ts.fujitsu.com>
115
+ Viacheslav Samarin <samarin@servionica.ru>
116
+ Viktor Varga <vvarga@inf.u-szeged.hu>
117
+ Vincent Françoise <Vincent.FRANCOISE@b-com.com>
118
+ Vladimir Ostroverkhov <ostroverkhov@servionica.ru>
119
+ Vu Cong Tuan <tuanvc@vn.fujitsu.com>
120
+ XiaojueGuan <guanalbertjone@gmail.com>
121
+ XieYingYun <smokony@sina.com>
122
+ Yaguo Zhou <zhouyaguo@gmail.com>
123
+ Yatin Kumbhare <yatinkumbhare@gmail.com>
124
+ Yosef Hoffman <yh128t@att.com>
125
+ Yumeng Bao <yumeng_bao@yahoo.com>
126
+ YumengBao <bao.yumeng@zte.com.cn>
127
+ Yumeng_Bao <yumeng_bao@yahoo.com>
128
+ Zhenyu Zheng <zheng.zhenyu@outlook.com>
129
+ Zhenzan Zhou <zhenzan.zhou@intel.com>
130
+ aditi <adi.sky17@gmail.com>
131
+ aditi <aditi.s@nectechnologies.in>
132
+ afanasev.s <afanasev.s@selectel.ru>
133
+ akhiljain23 <akhil.jain@india.nec.com>
134
+ akihito-inoh <aki-inou@rs.jp.nec.com>
135
+ avnish <avnish.pal@nectechnologies.in>
136
+ baiwenteng <baiwenteng@inspur.com>
137
+ caoyuan <cao.yuan@99cloud.net>
138
+ chao liu <liuc@rc.inesa.com>
139
+ chenaidong1 <chen.aidong@zte.com.cn>
140
+ chengebj5238 <chengebj@inspur.com>
141
+ chenghuiyu <yuchenghui@unionpay.com>
142
+ chenke <chen.ke14@zte.com.cn>
143
+ chenker <chen.ke14@zte.com.cn>
144
+ chenming <chenm30@chinaunicom.cn>
145
+ chenxing <chason.chan@foxmail.com>
146
+ cima <cima@zhaw.ch>
147
+ deepak_mourya <deepak.mourya@nectechnologies.in>
148
+ digambar <digambarpatil15@yahoo.co.in>
149
+ ericxiett <eric_xiett@163.com>
150
+ gaofei <gao.fei@inspur.com>
151
+ gaozx <zxgao@fiberhome.com>
152
+ gecong1973 <ge.cong@zte.com.cn>
153
+ gengchc2 <geng.changcai2@zte.com.cn>
154
+ ghanshyam <gmann@ghanshyammann.com>
155
+ haris tanvir <haristanvir@hotmail.com>
156
+ howardlee <lihongweibj@inspur.com>
157
+ inspurericzhang <zhanglf01@inspur.com>
158
+ iswarya_vakati <v.iswarya@nectechnologies.in>
159
+ jacky06 <zhang.min@99cloud.net>
160
+ jaugustine <ja224e@att.com>
161
+ jeremy.zhang <zhangjun_inspur@163.com>
162
+ jgilaber <jgilaber@redhat.com>
163
+ jinquanni <ni.jinquan@zte.com.cn>
164
+ junjie huang <junjie.huang@intel.com>
165
+ licanwei <li.canwei2@zte.com.cn>
166
+ limin0801 <limin.lc@inspur.com>
167
+ lingyongxu <lyxu@fiberhome.com>
168
+ liushuobj <liushuobj@inspur.com>
169
+ liyanhang <liyh@gohighsec.com>
170
+ lvxianguo <lvxianguo@inspur.com>
171
+ m <mandreou@redhat.com>
172
+ maaoyu <maaoyu@inspur.com>
173
+ melissaml <ma.lei@99cloud.net>
174
+ mergalievibragim <mer_eng@mail.ru>
175
+ morenod <dsanzmor@redhat.com>
176
+ pangliye <pangliye@inspur.com>
177
+ pengyuesheng <pengyuesheng@gohighsec.com>
178
+ qinchunhua <qin.chunhua@zte.com.cn>
179
+ qiufossen <qiujunting@inspur.com>
180
+ rajat29 <rajat.sharma@nectechnologies.in>
181
+ ricolin <rico.lin@easystack.cn>
182
+ ricolin <ricolin@ricolky.com>
183
+ root <songwenping@inspur.com>
184
+ sai <saigandham467@gmail.com>
185
+ shangxiaobj <shangxiaobj@inspur.com>
186
+ sharat.sharma <sharat.sharma@nectechnologies.in>
187
+ shubhendu <shubhendu.poothia@nectechnologies.in>
188
+ songwenping <songwenping@inspur.com>
189
+ sue <sugar-2008@163.com>
190
+ sunjia <sunjia@inspur.com>
191
+ suzhengwei <sugar-2008@163.com>
192
+ suzhengwei <suzhengwei@inspur.com>
193
+ the.bling <sudhansu.banerjee@outlook.com>
194
+ ting.wang <ting.wang@easystack.cn>
195
+ unknown <w00345332@szxbz243.huaweiobz.com>
196
+ vmahe <vincent.mahe@b-com.com>
197
+ wangjiaqi07 <wangjiaqi07@inspur.com>
198
+ wangqi <wang.qi@99cloud.net>
199
+ wangxiyuan <wangxiyuan@huawei.com>
200
+ wangzihao <wangzihao@yovole.com>
201
+ watanabe isao <watanabe.isao.openstack@gmail.com>
202
+ weiweigu <gu.weiwei@zte.com.cn>
203
+ wu.chunyang <wu.chunyang@99cloud.net>
204
+ wu.chunyang <wuchunyang@yovole.com>
205
+ xiaoxue <pisces.giu@gmail.com>
206
+ xuanyandong <xuanyandong@inspur.com>
207
+ yanxubin <xbyan@fiberhome.com>
208
+ yuhui_inspur <yuhui@inspur.com>
209
+ zhang.lei <zhang.lei@99cloud.net>
210
+ zhangbailin <zhangbailin@inspur.com>
211
+ zhangdebo <zhangdebo@inspur.com>
212
+ zhangguoqing <zhang.guoqing@99cloud.net>
213
+ zhangjianfeng <kill51216@163.com>
214
+ zhangyanxian <zhang.yanxian@zte.com.cn>
215
+ zhangyanxian <zhangyanxianmail@163.com>
216
+ zhengwei6082 <zhengwei6082@fiberhome.com>
217
+ zhoulinhui <df.some@foxmail.com>
218
+ zhufl <zhu.fanglei@zte.com.cn>
219
+ zhulingjie <easyzlj@gmail.com>
220
+ zhurong <aaronzhu1121@gmail.com>
221
+ zhuzeyu <zhu.zeyu@zte.com.cn>
222
+ zte-hanrong <han.rong3@zte.com.cn>
223
+ 鲍昱蒙00205026 <00205026@zte.intra>