From 987d14406c3813857cb1a88215e18c3476e2c82c Mon Sep 17 00:00:00 2001 From: Michael Johnson Date: Thu, 31 Jan 2019 15:25:16 -0800 Subject: [PATCH] Fix the amphora noop driver The dual-amp-down fix added an amphora parameter to the amphora driver interface, but failed to update the driver base and the noop driver. This patch corrects that oversight. Depends-On: https://review.openstack.org/634992 Change-Id: I7bd63c933f8e7cd10ff5c89fafbbb09e8cc9e3e1 --- octavia/amphorae/drivers/driver_base.py | 4 +++- octavia/amphorae/drivers/noop_driver/driver.py | 13 +++++++------ .../drivers/test_noop_amphoraloadbalancer_driver.py | 6 +++--- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/octavia/amphorae/drivers/driver_base.py b/octavia/amphorae/drivers/driver_base.py index 9014069822..c3135f7f1c 100644 --- a/octavia/amphorae/drivers/driver_base.py +++ b/octavia/amphorae/drivers/driver_base.py @@ -73,7 +73,7 @@ class AmphoraLoadBalancerDriver(object): pass @abc.abstractmethod - def start(self, listener, vip): + def start(self, listener, vip, amphora): """Start the listener on the vip. :param listener: listener object, @@ -81,6 +81,8 @@ class AmphoraLoadBalancerDriver(object): :type listener: object :param vip: vip object, need to use its ip_address property :type vip: object + :param amphora: Amphora to start. If None, start on all amphora + :type amphora: object :returns: return a value list (listener, vip, status flag--enable) At this moment, we just build the basic structure for testing, will diff --git a/octavia/amphorae/drivers/noop_driver/driver.py b/octavia/amphorae/drivers/noop_driver/driver.py index 837ea375e5..a9a612dfc0 100644 --- a/octavia/amphorae/drivers/noop_driver/driver.py +++ b/octavia/amphorae/drivers/noop_driver/driver.py @@ -61,12 +61,13 @@ class NoopManager(object): self.amphoraconfig[(listener.protocol_port, vip.ip_address)] = (listener, vip, 'stop') - def start(self, listener, vip): - LOG.debug("Amphora %s no-op, start listener %s, vip %s", + def start(self, listener, vip, amphora=None): + LOG.debug("Amphora %s no-op, start listener %s, vip %s, amp %s", self.__class__.__name__, - listener.protocol_port, vip.ip_address) + listener.protocol_port, vip.ip_address, amphora) self.amphoraconfig[(listener.protocol_port, - vip.ip_address)] = (listener, vip, 'start') + vip.ip_address, amphora)] = (listener, vip, + amphora, 'start') def delete(self, listener, vip): LOG.debug("Amphora %s no-op, delete listener %s, vip %s", @@ -130,9 +131,9 @@ class NoopAmphoraLoadBalancerDriver( self.driver.stop(listener, vip) - def start(self, listener, vip): + def start(self, listener, vip, amphora=None): - self.driver.start(listener, vip) + self.driver.start(listener, vip, amphora) def delete(self, listener, vip): diff --git a/octavia/tests/unit/amphorae/drivers/test_noop_amphoraloadbalancer_driver.py b/octavia/tests/unit/amphorae/drivers/test_noop_amphoraloadbalancer_driver.py index 8f23eeb0de..dd760e6b11 100644 --- a/octavia/tests/unit/amphorae/drivers/test_noop_amphoraloadbalancer_driver.py +++ b/octavia/tests/unit/amphorae/drivers/test_noop_amphoraloadbalancer_driver.py @@ -93,11 +93,11 @@ class TestNoopAmphoraLoadBalancerDriver(base.TestCase): self.vip.ip_address)]) def test_start(self): - self.driver.start(self.listener, self.vip) - self.assertEqual((self.listener, self.vip, 'start'), + self.driver.start(self.listener, self.vip, amphora='amp1') + self.assertEqual((self.listener, self.vip, 'amp1', 'start'), self.driver.driver.amphoraconfig[( self.listener.protocol_port, - self.vip.ip_address)]) + self.vip.ip_address, 'amp1')]) def test_delete(self): self.driver.delete(self.listener, self.vip)