您的位置:首页 > 编程语言

通过代码认识openstack 环境中连接到rabbit服务器

2017-10-25 09:27 141 查看
Openstack 服务进程如Neutron-server,和别的服务进程会有rpc交互。message 信息是通过rabbit服务器来进行转发的,为了安全,并不是所有的程序都可以连接到rabbit服务器,会有认证机制,机制是什么,就是用户名和密码机制。

一、连接到rabbit服务器,对应的服务log中一般会有下面的信息。

INFO oslo_messaging._drivers.impl_rabbit [req-aa1c0cc9-863c-4b3f-a400-49fba8af254a ] Connecting to AMQP server on controller:5672
INFO oslo_messaging._drivers.impl_rabbit [req-aa1c0cc9-863c-4b3f-a400-49fba8af254a ] Connected to AMQP server on controller:5672
这个信息,表明已经连接到了rabbit服务器。

二、认识rabbit服务器所需的用户名和密码

      1、 neutron.conf中的配置如下:

      

[oslo_messaging_rabbit]

#
# From oslo.messaging
#

rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
    2、代码

          pos:oslo_messaging\_drivers\impl_rabbit.py

          有全局变量配置项rabbit_opts,rabbit_host,rabbit_userid,rabbit_password等默认配置项。

rabbit_hostlocalhost
rabbit_useridguest
rabbit_passwordguest
若配置项中,没有oslo_messaging_rabbit,那么就使用上述默认的用户名和密码以及host。

3、连接成功代码

    

class Connection(object):
self.connection = kombu.connection.Connection(
            self._url, ssl=self._fetch_ssl_params(),
            login_method=self._login_method,
            failover_strategy="shuffle",
            heartbeat=self.driver_conf.heartbeat_timeout_threshold,
            transport_options={'confirm_publish': True})
    LOG.info(_LI('Connecting to AMQP server on %(hostname)s:%(port)d'),
                 self.connection.info()) 正在连接
LOG.info(_LI('Connected to AMQP server on %(hostname)s:%(port)d'),
                 self.connection.info())  连接成功




         

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