def _create_virtual_interface(self, project, lb_id, subnet_id, ip_address): network_id = utils.get_subnet_network_id(self._api, subnet_id) try: vnet = self._api.virtual_network_read(id=network_id) except NoIdError: raise n_exc.NetworkNotFound(net_id=network_id) vmi = VirtualMachineInterface(lb_id, project) vmi.set_virtual_network(vnet) vmi.set_virtual_machine_interface_device_owner(n_constants.DEVICE_OWNER_LOADBALANCER) sg_obj = SecurityGroup("default", project) vmi.add_security_group(sg_obj) self._api.virtual_machine_interface_create(vmi) iip_obj = InstanceIp(name=lb_id) iip_obj.set_virtual_network(vnet) iip_obj.set_virtual_machine_interface(vmi) if ip_address and ip_address != attributes.ATTR_NOT_SPECIFIED: iip_obj.set_instance_ip_address(ip_address) self._api.instance_ip_create(iip_obj) iip = self._api.instance_ip_read(id=iip_obj.uuid) vip_address = iip.get_instance_ip_address() return vmi, vip_address
def _create_virtual_interface(self, project, lb_id, subnet_id, network_id, ip_address): iip_obj = InstanceIp(name=lb_id) if subnet_id and subnet_id != ATTR_NOT_SPECIFIED: network_id = utils.get_subnet_network_id(self._api, subnet_id) vnet = utils.get_vnet_obj(self._api, network_id) iip_obj.set_subnet_uuid(subnet_id) elif network_id and network_id != ATTR_NOT_SPECIFIED: vnet = utils.get_vnet_obj(self._api, network_id) else: msg = 'vip-network-id or vip-subnet-id should be specified' raise BadRequest(resource='loadbalancer', msg=msg) vmi = VirtualMachineInterface(lb_id, project) vmi.set_virtual_network(vnet) vmi.set_virtual_machine_interface_device_owner( DEVICE_OWNER_LOADBALANCER) sg_obj = SecurityGroup("default", project) vmi.add_security_group(sg_obj) self._api.virtual_machine_interface_create(vmi) iip_obj.set_virtual_network(vnet) iip_obj.set_virtual_machine_interface(vmi) if ip_address and ip_address != ATTR_NOT_SPECIFIED: iip_obj.set_instance_ip_address(ip_address) self._api.instance_ip_create(iip_obj) iip = self._api.instance_ip_read(id=iip_obj.uuid) vip_address = iip.get_instance_ip_address() vip_subnet_id = iip.get_subnet_uuid() return vmi, vip_address, vip_subnet_id
def _create_virtual_interface(self, project, vip_id, subnet_id, ip_address): network_id = utils.get_subnet_network_id(self._api, subnet_id) try: vnet = self._api.virtual_network_read(id=network_id) except NoIdError: raise n_exc.NetworkNotFound(net_id=network_id) vmi = VirtualMachineInterface(vip_id, project) vmi.set_virtual_network(vnet) sg_obj = SecurityGroup("default", project) vmi.add_security_group(sg_obj) self._api.virtual_machine_interface_create(vmi) fq_name = list(project.get_fq_name()) fq_name.append(vip_id) iip_obj = InstanceIp(fq_name=fq_name) iip_obj.set_virtual_network(vnet) iip_obj.set_virtual_machine_interface(vmi) if ip_address and ip_address != attributes.ATTR_NOT_SPECIFIED: iip_obj.set_instance_ip_address(ip_address) self._api.instance_ip_create(fq_name) return vmi
def _create_virtual_interface(self, project, vip_id, subnet_id, ip_address): network_id = utils.get_subnet_network_id(self._api, subnet_id) try: vnet = self._api.virtual_network_read(id=network_id) except NoIdError: raise n_exc.NetworkNotFound(net_id=network_id) vmi = VirtualMachineInterface(vip_id, project) vmi.set_virtual_network(vnet) sg_obj = SecurityGroup("default", project) vmi.add_security_group(sg_obj) self._api.virtual_machine_interface_create(vmi) fq_name = list(project.get_fq_name()) fq_name.append(vip_id) iip_obj = InstanceIp(fq_name=fq_name) iip_obj.set_virtual_network(vnet) iip_obj.set_virtual_machine_interface(vmi) if ip_address and ip_address != attributes.ATTR_NOT_SPECIFIED: iip_obj.set_instance_ip_address(ip_address) self._api.instance_ip_create(fq_name) return vmi