Esempio n. 1
0
def main():
    """
    @@@@还要进行解析;
    """
    config.parse_args(sys.argv)
    """
    方法parse_args主要实现了以下功能:
    1.实现设置注册数据库的默认参数选项值,其默认的参数选项值如database_opts所设置;
    2.实现RPC若干参数选项默认值的设置和注册,包括:
      transport_url(default=None),
      rpc_backend(default='rabbit')
      control_exchange(default='xdrs');
    3.实现确定xdrs-api所应用配置文件路径:
      default_config_files = ['/usr/share/xdrs/xdrs-dist.conf', 
                            '/etc/xdrs/xdrs.conf']
      实现注册配置文件路径等参数选项到系统;
    4.确定xdrs异常类的基类的处理文件xdrs.exception;
      确定了使用rabbit这个AMQP的driver方式;
      加载配置文件oslo.messaging.notify.drivers中定义的notifier各种驱动实现方式;                      
    """
    
    """
    @@@@还要进行解析;
    """
    logging.setup("xdrs")
    """
    注:日志的操作,这里并不是重点,因此放在后面进行验证实现;
    """
    
    utils.monkey_patch()
    """
    注:动态组件的导入,这里并不是重点,因此放在后面进行验证实现(结合cinder的实现,因为要比nova简洁一些);
    """
    """
    @@@@还要进行解析;
    """

    """
    gmr.TextGuruMeditation.setup_autorun(version)------xdrs测试作用;
    """
    """
    这个Guru Meditation Reports是用于获取xdrs的二进制运行时文件的状态的
    (当然啦实际的信息比这个多得多,因为可以自己写信号句柄)。
    原理很简单:通过发送一个USER1的信号量,进程捕获后会返回对应的信息。
    注:这里也不是重点,因此放在后面进行验证实现(弄清功能以确定其是否需要);
    """
    gmr.TextGuruMeditation.setup_autorun(version)
    """
    @@@@还要进行解析;
    """
    
    """
    @@@@还要进行解析;
    """
    launcher = service.process_launcher()
    server = service.WSGIService('osapi_xdrs')
    launcher.launch_service(server, workers=server.workers or 1)
    launcher.wait()
Esempio n. 2
0
def main():
    config.parse_args(sys.argv)
    logging.setup("xdrs")
    utils.monkey_patch()

    gmr.TextGuruMeditation.setup_autorun(version)

    server = service.Service.create(binary="xdrs_vms_selection", topic=CONF.vms_selection_topic)
    service.serve(server)
    service.wait()
Esempio n. 3
0
def main():
    config.parse_args(sys.argv)
    logging.setup("xdrs")
    utils.monkey_patch()

    gmr.TextGuruMeditation.setup_autorun(version)

    server = service.Service.create(binary='xdrs_vm',
                                    topic=CONF.vm_manager_topic)
    service.serve(server)
    service.wait()
Esempio n. 4
0
def main():
    config.parse_args(sys.argv)
    """
    这里需要进行另外的分析;
    """
    logging.setup("xdrs")
    utils.monkey_patch()
    
    gmr.TextGuruMeditation.setup_autorun(version)

    server = service.Service.create(binary='xdrs_conductor',
                                    topic=CONF.conductor_topic)
    service.serve(server)
    service.wait()