Example #1
0
 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)
Example #2
0
 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__()
Example #3
0
 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)
Example #4
0
 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)
Example #5
0
    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)
Example #6
0
 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)
Example #7
0
 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)
Example #8
0
 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)
Example #10
0
 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()
Example #11
0
 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__()
Example #12
0
 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()
Example #13
0
 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()
Example #14
0
 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)
Example #15
0
    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)
Example #17
0
 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)
Example #18
0
    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)
Example #19
0
    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)
Example #20
0
    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)
Example #21
0
 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)
Example #22
0
File: rpcapi.py Project: wkite/nova
 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)
Example #23
0
    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)
Example #24
0
    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"}}
Example #25
0
 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)
Example #26
0
 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)
Example #27
0
 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)
Example #28
0
 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)
Example #29
0
 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)
Example #30
0
 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)
Example #31
0
 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)
Example #32
0
 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)
Example #33
0
 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)
Example #34
0
 def can_send_version(self, version):
     client = rpc.get_client(self.target, version_cap=self.version_cap)
     return client.can_send_version(version)
Example #35
0
 def get_client(self, target, version_cap, serializer):
     return rpc.get_client(target,
                           version_cap=version_cap,
                           serializer=serializer)
Example #36
0
 def get_client(self, target, version_cap, serializer):
     return rpc.get_client(target,
                           version_cap=version_cap,
                           serializer=serializer)
Example #37
0
 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)
Example #38
0
 def can_send_version(self, version):
     client = rpc.get_client(self.target, version_cap=self.version_cap)
     return client.can_send_version(version)
Example #39
0
File: rpcapi.py Project: dims/nova
 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)