def test_delete(self):
     m = fake_objs.FakeHM('HTTP')
     self.a.hm.tenant_id = "tenant-id"
     self.a.hm.delete(None, m)
     self.a.openstack_driver.health_monitor.successful_completion.assert_called_with(
         None, m, delete=True)
     self.a.last_client.slb.hm.delete.assert_called_with('fake-hm-id-001')
    def test_delete(self):
        members = [[], [fake_objs.FakeMember()]]
        hms = [None, fake_objs.FakeHM('PING')]
        persistences = [None, 'SOURCE_IP', 'HTTP_COOKIE']
        listeners = [False, True]

        for m in members:
            for hm in hms:
                for pers in persistences:
                    for lst in listeners:
                        self.a.reset_mocks()

                        pool = fake_objs.FakePool('TCP',
                                                  'ROUND_ROBIN',
                                                  pers,
                                                  lst,
                                                  members=m,
                                                  hm=hm)
                        self.a.pool.delete(None, pool)

                        self.print_mocks()

                        (self.a.last_client.slb.service_group.delete.
                         assert_called_with(pool.id))

                        if pers == 'SOURCE_IP':
                            (self.a.last_client.slb.template.
                             src_ip_persistence.delete.assert_called_with(
                                 pool.id))
                        elif pers == 'HTTP_COOKIE':
                            (self.a.last_client.slb.template.
                             cookie_persistence.delete.assert_called_with(
                                 pool.id))
 def test_create_http_with_pool(self):
     m = fake_objs.FakeHM('HTTP', pool=mock.MagicMock())
     self.a.hm.create(None, m)
     self.assert_hm(m, self.a.last_client.slb.hm.HTTP, 'GET', '/', '200')
     self.a.last_client.slb.service_group.update.assert_called_with(
         m.pool.id,
         health_monitor='fake-hm-id-001',
         health_check_disable=False)
Beispiel #4
0
 def test_create_tcp(self):
     hm = fake_objs.FakeHM('TCP')
     hm.pools = [{'pool_id': 'p02'}, {'pool_id': 'p01'}]
     self.a.hm.create(None, hm, 'p01')
     self.assert_hm(self.a.last_client.slb.hm.TCP, None, None, None)
     pool_name = self.a.hm._pool_name(None, 'p02')
     self.a.last_client.slb.service_group.update.assert_called_with(
         pool_name, health_monitor='hm01')
Beispiel #5
0
 def test_update_tcp(self, m_old=None, m=None):
     if m_old is None:
         m_old = fake_objs.FakeHM('TCP')
     if m is None:
         m = fake_objs.FakeHM('TCP')
     m.delay = 20
     self.a.hm.update(None, m_old, m, 'p01')
     self.a.last_client.slb.hm.update.assert_called_with(
         'hm01',
         self.a.last_client.slb.hm.TCP,
         20,
         5,
         '5',
         url=None,
         method=None,
         expect_code=None,
         axapi_args={})
 def test_delete_with_pool(self):
     m = fake_objs.FakeHM('TCP', pool=mock.MagicMock())
     self.a.hm.delete(None, m)
     self.a.openstack_driver.health_monitor.successful_completion.assert_called_with(
         None, m, delete=True)
     self.a.last_client.slb.service_group.update.assert_called_with(
         m.pool.id, health_monitor='', health_check_disable=True)
     self.a.last_client.slb.hm.delete.assert_called_with('fake-hm-id-001')
 def test_update_tcp_add_pool(self):
     m = fake_objs.FakeHM('TCP', pool=mock.MagicMock())
     self.test_update_tcp(m=m)
     self.print_mocks()
     self.a.last_client.slb.service_group.update.assert_called_with(
         m.pool.id,
         health_monitor='fake-hm-id-001',
         health_check_disable=False)
 def test_update_tcp(self, m_old=None, m=None):
     if m_old is None:
         m_old = fake_objs.FakeHM('TCP')
     if m is None:
         m = fake_objs.FakeHM('TCP')
     m.delay = 20
     self.a.hm.update(None, m_old, m)
     self.a.openstack_driver.health_monitor.successful_completion.assert_called_with(
         None, m)
     self.a.last_client.slb.hm.update.assert_called_with(
         'fake-hm-id-001',
         self.a.last_client.slb.hm.TCP,
         20,
         7,
         8,
         method=None,
         url=None,
         expect_code=None,
         axapi_args={})
Beispiel #9
0
    def test_dissociate_calls_service_group_update(self):
        fake_pool = fake_objs.FakePool()
        fake_hm = fake_objs.FakeHM('HTTP')
        fake_hm.id = "id1"
        fake_hm.pools = []
        fake_hm.pools.append(fake_pool)
        fake_hm.tenant_id = "tenv1"

        self.a.hm.dissociate(self.a.last_client, None, fake_hm, fake_pool.id)
        self.a.last_client.slb.service_group.update.assert_called(
            fake_pool.id, health_monitor="", health_check_disable=True)
Beispiel #10
0
    def test_delete(self):
        pool = fake_objs.FakePool('TCP', 'LEAST_CONNECTIONS')
        pool.members = [fake_objs.FakeMember()]
        pool.health_monitors_status = [{'monitor_id': 'hm1', "pools": [pool]}]
        self.a.pool.neutron.openstack_driver._pool_get_hm.return_value = fake_objs.FakeHM(
        )

        self._test_delete(pool)

        (self.a.last_client.slb.service_group.delete.assert_called_with(
            pool['id']))
