watcher/__init__.py |
(no class) |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/_i18n.py |
(no class) |
11 |
1 |
0 |
0 |
0 |
91% |
watcher/api/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/api/acl.py |
(no class) |
7 |
0 |
0 |
2 |
0 |
100% |
watcher/api/app.py |
VersionSelectorApplication |
3 |
1 |
0 |
0 |
0 |
67% |
watcher/api/app.py |
(no class) |
17 |
1 |
0 |
2 |
1 |
89% |
watcher/api/config.py |
(no class) |
9 |
0 |
0 |
2 |
0 |
100% |
watcher/api/controllers/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/base.py |
APIBase |
6 |
1 |
0 |
6 |
1 |
83% |
watcher/api/controllers/base.py |
Version |
21 |
2 |
0 |
8 |
0 |
93% |
watcher/api/controllers/base.py |
(no class) |
30 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/link.py |
Link |
4 |
2 |
0 |
0 |
0 |
50% |
watcher/api/controllers/link.py |
(no class) |
20 |
0 |
0 |
2 |
0 |
100% |
watcher/api/controllers/root.py |
APIStatus |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/root.py |
Version |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/root.py |
Root |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/root.py |
RootController |
4 |
0 |
0 |
2 |
0 |
100% |
watcher/api/controllers/root.py |
(no class) |
47 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/__init__.py |
APIBase |
6 |
6 |
0 |
6 |
0 |
0% |
watcher/api/controllers/v1/__init__.py |
MediaType |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/__init__.py |
V1 |
16 |
0 |
0 |
4 |
0 |
100% |
watcher/api/controllers/v1/__init__.py |
Controller |
15 |
2 |
0 |
6 |
2 |
81% |
watcher/api/controllers/v1/__init__.py |
(no class) |
80 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/action.py |
ActionPatchType |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/action.py |
Action |
38 |
6 |
0 |
10 |
0 |
88% |
watcher/api/controllers/v1/action.py |
ActionCollection |
8 |
3 |
0 |
0 |
0 |
62% |
watcher/api/controllers/v1/action.py |
ActionsController |
44 |
4 |
0 |
16 |
3 |
88% |
watcher/api/controllers/v1/action.py |
(no class) |
75 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/action_plan.py |
ActionPlanPatchType |
12 |
2 |
0 |
6 |
1 |
83% |
watcher/api/controllers/v1/action_plan.py |
ActionPlan |
76 |
14 |
0 |
32 |
10 |
76% |
watcher/api/controllers/v1/action_plan.py |
ActionPlanCollection |
8 |
3 |
0 |
0 |
0 |
62% |
watcher/api/controllers/v1/action_plan.py |
ActionPlansController |
101 |
11 |
0 |
42 |
9 |
85% |
watcher/api/controllers/v1/action_plan.py |
(no class) |
99 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/audit.py |
AuditPostType |
47 |
12 |
0 |
34 |
4 |
75% |
watcher/api/controllers/v1/audit.py |
AuditPatchType |
8 |
2 |
0 |
2 |
1 |
70% |
watcher/api/controllers/v1/audit.py |
Audit |
76 |
11 |
0 |
34 |
9 |
82% |
watcher/api/controllers/v1/audit.py |
AuditCollection |
9 |
3 |
0 |
0 |
0 |
67% |
watcher/api/controllers/v1/audit.py |
AuditsController |
112 |
13 |
0 |
44 |
8 |
84% |
watcher/api/controllers/v1/audit.py |
(no class) |
140 |
3 |
0 |
6 |
0 |
97% |
watcher/api/controllers/v1/audit_template.py |
AuditTemplatePostType |
44 |
6 |
0 |
26 |
2 |
89% |
watcher/api/controllers/v1/audit_template.py |
AuditTemplatePatchType |
30 |
2 |
0 |
18 |
3 |
90% |
watcher/api/controllers/v1/audit_template.py |
AuditTemplate |
78 |
10 |
0 |
34 |
10 |
82% |
watcher/api/controllers/v1/audit_template.py |
AuditTemplateCollection |
9 |
3 |
0 |
0 |
0 |
67% |
watcher/api/controllers/v1/audit_template.py |
AuditTemplatesController |
90 |
10 |
0 |
36 |
6 |
84% |
watcher/api/controllers/v1/audit_template.py |
(no class) |
120 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/collection.py |
Collection |
8 |
0 |
0 |
2 |
0 |
100% |
watcher/api/controllers/v1/collection.py |
(no class) |
11 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/data_model.py |
DataModelController |
13 |
2 |
0 |
6 |
2 |
79% |
watcher/api/controllers/v1/data_model.py |
(no class) |
15 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/efficacy_indicator.py |
EfficacyIndicator |
8 |
0 |
0 |
4 |
0 |
100% |
watcher/api/controllers/v1/efficacy_indicator.py |
(no class) |
14 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/goal.py |
Goal |
16 |
2 |
0 |
6 |
0 |
91% |
watcher/api/controllers/v1/goal.py |
GoalCollection |
9 |
3 |
0 |
0 |
0 |
67% |
watcher/api/controllers/v1/goal.py |
GoalsController |
27 |
2 |
0 |
6 |
2 |
88% |
watcher/api/controllers/v1/goal.py |
(no class) |
52 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/scoring_engine.py |
ScoringEngine |
19 |
2 |
0 |
2 |
0 |
90% |
watcher/api/controllers/v1/scoring_engine.py |
ScoringEngineCollection |
9 |
3 |
0 |
0 |
0 |
67% |
watcher/api/controllers/v1/scoring_engine.py |
ScoringEngineController |
28 |
2 |
0 |
6 |
2 |
88% |
watcher/api/controllers/v1/scoring_engine.py |
(no class) |
52 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/service.py |
Service |
27 |
4 |
0 |
8 |
2 |
83% |
watcher/api/controllers/v1/service.py |
ServiceCollection |
9 |
3 |
0 |
0 |
0 |
67% |
watcher/api/controllers/v1/service.py |
ServicesController |
27 |
2 |
0 |
6 |
2 |
88% |
watcher/api/controllers/v1/service.py |
(no class) |
63 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/strategy.py |
Strategy |
47 |
6 |
0 |
16 |
7 |
79% |
watcher/api/controllers/v1/strategy.py |
StrategyCollection |
9 |
3 |
0 |
0 |
0 |
67% |
watcher/api/controllers/v1/strategy.py |
StrategiesController |
53 |
6 |
0 |
18 |
4 |
83% |
watcher/api/controllers/v1/strategy.py |
(no class) |
67 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/types.py |
UuidOrNameType |
6 |
3 |
0 |
4 |
0 |
50% |
watcher/api/controllers/v1/types.py |
IntervalOrCron |
6 |
2 |
0 |
4 |
2 |
60% |
watcher/api/controllers/v1/types.py |
NameType |
6 |
3 |
0 |
4 |
0 |
50% |
watcher/api/controllers/v1/types.py |
UuidType |
6 |
0 |
0 |
4 |
0 |
100% |
watcher/api/controllers/v1/types.py |
BooleanType |
7 |
3 |
0 |
2 |
0 |
44% |
watcher/api/controllers/v1/types.py |
JsonType |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/types.py |
MultiType |
8 |
8 |
0 |
6 |
0 |
0% |
watcher/api/controllers/v1/types.py |
JsonPatchType |
17 |
1 |
0 |
10 |
0 |
96% |
watcher/api/controllers/v1/types.py |
(no class) |
68 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/utils.py |
(no class) |
89 |
8 |
0 |
44 |
0 |
88% |
watcher/api/controllers/v1/versions.py |
VERSIONS |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/versions.py |
(no class) |
17 |
0 |
0 |
0 |
0 |
100% |
watcher/api/controllers/v1/webhooks.py |
WebhookController |
13 |
1 |
0 |
6 |
1 |
89% |
watcher/api/controllers/v1/webhooks.py |
(no class) |
16 |
0 |
0 |
0 |
0 |
100% |
watcher/api/hooks.py |
ContextHook |
13 |
0 |
0 |
0 |
0 |
100% |
watcher/api/hooks.py |
NoExceptionTracebackHook |
13 |
0 |
0 |
8 |
0 |
100% |
watcher/api/hooks.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/api/middleware/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/api/middleware/auth_token.py |
AuthTokenMiddleware |
12 |
8 |
0 |
2 |
0 |
29% |
watcher/api/middleware/auth_token.py |
(no class) |
10 |
0 |
0 |
0 |
0 |
100% |
watcher/api/middleware/parsable_error.py |
ParsableErrorMiddleware |
29 |
8 |
0 |
6 |
1 |
74% |
watcher/api/middleware/parsable_error.py |
(no class) |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/api/scheduling.py |
APISchedulingService |
37 |
10 |
0 |
14 |
2 |
73% |
watcher/api/scheduling.py |
(no class) |
19 |
0 |
0 |
0 |
0 |
100% |
watcher/api/wsgi.py |
(no class) |
16 |
16 |
0 |
2 |
0 |
0% |
watcher/applier/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/action_plan/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/action_plan/base.py |
BaseActionPlanHandler |
0 |
0 |
1 |
0 |
0 |
100% |
watcher/applier/action_plan/base.py |
(no class) |
2 |
0 |
2 |
0 |
0 |
100% |
watcher/applier/action_plan/default.py |
DefaultActionPlanHandler |
47 |
9 |
0 |
10 |
3 |
79% |
watcher/applier/action_plan/default.py |
(no class) |
14 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/base.py |
BaseAction |
17 |
1 |
42 |
6 |
1 |
91% |
watcher/applier/actions/base.py |
(no class) |
20 |
0 |
13 |
0 |
0 |
100% |
watcher/applier/actions/change_node_power_state.py |
ChangeNodePowerState |
35 |
6 |
0 |
16 |
5 |
78% |
watcher/applier/actions/change_node_power_state.py |
(no class) |
22 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/change_nova_service_state.py |
ChangeNovaServiceState |
25 |
2 |
0 |
12 |
3 |
86% |
watcher/applier/actions/change_nova_service_state.py |
(no class) |
23 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/factory.py |
ActionFactory |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/factory.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/migration.py |
Migrate |
48 |
10 |
0 |
14 |
5 |
76% |
watcher/applier/actions/migration.py |
(no class) |
33 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/nop.py |
Nop |
11 |
1 |
0 |
0 |
0 |
91% |
watcher/applier/actions/nop.py |
(no class) |
15 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/resize.py |
Resize |
19 |
7 |
0 |
2 |
1 |
62% |
watcher/applier/actions/resize.py |
(no class) |
18 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/sleep.py |
Sleep |
12 |
6 |
0 |
0 |
0 |
50% |
watcher/applier/actions/sleep.py |
(no class) |
16 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/actions/volume_migration.py |
VolumeMigrate |
65 |
12 |
0 |
16 |
5 |
79% |
watcher/applier/actions/volume_migration.py |
(no class) |
43 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/base.py |
BaseApplier |
0 |
0 |
1 |
0 |
0 |
100% |
watcher/applier/base.py |
(no class) |
2 |
0 |
2 |
0 |
0 |
100% |
watcher/applier/default.py |
DefaultApplier |
16 |
0 |
0 |
2 |
1 |
94% |
watcher/applier/default.py |
(no class) |
16 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/loading/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/loading/default.py |
DefaultWorkFlowEngineLoader |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/loading/default.py |
DefaultActionLoader |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/loading/default.py |
(no class) |
5 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/manager.py |
ApplierManager |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/manager.py |
(no class) |
19 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/messaging/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/messaging/trigger.py |
TriggerActionPlan |
11 |
2 |
0 |
0 |
0 |
82% |
watcher/applier/messaging/trigger.py |
(no class) |
10 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/rpcapi.py |
ApplierAPI |
4 |
0 |
0 |
2 |
0 |
100% |
watcher/applier/rpcapi.py |
ApplierAPIManager |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/rpcapi.py |
(no class) |
24 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/sync.py |
Syncer |
27 |
17 |
0 |
8 |
0 |
40% |
watcher/applier/sync.py |
(no class) |
11 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/workflow_engine/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/applier/workflow_engine/base.py |
BaseWorkFlowEngine |
22 |
2 |
1 |
4 |
0 |
92% |
watcher/applier/workflow_engine/base.py |
BaseTaskFlowActionContainer |
84 |
20 |
5 |
16 |
2 |
78% |
watcher/applier/workflow_engine/base.py |
(no class) |
39 |
0 |
12 |
0 |
0 |
100% |
watcher/applier/workflow_engine/default.py |
DefaultWorkFlowEngine |
31 |
8 |
0 |
12 |
0 |
77% |
watcher/applier/workflow_engine/default.py |
TaskFlowActionContainer |
32 |
8 |
0 |
6 |
1 |
76% |
watcher/applier/workflow_engine/default.py |
TaskFlowNop |
1 |
1 |
0 |
0 |
0 |
0% |
watcher/applier/workflow_engine/default.py |
(no class) |
28 |
0 |
0 |
0 |
0 |
100% |
watcher/cmd/__init__.py |
(no class) |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/cmd/api.py |
(no class) |
20 |
2 |
0 |
2 |
0 |
91% |
watcher/cmd/applier.py |
(no class) |
17 |
0 |
0 |
0 |
0 |
100% |
watcher/cmd/dbmanage.py |
DBCommand |
7 |
1 |
0 |
0 |
0 |
86% |
watcher/cmd/dbmanage.py |
(no class) |
57 |
25 |
0 |
2 |
0 |
58% |
watcher/cmd/decisionengine.py |
(no class) |
22 |
0 |
0 |
0 |
0 |
100% |
watcher/cmd/status.py |
Checks |
5 |
0 |
0 |
0 |
0 |
100% |
watcher/cmd/status.py |
(no class) |
14 |
2 |
0 |
2 |
1 |
81% |
watcher/cmd/sync.py |
(no class) |
13 |
13 |
0 |
0 |
0 |
0% |
watcher/common/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/cinder_helper.py |
CinderHelper |
129 |
6 |
0 |
38 |
4 |
93% |
watcher/common/cinder_helper.py |
(no class) |
31 |
0 |
0 |
0 |
0 |
100% |
watcher/common/clients.py |
OpenStackClients |
100 |
17 |
0 |
24 |
1 |
81% |
watcher/common/clients.py |
(no class) |
53 |
2 |
0 |
2 |
0 |
96% |
watcher/common/config.py |
(no class) |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/common/context.py |
RequestContext |
25 |
1 |
0 |
4 |
0 |
97% |
watcher/common/context.py |
(no class) |
14 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
WatcherException |
22 |
7 |
0 |
10 |
2 |
66% |
watcher/common/exception.py |
UnsupportedError |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
NotAuthorized |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
NotAcceptable |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
PolicyNotAuthorized |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
OperationNotPermitted |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
Invalid |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ObjectNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
Conflict |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ResourceNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidParameter |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
MissingParameter |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidIdentity |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidOperator |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidGoal |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidStrategy |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidAudit |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
EagerlyLoadedAuditRequired |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidActionPlan |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
EagerlyLoadedActionPlanRequired |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
EagerlyLoadedActionRequired |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidUUID |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidName |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidUuidOrName |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidIntervalOrCron |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
DataModelTypeNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
GoalNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
GoalAlreadyExists |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
StrategyNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
StrategyAlreadyExists |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditTemplateNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditTemplateAlreadyExists |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditTypeNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditTypeNotAllowed |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditStateNotAllowed |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditParameterNotAllowed |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditAlreadyExists |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditIntervalNotSpecified |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditIntervalNotAllowed |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditStartEndTimeNotAllowed |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuditReferenced |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionPlanNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionPlanAlreadyExists |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionPlanReferenced |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionPlanCancelled |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionPlanIsOngoing |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionAlreadyExists |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionReferenced |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionFilterCombinationProhibited |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
UnsupportedActionType |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
EfficacyIndicatorNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
EfficacyIndicatorAlreadyExists |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ScoringEngineAlreadyExists |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ScoringEngineNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
HTTPNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
PatchError |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
DeleteError |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
StartError |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
WorkflowExecutionException |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
IllegalArgumentException |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
AuthorizationFailure |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ClusterStateStale |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ClusterDataModelCollectionError |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ClusterStateNotDefined |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
NoAvailableStrategyForGoal |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidIndicatorValue |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
GlobalEfficacyComputationError |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
UnsupportedDataSource |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
DataSourceNotAvailable |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
MetricNotAvailable |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
NoDatasourceAvailable |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
NoSuchMetricForHost |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ServiceAlreadyExists |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ServiceNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
WildcardCharacterIsUsed |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
CronFormatIsInvalid |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionDescriptionAlreadyExists |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionDescriptionNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ActionExecutionFailure |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ComputeResourceNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InstanceNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InstanceNotMapped |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ComputeNodeNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
StorageResourceNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
StorageNodeNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
PoolNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
VolumeNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
BaremetalResourceNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
IronicNodeNotFound |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
LoadingError |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
ReservedWord |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
NotSoftDeletedStateError |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
NegativeLimitError |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
NotificationPayloadError |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
InvalidPoolAttributeValue |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/exception.py |
(no class) |
225 |
2 |
0 |
0 |
0 |
99% |
watcher/common/ironic_helper.py |
IronicHelper |
11 |
0 |
0 |
2 |
0 |
100% |
watcher/common/ironic_helper.py |
(no class) |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/common/keystone_helper.py |
KeystoneHelper |
58 |
58 |
0 |
18 |
0 |
0% |
watcher/common/keystone_helper.py |
(no class) |
19 |
0 |
0 |
0 |
0 |
100% |
watcher/common/loader/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/loader/base.py |
BaseLoader |
0 |
0 |
2 |
0 |
0 |
100% |
watcher/common/loader/base.py |
(no class) |
2 |
0 |
4 |
0 |
0 |
100% |
watcher/common/loader/default.py |
DefaultLoader |
29 |
1 |
0 |
4 |
1 |
94% |
watcher/common/loader/default.py |
(no class) |
15 |
0 |
0 |
0 |
0 |
100% |
watcher/common/loader/loadable.py |
Loadable |
2 |
0 |
6 |
0 |
0 |
100% |
watcher/common/loader/loadable.py |
LoadableSingleton |
2 |
0 |
6 |
0 |
0 |
100% |
watcher/common/loader/loadable.py |
(no class) |
7 |
0 |
6 |
0 |
0 |
100% |
watcher/common/metal_helper/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/metal_helper/base.py |
BaseMetalNode |
11 |
0 |
5 |
6 |
0 |
100% |
watcher/common/metal_helper/base.py |
BaseMetalHelper |
4 |
0 |
2 |
2 |
0 |
100% |
watcher/common/metal_helper/base.py |
(no class) |
13 |
0 |
13 |
0 |
0 |
100% |
watcher/common/metal_helper/constants.py |
PowerState |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/common/metal_helper/constants.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/metal_helper/factory.py |
(no class) |
11 |
0 |
0 |
4 |
1 |
93% |
watcher/common/metal_helper/ironic.py |
IronicNode |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/common/metal_helper/ironic.py |
IronicHelper |
24 |
0 |
0 |
10 |
0 |
100% |
watcher/common/metal_helper/ironic.py |
(no class) |
17 |
0 |
0 |
0 |
0 |
100% |
watcher/common/metal_helper/maas.py |
MaasNode |
11 |
2 |
0 |
0 |
0 |
82% |
watcher/common/metal_helper/maas.py |
MaasHelper |
27 |
15 |
0 |
14 |
2 |
44% |
watcher/common/metal_helper/maas.py |
(no class) |
26 |
2 |
0 |
0 |
0 |
92% |
watcher/common/nova_helper.py |
NovaHelper |
301 |
35 |
0 |
104 |
16 |
87% |
watcher/common/nova_helper.py |
(no class) |
47 |
0 |
0 |
0 |
0 |
100% |
watcher/common/paths.py |
(no class) |
9 |
9 |
0 |
0 |
0 |
0% |
watcher/common/placement_helper.py |
PlacementHelper |
60 |
2 |
0 |
18 |
2 |
95% |
watcher/common/placement_helper.py |
(no class) |
17 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/__init__.py |
(no class) |
13 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/action.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/action_plan.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/audit.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/audit_template.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/base.py |
(no class) |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/data_model.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/goal.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/scoring_engine.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/service.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policies/strategy.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/common/policy.py |
(no class) |
32 |
11 |
0 |
10 |
1 |
62% |
watcher/common/rpc.py |
RequestContextSerializer |
9 |
2 |
0 |
4 |
2 |
69% |
watcher/common/rpc.py |
(no class) |
61 |
9 |
0 |
4 |
1 |
82% |
watcher/common/scheduling.py |
GreenThreadPoolExecutor |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/common/scheduling.py |
BackgroundSchedulerService |
11 |
1 |
0 |
6 |
3 |
76% |
watcher/common/scheduling.py |
(no class) |
18 |
0 |
0 |
0 |
0 |
100% |
watcher/common/service.py |
WSGIService |
8 |
4 |
0 |
0 |
0 |
50% |
watcher/common/service.py |
ServiceHeartbeat |
20 |
0 |
0 |
2 |
0 |
100% |
watcher/common/service.py |
Service |
51 |
3 |
0 |
24 |
6 |
88% |
watcher/common/service.py |
(no class) |
72 |
0 |
0 |
0 |
0 |
100% |
watcher/common/service_manager.py |
ServiceManager |
0 |
0 |
7 |
0 |
0 |
100% |
watcher/common/service_manager.py |
(no class) |
2 |
0 |
21 |
0 |
0 |
100% |
watcher/common/utils.py |
Struct |
8 |
4 |
0 |
0 |
0 |
50% |
watcher/common/utils.py |
(no class) |
81 |
40 |
0 |
20 |
4 |
52% |
watcher/conf/__init__.py |
(no class) |
50 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/api.py |
(no class) |
10 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/applier.py |
(no class) |
10 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/cinder_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/clients_auth.py |
(no class) |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/collector.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/datasources.py |
(no class) |
10 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/db.py |
(no class) |
12 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/decision_engine.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/exception.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/glance_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/gnocchi_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/grafana_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/grafana_translators.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/ironic_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/keystone_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/maas_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/monasca_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/neutron_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/nova_client.py |
(no class) |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/opts.py |
(no class) |
28 |
2 |
0 |
10 |
1 |
92% |
watcher/conf/paths.py |
(no class) |
13 |
2 |
0 |
0 |
0 |
85% |
watcher/conf/placement_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/planner.py |
(no class) |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/plugins.py |
(no class) |
28 |
5 |
0 |
10 |
0 |
82% |
watcher/conf/prometheus_client.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/conf/service.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/db/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/api.py |
BaseConnection |
0 |
0 |
587 |
0 |
0 |
100% |
watcher/db/api.py |
(no class) |
15 |
0 |
143 |
0 |
0 |
100% |
watcher/db/migration.py |
(no class) |
20 |
10 |
0 |
2 |
0 |
45% |
watcher/db/purge.py |
WatcherObjectsMap |
27 |
0 |
0 |
6 |
0 |
100% |
watcher/db/purge.py |
PurgeCommand |
156 |
17 |
0 |
36 |
3 |
86% |
watcher/db/purge.py |
(no class) |
63 |
0 |
0 |
2 |
0 |
100% |
watcher/db/sqlalchemy/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/alembic/env.py |
(no class) |
12 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/alembic/versions/001_ocata.py |
(no class) |
26 |
9 |
0 |
0 |
0 |
65% |
watcher/db/sqlalchemy/alembic/versions/0f6042416884_add_apscheduler_jobs.py |
(no class) |
17 |
2 |
0 |
2 |
1 |
84% |
watcher/db/sqlalchemy/alembic/versions/15f7375ca737_change_efficiacy_indicator_decimals.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/alembic/versions/3cfc94cecf4e_add_name_for_audit.py |
(no class) |
8 |
1 |
0 |
0 |
0 |
88% |
watcher/db/sqlalchemy/alembic/versions/4b16194c56bc_add_start_end_time.py |
(no class) |
10 |
2 |
0 |
0 |
0 |
80% |
watcher/db/sqlalchemy/alembic/versions/52804f2498c4_add_hostname.py |
(no class) |
10 |
2 |
0 |
4 |
0 |
71% |
watcher/db/sqlalchemy/alembic/versions/609bec748f2a_add_force_field.py |
(no class) |
8 |
1 |
0 |
0 |
0 |
88% |
watcher/db/sqlalchemy/alembic/versions/a86240e89a29_.py |
(no class) |
22 |
9 |
0 |
4 |
1 |
54% |
watcher/db/sqlalchemy/alembic/versions/d098df6021e2_cron_support_for_audit.py |
(no class) |
10 |
2 |
0 |
0 |
0 |
80% |
watcher/db/sqlalchemy/alembic/versions/d09a5945e4a0_add_action_description_table.py |
(no class) |
9 |
1 |
0 |
0 |
0 |
89% |
watcher/db/sqlalchemy/api.py |
JoinMap |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/api.py |
Connection |
478 |
40 |
0 |
100 |
2 |
93% |
watcher/db/sqlalchemy/api.py |
(no class) |
165 |
1 |
0 |
6 |
1 |
99% |
watcher/db/sqlalchemy/job_store.py |
WatcherJobStore |
35 |
28 |
0 |
4 |
0 |
18% |
watcher/db/sqlalchemy/job_store.py |
(no class) |
19 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/migration.py |
(no class) |
39 |
9 |
0 |
6 |
3 |
73% |
watcher/db/sqlalchemy/models.py |
JsonEncodedType |
9 |
1 |
0 |
6 |
1 |
87% |
watcher/db/sqlalchemy/models.py |
JSONEncodedDict |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
JSONEncodedList |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
WatcherBase |
4 |
0 |
0 |
2 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
Goal |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
Strategy |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
AuditTemplate |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
Audit |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
ActionPlan |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
Action |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
EfficacyIndicator |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
ScoringEngine |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
Service |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
ActionDescription |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
APScheulerJob |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/db/sqlalchemy/models.py |
(no class) |
153 |
1 |
0 |
2 |
1 |
99% |
watcher/decision_engine/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/audit/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/audit/base.py |
BaseMetaClass |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/audit/base.py |
BaseAuditHandler |
0 |
0 |
4 |
0 |
0 |
100% |
watcher/decision_engine/audit/base.py |
AuditHandler |
47 |
1 |
0 |
10 |
2 |
95% |
watcher/decision_engine/audit/base.py |
(no class) |
30 |
0 |
8 |
0 |
0 |
100% |
watcher/decision_engine/audit/continuous.py |
ContinuousAuditHandler |
92 |
18 |
0 |
48 |
11 |
78% |
watcher/decision_engine/audit/continuous.py |
(no class) |
29 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/audit/event.py |
EventAuditHandler |
2 |
2 |
0 |
0 |
0 |
0% |
watcher/decision_engine/audit/event.py |
(no class) |
4 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/audit/oneshot.py |
OneShotAuditHandler |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/audit/oneshot.py |
(no class) |
4 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/base.py |
DataSourceBase |
18 |
2 |
106 |
4 |
0 |
91% |
watcher/decision_engine/datasources/base.py |
(no class) |
18 |
0 |
47 |
0 |
0 |
100% |
watcher/decision_engine/datasources/gnocchi.py |
GnocchiHelper |
79 |
25 |
0 |
32 |
13 |
62% |
watcher/decision_engine/datasources/gnocchi.py |
(no class) |
28 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/grafana.py |
GrafanaHelper |
80 |
8 |
1 |
24 |
8 |
85% |
watcher/decision_engine/datasources/grafana.py |
(no class) |
37 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/grafana_translator/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/grafana_translator/base.py |
BaseGrafanaTranslator |
17 |
4 |
4 |
8 |
2 |
76% |
watcher/decision_engine/datasources/grafana_translator/base.py |
(no class) |
16 |
0 |
4 |
0 |
0 |
100% |
watcher/decision_engine/datasources/grafana_translator/influxdb.py |
InfluxDBGrafanaTranslator |
26 |
3 |
0 |
6 |
0 |
91% |
watcher/decision_engine/datasources/grafana_translator/influxdb.py |
(no class) |
12 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/manager.py |
DataSourceManager |
63 |
17 |
0 |
26 |
1 |
78% |
watcher/decision_engine/datasources/manager.py |
(no class) |
33 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/monasca.py |
MonascaHelper |
44 |
10 |
9 |
14 |
2 |
72% |
watcher/decision_engine/datasources/monasca.py |
(no class) |
26 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/datasources/prometheus.py |
PrometheusHelper |
142 |
11 |
1 |
62 |
6 |
91% |
watcher/decision_engine/datasources/prometheus.py |
(no class) |
31 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/gmr.py |
(no class) |
17 |
0 |
0 |
2 |
0 |
100% |
watcher/decision_engine/goal/__init__.py |
(no class) |
10 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/base.py |
Goal |
5 |
0 |
10 |
0 |
0 |
100% |
watcher/decision_engine/goal/base.py |
(no class) |
6 |
0 |
11 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/base.py |
EfficacySpecification |
13 |
0 |
16 |
6 |
0 |
100% |
watcher/decision_engine/goal/efficacy/base.py |
(no class) |
12 |
0 |
4 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
IndicatorSpecification |
17 |
12 |
5 |
0 |
0 |
29% |
watcher/decision_engine/goal/efficacy/indicators.py |
ComputeNodesCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
ReleasedComputeNodesCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
InstancesCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
InstanceMigrationsCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
LiveInstanceMigrateCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
PlannedLiveInstanceMigrateCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
ColdInstanceMigrateCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
PlannedColdInstanceMigrateCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
VolumeMigrateCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
PlannedVolumeMigrateCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
VolumeUpdateCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
PlannedVolumeUpdateCount |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
StandardDeviationValue |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
OriginalStandardDeviationValue |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/indicators.py |
(no class) |
71 |
0 |
3 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/specs.py |
Unclassified |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/efficacy/specs.py |
ServerConsolidation |
7 |
0 |
0 |
2 |
1 |
89% |
watcher/decision_engine/goal/efficacy/specs.py |
WorkloadBalancing |
7 |
0 |
0 |
2 |
0 |
100% |
watcher/decision_engine/goal/efficacy/specs.py |
HardwareMaintenance |
18 |
0 |
0 |
8 |
0 |
100% |
watcher/decision_engine/goal/efficacy/specs.py |
(no class) |
16 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/goal/goals.py |
Dummy |
4 |
1 |
0 |
0 |
0 |
75% |
watcher/decision_engine/goal/goals.py |
Unclassified |
4 |
1 |
0 |
0 |
0 |
75% |
watcher/decision_engine/goal/goals.py |
ServerConsolidation |
4 |
1 |
0 |
0 |
0 |
75% |
watcher/decision_engine/goal/goals.py |
ThermalOptimization |
4 |
1 |
0 |
0 |
0 |
75% |
watcher/decision_engine/goal/goals.py |
WorkloadBalancing |
4 |
1 |
0 |
0 |
0 |
75% |
watcher/decision_engine/goal/goals.py |
AirflowOptimization |
4 |
1 |
0 |
0 |
0 |
75% |
watcher/decision_engine/goal/goals.py |
NoisyNeighborOptimization |
4 |
1 |
0 |
0 |
0 |
75% |
watcher/decision_engine/goal/goals.py |
SavingEnergy |
4 |
1 |
0 |
0 |
0 |
75% |
watcher/decision_engine/goal/goals.py |
HardwareMaintenance |
4 |
1 |
0 |
0 |
0 |
75% |
watcher/decision_engine/goal/goals.py |
ClusterMaintaining |
4 |
1 |
0 |
0 |
0 |
75% |
watcher/decision_engine/goal/goals.py |
(no class) |
93 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/loading/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/loading/default.py |
DefaultStrategyLoader |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/loading/default.py |
DefaultGoalLoader |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/loading/default.py |
DefaultPlannerLoader |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/loading/default.py |
ClusterDataModelCollectorLoader |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/loading/default.py |
DefaultScoringLoader |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/loading/default.py |
DefaultScoringContainerLoader |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/loading/default.py |
(no class) |
13 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/manager.py |
DecisionEngineManager |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/manager.py |
(no class) |
24 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/messaging/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/messaging/audit_endpoint.py |
AuditEndpoint |
14 |
1 |
0 |
4 |
2 |
83% |
watcher/decision_engine/messaging/audit_endpoint.py |
(no class) |
15 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/messaging/data_model_endpoint.py |
DataModelEndpoint |
22 |
3 |
0 |
8 |
3 |
80% |
watcher/decision_engine/messaging/data_model_endpoint.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/base.py |
Model |
0 |
0 |
2 |
0 |
0 |
100% |
watcher/decision_engine/model/base.py |
(no class) |
2 |
0 |
4 |
0 |
0 |
100% |
watcher/decision_engine/model/collector/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/collector/base.py |
BaseClusterDataModelCollector |
20 |
0 |
10 |
2 |
0 |
100% |
watcher/decision_engine/model/collector/base.py |
BaseModelBuilder |
11 |
6 |
12 |
2 |
1 |
46% |
watcher/decision_engine/model/collector/base.py |
(no class) |
25 |
0 |
11 |
0 |
0 |
100% |
watcher/decision_engine/model/collector/cinder.py |
CinderClusterDataModelCollector |
17 |
3 |
0 |
6 |
2 |
78% |
watcher/decision_engine/model/collector/cinder.py |
CinderModelBuilder |
58 |
10 |
0 |
10 |
1 |
84% |
watcher/decision_engine/model/collector/cinder.py |
(no class) |
27 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/collector/ironic.py |
BaremetalClusterDataModelCollector |
17 |
11 |
0 |
6 |
2 |
35% |
watcher/decision_engine/model/collector/ironic.py |
BareMetalModelBuilder |
11 |
11 |
0 |
2 |
0 |
0% |
watcher/decision_engine/model/collector/ironic.py |
(no class) |
18 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/collector/manager.py |
CollectorManager |
18 |
1 |
0 |
8 |
2 |
88% |
watcher/decision_engine/model/collector/manager.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/collector/nova.py |
NovaClusterDataModelCollector |
17 |
2 |
0 |
6 |
2 |
83% |
watcher/decision_engine/model/collector/nova.py |
NovaModelBuilder |
134 |
18 |
0 |
52 |
7 |
85% |
watcher/decision_engine/model/collector/nova.py |
(no class) |
33 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/__init__.py |
(no class) |
13 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/baremetal_resource.py |
BaremetalResource |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/baremetal_resource.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/base.py |
Element |
15 |
0 |
1 |
6 |
0 |
100% |
watcher/decision_engine/model/element/base.py |
(no class) |
12 |
0 |
2 |
0 |
0 |
100% |
watcher/decision_engine/model/element/compute_resource.py |
ComputeResource |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/compute_resource.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/instance.py |
InstanceState |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/instance.py |
Instance |
0 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/model/element/instance.py |
(no class) |
20 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/node.py |
ServiceState |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/node.py |
ComputeNode |
3 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/model/element/node.py |
StorageNode |
0 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/model/element/node.py |
Pool |
0 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/model/element/node.py |
IronicNode |
0 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/model/element/node.py |
(no class) |
33 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/storage_resource.py |
StorageResource |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/storage_resource.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/volume.py |
VolumeState |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/element/volume.py |
Volume |
0 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/model/element/volume.py |
(no class) |
20 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/model_root.py |
ModelRoot |
145 |
7 |
0 |
50 |
7 |
93% |
watcher/decision_engine/model/model_root.py |
StorageModelRoot |
158 |
19 |
0 |
60 |
15 |
84% |
watcher/decision_engine/model/model_root.py |
BaremetalModelRoot |
36 |
3 |
0 |
6 |
0 |
93% |
watcher/decision_engine/model/model_root.py |
(no class) |
135 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/base.py |
NotificationEndpoint |
4 |
0 |
2 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/base.py |
(no class) |
5 |
0 |
3 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/cinder.py |
CinderNotification |
115 |
28 |
0 |
24 |
4 |
74% |
watcher/decision_engine/model/notification/cinder.py |
CapacityNotificationEndpoint |
11 |
2 |
0 |
0 |
0 |
82% |
watcher/decision_engine/model/notification/cinder.py |
VolumeNotificationEndpoint |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/cinder.py |
VolumeCreateEnd |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/cinder.py |
VolumeUpdateEnd |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/cinder.py |
VolumeAttachEnd |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/cinder.py |
VolumeDetachEnd |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/cinder.py |
VolumeResizeEnd |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/cinder.py |
VolumeDeleteEnd |
14 |
3 |
0 |
0 |
0 |
79% |
watcher/decision_engine/model/notification/cinder.py |
(no class) |
48 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/filtering.py |
NotificationFilter |
24 |
4 |
0 |
20 |
4 |
82% |
watcher/decision_engine/model/notification/filtering.py |
(no class) |
5 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/model/notification/nova.py |
NovaNotification |
118 |
22 |
0 |
28 |
9 |
79% |
watcher/decision_engine/model/notification/nova.py |
VersionedNotification |
49 |
4 |
0 |
8 |
2 |
89% |
watcher/decision_engine/model/notification/nova.py |
(no class) |
35 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/planner/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/planner/base.py |
BasePlanner |
1 |
0 |
12 |
0 |
0 |
100% |
watcher/decision_engine/planner/base.py |
(no class) |
5 |
0 |
2 |
0 |
0 |
100% |
watcher/decision_engine/planner/manager.py |
PlannerManager |
4 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/planner/manager.py |
(no class) |
8 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/planner/node_resource_consolidation.py |
NodeResourceConsolidationPlanner |
65 |
7 |
0 |
22 |
1 |
91% |
watcher/decision_engine/planner/node_resource_consolidation.py |
(no class) |
13 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/planner/weight.py |
WeightPlanner |
63 |
8 |
0 |
26 |
3 |
88% |
watcher/decision_engine/planner/weight.py |
(no class) |
22 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/planner/workload_stabilization.py |
WorkloadStabilizationPlanner |
72 |
8 |
0 |
20 |
2 |
89% |
watcher/decision_engine/planner/workload_stabilization.py |
BaseActionValidator |
8 |
0 |
1 |
4 |
1 |
92% |
watcher/decision_engine/planner/workload_stabilization.py |
MigrationActionValidator |
4 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/planner/workload_stabilization.py |
ResizeActionValidator |
8 |
1 |
0 |
2 |
1 |
80% |
watcher/decision_engine/planner/workload_stabilization.py |
ChangeNovaServiceStateActionValidator |
3 |
3 |
0 |
0 |
0 |
0% |
watcher/decision_engine/planner/workload_stabilization.py |
SleepActionValidator |
1 |
1 |
0 |
0 |
0 |
0% |
watcher/decision_engine/planner/workload_stabilization.py |
NOPActionValidator |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/planner/workload_stabilization.py |
(no class) |
44 |
0 |
2 |
0 |
0 |
100% |
watcher/decision_engine/rpcapi.py |
DecisionEngineAPI |
6 |
0 |
0 |
2 |
0 |
100% |
watcher/decision_engine/rpcapi.py |
DecisionEngineAPIManager |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/rpcapi.py |
(no class) |
26 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scheduling.py |
DecisionEngineSchedulingService |
36 |
1 |
0 |
6 |
1 |
95% |
watcher/decision_engine/scheduling.py |
(no class) |
24 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scope/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scope/baremetal.py |
BaremetalScope |
26 |
3 |
0 |
20 |
7 |
78% |
watcher/decision_engine/scope/baremetal.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scope/base.py |
BaseScope |
3 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/scope/base.py |
(no class) |
4 |
0 |
2 |
0 |
0 |
100% |
watcher/decision_engine/scope/compute.py |
ComputeScope |
117 |
8 |
0 |
76 |
12 |
90% |
watcher/decision_engine/scope/compute.py |
(no class) |
18 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scope/storage.py |
StorageScope |
91 |
3 |
0 |
62 |
7 |
93% |
watcher/decision_engine/scope/storage.py |
(no class) |
13 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scoring/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scoring/base.py |
ScoringEngine |
1 |
0 |
41 |
0 |
0 |
100% |
watcher/decision_engine/scoring/base.py |
ScoringEngineContainer |
1 |
0 |
5 |
0 |
0 |
100% |
watcher/decision_engine/scoring/base.py |
(no class) |
8 |
0 |
11 |
0 |
0 |
100% |
watcher/decision_engine/scoring/dummy_scorer.py |
DummyScorer |
32 |
4 |
0 |
14 |
2 |
87% |
watcher/decision_engine/scoring/dummy_scorer.py |
(no class) |
24 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scoring/dummy_scoring_container.py |
DummyScoringContainer |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scoring/dummy_scoring_container.py |
SimpleFunctionScorer |
18 |
4 |
0 |
4 |
2 |
73% |
watcher/decision_engine/scoring/dummy_scoring_container.py |
(no class) |
14 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/scoring/scoring_factory.py |
(no class) |
29 |
0 |
0 |
10 |
0 |
100% |
watcher/decision_engine/solution/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/solution/base.py |
BaseSolution |
10 |
0 |
13 |
0 |
0 |
100% |
watcher/decision_engine/solution/base.py |
(no class) |
12 |
0 |
5 |
0 |
0 |
100% |
watcher/decision_engine/solution/default.py |
DefaultSolution |
14 |
2 |
0 |
8 |
1 |
86% |
watcher/decision_engine/solution/default.py |
(no class) |
11 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/solution/efficacy.py |
IndicatorsMap |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/solution/efficacy.py |
Indicator |
7 |
1 |
0 |
2 |
1 |
78% |
watcher/decision_engine/solution/efficacy.py |
Efficacy |
19 |
3 |
0 |
2 |
0 |
86% |
watcher/decision_engine/solution/efficacy.py |
(no class) |
14 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/solution/solution_comparator.py |
BaseSolutionComparator |
0 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/solution/solution_comparator.py |
(no class) |
2 |
2 |
2 |
0 |
0 |
0% |
watcher/decision_engine/solution/solution_evaluator.py |
BaseSolutionEvaluator |
0 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/solution/solution_evaluator.py |
(no class) |
2 |
2 |
2 |
0 |
0 |
0% |
watcher/decision_engine/strategy/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/common/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/common/level.py |
StrategyLevel |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/common/level.py |
(no class) |
6 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/context/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/context/base.py |
StrategyContext |
8 |
0 |
10 |
0 |
0 |
100% |
watcher/decision_engine/strategy/context/base.py |
(no class) |
5 |
0 |
2 |
0 |
0 |
100% |
watcher/decision_engine/strategy/context/default.py |
DefaultStrategyContext |
17 |
0 |
0 |
4 |
1 |
95% |
watcher/decision_engine/strategy/context/default.py |
(no class) |
12 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/selection/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/selection/base.py |
BaseSelector |
0 |
0 |
1 |
0 |
0 |
100% |
watcher/decision_engine/strategy/selection/base.py |
(no class) |
2 |
0 |
2 |
0 |
0 |
100% |
watcher/decision_engine/strategy/selection/default.py |
DefaultStrategySelector |
20 |
0 |
0 |
4 |
0 |
100% |
watcher/decision_engine/strategy/selection/default.py |
(no class) |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/__init__.py |
(no class) |
33 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/actuation.py |
Actuator |
10 |
2 |
0 |
2 |
0 |
83% |
watcher/decision_engine/strategy/strategies/actuation.py |
(no class) |
18 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/base.py |
StrategyEndpoint |
37 |
15 |
0 |
14 |
3 |
61% |
watcher/decision_engine/strategy/strategies/base.py |
BaseStrategy |
100 |
31 |
28 |
36 |
6 |
61% |
watcher/decision_engine/strategy/strategies/base.py |
DummyBaseStrategy |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/base.py |
UnclassifiedStrategy |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/base.py |
ServerConsolidationBaseStrategy |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/base.py |
ThermalOptimizationBaseStrategy |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/base.py |
WorkloadStabilizationBaseStrategy |
3 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/base.py |
NoisyNeighborBaseStrategy |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/base.py |
SavingEnergyBaseStrategy |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/base.py |
ZoneMigrationBaseStrategy |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/base.py |
HostMaintenanceBaseStrategy |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/base.py |
(no class) |
117 |
0 |
18 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/basic_consolidation.py |
BasicConsolidation |
120 |
8 |
0 |
40 |
6 |
91% |
watcher/decision_engine/strategy/strategies/basic_consolidation.py |
(no class) |
45 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/dummy_strategy.py |
DummyStrategy |
14 |
1 |
0 |
0 |
0 |
93% |
watcher/decision_engine/strategy/strategies/dummy_strategy.py |
(no class) |
18 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/dummy_with_resize.py |
DummyWithResize |
17 |
15 |
0 |
0 |
0 |
12% |
watcher/decision_engine/strategy/strategies/dummy_with_resize.py |
(no class) |
18 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/dummy_with_scorer.py |
DummyWithScorer |
41 |
2 |
0 |
0 |
0 |
95% |
watcher/decision_engine/strategy/strategies/dummy_with_scorer.py |
(no class) |
26 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/host_maintenance.py |
HostMaintenance |
70 |
9 |
0 |
34 |
6 |
84% |
watcher/decision_engine/strategy/strategies/host_maintenance.py |
(no class) |
32 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/node_resource_consolidation.py |
NodeResourceConsolidation |
126 |
7 |
0 |
72 |
11 |
91% |
watcher/decision_engine/strategy/strategies/node_resource_consolidation.py |
(no class) |
28 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/noisy_neighbor.py |
NoisyNeighbor |
94 |
17 |
0 |
42 |
11 |
79% |
watcher/decision_engine/strategy/strategies/noisy_neighbor.py |
(no class) |
31 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/outlet_temp_control.py |
OutletTempControl |
77 |
17 |
0 |
28 |
10 |
74% |
watcher/decision_engine/strategy/strategies/outlet_temp_control.py |
(no class) |
29 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/saving_energy.py |
SavingEnergy |
62 |
9 |
0 |
22 |
4 |
82% |
watcher/decision_engine/strategy/strategies/saving_energy.py |
(no class) |
28 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/storage_capacity_balance.py |
StorageCapacityBalance |
194 |
25 |
0 |
84 |
21 |
83% |
watcher/decision_engine/strategy/strategies/storage_capacity_balance.py |
(no class) |
31 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/uniform_airflow.py |
UniformAirflow |
107 |
15 |
0 |
42 |
11 |
83% |
watcher/decision_engine/strategy/strategies/uniform_airflow.py |
(no class) |
29 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py |
VMWorkloadConsolidation |
208 |
22 |
0 |
94 |
15 |
86% |
watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py |
(no class) |
48 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/workload_balance.py |
WorkloadBalance |
128 |
25 |
0 |
50 |
13 |
78% |
watcher/decision_engine/strategy/strategies/workload_balance.py |
(no class) |
26 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/workload_stabilization.py |
WorkloadStabilization |
205 |
22 |
0 |
86 |
13 |
87% |
watcher/decision_engine/strategy/strategies/workload_stabilization.py |
(no class) |
51 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
ZoneMigration |
162 |
22 |
0 |
78 |
16 |
84% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
ActionCounter |
31 |
4 |
0 |
12 |
4 |
81% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
BaseFilter |
15 |
3 |
0 |
10 |
2 |
80% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
SortMovingToFrontFilter |
9 |
2 |
0 |
6 |
1 |
80% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
ProjectSortFilter |
8 |
0 |
0 |
4 |
1 |
92% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
ComputeHostSortFilter |
5 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
StorageHostSortFilter |
4 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
ComputeSpecSortFilter |
39 |
1 |
0 |
24 |
6 |
89% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
StorageSpecSortFilter |
9 |
2 |
0 |
4 |
1 |
77% |
watcher/decision_engine/strategy/strategies/zone_migration.py |
(no class) |
122 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/sync.py |
Syncer |
271 |
24 |
0 |
122 |
17 |
89% |
watcher/decision_engine/sync.py |
(no class) |
44 |
0 |
0 |
0 |
0 |
100% |
watcher/decision_engine/threading.py |
DecisionEngineThreadPool |
11 |
0 |
0 |
4 |
0 |
100% |
watcher/decision_engine/threading.py |
(no class) |
15 |
0 |
0 |
0 |
0 |
100% |
watcher/eventlet.py |
(no class) |
13 |
0 |
0 |
4 |
1 |
94% |
watcher/notifications/__init__.py |
(no class) |
7 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionPayload |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionStateUpdatePayload |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionCreatePayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionUpdatePayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionExecutionPayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionCancelPayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionDeletePayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionExecutionNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionCreateNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionUpdateNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionDeleteNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
ActionCancelNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action.py |
(no class) |
119 |
0 |
0 |
6 |
0 |
100% |
watcher/notifications/action_plan.py |
TerseActionPlanPayload |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanPayload |
5 |
0 |
0 |
4 |
2 |
78% |
watcher/notifications/action_plan.py |
ActionPlanStateUpdatePayload |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanCreatePayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanUpdatePayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanActionPayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanDeletePayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanCancelPayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanActionNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanCreateNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanUpdateNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanDeleteNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
ActionPlanCancelNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/action_plan.py |
(no class) |
125 |
0 |
0 |
4 |
0 |
100% |
watcher/notifications/audit.py |
TerseAuditPayload |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/audit.py |
AuditPayload |
5 |
1 |
0 |
4 |
1 |
78% |
watcher/notifications/audit.py |
AuditStateUpdatePayload |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/audit.py |
AuditCreatePayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/audit.py |
AuditUpdatePayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/audit.py |
AuditActionPayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/audit.py |
AuditDeletePayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/audit.py |
AuditActionNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/audit.py |
AuditCreateNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/audit.py |
AuditUpdateNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/audit.py |
AuditDeleteNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/audit.py |
(no class) |
105 |
0 |
0 |
6 |
0 |
100% |
watcher/notifications/base.py |
NotificationObject |
4 |
2 |
0 |
0 |
0 |
50% |
watcher/notifications/base.py |
EventType |
4 |
0 |
0 |
2 |
0 |
100% |
watcher/notifications/base.py |
NotificationPayloadBase |
8 |
0 |
0 |
4 |
1 |
92% |
watcher/notifications/base.py |
NotificationPublisher |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/base.py |
NotificationBase |
15 |
2 |
0 |
6 |
0 |
90% |
watcher/notifications/base.py |
(no class) |
46 |
0 |
0 |
2 |
0 |
100% |
watcher/notifications/exception.py |
ExceptionPayload |
3 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/exception.py |
ExceptionNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/exception.py |
(no class) |
16 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/goal.py |
GoalPayload |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/goal.py |
(no class) |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/service.py |
ServicePayload |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/service.py |
ServiceStatusUpdatePayload |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/service.py |
ServiceUpdatePayload |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/service.py |
ServiceUpdateNotification |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/service.py |
(no class) |
35 |
2 |
0 |
2 |
1 |
92% |
watcher/notifications/strategy.py |
StrategyPayload |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/notifications/strategy.py |
(no class) |
9 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/__init__.py |
(no class) |
11 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/action.py |
State |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/action.py |
Action |
33 |
0 |
0 |
4 |
0 |
100% |
watcher/objects/action.py |
(no class) |
38 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/action_description.py |
ActionDescription |
25 |
3 |
0 |
6 |
1 |
87% |
watcher/objects/action_description.py |
(no class) |
22 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/action_plan.py |
State |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/action_plan.py |
ActionPlan |
55 |
2 |
0 |
12 |
0 |
97% |
watcher/objects/action_plan.py |
StateManager |
7 |
0 |
0 |
2 |
0 |
100% |
watcher/objects/action_plan.py |
(no class) |
59 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/audit.py |
State |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/audit.py |
AuditType |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/audit.py |
Audit |
52 |
3 |
0 |
8 |
0 |
95% |
watcher/objects/audit.py |
AuditStateTransitionManager |
2 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/audit.py |
(no class) |
64 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/audit_template.py |
AuditTemplate |
31 |
0 |
0 |
4 |
0 |
100% |
watcher/objects/audit_template.py |
(no class) |
31 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/base.py |
WatcherObjectRegistry |
11 |
0 |
0 |
6 |
0 |
100% |
watcher/objects/base.py |
WatcherObject |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/base.py |
WatcherObjectDictCompat |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/base.py |
WatcherComparableObject |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/base.py |
WatcherPersistentObject |
18 |
0 |
0 |
14 |
0 |
100% |
watcher/objects/base.py |
WatcherObjectSerializer |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/base.py |
(no class) |
31 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/efficacy_indicator.py |
EfficacyIndicator |
24 |
0 |
0 |
4 |
0 |
100% |
watcher/objects/efficacy_indicator.py |
(no class) |
27 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
UUIDField |
3 |
0 |
0 |
2 |
0 |
100% |
watcher/objects/fields.py |
Numeric |
4 |
1 |
0 |
2 |
1 |
67% |
watcher/objects/fields.py |
NumericField |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
DictField |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
ListOfUUIDsField |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
FlexibleDict |
3 |
0 |
0 |
2 |
0 |
100% |
watcher/objects/fields.py |
FlexibleDictField |
3 |
1 |
0 |
2 |
1 |
60% |
watcher/objects/fields.py |
FlexibleListOfDict |
3 |
0 |
0 |
2 |
0 |
100% |
watcher/objects/fields.py |
FlexibleListOfDictField |
3 |
1 |
0 |
2 |
1 |
60% |
watcher/objects/fields.py |
Json |
6 |
1 |
0 |
2 |
0 |
88% |
watcher/objects/fields.py |
JsonField |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
BaseWatcherEnum |
1 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
NotificationPriority |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
NotificationPhase |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
NotificationAction |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
NotificationPriorityField |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
NotificationPhaseField |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
NotificationActionField |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/fields.py |
(no class) |
75 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/goal.py |
Goal |
31 |
1 |
0 |
4 |
1 |
94% |
watcher/objects/goal.py |
(no class) |
29 |
4 |
0 |
0 |
0 |
86% |
watcher/objects/scoring_engine.py |
ScoringEngine |
31 |
2 |
0 |
4 |
2 |
89% |
watcher/objects/scoring_engine.py |
(no class) |
27 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/service.py |
ServiceStatus |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/service.py |
Service |
25 |
1 |
0 |
6 |
1 |
94% |
watcher/objects/service.py |
(no class) |
25 |
0 |
0 |
0 |
0 |
100% |
watcher/objects/strategy.py |
Strategy |
29 |
0 |
0 |
8 |
0 |
100% |
watcher/objects/strategy.py |
(no class) |
31 |
0 |
0 |
0 |
0 |
100% |
watcher/version.py |
(no class) |
3 |
0 |
0 |
0 |
0 |
100% |
watcher/wsgi/__init__.py |
(no class) |
0 |
0 |
0 |
0 |
0 |
100% |
watcher/wsgi/api.py |
(no class) |
6 |
6 |
0 |
2 |
0 |
0% |