def __init__(self, topic=None, server=None): super(ConsoleAPI, self).__init__() topic = topic if topic else RPC_TOPIC target = messaging.Target(topic=topic, server=server, version='2.0') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.console, CONF.upgrade_levels.console) self.client = rpc.get_client(target, version_cap=version_cap)
def __init__(self): target = messaging.Target(topic='hyper-agent-callback', version='1.0', exchange='hyperagent') self.client = rpc.get_client(target) self.context = context.get_admin_context() super(HyperAgentCallback, self).__init__()
def __init__(self, topic=None): super(NetworkAPI, self).__init__() topic = topic or CONF.network_topic target = messaging.Target(topic=topic, version="1.0") version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.network, CONF.upgrade_levels.network) serializer = objects_base.NovaObjectSerializer() self.client = rpc.get_client(target, version_cap, serializer)
def __init__(self): super(ComputeTaskAPI, self).__init__() target = messaging.Target(topic=CONF.conductor.topic, namespace='compute_task', version='1.0') serializer = objects_base.NovaObjectSerializer() self.client = rpc.get_client(target, serializer=serializer)
def __init__(self): super(ComputeAPI, self).__init__() target = messaging.Target(topic=RPC_TOPIC, version='5.0') upgrade_level = CONF.upgrade_levels.compute if upgrade_level == 'auto': version_cap = self._determine_version_cap(target) else: version_cap = self.VERSION_ALIASES.get(upgrade_level, upgrade_level) serializer = objects_base.NovaObjectSerializer() # NOTE(danms): We need to poke this path to register CONF options # that we use in self.get_client() rpc.get_client(target, version_cap, serializer) default_client = self.get_client(target, version_cap, serializer) self.router = rpc.ClientRouter(default_client)
def __init__(self): super(SchedulerAPI, self).__init__() target = messaging.Target(topic=CONF.scheduler_topic, version='2.0') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.scheduler, CONF.upgrade_levels.scheduler) serializer = objects_base.NovaObjectSerializer() self.client = rpc.get_client(target, version_cap=version_cap, serializer=serializer)
def __init__(self, topic): super(BaseAPI, self).__init__() target = messaging.Target(topic=topic, namespace=_NAMESPACE, version='1.0') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.baseapi, CONF.upgrade_levels.baseapi) self.client = rpc.get_client(target, version_cap=version_cap)
def __init__(self): target = messaging.Target(topic='hyper-agent-vif-update', version='1.0', exchange='hyperagent') serializer = objects_base.NovaObjectSerializer() self.client = rpc.get_client(target, serializer=serializer) self.context = nova_context.get_admin_context() self.call_back = HyperAgentCallback() super(HyperAgentAPI, self).__init__()
def __init__(self): super(ConductorAPI, self).__init__() target = messaging.Target(topic=CONF.conductor.topic, version='3.0') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.conductor, CONF.upgrade_levels.conductor) serializer = objects_base.NovaObjectSerializer() self.client = rpc.get_client(target, version_cap=version_cap, serializer=serializer)
def __init__(self, topic=None): self.topic = topic if topic else PVC_TOPIC # Caching the map between local network uuid and pvc network uuid # catch[local_uuid] = pvc_uuid # Insert entry: when get_pvc_network_uuid is called the first time # Delete entry:not supported # Capacity limit: no limit set self.rpcclient = rpc.get_client(Target(topic=self.topic)) self._cache = dict()
def __init__(self): target = messaging.Target(topic='hyper-agent-vif-update', version='1.0', exchange='hyperagent') serializer = objects_base.NovaObjectSerializer() self.client = rpc.get_client(target, serializer=serializer) self.client.timeout = HyperAgentAPI.plug_retry_timeout self.context = nova_context.get_admin_context() self.call_back = HyperAgentCallback() super(HyperAgentAPI, self).__init__()
def __init__(self): super(HyperNodeAPI, self).__init__() target = messaging.Target(topic='hypernode-hypernode-update', version='1.0', exchange='hypernode') serializer = objects_base.NovaObjectSerializer() self.client = rpc.get_client(target, serializer=serializer) self.client.timeout = HyperNodeAPI.plug_retry_timeout self.context = context.get_admin_context() self.hn_installer = HyperNodeInstaller()
def __init__(self): super(ComputeTaskAPI, self).__init__() #client有两种调用方法,cast和call,cast是异步,执行之后不要求返回,call是同步,执行之后需要结果返回。client需要执行target,即消息发送的终点位置。 # 定义在 nova\conductor\api.py # topic=conductor target = messaging.Target(topic=CONF.conductor.topic, namespace='compute_task', version='1.0') serializer = objects_base.NovaObjectSerializer() self.client = rpc.get_client(target, serializer=serializer)
def test_get_client(self, mock_client, mock_ser): rpc.TRANSPORT = mock.Mock() tgt = mock.Mock() ser = mock.Mock() mock_client.return_value = "client" mock_ser.return_value = ser client = rpc.get_client(tgt, version_cap="1.0", serializer="foo") mock_ser.assert_called_once_with("foo") mock_client.assert_called_once_with(rpc.TRANSPORT, tgt, version_cap="1.0", serializer=ser) self.assertEqual("client", client)
def __init__(self): super(CellsAPI, self).__init__() target = messaging.Target(topic=CONF.cells.topic, version='1.0') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.cells, CONF.upgrade_levels.cells) # NOTE(sbauza): Yes, this is ugly but cells_utils is calling cells.db # which itself calls cells.rpcapi... You meant import cycling ? Gah. from nova.cells import utils as cells_utils serializer = cells_utils.ProxyObjectSerializer() self.client = rpc.get_client(target, version_cap=version_cap, serializer=serializer)
def test_get_client_profiler_enabled(self, mock_client, mock_ser): rpc.TRANSPORT = mock.Mock() tgt = mock.Mock() ser = mock.Mock() mock_client.return_value = 'client' mock_ser.return_value = ser client = rpc.get_client(tgt, version_cap='1.0', serializer='foo') mock_ser.assert_called_once_with('foo') mock_client.assert_called_once_with(rpc.TRANSPORT, tgt, version_cap='1.0', serializer=ser) self.assertEqual('client', client)
def test_get_client(self, mock_client, mock_ser, mock_TRANSPORT): tgt = mock.Mock() ser = mock.Mock() mock_client.return_value = 'client' mock_ser.return_value = ser client = rpc.get_client(tgt, version_cap='1.0', serializer='foo') mock_ser.assert_called_once_with('foo') mock_client.assert_called_once_with(mock_TRANSPORT, tgt, version_cap='1.0', call_monitor_timeout=None, serializer=ser) self.assertEqual('client', client)
def get_client(self, target, version_cap, serializer): if CONF.rpc_response_timeout > rpc.HEARTBEAT_THRESHOLD: # NOTE(danms): If the operator has overridden RPC timeout # to be longer than rpc.HEARTBEAT_THRESHOLD then configure # the call monitor timeout to be the threshold to keep the # failure timing characteristics that our code likely # expects (from history) while allowing healthy calls # to run longer. cmt = rpc.HEARTBEAT_THRESHOLD else: cmt = None return rpc.get_client(target, version_cap=version_cap, serializer=serializer, call_monitor_timeout=cmt)
def call(self, ctxt, rpc_message, topic, version='3.0', timeout=None, serializer=None): """ This method used to exist in base OpenStack, but was removed during Icehouse. It is included here to preserve compatibility with existing PowerVC code. """ topic, _sep, server = topic.partition('.') version = self._get_compat_version(version, '3.0') cctxt = rpc.get_client(messaging.Target(topic=topic, server=server or None, version=version), serializer=serializer) method = rpc_message['method'] kwargs = rpc_message['args'] cctxt = cctxt.prepare(timeout=timeout, version=version) return cctxt.call(ctxt, method, **kwargs)
def show(self, req, id): ''' :request url: /v2/{tenant_id}/pssr-url/{user_id} :param req: user_id:the user to caculate :param id: input the tenant_id which the user belong to :return: ''' physerver = req.GET.get("physerver") #name don't include domain dev = req.GET.get("dev") LOG.info("PssrController paras id = %s, physerver=%s, dev=%s" % (id, physerver, dev)) context = req.environ['nova.context'] node_id = self.get_node_id_from_name(context, physerver) if node_id == -1: return { "pssr_tag": { "results": [{ "physerver_type": "not_compute" }] } } physerver_name = db.compute_node_get( context, node_id)["host"] #name include domain cctxt = rpc.get_client( messaging.Target(topic="compute", server=physerver_name)) cctxt = cctxt.prepare(version='4.11') # results = cctxt.cast(get_admin_context(), "ttt", a=1, b=2, c=3, d=4) if id == '1': return self.pssr_get_port_info(context, cctxt, node_id) elif id == '2': return self.pssr_get_intf_info(context, cctxt, node_id) elif id == "11": return self.pssr_get_port_conf(context, node_id, dev) elif id == "21": return self.pssr_get_intf_conf(context, node_id, dev) else: LOG.info("PssrController paras error, id = %s" % id) return {"pssr_tag": {"results": "error"}}
def _check_version_cap(self, version): client = rpc.get_client(self.target, version_cap=self.version_cap) if not client.can_send_version(version): raise messaging.RPCVersionCapError(version=version, version_cap=self.version_cap)
def __init__(self): super(CertAPI, self).__init__() target = messaging.Target(topic=CONF.cert_topic, version='2.0') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.cert, CONF.upgrade_levels.cert) self.client = rpc.get_client(target, version_cap=version_cap)
def __init__(self): super(CertAPI, self).__init__() target = messaging.Target(topic='cert', version='2.0') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.cert, CONF.upgrade_levels.cert) self.client = rpc.get_client(target, version_cap=version_cap)
def __init__(self): super(KvmhaAPI, self).__init__() target = messaging.Target(topic=CONF.kvmha_topic, version='3.0') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.kvmha, CONF.upgrade_levels.kvmha) self.client = rpc.get_client(target, version_cap=version_cap)
def __init__(self): super(ConsoleAuthAPI, self).__init__() target = messaging.Target(topic=CONF.consoleauth_topic, version='2.0') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.consoleauth, CONF.upgrade_levels.consoleauth) self.client = rpc.get_client(target, version_cap=version_cap)
def __init__(self): super(SecurityGroupAPI, self).__init__() target = messaging.Target(topic=CONF.compute_topic, version="3.0") version_cap = ComputeAPI.VERSION_ALIASES.get(CONF.upgrade_levels.compute, CONF.upgrade_levels.compute) self.client = rpc.get_client(target, version_cap)
def __init__(self): super(SaverAPI, self).__init__() target = messaging.Target(topic=CONF.saver_topic, version='1.0') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.saver, CONF.upgrade_levels.saver) self.client = rpc.get_client(target, version_cap=version_cap)
def __init__(self): super(ConsoleAuthAPI, self).__init__() target = messaging.Target(topic=CONF.consoleauth_topic, version='2.1') version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.consoleauth, CONF.upgrade_levels.consoleauth) self.client = rpc.get_client(target, version_cap=version_cap)
def can_send_version(self, version): client = rpc.get_client(self.target, version_cap=self.version_cap) return client.can_send_version(version)
def get_client(self, target, version_cap, serializer): return rpc.get_client(target, version_cap=version_cap, serializer=serializer)
def __init__(self): super(SecurityGroupAPI, self).__init__() target = messaging.Target(topic=CONF.compute_topic, version='3.0') version_cap = ComputeAPI.VERSION_ALIASES.get( CONF.upgrade_levels.compute, CONF.upgrade_levels.compute) self.client = rpc.get_client(target, version_cap)
def __init__(self): super(ConductorAPI, self).__init__() target = messaging.Target(topic=CONF.conductor.topic, version="3.0") version_cap = self.VERSION_ALIASES.get(CONF.upgrade_levels.conductor, CONF.upgrade_levels.conductor) serializer = objects_base.NovaObjectSerializer() self.client = rpc.get_client(target, version_cap=version_cap, serializer=serializer)