def test_create_pool(self):
        tenant_id = _uuid()
        pool_id = _uuid()
        vip_id = _uuid()
        subnet_id = _uuid()

        api = self.api_server

        project = Project(name='test')
        project.uuid = tenant_id
        template = ServiceTemplate('lb-test', project)
        template.uuid = _uuid()

        pool_attrs = LoadbalancerPoolType()
        pool_attrs.subnet_id = subnet_id
        pool = LoadbalancerPool(
            pool_id, project, loadbalancer_pool_properties=pool_attrs)
        pool.uuid = pool_id

        vip_attrs = VirtualIpType()
        vip_attrs.subnet_id = subnet_id
        vip_attrs.address = '127.0.0.1'
        vip = VirtualIp(vip_id, project, virtual_ip_properties=vip_attrs)
        vip.uuid = vip_id
        vip.set_loadbalancer_pool(pool)

        vnet = VirtualNetwork('test', project)
        vnet.uuid = _uuid()

        vmi = VirtualMachineInterface(vip_id, project)
        vmi.uuid = _uuid()
        vmi.set_virtual_network(vnet)
        iip = InstanceIp(vip_id, instance_ip_address='127.0.0.1')
        iip.uuid = _uuid()
        iip.set_virtual_machine_interface(vmi)

        iip_refs = [
            {'to': iip.get_fq_name(), 'uuid': iip.uuid}
        ]
        vmi.get_instance_ip_back_refs = mock.Mock()
        vmi.get_instance_ip_back_refs.return_value = iip_refs

        vip.set_virtual_machine_interface(vmi)

        api.virtual_service_template_read = template
        api.loadbalancer_pool_read.return_value = pool
        api.virtual_ip_read.return_value = vip
        api.kv_retrieve.return_value = '%s %s' % (vnet.uuid, subnet_id)
        api.virtual_machine_interface_read.return_value = vmi
        api.instance_ip_read.return_value = iip
        api.service_instance_read.side_effect = NoIdError('404')

        context = {}
        pool_data = {
            'id': pool_id,
            'vip_id': vip_id
        }
        self.driver.create_pool(context, pool_data)
        api.service_instance_create.assert_called_with(mock.ANY)
Пример #2
0
    def test_create_pool(self):
        tenant_id = _uuid()
        pool_id = _uuid()
        vip_id = _uuid()
        subnet_id = _uuid()

        api = self.api_server

        project = Project(name='test')
        project.uuid = tenant_id
        template = ServiceTemplate('lb-test', project)
        template.uuid = _uuid()

        pool_attrs = LoadbalancerPoolType()
        pool_attrs.subnet_id = subnet_id
        pool = LoadbalancerPool(
            pool_id, project, loadbalancer_pool_properties=pool_attrs)
        pool.uuid = pool_id

        vip_attrs = VirtualIpType()
        vip_attrs.subnet_id = subnet_id
        vip_attrs.address = '127.0.0.1'
        vip = VirtualIp(vip_id, project, virtual_ip_properties=vip_attrs)
        vip.uuid = vip_id
        vip.set_loadbalancer_pool(pool)

        vnet = VirtualNetwork('test', project)
        vnet.uuid = _uuid()

        vmi = VirtualMachineInterface(vip_id, project)
        vmi.uuid = _uuid()
        vmi.set_virtual_network(vnet)
        iip = InstanceIp(vip_id, instance_ip_address='127.0.0.1')
        iip.uuid = _uuid()
        iip.set_virtual_machine_interface(vmi)

        iip_refs = [
            {'to': iip.get_fq_name(), 'uuid': iip.uuid}
        ]
        vmi.get_instance_ip_back_refs = mock.Mock()
        vmi.get_instance_ip_back_refs.return_value = iip_refs

        vip.set_virtual_machine_interface(vmi)

        api.virtual_service_template_read = template
        api.loadbalancer_pool_read.return_value = pool
        api.virtual_ip_read.return_value = vip
        api.kv_retrieve.return_value = '%s %s' % (vnet.uuid, subnet_id)
        api.virtual_machine_interface_read.return_value = vmi
        api.instance_ip_read.return_value = iip
        api.service_instance_read.side_effect = NoIdError('404')

        context = {}
        pool_data = {
            'id': pool_id,
            'vip_id': vip_id
        }
        self.driver.create_pool(context, pool_data)
        api.service_instance_create.assert_called_with(mock.ANY)
    def make_properties(self, vip):
        props = VirtualIpType()
        for key, mapping in self._virtual_ip_type_mapping.iteritems():
            if mapping in vip:
                setattr(props, key, vip[mapping])

        sp = vip['session_persistence']
        if sp is not None:
            props.persistence_type = sp['type']
            if 'cookie_name' in sp:
                props.persistence_cookie_name = sp['cookie_name']
        return props
Пример #4
0
    def make_properties(self, vip):
        props = VirtualIpType()
        for key, mapping in self._virtual_ip_type_mapping.iteritems():
            if mapping in vip:
                setattr(props, key, vip[mapping])

        sp = vip['session_persistence']
        if sp is not None:
            props.persistence_type = sp['type']
            if 'cookie_name' in sp:
                props.persistence_cookie_name = sp['cookie_name']
        return props
 def _virtual_ip_properties_build(self):
     props = VirtualIpType()
     props.address = '127.0.0.1'
     props.protocol = 'HTTP'
     props.protocol_port = 80
     props.connection_limit = 100
     props.subnet_id = _uuid()
     props.admin_state = True
     return props
 def _virtual_ip_properties_build(self):
     props = VirtualIpType()
     props.address = '127.0.0.1'
     props.protocol = 'HTTP'
     props.protocol_port = 80
     props.connection_limit = 100
     props.subnet_id = _uuid()
     props.admin_state = True
     return props
 def virtual_ip_read(*args, **kwargs):
     name = None
     props = VirtualIpType()
     props.address = '127.0.0.1'
     if kwargs['id'] == vip1_id:
         name = 'vip1'
         props.protocol = 'HTTP'
     elif kwargs['id'] == vip2_id:
         name = 'vip2'
         props.protocol = 'HTTPS'
     props.protocol_port = 80
     props.connection_limit = 100
     props.subnet_id = _uuid()
     props.admin_state = True
     vip = VirtualIp(virtual_ip_properties=props, display_name=name)
     vip.uuid = kwargs['id']
     vip.parent_uuid = _uuid()
     return vip
 def virtual_ip_read(*args, **kwargs):
     name = None
     props = VirtualIpType()
     props.address = '127.0.0.1'
     if kwargs['id'] == vip1_id:
         name = 'vip1'
         props.protocol = 'HTTP'
     elif kwargs['id'] == vip2_id:
         name = 'vip2'
         props.protocol = 'HTTPS'
     props.protocol_port = 80
     props.connection_limit = 100
     props.subnet_id = _uuid()
     props.admin_state = True
     vip = VirtualIp(virtual_ip_properties=props, display_name=name)
     vip.uuid = kwargs['id']
     vip.parent_uuid = _uuid()
     return vip