Fix inappropriate provisioning_status of l7 policy

After adding/deleting/updating l7 rules successfully, the l7 policy
provisioning_status should be 'ACTIVE'.

Change-Id: Idb8a9a7c0458ed251eac53c320ceb7ad3f9963e3
Story: 2001193
task: 5695
This commit is contained in:
Lingxian Kong 2017-09-13 23:36:15 +12:00
parent 8f381e8d39
commit 5b9638b45d
4 changed files with 24 additions and 14 deletions

View File

@ -554,13 +554,14 @@ class ControllerWorker(base_taskflow.BaseTaskFlowEngine):
"""
l7rule = self._l7rule_repo.get(db_apis.get_session(),
id=l7rule_id)
listeners = [l7rule.l7policy.listener]
load_balancer = l7rule.l7policy.listener.load_balancer
l7policy = l7rule.l7policy
listeners = [l7policy.listener]
load_balancer = l7policy.listener.load_balancer
create_l7rule_tf = self._taskflow_load(
self._l7rule_flows.get_create_l7rule_flow(),
store={constants.L7RULE: l7rule,
constants.L7POLICY: l7policy,
constants.LISTENERS: listeners,
constants.LOADBALANCER: load_balancer})
with tf_logging.DynamicLoggingListener(create_l7rule_tf,
@ -576,13 +577,14 @@ class ControllerWorker(base_taskflow.BaseTaskFlowEngine):
"""
l7rule = self._l7rule_repo.get(db_apis.get_session(),
id=l7rule_id)
load_balancer = l7rule.l7policy.listener.load_balancer
listeners = [l7rule.l7policy.listener]
l7policy = l7rule.l7policy
load_balancer = l7policy.listener.load_balancer
listeners = [l7policy.listener]
delete_l7rule_tf = self._taskflow_load(
self._l7rule_flows.get_delete_l7rule_flow(),
store={constants.L7RULE: l7rule,
constants.L7POLICY: l7policy,
constants.LISTENERS: listeners,
constants.LOADBALANCER: load_balancer})
with tf_logging.DynamicLoggingListener(delete_l7rule_tf,
@ -599,13 +601,14 @@ class ControllerWorker(base_taskflow.BaseTaskFlowEngine):
"""
l7rule = self._l7rule_repo.get(db_apis.get_session(),
id=l7rule_id)
listeners = [l7rule.l7policy.listener]
load_balancer = l7rule.l7policy.listener.load_balancer
l7policy = l7rule.l7policy
listeners = [l7policy.listener]
load_balancer = l7policy.listener.load_balancer
update_l7rule_tf = self._taskflow_load(
self._l7rule_flows.get_update_l7rule_flow(),
store={constants.L7RULE: l7rule,
constants.L7POLICY: l7policy,
constants.LISTENERS: listeners,
constants.LOADBALANCER: load_balancer,
constants.UPDATE_DICT: l7rule_updates})

View File

@ -40,6 +40,8 @@ class L7RuleFlows(object):
requires=[constants.LOADBALANCER, constants.LISTENERS]))
create_l7rule_flow.add(database_tasks.MarkL7RuleActiveInDB(
requires=constants.L7RULE))
create_l7rule_flow.add(database_tasks.MarkL7PolicyActiveInDB(
requires=constants.L7POLICY))
create_l7rule_flow.add(database_tasks.MarkLBAndListenersActiveInDB(
requires=[constants.LOADBALANCER, constants.LISTENERS]))
@ -63,8 +65,8 @@ class L7RuleFlows(object):
requires=[constants.LOADBALANCER, constants.LISTENERS]))
delete_l7rule_flow.add(database_tasks.DeleteL7RuleInDB(
requires=constants.L7RULE))
delete_l7rule_flow.add(database_tasks.MarkL7RuleActiveInDB(
requires=constants.L7RULE))
delete_l7rule_flow.add(database_tasks.MarkL7PolicyActiveInDB(
requires=constants.L7POLICY))
delete_l7rule_flow.add(database_tasks.MarkLBAndListenersActiveInDB(
requires=[constants.LOADBALANCER, constants.LISTENERS]))
@ -92,6 +94,8 @@ class L7RuleFlows(object):
requires=[constants.L7RULE, constants.UPDATE_DICT]))
update_l7rule_flow.add(database_tasks.MarkL7RuleActiveInDB(
requires=constants.L7RULE))
update_l7rule_flow.add(database_tasks.MarkL7PolicyActiveInDB(
requires=constants.L7POLICY))
update_l7rule_flow.add(database_tasks.MarkLBAndListenersActiveInDB(
requires=[constants.LOADBALANCER, constants.LISTENERS]))

View File

@ -36,7 +36,7 @@ class TestL7RuleFlows(base.TestCase):
self.assertIn(constants.LISTENERS, l7rule_flow.requires)
self.assertIn(constants.LOADBALANCER, l7rule_flow.requires)
self.assertEqual(3, len(l7rule_flow.requires))
self.assertEqual(4, len(l7rule_flow.requires))
self.assertEqual(0, len(l7rule_flow.provides))
def test_get_delete_l7rule_flow(self):
@ -49,7 +49,7 @@ class TestL7RuleFlows(base.TestCase):
self.assertIn(constants.LOADBALANCER, l7rule_flow.requires)
self.assertIn(constants.L7RULE, l7rule_flow.requires)
self.assertEqual(3, len(l7rule_flow.requires))
self.assertEqual(4, len(l7rule_flow.requires))
self.assertEqual(0, len(l7rule_flow.provides))
def test_get_update_l7rule_flow(self):
@ -63,5 +63,5 @@ class TestL7RuleFlows(base.TestCase):
self.assertIn(constants.LOADBALANCER, l7rule_flow.requires)
self.assertIn(constants.UPDATE_DICT, l7rule_flow.requires)
self.assertEqual(4, len(l7rule_flow.requires))
self.assertEqual(5, len(l7rule_flow.requires))
self.assertEqual(0, len(l7rule_flow.provides))

View File

@ -994,6 +994,7 @@ class TestControllerWorker(base.TestCase):
(base_taskflow.BaseTaskFlowEngine._taskflow_load.
assert_called_once_with(_flow_mock,
store={constants.L7RULE: _l7rule_mock,
constants.L7POLICY: _l7policy_mock,
constants.LISTENERS:
[_listener_mock],
constants.LOADBALANCER:
@ -1026,6 +1027,7 @@ class TestControllerWorker(base.TestCase):
(base_taskflow.BaseTaskFlowEngine._taskflow_load.
assert_called_once_with(_flow_mock,
store={constants.L7RULE: _l7rule_mock,
constants.L7POLICY: _l7policy_mock,
constants.LISTENERS:
[_listener_mock],
constants.LOADBALANCER:
@ -1058,6 +1060,7 @@ class TestControllerWorker(base.TestCase):
(base_taskflow.BaseTaskFlowEngine._taskflow_load.
assert_called_once_with(_flow_mock,
store={constants.L7RULE: _l7rule_mock,
constants.L7POLICY: _l7policy_mock,
constants.LISTENERS:
[_listener_mock],
constants.LOADBALANCER: