watcher/__init__.py |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/_i18n.py |
11 |
1 |
0 |
0 |
0 |
91% |
watcher/api/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/api/acl.py |
7 |
0 |
0 |
2 |
0 |
100% |
watcher/api/app.py |
20 |
2 |
0 |
2 |
1 |
86% |
watcher/api/config.py |
9 |
0 |
0 |
2 |
0 |
100% |
watcher/api/controllers/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/base.py |
57 |
3 |
0 |
14 |
1 |
94% |
watcher/api/controllers/link.py |
24 |
2 |
0 |
2 |
0 |
92% |
watcher/api/controllers/root.py |
65 |
0 |
0 |
2 |
0 |
100% |
watcher/api/controllers/v1/__init__.py |
119 |
8 |
0 |
16 |
2 |
88% |
watcher/api/controllers/v1/action.py |
166 |
13 |
0 |
26 |
3 |
92% |
watcher/api/controllers/v1/action_plan.py |
296 |
30 |
0 |
80 |
20 |
86% |
watcher/api/controllers/v1/audit.py |
392 |
44 |
0 |
120 |
22 |
85% |
watcher/api/controllers/v1/audit_template.py |
371 |
31 |
0 |
114 |
21 |
88% |
watcher/api/controllers/v1/collection.py |
19 |
0 |
0 |
2 |
0 |
100% |
watcher/api/controllers/v1/data_model.py |
28 |
2 |
0 |
6 |
2 |
88% |
watcher/api/controllers/v1/efficacy_indicator.py |
22 |
0 |
0 |
4 |
0 |
100% |
watcher/api/controllers/v1/goal.py |
104 |
7 |
0 |
12 |
2 |
92% |
watcher/api/controllers/v1/scoring_engine.py |
108 |
7 |
0 |
8 |
2 |
92% |
watcher/api/controllers/v1/service.py |
126 |
9 |
0 |
14 |
4 |
91% |
watcher/api/controllers/v1/strategy.py |
176 |
15 |
0 |
34 |
11 |
87% |
watcher/api/controllers/v1/types.py |
131 |
20 |
0 |
34 |
2 |
79% |
watcher/api/controllers/v1/utils.py |
89 |
8 |
0 |
44 |
0 |
88% |
watcher/api/controllers/v1/versions.py |
17 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/webhooks.py |
29 |
1 |
0 |
6 |
1 |
94% |
watcher/api/hooks.py |
34 |
0 |
0 |
8 |
0 |
100% |
watcher/api/middleware/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/api/middleware/auth_token.py |
22 |
8 |
0 |
2 |
0 |
58% |
watcher/api/middleware/parsable_error.py |
38 |
8 |
0 |
6 |
1 |
80% |
watcher/api/scheduling.py |
56 |
10 |
0 |
14 |
2 |
80% |
watcher/api/wsgi.py |
16 |
16 |
0 |
2 |
0 |
0% |
watcher/applier/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/action_plan/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/action_plan/base.py |
2 |
0 |
3 |
0 |
0 |
100% |
watcher/applier/action_plan/default.py |
61 |
9 |
0 |
10 |
3 |
83% |
watcher/applier/actions/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/base.py |
37 |
1 |
55 |
6 |
1 |
95% |
watcher/applier/actions/change_node_power_state.py |
57 |
6 |
0 |
16 |
5 |
85% |
watcher/applier/actions/change_nova_service_state.py |
48 |
2 |
0 |
12 |
3 |
92% |
watcher/applier/actions/factory.py |
13 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/migration.py |
81 |
10 |
0 |
14 |
5 |
84% |
watcher/applier/actions/nop.py |
26 |
1 |
0 |
0 |
0 |
96% |
watcher/applier/actions/resize.py |
37 |
7 |
0 |
2 |
1 |
79% |
watcher/applier/actions/sleep.py |
28 |
6 |
0 |
0 |
0 |
79% |
watcher/applier/actions/volume_migration.py |
108 |
12 |
0 |
16 |
5 |
86% |
watcher/applier/base.py |
2 |
0 |
3 |
0 |
0 |
100% |
watcher/applier/default.py |
32 |
0 |
0 |
2 |
1 |
97% |
watcher/applier/loading/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/loading/default.py |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/manager.py |
26 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/messaging/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/messaging/trigger.py |
21 |
2 |
0 |
0 |
0 |
90% |
watcher/applier/rpcapi.py |
35 |
0 |
0 |
2 |
0 |
100% |
watcher/applier/sync.py |
38 |
17 |
0 |
8 |
0 |
54% |
watcher/applier/workflow_engine/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/workflow_engine/base.py |
145 |
22 |
18 |
20 |
2 |
85% |
watcher/applier/workflow_engine/default.py |
92 |
17 |
0 |
18 |
1 |
82% |
watcher/cmd/__init__.py |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/cmd/api.py |
20 |
2 |
0 |
2 |
0 |
91% |
watcher/cmd/applier.py |
17 |
0 |
0 |
0 |
0 |
100% |
watcher/cmd/dbmanage.py |
64 |
26 |
0 |
2 |
0 |
61% |
watcher/cmd/decisionengine.py |
22 |
0 |
0 |
0 |
0 |
100% |
watcher/cmd/status.py |
19 |
2 |
0 |
2 |
1 |
86% |
watcher/cmd/sync.py |
13 |
13 |
0 |
0 |
0 |
0% |
watcher/common/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/cinder_helper.py |
160 |
6 |
0 |
38 |
4 |
94% |
watcher/common/clients.py |
153 |
19 |
0 |
26 |
1 |
85% |
watcher/common/config.py |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/common/context.py |
39 |
1 |
0 |
4 |
0 |
98% |
watcher/common/exception.py |
247 |
9 |
0 |
10 |
2 |
95% |
watcher/common/ironic_helper.py |
20 |
0 |
0 |
2 |
0 |
100% |
watcher/common/keystone_helper.py |
77 |
58 |
0 |
18 |
0 |
20% |
watcher/common/loader/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/loader/base.py |
2 |
0 |
6 |
0 |
0 |
100% |
watcher/common/loader/default.py |
44 |
1 |
0 |
4 |
1 |
96% |
watcher/common/loader/loadable.py |
11 |
0 |
18 |
0 |
0 |
100% |
watcher/common/metal_helper/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/metal_helper/base.py |
28 |
0 |
20 |
8 |
0 |
100% |
watcher/common/metal_helper/constants.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/metal_helper/factory.py |
11 |
0 |
0 |
4 |
1 |
93% |
watcher/common/metal_helper/ironic.py |
48 |
0 |
0 |
10 |
0 |
100% |
watcher/common/metal_helper/maas.py |
64 |
19 |
0 |
14 |
2 |
65% |
watcher/common/nova_helper.py |
348 |
35 |
0 |
104 |
16 |
89% |
watcher/common/paths.py |
9 |
9 |
0 |
0 |
0 |
0% |
watcher/common/placement_helper.py |
77 |
2 |
0 |
18 |
2 |
96% |
watcher/common/policies/__init__.py |
13 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/action.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/action_plan.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/audit.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/audit_template.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/base.py |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/data_model.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/goal.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/scoring_engine.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/service.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/strategy.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policy.py |
32 |
11 |
0 |
10 |
1 |
62% |
watcher/common/rpc.py |
70 |
11 |
0 |
8 |
3 |
79% |
watcher/common/scheduling.py |
31 |
1 |
0 |
6 |
3 |
89% |
watcher/common/service.py |
151 |
7 |
0 |
26 |
6 |
93% |
watcher/common/service_manager.py |
2 |
0 |
28 |
0 |
0 |
100% |
watcher/common/utils.py |
89 |
44 |
0 |
20 |
4 |
52% |
watcher/conf/__init__.py |
50 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/api.py |
10 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/applier.py |
10 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/cinder_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/clients_auth.py |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/collector.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/datasources.py |
10 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/db.py |
12 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/decision_engine.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/exception.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/glance_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/gnocchi_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/grafana_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/grafana_translators.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/ironic_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/keystone_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/maas_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/monasca_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/neutron_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/nova_client.py |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/opts.py |
28 |
2 |
0 |
10 |
1 |
92% |
watcher/conf/paths.py |
13 |
2 |
0 |
0 |
0 |
85% |
watcher/conf/placement_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/planner.py |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/plugins.py |
28 |
5 |
0 |
10 |
0 |
82% |
watcher/conf/prometheus_client.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/service.py |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/db/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/api.py |
15 |
0 |
730 |
0 |
0 |
100% |
watcher/db/migration.py |
20 |
10 |
0 |
2 |
0 |
45% |
watcher/db/purge.py |
246 |
17 |
0 |
44 |
3 |
91% |
watcher/db/sqlalchemy/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/alembic/env.py |
12 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/alembic/versions/001_ocata.py |
26 |
9 |
0 |
0 |
0 |
65% |
watcher/db/sqlalchemy/alembic/versions/0f6042416884_add_apscheduler_jobs.py |
17 |
2 |
0 |
2 |
1 |
84% |
watcher/db/sqlalchemy/alembic/versions/15f7375ca737_change_efficiacy_indicator_decimals.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/alembic/versions/3cfc94cecf4e_add_name_for_audit.py |
8 |
1 |
0 |
0 |
0 |
88% |
watcher/db/sqlalchemy/alembic/versions/4b16194c56bc_add_start_end_time.py |
10 |
2 |
0 |
0 |
0 |
80% |
watcher/db/sqlalchemy/alembic/versions/52804f2498c4_add_hostname.py |
10 |
2 |
0 |
4 |
0 |
71% |
watcher/db/sqlalchemy/alembic/versions/609bec748f2a_add_force_field.py |
8 |
1 |
0 |
0 |
0 |
88% |
watcher/db/sqlalchemy/alembic/versions/a86240e89a29_.py |
22 |
9 |
0 |
4 |
1 |
54% |
watcher/db/sqlalchemy/alembic/versions/d098df6021e2_cron_support_for_audit.py |
10 |
2 |
0 |
0 |
0 |
80% |
watcher/db/sqlalchemy/alembic/versions/d09a5945e4a0_add_action_description_table.py |
9 |
1 |
0 |
0 |
0 |
89% |
watcher/db/sqlalchemy/api.py |
643 |
41 |
0 |
106 |
3 |
94% |
watcher/db/sqlalchemy/job_store.py |
54 |
28 |
0 |
4 |
0 |
45% |
watcher/db/sqlalchemy/migration.py |
39 |
9 |
0 |
6 |
3 |
73% |
watcher/db/sqlalchemy/models.py |
166 |
2 |
0 |
10 |
2 |
98% |
watcher/decision_engine/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/audit/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/audit/base.py |
77 |
1 |
12 |
10 |
2 |
97% |
watcher/decision_engine/audit/continuous.py |
121 |
18 |
0 |
48 |
11 |
82% |
watcher/decision_engine/audit/event.py |
6 |
2 |
0 |
0 |
0 |
67% |
watcher/decision_engine/audit/oneshot.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/base.py |
36 |
2 |
153 |
4 |
0 |
95% |
watcher/decision_engine/datasources/gnocchi.py |
107 |
25 |
0 |
32 |
13 |
70% |
watcher/decision_engine/datasources/grafana.py |
117 |
8 |
1 |
24 |
8 |
89% |
watcher/decision_engine/datasources/grafana_translator/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/grafana_translator/base.py |
33 |
4 |
8 |
8 |
2 |
85% |
watcher/decision_engine/datasources/grafana_translator/influxdb.py |
38 |
3 |
0 |
6 |
0 |
93% |
watcher/decision_engine/datasources/manager.py |
96 |
17 |
0 |
26 |
1 |
84% |
watcher/decision_engine/datasources/monasca.py |
70 |
10 |
9 |
14 |
2 |
81% |
watcher/decision_engine/datasources/prometheus.py |
173 |
11 |
1 |
62 |
6 |
92% |
watcher/decision_engine/gmr.py |
17 |
0 |
0 |
2 |
0 |
100% |
watcher/decision_engine/goal/__init__.py |
10 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/base.py |
11 |
0 |
21 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/base.py |
25 |
0 |
20 |
6 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
116 |
12 |
8 |
0 |
0 |
90% |
watcher/decision_engine/goal/efficacy/specs.py |
50 |
0 |
0 |
12 |
1 |
98% |
watcher/decision_engine/goal/goals.py |
133 |
10 |
0 |
0 |
0 |
92% |
watcher/decision_engine/loading/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/loading/default.py |
19 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/manager.py |
32 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/messaging/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/messaging/audit_endpoint.py |
29 |
1 |
0 |
4 |
2 |
91% |
watcher/decision_engine/messaging/data_model_endpoint.py |
30 |
3 |
0 |
8 |
3 |
84% |
watcher/decision_engine/model/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/base.py |
2 |
0 |
6 |
0 |
0 |
100% |
watcher/decision_engine/model/collector/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/collector/base.py |
56 |
6 |
33 |
4 |
1 |
88% |
watcher/decision_engine/model/collector/cinder.py |
102 |
13 |
0 |
16 |
3 |
86% |
watcher/decision_engine/model/collector/ironic.py |
46 |
22 |
0 |
8 |
2 |
48% |
watcher/decision_engine/model/collector/manager.py |
26 |
1 |
0 |
8 |
2 |
91% |
watcher/decision_engine/model/collector/nova.py |
184 |
20 |
0 |
58 |
9 |
87% |
watcher/decision_engine/model/element/__init__.py |
13 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/baremetal_resource.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/base.py |
27 |
0 |
3 |
6 |
0 |
100% |
watcher/decision_engine/model/element/compute_resource.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/instance.py |
20 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/model/element/node.py |
36 |
0 |
4 |
0 |
0 |
100% |
watcher/decision_engine/model/element/storage_resource.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/volume.py |
20 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/model/model_root.py |
474 |
29 |
0 |
116 |
22 |
91% |
watcher/decision_engine/model/notification/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/base.py |
9 |
0 |
5 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/cinder.py |
209 |
33 |
0 |
24 |
4 |
82% |
watcher/decision_engine/model/notification/filtering.py |
29 |
4 |
0 |
20 |
4 |
84% |
watcher/decision_engine/model/notification/nova.py |
202 |
26 |
0 |
36 |
11 |
84% |
watcher/decision_engine/planner/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/planner/base.py |
6 |
0 |
14 |
0 |
0 |
100% |
watcher/decision_engine/planner/manager.py |
12 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/planner/node_resource_consolidation.py |
78 |
7 |
0 |
22 |
1 |
92% |
watcher/decision_engine/planner/weight.py |
85 |
8 |
0 |
26 |
3 |
90% |
watcher/decision_engine/planner/workload_stabilization.py |
141 |
13 |
3 |
26 |
4 |
90% |
watcher/decision_engine/rpcapi.py |
39 |
0 |
0 |
2 |
0 |
100% |
watcher/decision_engine/scheduling.py |
60 |
1 |
0 |
6 |
1 |
97% |
watcher/decision_engine/scope/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scope/baremetal.py |
32 |
3 |
0 |
20 |
7 |
81% |
watcher/decision_engine/scope/base.py |
7 |
0 |
3 |
0 |
0 |
100% |
watcher/decision_engine/scope/compute.py |
135 |
8 |
0 |
76 |
12 |
91% |
watcher/decision_engine/scope/storage.py |
104 |
3 |
0 |
62 |
7 |
94% |
watcher/decision_engine/scoring/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scoring/base.py |
10 |
0 |
57 |
0 |
0 |
100% |
watcher/decision_engine/scoring/dummy_scorer.py |
56 |
4 |
0 |
14 |
2 |
91% |
watcher/decision_engine/scoring/dummy_scoring_container.py |
33 |
4 |
0 |
4 |
2 |
84% |
watcher/decision_engine/scoring/scoring_factory.py |
29 |
0 |
0 |
10 |
0 |
100% |
watcher/decision_engine/solution/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/solution/base.py |
22 |
0 |
18 |
0 |
0 |
100% |
watcher/decision_engine/solution/default.py |
25 |
2 |
0 |
8 |
1 |
91% |
watcher/decision_engine/solution/efficacy.py |
40 |
4 |
0 |
4 |
1 |
89% |
watcher/decision_engine/solution/solution_comparator.py |
2 |
2 |
3 |
0 |
0 |
0% |
watcher/decision_engine/solution/solution_evaluator.py |
2 |
2 |
3 |
0 |
0 |
0% |
watcher/decision_engine/strategy/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/common/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/common/level.py |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/context/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/context/base.py |
13 |
0 |
12 |
0 |
0 |
100% |
watcher/decision_engine/strategy/context/default.py |
29 |
0 |
0 |
4 |
1 |
97% |
watcher/decision_engine/strategy/selection/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/selection/base.py |
2 |
0 |
3 |
0 |
0 |
100% |
watcher/decision_engine/strategy/selection/default.py |
29 |
0 |
0 |
4 |
0 |
100% |
watcher/decision_engine/strategy/strategies/__init__.py |
33 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/actuation.py |
28 |
2 |
0 |
2 |
0 |
93% |
watcher/decision_engine/strategy/strategies/base.py |
269 |
46 |
46 |
50 |
9 |
77% |
watcher/decision_engine/strategy/strategies/basic_consolidation.py |
165 |
8 |
0 |
40 |
6 |
93% |
watcher/decision_engine/strategy/strategies/dummy_strategy.py |
32 |
1 |
0 |
0 |
0 |
97% |
watcher/decision_engine/strategy/strategies/dummy_with_resize.py |
35 |
15 |
0 |
0 |
0 |
57% |
watcher/decision_engine/strategy/strategies/dummy_with_scorer.py |
67 |
2 |
0 |
0 |
0 |
97% |
watcher/decision_engine/strategy/strategies/host_maintenance.py |
102 |
9 |
0 |
34 |
6 |
88% |
watcher/decision_engine/strategy/strategies/node_resource_consolidation.py |
154 |
7 |
0 |
72 |
11 |
92% |
watcher/decision_engine/strategy/strategies/noisy_neighbor.py |
125 |
17 |
0 |
42 |
11 |
83% |
watcher/decision_engine/strategy/strategies/outlet_temp_control.py |
106 |
17 |
0 |
28 |
10 |
80% |
watcher/decision_engine/strategy/strategies/saving_energy.py |
90 |
9 |
0 |
22 |
4 |
87% |
watcher/decision_engine/strategy/strategies/storage_capacity_balance.py |
225 |
25 |
0 |
84 |
21 |
85% |
watcher/decision_engine/strategy/strategies/uniform_airflow.py |
136 |
15 |
0 |
42 |
11 |
85% |
watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py |
256 |
22 |
0 |
94 |
15 |
88% |
watcher/decision_engine/strategy/strategies/workload_balance.py |
154 |
25 |
0 |
50 |
13 |
80% |
watcher/decision_engine/strategy/strategies/workload_stabilization.py |
256 |
22 |
0 |
86 |
13 |
89% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
404 |
34 |
0 |
138 |
31 |
88% |
watcher/decision_engine/sync.py |
315 |
24 |
0 |
122 |
17 |
90% |
watcher/decision_engine/threading.py |
26 |
0 |
0 |
4 |
0 |
100% |
watcher/eventlet.py |
13 |
0 |
0 |
4 |
1 |
94% |
watcher/notifications/__init__.py |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
126 |
0 |
0 |
6 |
0 |
100% |
watcher/notifications/action_plan.py |
137 |
0 |
0 |
8 |
2 |
99% |
watcher/notifications/audit.py |
116 |
1 |
0 |
10 |
1 |
98% |
watcher/notifications/base.py |
77 |
4 |
0 |
14 |
1 |
95% |
watcher/notifications/exception.py |
19 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/goal.py |
11 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/service.py |
38 |
2 |
0 |
2 |
1 |
92% |
watcher/notifications/strategy.py |
11 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/__init__.py |
11 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/action.py |
71 |
0 |
0 |
4 |
0 |
100% |
watcher/objects/action_description.py |
47 |
3 |
0 |
6 |
1 |
92% |
watcher/objects/action_plan.py |
121 |
2 |
0 |
14 |
0 |
99% |
watcher/objects/audit.py |
118 |
3 |
0 |
8 |
0 |
98% |
watcher/objects/audit_template.py |
62 |
0 |
0 |
4 |
0 |
100% |
watcher/objects/base.py |
61 |
0 |
0 |
20 |
0 |
100% |
watcher/objects/efficacy_indicator.py |
51 |
0 |
0 |
4 |
0 |
100% |
watcher/objects/fields.py |
101 |
4 |
0 |
14 |
3 |
94% |
watcher/objects/goal.py |
60 |
5 |
0 |
4 |
1 |
91% |
watcher/objects/scoring_engine.py |
58 |
2 |
0 |
4 |
2 |
94% |
watcher/objects/service.py |
50 |
1 |
0 |
6 |
1 |
96% |
watcher/objects/strategy.py |
60 |
0 |
0 |
8 |
0 |
100% |
watcher/version.py |
3 |
0 |
0 |
0 |
0 |
100% |
watcher/wsgi/__init__.py |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/wsgi/api.py |
6 |
6 |
0 |
2 |
0 |
0% |