本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您赞助的咖啡.
== Keystone service ==
openstack-keystone: inactive
如上面显示的状态:如果启动了httpd就不能很好的启动openstack-keystone服务,在官方文档中看到这样一段话:
This guide uses the Apache HTTP server with mod_wsgi to serve keystone requests
on ports and . By default, the keystone service still listens on ports
and . Therefore, this guide disables the keystone service.
意思是说httpd和openstack-keystone服务都会用的同样的两个端口35357和5000.所以文档选择的是使用httpd,不过这样一来,刚装上的时候是没有问题,时间久了就会发现很多问题:
因此google一番,发现一个solution:
I have resolved the "openstack service create" problem following this steps : HTTP and KEYSTONE service sharing the same port, so stop httpd and start openstack-keystone.service. Edit /etc/keystone/keystone.conf and replace "hostname or ip" to "localhost": connection = mysql://keystone:openstack@localhost/keystone Remember to stop service httpd and enable start service keystone: - systemctl stop httpd.service - systemctl enable openstack-keystone.service => systemctl start openstack-keystone.service And finally, exec "openstack service create --name keystone --description "OpenStack Identity" identity" command. Most important to remember, the dashboard horizon use apache so that keystone and apache service must be running. Into keystone.conf and wsgi-keystone.conf occur bind a single interface on ports and instead of all interface "*" or "0.0.0.0": edit /etc/keystone/keystone.conf => set admin_bind_host = <ip_mgmt> => set public_bind_host = <ip_mgmt>
edit /etc/httpd/conf.d/wsgi-keystone.conf => set Listen 127.0.0.1: => Listen 127.0.0.1: => same for VirtualHost 127.0.0.1: &
After service openstack-keystone.service and httpd.service restart, both process will be running in the same time.
这样一来就解决了不能同时开启httpd和openstack-keystone的情况
[root@controller ~]# openstack-status
......
== Keystone service ==
openstack-keystone: active
== Horizon service ==
openstack-dashboard: active
......