Openstack heat-api和heat-api-cfn无法启动 - 错误:无法找到配置文件

时间:2017-02-18 14:05:58

标签: openstack heat

逗人,

我正在加热环境。在我安装热量之前,其他模块(中子,新星,一瞥等)工作正常。我严格遵循https://docs.openstack.org/liberty/install-guide-rdo/heat-install.htmlhttps://docs.openstack.org/liberty/in..。)中的手册,但当我尝试使用以下内容启动服务时:

systemctl start openstack-heat-api.service openstack-heat-api-cfn.service openstack-heat-engine.service
[root@controller-openstack ~]# systemctl | grep -i heat
● openstack-heat-api-cfn.service                                                      loaded failed     failed          Openstack Heat CFN-compatible API Service
● openstack-heat-api.service                                                          loaded failed     failed          OpenStack Heat API Service
  openstack-heat-engine.service                                                       loaded active     running         Openstack Heat Engine Service

......服务“heat-api”和“heat-api-cfn”根本就没有开始。在/ var / log / message中,两个守护进程都显示错误:“heat-api:ERROR:无法找到配置文件”。但是,“热力发动机”正常启动。

所以我创建了配置文件“heat-api.conf”和“heat-api-cfn.conf”,基于我在Internet上捕获的一个示例(我安装在/ etc / heat),但是在日志仍然是一样的。

[root@controller-openstack ~]# cat /var/log/messages | grep heat-api
    Feb 16 21:53:04 controller-openstack heat-api: Option "verbose" from group "DEFAULT" is deprecated for removal.  Its value may be silently ignored in the future.
    Feb 16 21:53:04 controller-openstack heat-api: 2017-02-16 21:53:04.945 30360 WARNING oslo_config.cfg [-] Option "rpc_backend" from group "DEFAULT" is deprecated for removal.  Its value may be silently ignored in the future.
    Feb 16 21:53:04 controller-openstack heat-api: ERROR: Unable to locate config file
    Feb 16 21:53:05 controller-openstack systemd: openstack-heat-api.service: main process exited, code=exited, status=1/FAILURE
    Feb 16 21:53:05 controller-openstack systemd: Unit openstack-heat-api.service entered failed state.
    Feb 16 21:53:05 controller-openstack systemd: openstack-heat-api.service failed.

    Feb 16 21:53:05 controller-openstack heat-api-cfn: Option "verbose" from group "DEFAULT" is deprecated for removal.  Its value may be silently ignored in the future.
    Feb 16 21:53:05 controller-openstack heat-api-cfn: 2017-02-16 21:53:05.188 30361 WARNING oslo_config.cfg [-] Option "rpc_backend" from group "DEFAULT" is deprecated for removal.  Its value may be silently ignored in the future.
    Feb 16 21:53:05 controller-openstack heat-api-cfn: ERROR: Unable to locate config file
    Feb 16 21:53:05 controller-openstack systemd: openstack-heat-api-cfn.service: main process exited, code=exited, status=1/FAILURE
    Feb 16 21:53:05 controller-openstack systemd: Unit openstack-heat-api-cfn.service entered failed state.
    Feb 16 21:53:05 controller-openstack systemd: openstack-heat-api-cfn.service failed.

我认为守护进程以某种方式定位文件,但有些东西阻止守护进程工作。我告诉它,因为当我取消注释配置文件中的行rpc_backend时,它会停止显示消息“无法找到配置文件”,并开始显示错误,指出它无法加载qpid驱动程序。

[root@controller-openstack ~]# cat /etc/heat/heat-api-cfn.conf | grep rpc
rpc_backend=heat.openstack.common.rpc.impl_qpid

[root@controller-openstack ~]# cat /var/log/heat/api-cfn.log
...
    2017-02-16 23:58:53.807 24772 CRITICAL heat-api-cfn [-] DriverLoadFailure: Failed to load transport driver "qpid": No 'oslo.messaging.drivers' driver found, looking for 'qpid'
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn Traceback (most recent call last):
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn   File "/usr/bin/heat-api-cfn", line 10, in <module>
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn     sys.exit(main())
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn   File "/usr/lib/python2.7/site-packages/heat/cmd/api_cfn.py", line 53, in main
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn     messaging.setup()
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn   File "/usr/lib/python2.7/site-packages/heat/common/messaging.py", line 90, in setup
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn     cfg.CONF, url, allowed_remote_exmods=exmods, aliases=_ALIASES)
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn   File "/usr/lib/python2.7/site-packages/oslo_messaging/transport.py", line 194, in get_transport
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn     raise DriverLoadFailure(url.transport, ex)
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn DriverLoadFailure: Failed to load transport driver "qpid": No 'oslo.messaging.drivers' driver found, looking for 'qpid'
    2017-02-16 23:58:53.807 24772 ERROR heat-api-cfn 
...

对不起我的英语,我非常想知道如何解决这个问题。我尽我所能,但没有成功。

提前致谢。

Marcio Cavalcante

1 个答案:

答案 0 :(得分:0)

问题解决了!该守护进程正在/ etc / heat中查找文件 api-paste.ini ,但它并未自动安装在那里。在手册中没有提到它。

完成的任务:

  1. 从中下载文件 http://github.com/openstack/osops-example-configs/blob/master/MIT_CSAIL/controller/etc/heat/api-paste.ini 并将其复制到/ etc / heat;
  2. 在我的个人设置中,我必须编辑/etc/heat/api-paste.ini,并更改以下参数: paste.filter_factory = keystonemiddleware.auth_token:filter_factory