rpc: send_rpc发送端

304 阅读1分钟

发送rpc 调用的 代码


cat send_rpc.py

#!/usr/bin/env python

"""Starter script for Cinder OS API."""

import eventlet
eventlet.monkey_patch()

import logging as python_logging
import sys

from cinder import objects

from oslo_config import cfg
from oslo_log import log as logging
from oslo_reports import guru_meditation_report as gmr
from oslo_reports import opts as gmr_opts

from cinder import i18n
i18n.enable_lazy()

# Need to register global_opts
from cinder.common import config
from cinder import rpc
from cinder import service
from cinder import utils
from cinder import version


# NOTE: cinder-api register some options of volume types
# which used to distinguish configured volume types.
# With implementation issues, register related options
# here for cinder-api, not use same configuration method
# for cinder-volume.
backend_opts = [
    cfg.StrOpt('volume_backend_name',
               help='Name override of volume backend value.'),
    cfg.StrOpt('rbd_pool',
               help='Name override of ceph pool value.')
]

CONF = cfg.CONF


def main():
    objects.register_all()
    gmr_opts.set_defaults(CONF)
    CONF(sys.argv[1:], project='cinder',
         version=version.version_string())
    config.set_middleware_defaults()
    logging.setup(CONF, "cinder")
    python_logging.captureWarnings(True)
    utils.monkey_patch()

    gmr.TextGuruMeditation.setup_autorun(version, conf=CONF)
    if CONF.enabled_backends:
        for backend in CONF.enabled_backends:
            CONF.register_opts(backend_opts, group=backend)

    rpc.init(CONF)
    # launcher = service.process_launcher()
    # server = service.WSGIService('osapi_volume')
    # launcher.launch_service(server, workers=server.workers)
    # launcher.wait()


from cinder.backend import rpcapi as backend_rpcapi

from cinder import objects

from cinder import context

if __name__=='__main__':
    main()
    ctxt = context.get_admin_context()
    # objects.register_all()
    _r = backend_rpcapi.BackendAPI()
    _r.output_message(ctxt,'topic11','hellooooooooooooooooooooooooooooooooo   rabbit')