def _calculate_instance_properties(self, pool, vip): """ ServiceInstance settings - right network: public side, determined by the vip - left network: backend, determined by the pool subnet """ props = ServiceInstanceType() vmi = self._get_virtual_ip_interface(vip) if not vmi: return None vnet_refs = vmi.get_virtual_network_refs() if vnet_refs is None: return None props.right_virtual_network = ':'.join(vnet_refs[0]['to']) props.right_ip_address = self._get_interface_address(vmi) if props.right_ip_address is None: return None pool_attrs = pool.get_loadbalancer_pool_properties() backnet_id = utils.get_subnet_network_id( self._api, pool_attrs.subnet_id) if backnet_id != vnet_refs[0]['uuid']: try: vnet = self._api.virtual_network_read(id=backnet_id) except NoIdError as ex: LOG.error(ex) return None props.left_virtual_network = ':'.join(vnet.get_fq_name()) # set flag to create policy automatically props.set_auto_policy(True) return props
def _calculate_instance_properties(self, pool, vip): """ ServiceInstance settings - right network: public side, determined by the vip - left network: backend, determined by the pool subnet """ props = ServiceInstanceType() vmi = self._get_virtual_ip_interface(vip) if not vmi: return None vnet_refs = vmi.get_virtual_network_refs() if vnet_refs is None: return None props.right_virtual_network = ':'.join(vnet_refs[0]['to']) props.right_ip_address = self._get_interface_address(vmi) if props.right_ip_address is None: return None pool_attrs = pool.get_loadbalancer_pool_properties() backnet_id = utils.get_subnet_network_id(self._api, pool_attrs.subnet_id) if backnet_id != vnet_refs[0]['uuid']: try: vnet = self._api.virtual_network_read(id=backnet_id) except NoIdError as ex: LOG.error(ex) return None props.left_virtual_network = ':'.join(vnet.get_fq_name()) # set flag to create policy automatically props.set_auto_policy(True) return props