Add missing reload method in amphora noop driver

The reload method was also missing in the abstract class.

Task: 40140
Story: 2007847

Change-Id: I2328b3dc4d5b95c8771a305d3d4bb1dee6019117
(cherry picked from commit 89123c0fc1)
(cherry picked from commit 7e3d09ae76)
This commit is contained in:
Carlos Goncalves 2020-06-23 10:54:32 +02:00
parent 8eaa660c3a
commit d285f517d2
3 changed files with 33 additions and 0 deletions

View File

@ -68,6 +68,20 @@ class AmphoraLoadBalancerDriver(object):
add more function along with the development.
"""
@abc.abstractmethod
def reload(self, loadbalancer, amphora):
"""Reload the listeners on the amphora.
:param loadbalancer: loadbalancer object to reload listeners
:type loadbalancer: octavia.db.models.LoadBalancer
:param amphora: Amphora to start. If None, reload on all amphora
:type amphora: octavia.db.models.Amphora
:returns: return a value list (listener, vip, status flag--enable)
At this moment, we just build the basic structure for testing, will
add more function along with the development.
"""
@abc.abstractmethod
def delete(self, listener):
"""Delete the listener on the vip.

View File

@ -64,6 +64,13 @@ class NoopManager(object):
(loadbalancer.id, amphora.id)] = (loadbalancer, amphora,
'start')
def reload(self, loadbalancer, amphora=None):
LOG.debug("Amphora %s no-op, reload listeners, lb %s, amp %s",
self.__class__.__name__, loadbalancer.id, amphora)
self.amphoraconfig[
(loadbalancer.id, amphora.id)] = (loadbalancer, amphora,
'reload')
def delete(self, listener):
LOG.debug("Amphora %s no-op, delete listener %s, vip %s",
self.__class__.__name__,
@ -141,6 +148,10 @@ class NoopAmphoraLoadBalancerDriver(
self.driver.start(loadbalancer, amphora)
def reload(self, loadbalancer, amphora=None):
self.driver.reload(loadbalancer, amphora)
def delete(self, listener):
self.driver.delete(listener)

View File

@ -95,6 +95,14 @@ class TestNoopAmphoraLoadBalancerDriver(base.TestCase):
self.driver.driver.amphoraconfig[(
self.load_balancer.id, '321')])
def test_reload(self):
mock_amphora = mock.MagicMock()
mock_amphora.id = '321'
self.driver.reload(self.load_balancer, amphora=mock_amphora)
self.assertEqual((self.load_balancer, mock_amphora, 'reload'),
self.driver.driver.amphoraconfig[(
self.load_balancer.id, '321')])
def test_delete(self):
self.driver.delete(self.listener)
self.assertEqual((self.listener, self.vip, 'delete'),