octavia 12.0.0.0rc2__py3-none-any.whl → 13.0.0.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- octavia/amphorae/backends/agent/api_server/osutils.py +1 -0
- octavia/amphorae/backends/agent/api_server/plug.py +21 -7
- octavia/amphorae/backends/agent/api_server/templates/amphora-netns.systemd.j2 +2 -2
- octavia/amphorae/backends/agent/api_server/util.py +21 -0
- octavia/amphorae/backends/health_daemon/health_daemon.py +9 -3
- octavia/amphorae/backends/health_daemon/health_sender.py +2 -0
- octavia/amphorae/backends/utils/interface.py +14 -6
- octavia/amphorae/backends/utils/interface_file.py +6 -3
- octavia/amphorae/backends/utils/keepalivedlvs_query.py +8 -9
- octavia/amphorae/drivers/driver_base.py +1 -2
- octavia/amphorae/drivers/haproxy/rest_api_driver.py +11 -25
- octavia/amphorae/drivers/health/heartbeat_udp.py +34 -24
- octavia/amphorae/drivers/keepalived/jinja/jinja_cfg.py +3 -12
- octavia/amphorae/drivers/noop_driver/driver.py +3 -5
- octavia/api/common/pagination.py +4 -4
- octavia/api/drivers/amphora_driver/v2/driver.py +11 -5
- octavia/api/drivers/driver_agent/driver_get.py +22 -14
- octavia/api/drivers/driver_agent/driver_updater.py +8 -4
- octavia/api/drivers/utils.py +4 -2
- octavia/api/healthcheck/healthcheck_plugins.py +4 -2
- octavia/api/root_controller.py +4 -1
- octavia/api/v2/controllers/amphora.py +35 -38
- octavia/api/v2/controllers/availability_zone_profiles.py +43 -33
- octavia/api/v2/controllers/availability_zones.py +22 -18
- octavia/api/v2/controllers/flavor_profiles.py +37 -28
- octavia/api/v2/controllers/flavors.py +19 -15
- octavia/api/v2/controllers/health_monitor.py +44 -33
- octavia/api/v2/controllers/l7policy.py +52 -40
- octavia/api/v2/controllers/l7rule.py +68 -55
- octavia/api/v2/controllers/listener.py +88 -61
- octavia/api/v2/controllers/load_balancer.py +52 -34
- octavia/api/v2/controllers/member.py +63 -52
- octavia/api/v2/controllers/pool.py +55 -42
- octavia/api/v2/controllers/quotas.py +5 -3
- octavia/api/v2/types/listener.py +15 -0
- octavia/cmd/octavia_worker.py +0 -3
- octavia/cmd/status.py +1 -4
- octavia/common/clients.py +25 -45
- octavia/common/config.py +64 -22
- octavia/common/constants.py +3 -2
- octavia/common/data_models.py +7 -1
- octavia/common/jinja/haproxy/combined_listeners/jinja_cfg.py +12 -1
- octavia/common/jinja/haproxy/combined_listeners/templates/macros.j2 +5 -2
- octavia/common/jinja/lvs/jinja_cfg.py +4 -2
- octavia/common/keystone.py +58 -5
- octavia/common/validate.py +35 -0
- octavia/compute/drivers/noop_driver/driver.py +6 -0
- octavia/controller/healthmanager/health_manager.py +3 -6
- octavia/controller/housekeeping/house_keeping.py +36 -37
- octavia/controller/worker/amphora_rate_limit.py +5 -4
- octavia/controller/worker/task_utils.py +57 -41
- octavia/controller/worker/v2/controller_worker.py +160 -103
- octavia/controller/worker/v2/flows/listener_flows.py +3 -0
- octavia/controller/worker/v2/flows/load_balancer_flows.py +9 -14
- octavia/controller/worker/v2/tasks/amphora_driver_tasks.py +152 -91
- octavia/controller/worker/v2/tasks/compute_tasks.py +4 -2
- octavia/controller/worker/v2/tasks/database_tasks.py +542 -400
- octavia/controller/worker/v2/tasks/network_tasks.py +119 -79
- octavia/db/api.py +26 -23
- octavia/db/base_models.py +2 -2
- octavia/db/healthcheck.py +2 -1
- octavia/db/migration/alembic_migrations/versions/632152d2d32e_add_http_strict_transport_security_.py +42 -0
- octavia/db/models.py +12 -2
- octavia/db/prepare.py +2 -0
- octavia/db/repositories.py +462 -482
- octavia/hacking/checks.py +1 -1
- octavia/network/base.py +0 -14
- octavia/network/drivers/neutron/allowed_address_pairs.py +92 -135
- octavia/network/drivers/neutron/base.py +65 -77
- octavia/network/drivers/neutron/utils.py +69 -85
- octavia/network/drivers/noop_driver/driver.py +0 -7
- octavia/statistics/drivers/update_db.py +10 -10
- octavia/tests/common/constants.py +91 -84
- octavia/tests/common/sample_data_models.py +13 -1
- octavia/tests/fixtures.py +32 -0
- octavia/tests/functional/amphorae/backend/agent/api_server/test_server.py +9 -10
- octavia/tests/functional/api/drivers/driver_agent/test_driver_agent.py +260 -15
- octavia/tests/functional/api/test_root_controller.py +3 -28
- octavia/tests/functional/api/v2/base.py +5 -3
- octavia/tests/functional/api/v2/test_amphora.py +18 -5
- octavia/tests/functional/api/v2/test_availability_zone_profiles.py +1 -0
- octavia/tests/functional/api/v2/test_listener.py +51 -19
- octavia/tests/functional/api/v2/test_load_balancer.py +10 -1
- octavia/tests/functional/db/base.py +31 -16
- octavia/tests/functional/db/test_models.py +27 -28
- octavia/tests/functional/db/test_repositories.py +407 -50
- octavia/tests/unit/amphorae/backends/agent/api_server/test_amphora_info.py +2 -0
- octavia/tests/unit/amphorae/backends/agent/api_server/test_osutils.py +1 -1
- octavia/tests/unit/amphorae/backends/agent/api_server/test_plug.py +54 -6
- octavia/tests/unit/amphorae/backends/agent/api_server/test_util.py +35 -0
- octavia/tests/unit/amphorae/backends/health_daemon/test_health_daemon.py +8 -0
- octavia/tests/unit/amphorae/backends/health_daemon/test_health_sender.py +18 -0
- octavia/tests/unit/amphorae/backends/utils/test_interface.py +81 -0
- octavia/tests/unit/amphorae/backends/utils/test_interface_file.py +2 -0
- octavia/tests/unit/amphorae/backends/utils/test_keepalivedlvs_query.py +129 -5
- octavia/tests/unit/amphorae/drivers/haproxy/test_rest_api_driver_1_0.py +42 -20
- octavia/tests/unit/amphorae/drivers/health/test_heartbeat_udp.py +18 -20
- octavia/tests/unit/amphorae/drivers/keepalived/jinja/test_jinja_cfg.py +4 -4
- octavia/tests/unit/amphorae/drivers/noop_driver/test_driver.py +4 -1
- octavia/tests/unit/api/drivers/driver_agent/test_driver_get.py +3 -3
- octavia/tests/unit/api/drivers/driver_agent/test_driver_updater.py +11 -13
- octavia/tests/unit/base.py +6 -0
- octavia/tests/unit/cmd/test_interface.py +2 -2
- octavia/tests/unit/cmd/test_status.py +2 -2
- octavia/tests/unit/common/jinja/haproxy/combined_listeners/test_jinja_cfg.py +152 -1
- octavia/tests/unit/common/sample_configs/sample_configs_combined.py +10 -3
- octavia/tests/unit/common/test_clients.py +0 -39
- octavia/tests/unit/common/test_keystone.py +54 -0
- octavia/tests/unit/common/test_validate.py +67 -0
- octavia/tests/unit/controller/healthmanager/test_health_manager.py +8 -22
- octavia/tests/unit/controller/housekeeping/test_house_keeping.py +3 -64
- octavia/tests/unit/controller/worker/test_amphora_rate_limit.py +1 -1
- octavia/tests/unit/controller/worker/test_task_utils.py +44 -24
- octavia/tests/unit/controller/worker/v2/flows/test_load_balancer_flows.py +0 -1
- octavia/tests/unit/controller/worker/v2/tasks/test_amphora_driver_tasks.py +49 -26
- octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks.py +399 -196
- octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks_quota.py +37 -64
- octavia/tests/unit/controller/worker/v2/tasks/test_network_tasks.py +3 -14
- octavia/tests/unit/controller/worker/v2/test_controller_worker.py +2 -2
- octavia/tests/unit/network/drivers/neutron/test_allowed_address_pairs.py +456 -561
- octavia/tests/unit/network/drivers/neutron/test_base.py +181 -194
- octavia/tests/unit/network/drivers/neutron/test_utils.py +14 -30
- octavia/tests/unit/statistics/drivers/test_update_db.py +7 -5
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/README.rst +1 -1
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/AUTHORS +4 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/METADATA +4 -4
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/RECORD +141 -189
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/entry_points.txt +1 -2
- octavia-13.0.0.0rc1.dist-info/pbr.json +1 -0
- octavia/api/drivers/amphora_driver/v1/__init__.py +0 -11
- octavia/api/drivers/amphora_driver/v1/driver.py +0 -547
- octavia/controller/queue/v1/__init__.py +0 -11
- octavia/controller/queue/v1/consumer.py +0 -64
- octavia/controller/queue/v1/endpoints.py +0 -160
- octavia/controller/worker/v1/__init__.py +0 -11
- octavia/controller/worker/v1/controller_worker.py +0 -1157
- octavia/controller/worker/v1/flows/__init__.py +0 -11
- octavia/controller/worker/v1/flows/amphora_flows.py +0 -610
- octavia/controller/worker/v1/flows/health_monitor_flows.py +0 -105
- octavia/controller/worker/v1/flows/l7policy_flows.py +0 -94
- octavia/controller/worker/v1/flows/l7rule_flows.py +0 -100
- octavia/controller/worker/v1/flows/listener_flows.py +0 -128
- octavia/controller/worker/v1/flows/load_balancer_flows.py +0 -692
- octavia/controller/worker/v1/flows/member_flows.py +0 -230
- octavia/controller/worker/v1/flows/pool_flows.py +0 -127
- octavia/controller/worker/v1/tasks/__init__.py +0 -11
- octavia/controller/worker/v1/tasks/amphora_driver_tasks.py +0 -453
- octavia/controller/worker/v1/tasks/cert_task.py +0 -51
- octavia/controller/worker/v1/tasks/compute_tasks.py +0 -335
- octavia/controller/worker/v1/tasks/database_tasks.py +0 -2756
- octavia/controller/worker/v1/tasks/lifecycle_tasks.py +0 -173
- octavia/controller/worker/v1/tasks/model_tasks.py +0 -41
- octavia/controller/worker/v1/tasks/network_tasks.py +0 -970
- octavia/controller/worker/v1/tasks/retry_tasks.py +0 -74
- octavia/tests/unit/api/drivers/amphora_driver/v1/__init__.py +0 -11
- octavia/tests/unit/api/drivers/amphora_driver/v1/test_driver.py +0 -824
- octavia/tests/unit/controller/queue/v1/__init__.py +0 -11
- octavia/tests/unit/controller/queue/v1/test_consumer.py +0 -61
- octavia/tests/unit/controller/queue/v1/test_endpoints.py +0 -189
- octavia/tests/unit/controller/worker/v1/__init__.py +0 -11
- octavia/tests/unit/controller/worker/v1/flows/__init__.py +0 -11
- octavia/tests/unit/controller/worker/v1/flows/test_amphora_flows.py +0 -474
- octavia/tests/unit/controller/worker/v1/flows/test_health_monitor_flows.py +0 -72
- octavia/tests/unit/controller/worker/v1/flows/test_l7policy_flows.py +0 -67
- octavia/tests/unit/controller/worker/v1/flows/test_l7rule_flows.py +0 -67
- octavia/tests/unit/controller/worker/v1/flows/test_listener_flows.py +0 -91
- octavia/tests/unit/controller/worker/v1/flows/test_load_balancer_flows.py +0 -431
- octavia/tests/unit/controller/worker/v1/flows/test_member_flows.py +0 -106
- octavia/tests/unit/controller/worker/v1/flows/test_pool_flows.py +0 -77
- octavia/tests/unit/controller/worker/v1/tasks/__init__.py +0 -11
- octavia/tests/unit/controller/worker/v1/tasks/test_amphora_driver_tasks.py +0 -792
- octavia/tests/unit/controller/worker/v1/tasks/test_cert_task.py +0 -46
- octavia/tests/unit/controller/worker/v1/tasks/test_compute_tasks.py +0 -634
- octavia/tests/unit/controller/worker/v1/tasks/test_database_tasks.py +0 -2615
- octavia/tests/unit/controller/worker/v1/tasks/test_database_tasks_quota.py +0 -415
- octavia/tests/unit/controller/worker/v1/tasks/test_lifecycle_tasks.py +0 -401
- octavia/tests/unit/controller/worker/v1/tasks/test_model_tasks.py +0 -44
- octavia/tests/unit/controller/worker/v1/tasks/test_network_tasks.py +0 -1788
- octavia/tests/unit/controller/worker/v1/tasks/test_retry_tasks.py +0 -47
- octavia/tests/unit/controller/worker/v1/test_controller_worker.py +0 -2096
- octavia-12.0.0.0rc2.dist-info/pbr.json +0 -1
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/LICENSE +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/README.rst +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/diskimage-create.sh +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/image-tests.sh +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/requirements.txt +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/test-requirements.txt +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/tox.ini +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/data/share/octavia/diskimage-create/version.txt +0 -0
- {octavia-12.0.0.0rc2.data → octavia-13.0.0.0rc1.data}/scripts/octavia-wsgi +0 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/LICENSE +0 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/WHEEL +0 -0
- {octavia-12.0.0.0rc2.dist-info → octavia-13.0.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -1,173 +0,0 @@
|
|
1
|
-
# Copyright 2016 Rackspace
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
4
|
-
# not use this file except in compliance with the License. You may obtain
|
5
|
-
# a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
11
|
-
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
12
|
-
# License for the specific language governing permissions and limitations
|
13
|
-
# under the License.
|
14
|
-
|
15
|
-
from taskflow import task
|
16
|
-
|
17
|
-
from octavia.controller.worker import task_utils as task_utilities
|
18
|
-
|
19
|
-
|
20
|
-
class BaseLifecycleTask(task.Task):
|
21
|
-
"""Base task to instansiate common classes."""
|
22
|
-
|
23
|
-
def __init__(self, **kwargs):
|
24
|
-
self.task_utils = task_utilities.TaskUtils()
|
25
|
-
super().__init__(**kwargs)
|
26
|
-
|
27
|
-
|
28
|
-
class AmphoraIDToErrorOnRevertTask(BaseLifecycleTask):
|
29
|
-
"""Task to checkpoint Amphora lifecycle milestones."""
|
30
|
-
|
31
|
-
def execute(self, amphora_id):
|
32
|
-
pass
|
33
|
-
|
34
|
-
def revert(self, amphora_id, *args, **kwargs):
|
35
|
-
self.task_utils.mark_amphora_status_error(amphora_id)
|
36
|
-
|
37
|
-
|
38
|
-
class AmphoraToErrorOnRevertTask(AmphoraIDToErrorOnRevertTask):
|
39
|
-
"""Task to checkpoint Amphora lifecycle milestones."""
|
40
|
-
|
41
|
-
def execute(self, amphora):
|
42
|
-
pass
|
43
|
-
|
44
|
-
def revert(self, amphora, *args, **kwargs):
|
45
|
-
super().revert(amphora.id)
|
46
|
-
|
47
|
-
|
48
|
-
class HealthMonitorToErrorOnRevertTask(BaseLifecycleTask):
|
49
|
-
"""Task to set a member to ERROR on revert."""
|
50
|
-
|
51
|
-
def execute(self, health_mon, listeners, loadbalancer):
|
52
|
-
pass
|
53
|
-
|
54
|
-
def revert(self, health_mon, listeners, loadbalancer, *args, **kwargs):
|
55
|
-
self.task_utils.mark_health_mon_prov_status_error(health_mon.id)
|
56
|
-
self.task_utils.mark_pool_prov_status_active(health_mon.pool_id)
|
57
|
-
self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)
|
58
|
-
for listener in listeners:
|
59
|
-
self.task_utils.mark_listener_prov_status_active(listener.id)
|
60
|
-
|
61
|
-
|
62
|
-
class L7PolicyToErrorOnRevertTask(BaseLifecycleTask):
|
63
|
-
"""Task to set a l7policy to ERROR on revert."""
|
64
|
-
|
65
|
-
def execute(self, l7policy, listeners, loadbalancer):
|
66
|
-
pass
|
67
|
-
|
68
|
-
def revert(self, l7policy, listeners, loadbalancer, *args, **kwargs):
|
69
|
-
self.task_utils.mark_l7policy_prov_status_error(l7policy.id)
|
70
|
-
self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)
|
71
|
-
for listener in listeners:
|
72
|
-
self.task_utils.mark_listener_prov_status_active(listener.id)
|
73
|
-
|
74
|
-
|
75
|
-
class L7RuleToErrorOnRevertTask(BaseLifecycleTask):
|
76
|
-
"""Task to set a l7rule to ERROR on revert."""
|
77
|
-
|
78
|
-
def execute(self, l7rule, listeners, loadbalancer):
|
79
|
-
pass
|
80
|
-
|
81
|
-
def revert(self, l7rule, listeners, loadbalancer, *args, **kwargs):
|
82
|
-
self.task_utils.mark_l7rule_prov_status_error(l7rule.id)
|
83
|
-
self.task_utils.mark_l7policy_prov_status_active(l7rule.l7policy_id)
|
84
|
-
self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)
|
85
|
-
for listener in listeners:
|
86
|
-
self.task_utils.mark_listener_prov_status_active(listener.id)
|
87
|
-
|
88
|
-
|
89
|
-
class ListenerToErrorOnRevertTask(BaseLifecycleTask):
|
90
|
-
"""Task to set a listener to ERROR on revert."""
|
91
|
-
|
92
|
-
def execute(self, listener):
|
93
|
-
pass
|
94
|
-
|
95
|
-
def revert(self, listener, *args, **kwargs):
|
96
|
-
self.task_utils.mark_listener_prov_status_error(listener.id)
|
97
|
-
self.task_utils.mark_loadbalancer_prov_status_active(
|
98
|
-
listener.load_balancer.id)
|
99
|
-
|
100
|
-
|
101
|
-
class ListenersToErrorOnRevertTask(BaseLifecycleTask):
|
102
|
-
"""Task to set listeners to ERROR on revert."""
|
103
|
-
|
104
|
-
def execute(self, listeners, loadbalancer):
|
105
|
-
pass
|
106
|
-
|
107
|
-
def revert(self, listeners, loadbalancer, *args, **kwargs):
|
108
|
-
self.task_utils.mark_loadbalancer_prov_status_active(
|
109
|
-
loadbalancer.id)
|
110
|
-
for listener in listeners:
|
111
|
-
self.task_utils.mark_listener_prov_status_error(listener.id)
|
112
|
-
|
113
|
-
|
114
|
-
class LoadBalancerIDToErrorOnRevertTask(BaseLifecycleTask):
|
115
|
-
"""Task to set the load balancer to ERROR on revert."""
|
116
|
-
|
117
|
-
def execute(self, loadbalancer_id):
|
118
|
-
pass
|
119
|
-
|
120
|
-
def revert(self, loadbalancer_id, *args, **kwargs):
|
121
|
-
self.task_utils.mark_loadbalancer_prov_status_error(loadbalancer_id)
|
122
|
-
|
123
|
-
|
124
|
-
class LoadBalancerToErrorOnRevertTask(LoadBalancerIDToErrorOnRevertTask):
|
125
|
-
"""Task to set the load balancer to ERROR on revert."""
|
126
|
-
|
127
|
-
def execute(self, loadbalancer):
|
128
|
-
pass
|
129
|
-
|
130
|
-
def revert(self, loadbalancer, *args, **kwargs):
|
131
|
-
super().revert(loadbalancer.id)
|
132
|
-
|
133
|
-
|
134
|
-
class MemberToErrorOnRevertTask(BaseLifecycleTask):
|
135
|
-
"""Task to set a member to ERROR on revert."""
|
136
|
-
|
137
|
-
def execute(self, member, listeners, loadbalancer, pool):
|
138
|
-
pass
|
139
|
-
|
140
|
-
def revert(self, member, listeners, loadbalancer, pool, *args, **kwargs):
|
141
|
-
self.task_utils.mark_member_prov_status_error(member.id)
|
142
|
-
for listener in listeners:
|
143
|
-
self.task_utils.mark_listener_prov_status_active(listener.id)
|
144
|
-
self.task_utils.mark_pool_prov_status_active(pool.id)
|
145
|
-
self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)
|
146
|
-
|
147
|
-
|
148
|
-
class MembersToErrorOnRevertTask(BaseLifecycleTask):
|
149
|
-
"""Task to set members to ERROR on revert."""
|
150
|
-
|
151
|
-
def execute(self, members, listeners, loadbalancer, pool):
|
152
|
-
pass
|
153
|
-
|
154
|
-
def revert(self, members, listeners, loadbalancer, pool, *args, **kwargs):
|
155
|
-
for m in members:
|
156
|
-
self.task_utils.mark_member_prov_status_error(m.id)
|
157
|
-
for listener in listeners:
|
158
|
-
self.task_utils.mark_listener_prov_status_active(listener.id)
|
159
|
-
self.task_utils.mark_pool_prov_status_active(pool.id)
|
160
|
-
self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)
|
161
|
-
|
162
|
-
|
163
|
-
class PoolToErrorOnRevertTask(BaseLifecycleTask):
|
164
|
-
"""Task to set a pool to ERROR on revert."""
|
165
|
-
|
166
|
-
def execute(self, pool, listeners, loadbalancer):
|
167
|
-
pass
|
168
|
-
|
169
|
-
def revert(self, pool, listeners, loadbalancer, *args, **kwargs):
|
170
|
-
self.task_utils.mark_pool_prov_status_error(pool.id)
|
171
|
-
self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)
|
172
|
-
for listener in listeners:
|
173
|
-
self.task_utils.mark_listener_prov_status_active(listener.id)
|
@@ -1,41 +0,0 @@
|
|
1
|
-
# Copyright 2015 Hewlett-Packard Development Company, L.P.
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
4
|
-
# not use this file except in compliance with the License. You may obtain
|
5
|
-
# a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
11
|
-
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
12
|
-
# License for the specific language governing permissions and limitations
|
13
|
-
# under the License.
|
14
|
-
#
|
15
|
-
|
16
|
-
from taskflow import task
|
17
|
-
|
18
|
-
|
19
|
-
class DeleteModelObject(task.Task):
|
20
|
-
"""Task to delete an object in a model."""
|
21
|
-
|
22
|
-
def execute(self, object):
|
23
|
-
|
24
|
-
object.delete()
|
25
|
-
|
26
|
-
|
27
|
-
class UpdateAttributes(task.Task):
|
28
|
-
"""Task to update an object for changes."""
|
29
|
-
|
30
|
-
def execute(self, object, update_dict):
|
31
|
-
"""Update an object and its associated resources.
|
32
|
-
|
33
|
-
Note: This relies on the data_model update() methods to handle complex
|
34
|
-
objects with nested objects (LoadBalancer.vip,
|
35
|
-
Pool.session_persistence, etc.)
|
36
|
-
|
37
|
-
:param object: The object will be updated.
|
38
|
-
:param update_dict: The updates dictionary.
|
39
|
-
:returns: None
|
40
|
-
"""
|
41
|
-
object.update(update_dict)
|