def test_find_member(self): lbaas = self.useFixture(k_fix.MockLBaaSClient()).client cls = d_lbaasv2.LBaaSv2Driver m_driver = mock.Mock(spec=d_lbaasv2.LBaaSv2Driver) member = obj_lbaas.LBaaSMember( name='TEST_NAME', project_id='TEST_PROJECT', ip='1.2.3.4', port=1234, subnet_id='D3FA400A-F543-4B91-9CD3-047AF0CE42D1', pool_id='D4F35594-27EB-4F4C-930C-31DD40F53B77') member_id = '3A70CEC0-392D-4BC1-A27C-06E63A0FD54F' resp = {'members': [{'id': member_id}]} lbaas.list_lbaas_members.return_value = resp ret = cls._find_member(m_driver, member) lbaas.list_lbaas_members.assert_called_once_with( member.pool_id, name=member.name, project_id=member.project_id, subnet_id=member.subnet_id, address=member.ip, protocol_port=member.port) for attr in member.obj_fields: self.assertEqual(getattr(member, attr), getattr(ret, attr)) self.assertEqual(member_id, ret.id)
def ensure_member(self, loadbalancer, pool, subnet_id, ip, port, target_ref_namespace, target_ref_name, listener_port=None): name = ("%s/%s" % (target_ref_namespace, target_ref_name)) name += ":%s" % port member = obj_lbaas.LBaaSMember(name=name, project_id=loadbalancer.project_id, pool_id=pool.id, subnet_id=subnet_id, ip=ip, port=port) result = self._ensure_provisioned(loadbalancer, member, self._create_member, self._find_member) network_policy = ('policy' in CONF.kubernetes.enabled_handlers and CONF.kubernetes.service_security_groups_driver == 'policy') if network_policy and listener_port: protocol = pool.protocol sg_rule_name = pool.name self._apply_members_security_groups(loadbalancer, listener_port, port, protocol, sg_rule_name) return result
def test_create_member(self): neutron = self.useFixture(k_fix.MockNeutronClient()).client cls = d_lbaasv2.LBaaSv2Driver m_driver = mock.Mock(spec=d_lbaasv2.LBaaSv2Driver) member = obj_lbaas.LBaaSMember( name='TEST_NAME', project_id='TEST_PROJECT', ip='1.2.3.4', port=1234, subnet_id='D3FA400A-F543-4B91-9CD3-047AF0CE42D1', pool_id='D4F35594-27EB-4F4C-930C-31DD40F53B77') member_id = '3A70CEC0-392D-4BC1-A27C-06E63A0FD54F' req = { 'member': { 'name': member.name, 'project_id': member.project_id, 'tenant_id': member.project_id, 'subnet_id': member.subnet_id, 'address': str(member.ip), 'protocol_port': member.port } } resp = {'member': {'id': member_id}} neutron.create_lbaas_member.return_value = resp ret = cls._create_member(m_driver, member) neutron.create_lbaas_member.assert_called_once_with( member.pool_id, req) for attr in member.obj_fields: self.assertEqual(getattr(member, attr), getattr(ret, attr)) self.assertEqual(member_id, ret.id)
def test_create_member(self): cls = d_lbaasv2.LBaaSv2Driver m_driver = mock.Mock(spec=d_lbaasv2.LBaaSv2Driver) member = obj_lbaas.LBaaSMember( name='TEST_NAME', project_id='TEST_PROJECT', ip='1.2.3.4', port=1234, subnet_id='D3FA400A-F543-4B91-9CD3-047AF0CE42D1', pool_id='D4F35594-27EB-4F4C-930C-31DD40F53B77') member_id = '3A70CEC0-392D-4BC1-A27C-06E63A0FD54F' req = { 'name': member.name, 'project_id': member.project_id, 'subnet_id': member.subnet_id, 'address': str(member.ip), 'protocol_port': member.port } resp = o_mem.Member(id=member_id) m_driver._post_lb_resource.return_value = resp ret = cls._create_member(m_driver, member) m_driver._post_lb_resource.assert_called_once_with( o_mem.Member, req, pool_id=member.pool_id) for attr in member.obj_fields: self.assertEqual(getattr(member, attr), getattr(ret, attr)) self.assertEqual(member_id, ret.id)
def ensure_member(self, endpoints, loadbalancer, pool, subnet_id, ip, port, target_ref): name = "%s:%s:%s" % (loadbalancer.name, ip, port) return obj_lbaas.LBaaSMember(name=name, project_id=pool.project_id, pool_id=pool.id, subnet_id=subnet_id, ip=ip, port=port, id=uuidutils.generate_uuid())
def ensure_member(self, loadbalancer, pool, subnet_id, ip, port, target_ref_namespace, target_ref_name): name = "%s:%s:%s" % (loadbalancer.name, ip, port) return obj_lbaas.LBaaSMember(name=name, project_id=pool.project_id, pool_id=pool.id, subnet_id=subnet_id, ip=ip, port=port, id=str(uuid.uuid4()))
def ensure_member(self, loadbalancer, pool, subnet_id, ip, port, target_ref_namespace, target_ref_name): name = ("%s/%s" % (target_ref_namespace, target_ref_name)) name += ":%s" % port member = obj_lbaas.LBaaSMember(name=name, project_id=loadbalancer.project_id, pool_id=pool.id, subnet_id=subnet_id, ip=ip, port=port) return self._ensure_provisioned(loadbalancer, member, self._create_member, self._find_member)
def ensure_member(self, endpoints, loadbalancer, pool, subnet_id, ip, port, target_ref): name = "%(namespace)s/%(name)s" % target_ref name += ":%s" % port member = obj_lbaas.LBaaSMember(name=name, project_id=pool.project_id, pool_id=pool.id, subnet_id=subnet_id, ip=ip, port=port) return self._ensure_provisioned(loadbalancer, member, self._create_member, self._find_member)
def test_find_member_not_found(self): lbaas = self.useFixture(k_fix.MockLBaaSClient()).client cls = d_lbaasv2.LBaaSv2Driver m_driver = mock.Mock(spec=d_lbaasv2.LBaaSv2Driver) member = obj_lbaas.LBaaSMember( name='TEST_NAME', project_id='TEST_PROJECT', ip='1.2.3.4', port=1234, subnet_id='D3FA400A-F543-4B91-9CD3-047AF0CE42D1', pool_id='D4F35594-27EB-4F4C-930C-31DD40F53B77') resp = iter([]) lbaas.members.return_value = resp ret = cls._find_member(m_driver, member) lbaas.members.assert_called_once_with( member.pool_id, name=member.name, project_id=member.project_id, subnet_id=member.subnet_id, address=member.ip, protocol_port=member.port) self.assertIsNone(ret)