コード例 #1
0
    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)
コード例 #2
0
ファイル: lbaasv2.py プロジェクト: dulek/kuryr-kubernetes
    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
コード例 #3
0
    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)
コード例 #4
0
    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)
コード例 #5
0
 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())
コード例 #6
0
ファイル: test_lbaas.py プロジェクト: erj826/kuryr-kubernetes
 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()))
コード例 #7
0
ファイル: lbaasv2.py プロジェクト: pliurh/kuryr-kubernetes
 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)
コード例 #8
0
 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)
コード例 #9
0
ファイル: test_lbaasv2.py プロジェクト: ragilsetian/kuryr-k8s
    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)