예제 #1
0
    def test_member_delete_missing_subnet_id(self):
        self.driver._ovn_helper._get_subnet_from_pool.return_value = (
            self.ref_member.subnet_id)
        info = {
            'id': self.ref_member.member_id,
            'address': self.ref_member.address,
            'protocol_port': self.ref_member.protocol_port,
            'pool_id': self.ref_member.pool_id,
            'subnet_id': self.ref_member.subnet_id
        }
        expected_dict = {
            'type': ovn_const.REQ_TYPE_MEMBER_DELETE,
            'info': info
        }
        info_dvr = {
            'id': self.ref_member.member_id,
            'address': self.ref_member.address,
            'pool_id': self.ref_member.pool_id,
            'subnet_id': self.ref_member.subnet_id,
            'action': ovn_const.REQ_INFO_MEMBER_DELETED
        }
        expected_dict_dvr = {
            'type': ovn_const.REQ_TYPE_HANDLE_MEMBER_DVR,
            'info': info_dvr
        }

        member = copy.copy(self.ref_member)
        member.subnet_id = data_models.UnsetType()
        self.driver.member_delete(member)
        expected = [mock.call(expected_dict), mock.call(expected_dict_dvr)]
        self.mock_add_request.assert_has_calls(expected)
예제 #2
0
 def test_member_create_no_subnet_provided(self):
     self.ref_member.subnet_id = data_models.UnsetType()
     self.assertRaises(exceptions.UnsupportedOptionError,
                       self.driver.member_create, self.ref_member)
     self.ref_member.subnet_id = None
     self.assertRaises(exceptions.UnsupportedOptionError,
                       self.driver.member_create, self.ref_member)
예제 #3
0
 def test_member_create_no_subnet_provided_get_from_pool(self):
     self.driver._ovn_helper._get_subnet_from_pool.return_value = (
         self.ref_member.subnet_id)
     member = copy.copy(self.ref_member)
     member.subnet_id = data_models.UnsetType()
     self._test_member_create(member)
     member.subnet_id = None
     self._test_member_create(member)
예제 #4
0
 def test_pool_update_unset_new_admin_state_up(self):
     self.ref_update_pool.admin_state_up = data_models.UnsetType()
     info = {
         'id': self.ref_update_pool.pool_id,
         'loadbalancer_id': self.ref_update_pool.loadbalancer_id,
         'protocol': self.ref_pool.protocol
     }
     expected_dict = {'type': ovn_const.REQ_TYPE_POOL_UPDATE, 'info': info}
     self.driver.pool_update(self.ref_pool, self.ref_update_pool)
     self.mock_add_request.assert_called_once_with(expected_dict)
예제 #5
0
 def test_member_update_unset_admin_state_up(self):
     self.driver._ovn_helper._get_subnet_from_pool.return_value = (
         self.ref_member.subnet_id)
     self.update_member.admin_state_up = data_models.UnsetType()
     info = {
         'id': self.update_member.member_id,
         'address': self.ref_member.address,
         'protocol_port': self.ref_member.protocol_port,
         'pool_id': self.ref_member.pool_id,
         'old_admin_state_up': self.ref_member.admin_state_up,
         'subnet_id': self.ref_member.subnet_id
     }
     expected_dict = {
         'type': ovn_const.REQ_TYPE_MEMBER_UPDATE,
         'info': info
     }
     member = copy.copy(self.ref_member)
     member.subnet_id = data_models.UnsetType()
     self.driver.member_update(member, self.update_member)
     self.mock_add_request.assert_called_once_with(expected_dict)
예제 #6
0
 def test_loadbalancer_create_unset_admin_state_up(self):
     self.ref_lb0.admin_state_up = data_models.UnsetType()
     info = {
         'id': self.ref_lb0.loadbalancer_id,
         'vip_address': self.ref_lb0.vip_address,
         'vip_network_id': self.ref_lb0.vip_network_id,
         'admin_state_up': True
     }
     expected_dict = {'type': ovn_const.REQ_TYPE_LB_CREATE, 'info': info}
     calls = [mock.call(expected_dict)]
     self.driver.loadbalancer_create(self.ref_lb0)
     self.mock_add_request.assert_has_calls(calls)
예제 #7
0
 def test_pool_create_unset_admin_state_up(self):
     self.ref_pool.admin_state_up = data_models.UnsetType()
     info = {
         'id': self.ref_pool.pool_id,
         'loadbalancer_id': self.ref_pool.loadbalancer_id,
         'protocol': self.ref_pool.protocol,
         'lb_algorithm': constants.LB_ALGORITHM_SOURCE_IP_PORT,
         'listener_id': self.ref_pool.listener_id,
         'admin_state_up': True
     }
     expected_dict = {'type': ovn_const.REQ_TYPE_POOL_CREATE, 'info': info}
     self.driver.pool_create(self.ref_pool)
     self.mock_add_request.assert_called_once_with(expected_dict)
예제 #8
0
 def test_listener_update_unset_default_pool_id(self):
     self.ref_listener.default_pool_id = data_models.UnsetType()
     info = {
         'id': self.ref_listener.listener_id,
         'protocol_port': self.ref_listener.protocol_port,
         'protocol': self.ref_pool.protocol,
         'admin_state_up': self.ref_listener.admin_state_up,
         'loadbalancer_id': self.ref_listener.loadbalancer_id
     }
     expected_dict = {
         'type': ovn_const.REQ_TYPE_LISTENER_UPDATE,
         'info': info
     }
     self.driver.listener_update(self.ref_listener, self.ref_listener)
     self.mock_add_request.assert_called_once_with(expected_dict)
