From bc7d70a4063d439835f852fd72e962d061a27186 Mon Sep 17 00:00:00 2001 From: Adit Sarfaty Date: Tue, 3 Jan 2017 13:15:27 +0200 Subject: [PATCH] VMWare driver support for l7 rules & policies Change-Id: I3b14d107dbe0a72a6e24239f06bd6c3ac597cfbb --- .../drivers/vmware/edge_driver_v2.py | 32 +++++++++++++++++++ .../drivers/vmware/test_edge_driver_v2.py | 10 ++++++ ...re-driver-l7-support-570fecca245d1a37.yaml | 5 +++ 3 files changed, 47 insertions(+) create mode 100644 releasenotes/notes/vmware-driver-l7-support-570fecca245d1a37.yaml diff --git a/neutron_lbaas/drivers/vmware/edge_driver_v2.py b/neutron_lbaas/drivers/vmware/edge_driver_v2.py index 2ef2d8d47..3df894637 100644 --- a/neutron_lbaas/drivers/vmware/edge_driver_v2.py +++ b/neutron_lbaas/drivers/vmware/edge_driver_v2.py @@ -35,6 +35,8 @@ class EdgeLoadBalancerDriverV2(driver_base.LoadBalancerBaseDriver): self.pool = EdgePoolManager(self) self.member = EdgeMemberManager(self) self.health_monitor = EdgeHealthMonitorManager(self) + self.l7policy = L7PolicyManager(self) + self.l7rule = L7RuleManager(self) class EdgeLoadBalancerManager(driver_base.BaseLoadBalancerManager, @@ -133,3 +135,33 @@ class EdgeHealthMonitorManager(driver_base.BaseHealthMonitorManager, @call_log def delete(self, context, hm): self.nsxv_driver.healthmonitor.delete(context, hm) + + +class L7PolicyManager(driver_base.BaseL7PolicyManager, + EdgeDriverBaseManager): + @call_log + def create(self, context, pol): + self.nsxv_driver.l7policy.create(context, pol) + + @call_log + def update(self, context, old_pol, new_pol): + self.nsxv_driver.l7policy.update(context, old_pol, new_pol) + + @call_log + def delete(self, context, pol): + self.nsxv_driver.l7policy.delete(context, pol) + + +class L7RuleManager(driver_base.BaseL7RuleManager, + EdgeDriverBaseManager): + @call_log + def create(self, context, rule): + self.nsxv_driver.l7rule.create(context, rule) + + @call_log + def update(self, context, old_rule, new_rule): + self.nsxv_driver.l7rule.update(context, old_rule, new_rule) + + @call_log + def delete(self, context, rule): + self.nsxv_driver.l7rule.delete(context, rule) diff --git a/neutron_lbaas/tests/unit/drivers/vmware/test_edge_driver_v2.py b/neutron_lbaas/tests/unit/drivers/vmware/test_edge_driver_v2.py index abb53d8e8..93ba00344 100644 --- a/neutron_lbaas/tests/unit/drivers/vmware/test_edge_driver_v2.py +++ b/neutron_lbaas/tests/unit/drivers/vmware/test_edge_driver_v2.py @@ -116,3 +116,13 @@ class TestVMWareEdgeLoadBalancerDriverV2( mock_nsxv_driver = self._patch_manager(self.driver.health_monitor) ManagerTest(self, self.driver.health_monitor, FakeModel("hm"), mock_nsxv_driver.healthmonitor) + + def test_l7policy_ops(self): + mock_nsxv_driver = self._patch_manager(self.driver.l7policy) + ManagerTest(self, self.driver.l7policy, FakeModel("pol"), + mock_nsxv_driver.l7policy) + + def test_l7rule_ops(self): + mock_nsxv_driver = self._patch_manager(self.driver.l7rule) + ManagerTest(self, self.driver.l7rule, FakeModel("rule"), + mock_nsxv_driver.l7rule) diff --git a/releasenotes/notes/vmware-driver-l7-support-570fecca245d1a37.yaml b/releasenotes/notes/vmware-driver-l7-support-570fecca245d1a37.yaml new file mode 100644 index 000000000..04e4ed3a5 --- /dev/null +++ b/releasenotes/notes/vmware-driver-l7-support-570fecca245d1a37.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Adds support for the VMWare driver to use the L7 rules + and policies. \ No newline at end of file