.coveragerc
.mailmap
.pre-commit-config.yaml
.stestr.conf
.zuul.yaml
AUTHORS
CONTRIBUTING.rst
ChangeLog
HACKING.rst
LICENSE
README.rst
pyproject.toml
requirements.txt
setup.cfg
setup.py
test-requirements.txt
tox.ini
api-ref/source/conf.py
api-ref/source/index.rst
api-ref/source/parameters.yaml
api-ref/source/watcher-api-v1-actionplans.inc
api-ref/source/watcher-api-v1-actions.inc
api-ref/source/watcher-api-v1-audits.inc
api-ref/source/watcher-api-v1-audittemplates.inc
api-ref/source/watcher-api-v1-datamodel.inc
api-ref/source/watcher-api-v1-goals.inc
api-ref/source/watcher-api-v1-scoring_engines.inc
api-ref/source/watcher-api-v1-services.inc
api-ref/source/watcher-api-v1-strategies.inc
api-ref/source/watcher-api-v1-webhooks.inc
api-ref/source/watcher-api-versions.inc
api-ref/source/samples/actionplan-cancel-request-cancelling.json
api-ref/source/samples/actionplan-cancel-request-pending.json
api-ref/source/samples/actionplan-list-detailed-response.json
api-ref/source/samples/actionplan-list-response.json
api-ref/source/samples/actionplan-show-response.json
api-ref/source/samples/actionplan-start-response.json
api-ref/source/samples/actions-list-detailed-response.json
api-ref/source/samples/actions-list-response.json
api-ref/source/samples/actions-show-response.json
api-ref/source/samples/api-root-response.json
api-ref/source/samples/api-v1-root-response.json
api-ref/source/samples/audit-cancel-request.json
api-ref/source/samples/audit-cancel-response.json
api-ref/source/samples/audit-create-request-continuous.json
api-ref/source/samples/audit-create-request-oneshot.json
api-ref/source/samples/audit-create-response.json
api-ref/source/samples/audit-list-detailed-response.json
api-ref/source/samples/audit-list-response.json
api-ref/source/samples/audit-show-response.json
api-ref/source/samples/audit-update-request.json
api-ref/source/samples/audit-update-response.json
api-ref/source/samples/audittemplate-create-request-full.json
api-ref/source/samples/audittemplate-create-request-minimal.json
api-ref/source/samples/audittemplate-create-response.json
api-ref/source/samples/audittemplate-list-detailed-response.json
api-ref/source/samples/audittemplate-list-response.json
api-ref/source/samples/audittemplate-show-response.json
api-ref/source/samples/audittemplate-update-request.json
api-ref/source/samples/audittemplate-update-response.json
api-ref/source/samples/datamodel-list-response.json
api-ref/source/samples/goal-list-response.json
api-ref/source/samples/goal-show-response.json
api-ref/source/samples/scoring_engine-list-detailed-response.json
api-ref/source/samples/scoring_engine-list-response.json
api-ref/source/samples/scoring_engine-show-response.json
api-ref/source/samples/service-list-detailed-response.json
api-ref/source/samples/service-list-response.json
api-ref/source/samples/service-show-response.json
api-ref/source/samples/strategy-list-detailed-response.json
api-ref/source/samples/strategy-list-response.json
api-ref/source/samples/strategy-show-response.json
api-ref/source/samples/strategy-state-response.json
devstack/local.conf.compute
devstack/local.conf.controller
devstack/override-defaults
devstack/plugin.sh
devstack/settings
devstack/files/apache-watcher-api.template
devstack/lib/watcher
devstack/upgrade/resources.sh
devstack/upgrade/settings
devstack/upgrade/shutdown.sh
devstack/upgrade/upgrade.sh
devstack/upgrade/from_rocky/upgrade-watcher
doc/dictionary.txt
doc/requirements.txt
doc/ext/__init__.py
doc/ext/term.py
doc/ext/versioned_notifications.py
doc/notification_samples/action-cancel-end.json
doc/notification_samples/action-cancel-error.json
doc/notification_samples/action-cancel-start.json
doc/notification_samples/action-create.json
doc/notification_samples/action-delete.json
doc/notification_samples/action-execution-end.json
doc/notification_samples/action-execution-error.json
doc/notification_samples/action-execution-start.json
doc/notification_samples/action-update.json
doc/notification_samples/action_plan-cancel-end.json
doc/notification_samples/action_plan-cancel-error.json
doc/notification_samples/action_plan-cancel-start.json
doc/notification_samples/action_plan-create.json
doc/notification_samples/action_plan-delete.json
doc/notification_samples/action_plan-execution-end.json
doc/notification_samples/action_plan-execution-error.json
doc/notification_samples/action_plan-execution-start.json
doc/notification_samples/action_plan-update.json
doc/notification_samples/audit-create.json
doc/notification_samples/audit-delete.json
doc/notification_samples/audit-planner-end.json
doc/notification_samples/audit-planner-error.json
doc/notification_samples/audit-planner-start.json
doc/notification_samples/audit-strategy-end.json
doc/notification_samples/audit-strategy-error.json
doc/notification_samples/audit-strategy-start.json
doc/notification_samples/audit-update.json
doc/notification_samples/infra-optim-exception.json
doc/notification_samples/service-update.json
doc/source/architecture.rst
doc/source/conf.py
doc/source/glossary.rst
doc/source/index.rst
doc/source/_static/.placeholder
doc/source/admin/apache-mod-wsgi.rst
doc/source/admin/gmr.rst
doc/source/admin/index.rst
doc/source/admin/policy.rst
doc/source/configuration/configuring.rst
doc/source/configuration/index.rst
doc/source/configuration/watcher.rst
doc/source/contributor/api_microversion_history.rst
doc/source/contributor/concurrency.rst
doc/source/contributor/contributing.rst
doc/source/contributor/devstack.rst
doc/source/contributor/environment.rst
doc/source/contributor/index.rst
doc/source/contributor/notifications.rst
doc/source/contributor/rally_link.rst
doc/source/contributor/testing.rst
doc/source/contributor/plugin/action-plugin.rst
doc/source/contributor/plugin/base-setup.rst
doc/source/contributor/plugin/cdmc-plugin.rst
doc/source/contributor/plugin/goal-plugin.rst
doc/source/contributor/plugin/index.rst
doc/source/contributor/plugin/planner-plugin.rst
doc/source/contributor/plugin/plugins.rst
doc/source/contributor/plugin/scoring-engine-plugin.rst
doc/source/contributor/plugin/strategy-plugin.rst
doc/source/datasources/grafana.rst
doc/source/datasources/index.rst
doc/source/datasources/prometheus.rst
doc/source/image_src/dia/architecture.dia
doc/source/image_src/dia/functional_data_model.dia
doc/source/image_src/plantuml/README.rst
doc/source/image_src/plantuml/action_plan_state_machine.txt
doc/source/image_src/plantuml/audit_state_machine.txt
doc/source/image_src/plantuml/sequence_architecture_cdmc_sync.txt
doc/source/image_src/plantuml/sequence_create_and_launch_audit.txt
doc/source/image_src/plantuml/sequence_create_audit_template.txt
doc/source/image_src/plantuml/sequence_from_audit_execution_to_actionplan_creation.txt
doc/source/image_src/plantuml/sequence_launch_action_plan.txt
doc/source/image_src/plantuml/sequence_launch_action_plan_in_applier.txt
doc/source/image_src/plantuml/sequence_overview_watcher_usage.txt
doc/source/image_src/plantuml/sequence_trigger_audit_in_decision_engine.txt
doc/source/image_src/plantuml/watcher_db_schema_diagram.txt
doc/source/images/action_plan_state_machine.png
doc/source/images/architecture.svg
doc/source/images/audit_state_machine.png
doc/source/images/functional_data_model.svg
doc/source/images/sequence_architecture_cdmc_sync.png
doc/source/images/sequence_create_and_launch_audit.png
doc/source/images/sequence_create_audit_template.png
doc/source/images/sequence_from_audit_execution_to_actionplan_creation.png
doc/source/images/sequence_launch_action_plan.png
doc/source/images/sequence_launch_action_plan_in_applier.png
doc/source/images/sequence_overview_watcher_usage.png
doc/source/images/sequence_trigger_audit_in_decision_engine.png
doc/source/images/watcher_db_schema_diagram.png
doc/source/install/common_configure.rst
doc/source/install/common_prerequisites.rst
doc/source/install/get_started.rst
doc/source/install/index.rst
doc/source/install/install-rdo.rst
doc/source/install/install-ubuntu.rst
doc/source/install/install.rst
doc/source/install/next-steps.rst
doc/source/install/verify.rst
doc/source/man/footer.rst
doc/source/man/general-options.rst
doc/source/man/index.rst
doc/source/man/watcher-api.rst
doc/source/man/watcher-applier.rst
doc/source/man/watcher-db-manage.rst
doc/source/man/watcher-decision-engine.rst
doc/source/man/watcher-status.rst
doc/source/strategies/actuation.rst
doc/source/strategies/basic-server-consolidation.rst
doc/source/strategies/host_maintenance.rst
doc/source/strategies/index.rst
doc/source/strategies/node_resource_consolidation.rst
doc/source/strategies/noisy_neighbor.rst
doc/source/strategies/outlet_temp_control.rst
doc/source/strategies/saving_energy.rst
doc/source/strategies/storage_capacity_balance.rst
doc/source/strategies/strategy-template.rst
doc/source/strategies/uniform_airflow.rst
doc/source/strategies/vm_workload_consolidation.rst
doc/source/strategies/workload-stabilization.rst
doc/source/strategies/workload_balance.rst
doc/source/strategies/zone_migration.rst
doc/source/user/event_type_audit.rst
doc/source/user/index.rst
doc/source/user/user-guide.rst
doc/source/user/ways-to-install.rst
etc/apache2/watcher
etc/watcher/README-watcher.conf.txt
etc/watcher/oslo-config-generator/watcher.conf
etc/watcher/oslo-policy-generator/watcher-policy-generator.conf
playbooks/generate_prometheus_config.yml
playbooks/templates/prometheus.yml.j2
python_watcher.egg-info/PKG-INFO
python_watcher.egg-info/SOURCES.txt
python_watcher.egg-info/dependency_links.txt
python_watcher.egg-info/entry_points.txt
python_watcher.egg-info/not-zip-safe
python_watcher.egg-info/pbr.json
python_watcher.egg-info/requires.txt
python_watcher.egg-info/top_level.txt
rally-jobs/README.rst
rally-jobs/watcher-watcher.yaml
releasenotes/notes/.placeholder
releasenotes/notes/2025.1-prelude-8be97eece4e1d1ff.yaml
releasenotes/notes/action-plan-cancel-c54726378019e096.yaml
releasenotes/notes/action-plan-versioned-notifications-api-e8ca4f5d37aa5b4b.yaml
releasenotes/notes/action-versioned-notifications-api-ff94fc0f401292d0.yaml
releasenotes/notes/add-baremetal-scoper-9ef23f5fb8f0be6a.yaml
releasenotes/notes/add-force-field-to-audit-4bcaeedfe27233ad.yaml
releasenotes/notes/add-ha-support-b9042255e5b76e42.yaml
releasenotes/notes/add-instance-metrics-to-prometheus-datasource-9fba8c174ff845e1.yaml
releasenotes/notes/add-name-for-audit-0df1f39f00736f06.yaml
releasenotes/notes/add-plugins-parameters-376eb6b0b8978b44.yaml
releasenotes/notes/add-power-on-off-a77673d482568a8b.yaml
releasenotes/notes/add-scoring-module-fa00d013ed2d614e.yaml
releasenotes/notes/add-start-end-time-for-continuous-audit-52c45052cb06d153.yaml
releasenotes/notes/add-upgrade-check-framework-5bb9693c8a78931c.yaml
releasenotes/notes/add-wsgi-module-support-597f479e31979270.yaml
releasenotes/notes/api-call-retry-fef741ac684c58dd.yaml
releasenotes/notes/api-microversioning-7999a3ee8073bf32.yaml
releasenotes/notes/audit-scoper-for-storage-data-model-cdccc803542d22db.yaml
releasenotes/notes/audit-tag-vm-metadata-47a3e4468748853c.yaml
releasenotes/notes/audit-versioned-notifications-api-bca7738e16954bad.yaml
releasenotes/notes/automatic-triggering-audit-8a9b0540d547db60.yaml
releasenotes/notes/avoid-transport-url-in-debug-logs.yaml
releasenotes/notes/background-jobs-ha-9d3cf3fe356f4705.yaml
releasenotes/notes/bp-audit-scope-exclude-project-511a7720aac00dff.yaml
releasenotes/notes/bug-2103451-fixes-prometheus-queries-with-multiple-target-0e65d20711d1abe2.yaml
releasenotes/notes/bug-2110947.yaml
releasenotes/notes/bug-2112187-763bae283e0b736d.yaml
releasenotes/notes/bug-2113776-4bd314fb46623fbc.yaml
releasenotes/notes/bug-2161771-add-policy-enforcement-event-audit-596288dbff87bd0d.yaml
releasenotes/notes/build-baremetal-data-model-in-watcher-3023453a47b61dab.yaml
releasenotes/notes/cdm-scoping-8d9c307bad46bfa1.yaml
releasenotes/notes/centralise-config-opts-95670987dfbdb0e7.yaml
releasenotes/notes/change-ram-util-metric-4a3e6984b9dd968d.yaml
releasenotes/notes/check-strategy-requirements-66f9e9262412f8ec.yaml
releasenotes/notes/cinder-model-integration-baa394a72a0a33bf.yaml
releasenotes/notes/cluster-model-objects-wrapper-9c799ea262c56a5b.yaml
releasenotes/notes/compute-cdm-include-all-instances-f7506ded2d57732f.yaml
releasenotes/notes/configurable-weights-default-planner-3746b33160bc7347.yaml
releasenotes/notes/consume-nova-versioned-notifications-f98361b37e546b4d.yaml
releasenotes/notes/continuously-optimization-35364f4d2c0b81fc.yaml
releasenotes/notes/cron-based-continuous-audits-c3eedf28d9752b37.yaml
releasenotes/notes/datasource-query-retry-00cba5f7e68aec39.yaml
releasenotes/notes/db-migration-e1a705a8b54ccdd2.yaml
releasenotes/notes/define-the-audit-scope-e89edc5051dcf3f2.yaml
releasenotes/notes/deprecate-ceilometer-datasource-446b0be70fbce28b.yaml
releasenotes/notes/deprecate-json-formatted-policy-file-3a92379e9f5dd203.yaml
releasenotes/notes/deprecate-monasca-ds-9065f4d4bee09ab2.yaml
releasenotes/notes/donot-run-host-migration-strategy-on-disabled-hosts-24084a22d4c8f914.yaml
releasenotes/notes/drop-py-2-7-54f8e806d71f19a7.yaml
releasenotes/notes/drop-python38-support-eeb19a0bc0160sw1.yaml
releasenotes/notes/dynamic-action-description-0e947b9e7ef2a134.yaml
releasenotes/notes/efficacy-indicator-95380ad7b84e3be2.yaml
releasenotes/notes/enhance-watcher-applier-engine-86c676ce8f179e68.yaml
releasenotes/notes/event-driven-optimization-based-4870f112bef8a560.yaml
releasenotes/notes/file-based-metric-map-c2af62b5067895df.yaml
releasenotes/notes/fix-action-plan-state-on-failure-69e498d902ada5c5.yaml
releasenotes/notes/formal-datasource-interface-implementation-222769d55a127d33.yaml
releasenotes/notes/general-purpose-decision-engine-threadpool-0711b23abfc9d409.yaml
releasenotes/notes/get-goal-from-strategy-396c9b13a38bb650.yaml
releasenotes/notes/global-datasource-preference-3ab47b4be09ff3a5.yaml
releasenotes/notes/gnocchi-watcher-43c25d391fbd3e9c.yaml
releasenotes/notes/grafana-datasource-b672367c23ffa0c6.yaml
releasenotes/notes/graph-based-cluster-model-523937a6f5e66537.yaml
releasenotes/notes/host-maintenance-strategy-41f640927948fb56.yaml
releasenotes/notes/improve-compute-data-model-b427c85e4ed2b6fb.yaml
releasenotes/notes/jsonschema-validation-79cab05d5295da00.yaml
releasenotes/notes/min-required-nova-train-71f124192d88ae52.yaml
releasenotes/notes/monasca-support-0b0486b8572ac38b.yaml
releasenotes/notes/multiple-global-efficacy-indicator-fc11c4844a12a7d5.yaml
releasenotes/notes/node-resource-consolidation-73bc0c0abfeb0b03.yaml
releasenotes/notes/noisy-neighbor-strategy-a71342740b59dddc.yaml
releasenotes/notes/notifications-actionplan-cancel-edb2a4a12543e2d0.yaml
releasenotes/notes/optimization-threshold-21ad38f0470d0e1a.yaml
releasenotes/notes/persistent-audit-parameters-ae41dd7252ba9672.yaml
releasenotes/notes/planner-storage-action-plan-26ef37893c5e8648.yaml
releasenotes/notes/prometheus-datasource-e56f2f7b8f3427c2.yaml
releasenotes/notes/remove-ceilometer-datasource-8d9ab7d64d61e405.yaml
releasenotes/notes/remove-nova-legacy-notifications-e1b6d10eff58f30a.yaml
releasenotes/notes/replace-cold-migrate-to-use-nova-migration-api-cecd9a39ddd3bc58.yaml
releasenotes/notes/return-error-400-on-bad-parameters-bb964e4f5cadc15c.yaml
releasenotes/notes/scope-for-data-model-ea9792f90db14343.yaml
releasenotes/notes/service-versioned-notifications-api-70367b79a565d900.yaml
releasenotes/notes/show-datamodel-api-6945b744fd5d25d5.yaml
releasenotes/notes/stale-action-plan-b6a6b08df873c128.yaml
releasenotes/notes/standard-deviation-strategy-cd1d0c443fdfde9c.yaml
releasenotes/notes/storage-workload-balance-0ecabbc1791e6894.yaml
releasenotes/notes/support-keystoneclient-option-b30d1ff45f86a2e7.yaml
releasenotes/notes/support-placement-api-58ce6bef1bbbe98a.yaml
releasenotes/notes/suspended-audit-state-07f998c94e9d9a47.yaml
releasenotes/notes/uniform-airflow-strategy-68cdba1419c3f770.yaml
releasenotes/notes/uwsgi-support-8dcea6961e56dad0.yaml
releasenotes/notes/volume-migrate-action-fc57b0ce0e4c39ae.yaml
releasenotes/notes/watcher-notifications-ovo-7b44d52ef6400dd0.yaml
releasenotes/notes/watcher-planner-selector-84d77549d46f362a.yaml
releasenotes/notes/watcher-policies-1e86a30f0f11c6fa.yaml
releasenotes/notes/watcher-service-list-7b2f4b64f71e9b89.yaml
releasenotes/notes/watcher-versioned-objects-fc5abf5c81c4590c.yaml
releasenotes/notes/workload-balance-base-on-cpu-or-ram-util-3ff4ee968c32b2ed.yaml
releasenotes/notes/workload-balance-migration-strategy-a0b05148a57815c0.yaml
releasenotes/notes/zone-migration-strategy-10f7656a2a01e607.yaml
releasenotes/source/2023.1.rst
releasenotes/source/2023.2.rst
releasenotes/source/2024.1.rst
releasenotes/source/2024.2.rst
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/newton.rst
releasenotes/source/ocata.rst
releasenotes/source/pike.rst
releasenotes/source/queens.rst
releasenotes/source/rocky.rst
releasenotes/source/stein.rst
releasenotes/source/train.rst
releasenotes/source/unreleased.rst
releasenotes/source/ussuri.rst
releasenotes/source/victoria.rst
releasenotes/source/wallaby.rst
releasenotes/source/xena.rst
releasenotes/source/yoga.rst
releasenotes/source/zed.rst
releasenotes/source/_static/.placeholder
releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
watcher/__init__.py
watcher/_i18n.py
watcher/eventlet.py
watcher/version.py
watcher/api/__init__.py
watcher/api/acl.py
watcher/api/app.py
watcher/api/app.wsgi
watcher/api/config.py
watcher/api/hooks.py
watcher/api/scheduling.py
watcher/api/wsgi.py
watcher/api/controllers/__init__.py
watcher/api/controllers/base.py
watcher/api/controllers/link.py
watcher/api/controllers/rest_api_version_history.rst
watcher/api/controllers/root.py
watcher/api/controllers/v1/__init__.py
watcher/api/controllers/v1/action.py
watcher/api/controllers/v1/action_plan.py
watcher/api/controllers/v1/audit.py
watcher/api/controllers/v1/audit_template.py
watcher/api/controllers/v1/collection.py
watcher/api/controllers/v1/data_model.py
watcher/api/controllers/v1/efficacy_indicator.py
watcher/api/controllers/v1/goal.py
watcher/api/controllers/v1/scoring_engine.py
watcher/api/controllers/v1/service.py
watcher/api/controllers/v1/strategy.py
watcher/api/controllers/v1/types.py
watcher/api/controllers/v1/utils.py
watcher/api/controllers/v1/versions.py
watcher/api/controllers/v1/webhooks.py
watcher/api/middleware/__init__.py
watcher/api/middleware/auth_token.py
watcher/api/middleware/parsable_error.py
watcher/applier/__init__.py
watcher/applier/base.py
watcher/applier/default.py
watcher/applier/manager.py
watcher/applier/rpcapi.py
watcher/applier/sync.py
watcher/applier/action_plan/__init__.py
watcher/applier/action_plan/base.py
watcher/applier/action_plan/default.py
watcher/applier/actions/__init__.py
watcher/applier/actions/base.py
watcher/applier/actions/change_node_power_state.py
watcher/applier/actions/change_nova_service_state.py
watcher/applier/actions/factory.py
watcher/applier/actions/migration.py
watcher/applier/actions/nop.py
watcher/applier/actions/resize.py
watcher/applier/actions/sleep.py
watcher/applier/actions/volume_migration.py
watcher/applier/loading/__init__.py
watcher/applier/loading/default.py
watcher/applier/messaging/__init__.py
watcher/applier/messaging/trigger.py
watcher/applier/workflow_engine/__init__.py
watcher/applier/workflow_engine/base.py
watcher/applier/workflow_engine/default.py
watcher/cmd/__init__.py
watcher/cmd/api.py
watcher/cmd/applier.py
watcher/cmd/dbmanage.py
watcher/cmd/decisionengine.py
watcher/cmd/status.py
watcher/cmd/sync.py
watcher/common/__init__.py
watcher/common/cinder_helper.py
watcher/common/clients.py
watcher/common/config.py
watcher/common/context.py
watcher/common/exception.py
watcher/common/ironic_helper.py
watcher/common/keystone_helper.py
watcher/common/nova_helper.py
watcher/common/paths.py
watcher/common/placement_helper.py
watcher/common/policy.py
watcher/common/rpc.py
watcher/common/scheduling.py
watcher/common/service.py
watcher/common/service_manager.py
watcher/common/utils.py
watcher/common/loader/__init__.py
watcher/common/loader/base.py
watcher/common/loader/default.py
watcher/common/loader/loadable.py
watcher/common/metal_helper/__init__.py
watcher/common/metal_helper/base.py
watcher/common/metal_helper/constants.py
watcher/common/metal_helper/factory.py
watcher/common/metal_helper/ironic.py
watcher/common/metal_helper/maas.py
watcher/common/policies/__init__.py
watcher/common/policies/action.py
watcher/common/policies/action_plan.py
watcher/common/policies/audit.py
watcher/common/policies/audit_template.py
watcher/common/policies/base.py
watcher/common/policies/data_model.py
watcher/common/policies/goal.py
watcher/common/policies/scoring_engine.py
watcher/common/policies/service.py
watcher/common/policies/strategy.py
watcher/common/policies/webhooks.py
watcher/conf/__init__.py
watcher/conf/api.py
watcher/conf/applier.py
watcher/conf/cinder_client.py
watcher/conf/clients_auth.py
watcher/conf/collector.py
watcher/conf/datasources.py
watcher/conf/db.py
watcher/conf/decision_engine.py
watcher/conf/exception.py
watcher/conf/glance_client.py
watcher/conf/gnocchi_client.py
watcher/conf/grafana_client.py
watcher/conf/grafana_translators.py
watcher/conf/ironic_client.py
watcher/conf/keystone_client.py
watcher/conf/maas_client.py
watcher/conf/monasca_client.py
watcher/conf/neutron_client.py
watcher/conf/nova_client.py
watcher/conf/opts.py
watcher/conf/paths.py
watcher/conf/placement_client.py
watcher/conf/planner.py
watcher/conf/plugins.py
watcher/conf/prometheus_client.py
watcher/conf/service.py
watcher/db/__init__.py
watcher/db/api.py
watcher/db/migration.py
watcher/db/purge.py
watcher/db/sqlalchemy/__init__.py
watcher/db/sqlalchemy/alembic.ini
watcher/db/sqlalchemy/api.py
watcher/db/sqlalchemy/job_store.py
watcher/db/sqlalchemy/migration.py
watcher/db/sqlalchemy/models.py
watcher/db/sqlalchemy/alembic/README.rst
watcher/db/sqlalchemy/alembic/env.py
watcher/db/sqlalchemy/alembic/script.py.mako
watcher/db/sqlalchemy/alembic/versions/001_ocata.py
watcher/db/sqlalchemy/alembic/versions/0f6042416884_add_apscheduler_jobs.py
watcher/db/sqlalchemy/alembic/versions/3cfc94cecf4e_add_name_for_audit.py
watcher/db/sqlalchemy/alembic/versions/4b16194c56bc_add_start_end_time.py
watcher/db/sqlalchemy/alembic/versions/52804f2498c4_add_hostname.py
watcher/db/sqlalchemy/alembic/versions/609bec748f2a_add_force_field.py
watcher/db/sqlalchemy/alembic/versions/a86240e89a29_.py
watcher/db/sqlalchemy/alembic/versions/d098df6021e2_cron_support_for_audit.py
watcher/db/sqlalchemy/alembic/versions/d09a5945e4a0_add_action_description_table.py
watcher/decision_engine/__init__.py
watcher/decision_engine/gmr.py
watcher/decision_engine/manager.py
watcher/decision_engine/rpcapi.py
watcher/decision_engine/scheduling.py
watcher/decision_engine/sync.py
watcher/decision_engine/threading.py
watcher/decision_engine/audit/__init__.py
watcher/decision_engine/audit/base.py
watcher/decision_engine/audit/continuous.py
watcher/decision_engine/audit/event.py
watcher/decision_engine/audit/oneshot.py
watcher/decision_engine/datasources/__init__.py
watcher/decision_engine/datasources/base.py
watcher/decision_engine/datasources/gnocchi.py
watcher/decision_engine/datasources/grafana.py
watcher/decision_engine/datasources/manager.py
watcher/decision_engine/datasources/monasca.py
watcher/decision_engine/datasources/prometheus.py
watcher/decision_engine/datasources/grafana_translator/__init__.py
watcher/decision_engine/datasources/grafana_translator/base.py
watcher/decision_engine/datasources/grafana_translator/influxdb.py
watcher/decision_engine/goal/__init__.py
watcher/decision_engine/goal/base.py
watcher/decision_engine/goal/goals.py
watcher/decision_engine/goal/efficacy/__init__.py
watcher/decision_engine/goal/efficacy/base.py
watcher/decision_engine/goal/efficacy/indicators.py
watcher/decision_engine/goal/efficacy/specs.py
watcher/decision_engine/loading/__init__.py
watcher/decision_engine/loading/default.py
watcher/decision_engine/messaging/__init__.py
watcher/decision_engine/messaging/audit_endpoint.py
watcher/decision_engine/messaging/data_model_endpoint.py
watcher/decision_engine/model/__init__.py
watcher/decision_engine/model/base.py
watcher/decision_engine/model/model_root.py
watcher/decision_engine/model/collector/__init__.py
watcher/decision_engine/model/collector/base.py
watcher/decision_engine/model/collector/cinder.py
watcher/decision_engine/model/collector/ironic.py
watcher/decision_engine/model/collector/manager.py
watcher/decision_engine/model/collector/nova.py
watcher/decision_engine/model/element/__init__.py
watcher/decision_engine/model/element/baremetal_resource.py
watcher/decision_engine/model/element/base.py
watcher/decision_engine/model/element/compute_resource.py
watcher/decision_engine/model/element/instance.py
watcher/decision_engine/model/element/node.py
watcher/decision_engine/model/element/storage_resource.py
watcher/decision_engine/model/element/volume.py
watcher/decision_engine/model/notification/__init__.py
watcher/decision_engine/model/notification/base.py
watcher/decision_engine/model/notification/cinder.py
watcher/decision_engine/model/notification/filtering.py
watcher/decision_engine/model/notification/nova.py
watcher/decision_engine/planner/__init__.py
watcher/decision_engine/planner/base.py
watcher/decision_engine/planner/manager.py
watcher/decision_engine/planner/node_resource_consolidation.py
watcher/decision_engine/planner/weight.py
watcher/decision_engine/planner/workload_stabilization.py
watcher/decision_engine/scope/__init__.py
watcher/decision_engine/scope/baremetal.py
watcher/decision_engine/scope/base.py
watcher/decision_engine/scope/compute.py
watcher/decision_engine/scope/storage.py
watcher/decision_engine/scoring/__init__.py
watcher/decision_engine/scoring/base.py
watcher/decision_engine/scoring/dummy_scorer.py
watcher/decision_engine/scoring/dummy_scoring_container.py
watcher/decision_engine/scoring/scoring_factory.py
watcher/decision_engine/solution/__init__.py
watcher/decision_engine/solution/base.py
watcher/decision_engine/solution/default.py
watcher/decision_engine/solution/efficacy.py
watcher/decision_engine/solution/solution_comparator.py
watcher/decision_engine/solution/solution_evaluator.py
watcher/decision_engine/strategy/__init__.py
watcher/decision_engine/strategy/common/__init__.py
watcher/decision_engine/strategy/common/level.py
watcher/decision_engine/strategy/context/__init__.py
watcher/decision_engine/strategy/context/base.py
watcher/decision_engine/strategy/context/default.py
watcher/decision_engine/strategy/selection/__init__.py
watcher/decision_engine/strategy/selection/base.py
watcher/decision_engine/strategy/selection/default.py
watcher/decision_engine/strategy/strategies/__init__.py
watcher/decision_engine/strategy/strategies/actuation.py
watcher/decision_engine/strategy/strategies/base.py
watcher/decision_engine/strategy/strategies/basic_consolidation.py
watcher/decision_engine/strategy/strategies/dummy_strategy.py
watcher/decision_engine/strategy/strategies/dummy_with_resize.py
watcher/decision_engine/strategy/strategies/dummy_with_scorer.py
watcher/decision_engine/strategy/strategies/host_maintenance.py
watcher/decision_engine/strategy/strategies/node_resource_consolidation.py
watcher/decision_engine/strategy/strategies/noisy_neighbor.py
watcher/decision_engine/strategy/strategies/outlet_temp_control.py
watcher/decision_engine/strategy/strategies/saving_energy.py
watcher/decision_engine/strategy/strategies/storage_capacity_balance.py
watcher/decision_engine/strategy/strategies/uniform_airflow.py
watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py
watcher/decision_engine/strategy/strategies/workload_balance.py
watcher/decision_engine/strategy/strategies/workload_stabilization.py
watcher/decision_engine/strategy/strategies/zone_migration.py
watcher/hacking/__init__.py
watcher/hacking/checks.py
watcher/locale/de/LC_MESSAGES/watcher.po
watcher/locale/en_GB/LC_MESSAGES/watcher.po
watcher/notifications/__init__.py
watcher/notifications/action.py
watcher/notifications/action_plan.py
watcher/notifications/audit.py
watcher/notifications/base.py
watcher/notifications/exception.py
watcher/notifications/goal.py
watcher/notifications/service.py
watcher/notifications/strategy.py
watcher/objects/__init__.py
watcher/objects/action.py
watcher/objects/action_description.py
watcher/objects/action_plan.py
watcher/objects/audit.py
watcher/objects/audit_template.py
watcher/objects/base.py
watcher/objects/efficacy_indicator.py
watcher/objects/fields.py
watcher/objects/goal.py
watcher/objects/scoring_engine.py
watcher/objects/service.py
watcher/objects/strategy.py
watcher/tests/__init__.py
watcher/tests/base.py
watcher/tests/conf_fixture.py
watcher/tests/config.py
watcher/tests/fake_policy.py
watcher/tests/fakes.py
watcher/tests/policy_fixture.py
watcher/tests/test_threading.py
watcher/tests/api/__init__.py
watcher/tests/api/base.py
watcher/tests/api/test_base.py
watcher/tests/api/test_config.py
watcher/tests/api/test_hooks.py
watcher/tests/api/test_root.py
watcher/tests/api/test_scheduling.py
watcher/tests/api/test_utils.py
watcher/tests/api/utils.py
watcher/tests/api/v1/__init__.py
watcher/tests/api/v1/test_actions.py
watcher/tests/api/v1/test_actions_plans.py
watcher/tests/api/v1/test_audit_templates.py
watcher/tests/api/v1/test_audits.py
watcher/tests/api/v1/test_data_model.py
watcher/tests/api/v1/test_goals.py
watcher/tests/api/v1/test_microversions.py
watcher/tests/api/v1/test_root.py
watcher/tests/api/v1/test_scoring_engines.py
watcher/tests/api/v1/test_services.py
watcher/tests/api/v1/test_strategies.py
watcher/tests/api/v1/test_types.py
watcher/tests/api/v1/test_utils.py
watcher/tests/api/v1/test_webhooks.py
watcher/tests/applier/__init__.py
watcher/tests/applier/test_applier_manager.py
watcher/tests/applier/test_rpcapi.py
watcher/tests/applier/test_sync.py
watcher/tests/applier/action_plan/__init__.py
watcher/tests/applier/action_plan/test_default_action_handler.py
watcher/tests/applier/actions/__init__.py
watcher/tests/applier/actions/test_change_node_power_state.py
watcher/tests/applier/actions/test_change_nova_service_state.py
watcher/tests/applier/actions/test_migration.py
watcher/tests/applier/actions/test_resize.py
watcher/tests/applier/actions/test_sleep.py
watcher/tests/applier/actions/test_volume_migration.py
watcher/tests/applier/actions/loading/__init__.py
watcher/tests/applier/actions/loading/test_default_actions_loader.py
watcher/tests/applier/messaging/__init__.py
watcher/tests/applier/messaging/test_trigger_action_plan_endpoint.py
watcher/tests/applier/workflow_engine/__init__.py
watcher/tests/applier/workflow_engine/test_default_workflow_engine.py
watcher/tests/applier/workflow_engine/test_taskflow_action_container.py
watcher/tests/applier/workflow_engine/loading/__init__.py
watcher/tests/applier/workflow_engine/loading/test_default_engine_loader.py
watcher/tests/cmd/__init__.py
watcher/tests/cmd/test_api.py
watcher/tests/cmd/test_applier.py
watcher/tests/cmd/test_db_manage.py
watcher/tests/cmd/test_decision_engine.py
watcher/tests/cmd/test_status.py
watcher/tests/common/__init__.py
watcher/tests/common/test_cinder_helper.py
watcher/tests/common/test_clients.py
watcher/tests/common/test_ironic_helper.py
watcher/tests/common/test_nova_helper.py
watcher/tests/common/test_placement_helper.py
watcher/tests/common/test_scheduling.py
watcher/tests/common/test_service.py
watcher/tests/common/test_utils.py
watcher/tests/common/loader/__init__.py
watcher/tests/common/loader/test_loader.py
watcher/tests/common/metal_helper/__init__.py
watcher/tests/common/metal_helper/test_base.py
watcher/tests/common/metal_helper/test_factory.py
watcher/tests/common/metal_helper/test_ironic.py
watcher/tests/common/metal_helper/test_maas.py
watcher/tests/conf/__init__.py
watcher/tests/conf/test_list_opts.py
watcher/tests/db/__init__.py
watcher/tests/db/base.py
watcher/tests/db/test_action.py
watcher/tests/db/test_action_description.py
watcher/tests/db/test_action_plan.py
watcher/tests/db/test_audit.py
watcher/tests/db/test_audit_template.py
watcher/tests/db/test_efficacy_indicator.py
watcher/tests/db/test_goal.py
watcher/tests/db/test_purge.py
watcher/tests/db/test_scoring_engine.py
watcher/tests/db/test_service.py
watcher/tests/db/test_strategy.py
watcher/tests/db/utils.py
watcher/tests/decision_engine/__init__.py
watcher/tests/decision_engine/fake_goals.py
watcher/tests/decision_engine/fake_metal_helper.py
watcher/tests/decision_engine/fake_strategies.py
watcher/tests/decision_engine/test_gmr.py
watcher/tests/decision_engine/test_rpcapi.py
watcher/tests/decision_engine/test_scheduling.py
watcher/tests/decision_engine/test_sync.py
watcher/tests/decision_engine/audit/__init__.py
watcher/tests/decision_engine/audit/test_audit_handlers.py
watcher/tests/decision_engine/cluster/__init__.py
watcher/tests/decision_engine/cluster/test_cinder_cdmc.py
watcher/tests/decision_engine/cluster/test_cluster_data_model_collector.py
watcher/tests/decision_engine/cluster/test_nova_cdmc.py
watcher/tests/decision_engine/datasources/__init__.py
watcher/tests/decision_engine/datasources/test_base.py
watcher/tests/decision_engine/datasources/test_gnocchi_helper.py
watcher/tests/decision_engine/datasources/test_grafana_helper.py
watcher/tests/decision_engine/datasources/test_manager.py
watcher/tests/decision_engine/datasources/test_monasca_helper.py
watcher/tests/decision_engine/datasources/test_prometheus_helper.py
watcher/tests/decision_engine/datasources/grafana_translators/__init__.py
watcher/tests/decision_engine/datasources/grafana_translators/test_base.py
watcher/tests/decision_engine/datasources/grafana_translators/test_influxdb.py
watcher/tests/decision_engine/event_consumer/__init__.py
watcher/tests/decision_engine/loading/__init__.py
watcher/tests/decision_engine/loading/test_collector_loader.py
watcher/tests/decision_engine/loading/test_default_planner_loader.py
watcher/tests/decision_engine/loading/test_default_strategy_loader.py
watcher/tests/decision_engine/loading/test_goal_loader.py
watcher/tests/decision_engine/messaging/__init__.py
watcher/tests/decision_engine/messaging/test_audit_endpoint.py
watcher/tests/decision_engine/messaging/test_data_model_endpoint.py
watcher/tests/decision_engine/model/__init__.py
watcher/tests/decision_engine/model/faker_cluster_and_metrics.py
watcher/tests/decision_engine/model/faker_cluster_state.py
watcher/tests/decision_engine/model/gnocchi_metrics.py
watcher/tests/decision_engine/model/monasca_metrics.py
watcher/tests/decision_engine/model/test_element.py
watcher/tests/decision_engine/model/test_model.py
watcher/tests/decision_engine/model/data/ironic_scenario_1.xml
watcher/tests/decision_engine/model/data/scenario_1.xml
watcher/tests/decision_engine/model/data/scenario_10.xml
watcher/tests/decision_engine/model/data/scenario_1_with_1_node_unavailable.xml
watcher/tests/decision_engine/model/data/scenario_1_with_all_instances_exclude.xml
watcher/tests/decision_engine/model/data/scenario_1_with_all_nodes_disable.xml
watcher/tests/decision_engine/model/data/scenario_1_with_metrics.xml
watcher/tests/decision_engine/model/data/scenario_2_with_metrics.xml
watcher/tests/decision_engine/model/data/scenario_3_with_2_nodes.xml
watcher/tests/decision_engine/model/data/scenario_3_with_metrics.xml
watcher/tests/decision_engine/model/data/scenario_4_with_1_node_no_instance.xml
watcher/tests/decision_engine/model/data/scenario_5_with_instance_disk_0.xml
watcher/tests/decision_engine/model/data/scenario_6_with_2_nodes.xml
watcher/tests/decision_engine/model/data/scenario_7_with_2_nodes.xml
watcher/tests/decision_engine/model/data/scenario_8_with_4_nodes.xml
watcher/tests/decision_engine/model/data/scenario_9_with_3_active_plus_1_disabled_nodes.xml
watcher/tests/decision_engine/model/data/storage_scenario_1.xml
watcher/tests/decision_engine/model/notification/__init__.py
watcher/tests/decision_engine/model/notification/fake_managers.py
watcher/tests/decision_engine/model/notification/test_cinder_notifications.py
watcher/tests/decision_engine/model/notification/test_notifications.py
watcher/tests/decision_engine/model/notification/test_nova_notifications.py
watcher/tests/decision_engine/model/notification/data/capacity.json
watcher/tests/decision_engine/model/notification/data/instance-create-end.json
watcher/tests/decision_engine/model/notification/data/instance-delete-end.json
watcher/tests/decision_engine/model/notification/data/instance-live_migration_force_complete-end.json
watcher/tests/decision_engine/model/notification/data/instance-live_migration_post-end.json
watcher/tests/decision_engine/model/notification/data/instance-lock.json
watcher/tests/decision_engine/model/notification/data/instance-pause-end.json
watcher/tests/decision_engine/model/notification/data/instance-power_off-end.json
watcher/tests/decision_engine/model/notification/data/instance-power_on-end.json
watcher/tests/decision_engine/model/notification/data/instance-rebuild-end.json
watcher/tests/decision_engine/model/notification/data/instance-rescue-end.json
watcher/tests/decision_engine/model/notification/data/instance-resize_confirm-end.json
watcher/tests/decision_engine/model/notification/data/instance-restore-end.json
watcher/tests/decision_engine/model/notification/data/instance-resume-end.json
watcher/tests/decision_engine/model/notification/data/instance-shelve-end.json
watcher/tests/decision_engine/model/notification/data/instance-shutdown-end.json
watcher/tests/decision_engine/model/notification/data/instance-soft_delete-end.json
watcher/tests/decision_engine/model/notification/data/instance-suspend-end.json
watcher/tests/decision_engine/model/notification/data/instance-unlock.json
watcher/tests/decision_engine/model/notification/data/instance-unpause-end.json
watcher/tests/decision_engine/model/notification/data/instance-unrescue-end.json
watcher/tests/decision_engine/model/notification/data/instance-unshelve-end.json
watcher/tests/decision_engine/model/notification/data/instance-update.json
watcher/tests/decision_engine/model/notification/data/scenario3_instance-update.json
watcher/tests/decision_engine/model/notification/data/scenario3_notfound_instance-update.json
watcher/tests/decision_engine/model/notification/data/scenario3_notfound_legacy_instance-update.json
watcher/tests/decision_engine/model/notification/data/scenario3_service-update-disabled.json
watcher/tests/decision_engine/model/notification/data/scenario3_service-update-enabled.json
watcher/tests/decision_engine/model/notification/data/scenario_1_bootable-volume-create.json
watcher/tests/decision_engine/model/notification/data/scenario_1_capacity.json
watcher/tests/decision_engine/model/notification/data/scenario_1_capacity_node_notfound.json
watcher/tests/decision_engine/model/notification/data/scenario_1_capacity_pool_notfound.json
watcher/tests/decision_engine/model/notification/data/scenario_1_error-volume-create.json
watcher/tests/decision_engine/model/notification/data/scenario_1_volume-attach.json
watcher/tests/decision_engine/model/notification/data/scenario_1_volume-create.json
watcher/tests/decision_engine/model/notification/data/scenario_1_volume-create_pool_notfound.json
watcher/tests/decision_engine/model/notification/data/scenario_1_volume-delete.json
watcher/tests/decision_engine/model/notification/data/scenario_1_volume-detach.json
watcher/tests/decision_engine/model/notification/data/scenario_1_volume-resize.json
watcher/tests/decision_engine/model/notification/data/scenario_1_volume-update.json
watcher/tests/decision_engine/model/notification/data/service-create.json
watcher/tests/decision_engine/model/notification/data/service-delete.json
watcher/tests/decision_engine/model/notification/data/service-update.json
watcher/tests/decision_engine/planner/__init__.py
watcher/tests/decision_engine/planner/test_node_resource_consolidation.py
watcher/tests/decision_engine/planner/test_planner_manager.py
watcher/tests/decision_engine/planner/test_weight_planner.py
watcher/tests/decision_engine/planner/test_workload_stabilization_planner.py
watcher/tests/decision_engine/scope/__init__.py
watcher/tests/decision_engine/scope/fake_scopes.py
watcher/tests/decision_engine/scope/test_baremetal.py
watcher/tests/decision_engine/scope/test_compute.py
watcher/tests/decision_engine/scope/test_storage.py
watcher/tests/decision_engine/scoring/__init__.py
watcher/tests/decision_engine/scoring/test_dummy_scorer.py
watcher/tests/decision_engine/scoring/test_dummy_scoring_container.py
watcher/tests/decision_engine/scoring/test_scoring_factory.py
watcher/tests/decision_engine/solution/__init__.py
watcher/tests/decision_engine/solution/test_default_solution.py
watcher/tests/decision_engine/strategy/__init__.py
watcher/tests/decision_engine/strategy/context/__init__.py
watcher/tests/decision_engine/strategy/context/test_strategy_context.py
watcher/tests/decision_engine/strategy/selector/__init__.py
watcher/tests/decision_engine/strategy/selector/test_strategy_selector.py
watcher/tests/decision_engine/strategy/strategies/__init__.py
watcher/tests/decision_engine/strategy/strategies/test_actuator.py
watcher/tests/decision_engine/strategy/strategies/test_base.py
watcher/tests/decision_engine/strategy/strategies/test_basic_consolidation.py
watcher/tests/decision_engine/strategy/strategies/test_dummy_strategy.py
watcher/tests/decision_engine/strategy/strategies/test_dummy_with_scorer.py
watcher/tests/decision_engine/strategy/strategies/test_host_maintenance.py
watcher/tests/decision_engine/strategy/strategies/test_node_resource_consolidation.py
watcher/tests/decision_engine/strategy/strategies/test_noisy_neighbor.py
watcher/tests/decision_engine/strategy/strategies/test_outlet_temp_control.py
watcher/tests/decision_engine/strategy/strategies/test_saving_energy.py
watcher/tests/decision_engine/strategy/strategies/test_storage_capacity_balance.py
watcher/tests/decision_engine/strategy/strategies/test_strategy_endpoint.py
watcher/tests/decision_engine/strategy/strategies/test_uniform_airflow.py
watcher/tests/decision_engine/strategy/strategies/test_vm_workload_consolidation.py
watcher/tests/decision_engine/strategy/strategies/test_workload_balance.py
watcher/tests/decision_engine/strategy/strategies/test_workload_stabilization.py
watcher/tests/decision_engine/strategy/strategies/test_zone_migration.py
watcher/tests/notifications/__init__.py
watcher/tests/notifications/test_action_notification.py
watcher/tests/notifications/test_action_plan_notification.py
watcher/tests/notifications/test_audit_notification.py
watcher/tests/notifications/test_notification.py
watcher/tests/notifications/test_service_notifications.py
watcher/tests/objects/__init__.py
watcher/tests/objects/test_action.py
watcher/tests/objects/test_action_description.py
watcher/tests/objects/test_action_plan.py
watcher/tests/objects/test_audit.py
watcher/tests/objects/test_audit_template.py
watcher/tests/objects/test_efficacy_indicator.py
watcher/tests/objects/test_goal.py
watcher/tests/objects/test_objects.py
watcher/tests/objects/test_scoring_engine.py
watcher/tests/objects/test_service.py
watcher/tests/objects/test_strategy.py
watcher/tests/objects/utils.py
watcher/wsgi/__init__.py
watcher/wsgi/api.py