예제 #9
0
 def test_health_monitor_update_unset_admin_state_up(self):
     self.ref_update_health_monitor.admin_state_up = data_models.UnsetType()
     info = {
         'id': self.ref_update_health_monitor.healthmonitor_id,
         'pool_id': self.ref_health_monitor.pool_id,
         'interval': self.ref_update_health_monitor.delay,
         'timeout': self.ref_update_health_monitor.timeout,
         'failure_count': self.ref_update_health_monitor.max_retries_down,
         'success_count': self.ref_update_health_monitor.max_retries,
         'admin_state_up': True
     }
     expected_dict = {'type': ovn_const.REQ_TYPE_HM_UPDATE, 'info': info}
     self.driver.health_monitor_update(self.ref_health_monitor,
                                       self.ref_update_health_monitor)
     self.mock_add_request.assert_called_once_with(expected_dict)
예제 #10
0
 def test_member_create_no_set_admin_state_up(self):
     self.ref_member.admin_state_up = data_models.UnsetType()
     info = {
         'id': self.ref_member.member_id,
         'address': self.ref_member.address,
         'protocol_port': self.ref_member.protocol_port,
         'pool_id': self.ref_member.pool_id,
         'subnet_id': self.ref_member.subnet_id,
         'admin_state_up': True
     }
     expected_dict = {
         'type': ovn_const.REQ_TYPE_MEMBER_CREATE,
         'info': info
     }
     expected_dict_dvr = {
         'type': ovn_const.REQ_TYPE_HANDLE_MEMBER_DVR,
         'info': mock.ANY
     }
     expected = [mock.call(expected_dict), mock.call(expected_dict_dvr)]
     self.driver.member_create(self.ref_member)
     self.mock_add_request.assert_has_calls(expected)
예제 #11
0
 def test_loadbalancer_update_unset_admin_state_up(self):
     self.ref_lb1.admin_state_up = data_models.UnsetType()
     info = {'id': self.ref_lb1.loadbalancer_id}
     expected_dict = {'type': ovn_const.REQ_TYPE_LB_UPDATE, 'info': info}
     self.driver.loadbalancer_update(self.ref_lb0, self.ref_lb1)
     self.mock_add_request.assert_called_once_with(expected_dict)
예제 #12
0
 def test_loadbalancer_create_member_without_subnet_id(self):
     self.ref_member.subnet_id = data_models.UnsetType()
     info = {
         'id': self.ref_lb_fully_populated.loadbalancer_id,
         'vip_address': self.ref_lb_fully_populated.vip_address,
         'vip_network_id': self.ref_lb_fully_populated.vip_network_id,
         'admin_state_up': self.ref_lb_fully_populated.admin_state_up
     }
     info_listener = {
         'id': self.ref_listener.listener_id,
         'protocol': self.ref_listener.protocol,
         'protocol_port': self.ref_listener.protocol_port,
         'default_pool_id': self.ref_listener.default_pool_id,
         'admin_state_up': self.ref_listener.admin_state_up,
         'loadbalancer_id': self.ref_listener.loadbalancer_id
     }
     info_pool = {
         'id': self.ref_pool.pool_id,
         'loadbalancer_id': self.ref_pool.loadbalancer_id,
         'listener_id': self.ref_pool.listener_id,
         'protocol': self.ref_pool.protocol,
         'lb_algorithm': constants.LB_ALGORITHM_SOURCE_IP_PORT,
         'admin_state_up': self.ref_pool.admin_state_up
     }
     info_member = {
         'id': self.ref_member.member_id,
         'address': self.ref_member.address,
         'protocol_port': self.ref_member.protocol_port,
         'pool_id': self.ref_member.pool_id,
         'subnet_id': self.ref_lb_fully_populated.vip_network_id,
         'admin_state_up': self.ref_member.admin_state_up
     }
     info_dvr = {
         'id': self.ref_member.member_id,
         'address': self.ref_member.address,
         'pool_id': self.ref_member.pool_id,
         'subnet_id': self.ref_lb_fully_populated.vip_network_id,
         'action': ovn_const.REQ_INFO_MEMBER_ADDED
     }
     expected_lb_dict = {'type': ovn_const.REQ_TYPE_LB_CREATE, 'info': info}
     expected_listener_dict = {
         'type': ovn_const.REQ_TYPE_LISTENER_CREATE,
         'info': info_listener
     }
     expected_pool_dict = {
         'type': ovn_const.REQ_TYPE_POOL_CREATE,
         'info': info_pool
     }
     expected_member_dict = {
         'type': ovn_const.REQ_TYPE_MEMBER_CREATE,
         'info': info_member
     }
     expected_dict_dvr = {
         'type': ovn_const.REQ_TYPE_HANDLE_MEMBER_DVR,
         'info': info_dvr
     }
     calls = [
         mock.call(expected_lb_dict),
         mock.call(expected_listener_dict),
         mock.call(expected_pool_dict),
         mock.call(expected_member_dict),
         mock.call(expected_dict_dvr)
     ]
     self.driver.loadbalancer_create(self.ref_lb_fully_populated)
     self.mock_add_request.assert_has_calls(calls)
예제 #13
0
 def test_member_batch_update_unset_admin_state_up(self):
     self.ref_member.admin_state_up = data_models.UnsetType()
     self.driver.member_batch_update(self.pool_id, [self.ref_member])
     self.assertEqual(self.mock_add_request.call_count, 2)
예제 #14
0
 def test_health_monitor_create_failure_unset_type(self):
     self.fail_health_monitor.type = data_models.UnsetType()
     self.assertRaises(exceptions.UnsupportedOptionError,
                       self.driver.health_monitor_create,
                       self.fail_health_monitor)