Beispiel #11
0
    def test_delete(self):
        expected = fake_objs.FakePool()
        fakehm = fake_objs.FakeHM('HTTP')
        fakehm.tenant_id = 'tenv1'
        fakehm.id = 'fedcba'
        fakehm.pools.append(expected)

        self.a.hm.openstack_driver.plugin.get_pool.return_value = expected
        self.a.hm.openstack_driver._hm_binding_count.return_value = 1

        self.a.hm.delete(None, fakehm, 'p01')
        self.a.last_client.slb.hm.delete.assert_called_with(fakehm.id)
Beispiel #12
0
    def test_delete_with_hm_dissociates_hm(self):
        pool = fake_objs.FakePool('TCP', 'LEAST_CONNECTIONS')
        hm = fake_objs.FakeHM("TCP")
        hm.pools.append(fake_objs.FakePool('TCP', 'LEAST_CONNECTIONS'))
        pool.members = [fake_objs.FakeMember()]
        pool.health_monitors_status = [{'monitor_id': 'hm1', "pools": [pool]}]

        self.a.pool.neutron.openstack_driver._pool_get_hm.return_value = hm

        self._test_delete(pool)
        self.a.last_client.slb.service_group.update.assert_called_with(
            "id1", health_monitor="", health_check_disable=True)
Beispiel #13
0
    def test_dissociate_calls_hm_delete(self):
        fake_pool = fake_objs.FakePool()
        fake_hm = fake_objs.FakeHM('HTTP')
        fake_pool.health_monitor_status = [{"monitor_id": fake_hm.id}]
        fake_hm.id = "id1"
        fake_hm.pools = []
        fake_hm.pools.append(fake_pool)
        fake_hm.tenant_id = "tenv1"

        self.a.hm.dissociate(self.a.last_client, None, fake_hm, fake_pool.id)
        self.a.last_client.hm.service_group.delete.assert_called(
            self.a.hm._meta_name(fake_hm))
Beispiel #14
0
    def test_create_noname_noexception(self):
        self.a.config.get_monitor_expressions = self._get_expressions_mock
        expressions = self.a.config.get_monitor_expressions()
        expected = expressions.get(self.EXPR_BEGIN, {}).get("json", None) or ""

        m = fake_objs.FakeHM('HTTPS')
        m.name = None
        handler = self.a.hm
        handler.create(None, m)

        s = str(self.a.last_client.mock_calls)
        self.assertIn("hm.create", s)
        self.assertNotIn(str(expected), s)
Beispiel #15
0
    def _test_create_expressions(self, os_name, pattern, expressions=None):
        self.a.config.get_monitor_expressions = self._get_expressions_mock
        expressions = expressions or self.a.config.get_monitor_expressions()
        expected = expressions.get(pattern, {}).get("json", None) or ""

        m = fake_objs.FakeHM('HTTPS')
        m.name = os_name

        handler = self.a.hm
        handler.create(None, m)

        s = str(self.a.last_client.mock_calls)
        self.assertIn("hm.create", s)
        self.assertIn(str(expected), s)
Beispiel #16
0
    def test_delete_updates_pool_health_monitor(self):
        expected = fake_objs.FakePool()
        fakehm = fake_objs.FakeHM('HTTP')
        fakehm.tenant_id = 'tenv1'
        fakehm.id = 'fedcba'
        fakehm.pools = []
        fakehm.pools.append(expected)

        self.a.hm.openstack_driver._pool_get_hm.return_value = fakehm
        self.a.hm.openstack_driver.plugin.get_pool.return_value = expected
        self.a.hm.openstack_driver._hm_binding_count.return_value = 1

        pool_name = self.a.hm._pool_name(None, 'p01')
        self.a.hm.delete(None, fakehm, 'p01')

        self.a.last_client.slb.service_group.update.assert_called_with(
            pool_name, health_monitor='', health_check_disable=True)
 def test_create_https(self):
     m = fake_objs.FakeHM('HTTPS')
     self.a.hm.create(None, m)
     self.assert_hm(m, self.a.last_client.slb.hm.HTTPS, 'GET', '/', '200')
 def test_update_tcp_delete_pool(self):
     m_old = fake_objs.FakeHM('TCP', pool=mock.MagicMock())
     self.test_update_tcp(m_old=m_old)
     self.print_mocks()
     self.a.last_client.slb.service_group.update.assert_called_with(
         m_old.pool.id, health_monitor='', health_check_disable=True)
 def test_create_ping(self):
     m = fake_objs.FakeHM('PING')
     self.a.hm.create(None, m)
     self.assert_hm(m, self.a.last_client.slb.hm.ICMP, None, None, None)
Beispiel #20
0
 def test_create_https(self):
     self.a.hm.create(None, fake_objs.FakeHM('HTTPS'), 'p01')
     self.assert_hm(self.a.last_client.slb.hm.HTTPS, 'GET', '/', '200')
     pool_name = self.a.hm._pool_name(None, 'p01')
     self.a.last_client.slb.service_group.update.assert_called_with(
         pool_name, health_monitor='hm01')
 def test_create_tcp(self):
     m = fake_objs.FakeHM('TCP')
     self.a.hm.create(None, m)
     self.print_mocks()
     self.assert_hm(m, self.a.last_client.slb.hm.TCP, None, None, None)
Beispiel #22
0
 def test_create_ping(self):
     self.a.hm.create(None, fake_objs.FakeHM('PING'), 'p01')
     self.assert_hm(self.a.last_client.slb.hm.ICMP, None, None, None)
     pool_name = self.a.hm._pool_name(None, 'p01')
     self.a.last_client.slb.service_group.update.assert_called_with(
         pool_name, health_monitor='hm01')