====环境==
openstack :kilo
CentOS : 7
====问题===
在没有关vm的情况下,重启了controller。
问题一:
在使用nova service-list 或者openstack-status的时候或者其他认证需求的时候出现以下错误
ERROR: openstack Unable to establish connection to http://controller:35357/v3/auth/tokens
ConnectionRefused: Unable to establish connection to http://controller:35357/v3/auth/tokens
Authorization Failed: Unable to establish connection to http://controller:35357/v3/tokens
== Keystone users ==
/usr/lib/python2./site-packages/keystoneclient/shell.py:: DeprecationWarning: The keystone CLI is deprecated in favor of python-openstackclient. For a Python library, continue using python-keystoneclient.
'python-keystoneclient.', DeprecationWarning)
Authorization Failed: Unable to establish connection to http://controller:35357/v3/tokens
== Glance images ==
Unable to establish connection to http://controller:35357/v3/auth/tokens
== Nova managed services ==
No handlers could be found for logger "keystoneclient.auth.identity.generic.base"
ERROR (ConnectionRefused): Unable to establish connection to http://controller:35357/v3/auth/tokens
== Nova networks ==
No handlers could be found for logger "keystoneclient.auth.identity.generic.base"
ERROR (ConnectionRefused): Unable to establish connection to http://controller:35357/v3/auth/tokens
== Nova instance flavors ==
No handlers could be found for logger "keystoneclient.auth.identity.generic.base"
ERROR (ConnectionRefused): Unable to establish connection to http://controller:35357/v3/auth/tokens
== Nova instances ==
No handlers could be found for logger "keystoneclient.auth.identity.generic.base"
ERROR (ConnectionRefused): Unable to establish connection to http://controller:35357/v3/auth/tokens
问题二:
解决问题一之后发现dashboard无法正常启动了:
ImportError: Could not import settings 'openstack_dashboard.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named main
[root@controller system]# systemctl status httpd.service
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─openstack-dashboard.conf
Active: failed (Result: exit-code) since Tue -- :: CST; 15min ago
Process: ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py collectstatic --noinput --clear (code=e Dec :: controller python[]: File "/usr/lib/python2.7/site-packages/django/conf/__init__.py", line , in __getat
Dec :: controller python[]: self._setup(name)
Dec :: controller python[]: File "/usr/lib/python2.7/site-packages/django/conf/__init__.py", line , in _setup
Dec :: controller python[]: self._wrapped = Settings(settings_module)
Dec :: controller python[]: File "/usr/lib/python2.7/site-packages/django/conf/__init__.py", line , in __init
Dec :: controller python[]: % (self.SETTINGS_MODULE, e)
Dec :: controller python[]: ImportError: Could not import settings 'openstack_dashboard.settings' (Is it on sys.
Dec :: controller systemd[]: httpd.service: control process exited, code=exited status=
Dec :: controller systemd[]: Failed to start The Apache HTTP Server.
Dec :: controller systemd[]: Unit httpd.service entered failed state.
openstack-dashboard也出现了变化
[root@controller httpd.service.d]# openstack-status
== Nova services ==
openstack-nova-api: active
openstack-nova-cert: active
openstack-nova-compute: active
openstack-nova-network: inactive (disabled on boot)
openstack-nova-scheduler: active
openstack-nova-conductor: active
== Glance services ==
openstack-glance-api: active
openstack-glance-registry: active
== Keystone service ==
openstack-keystone: active
== Horizon service ==
openstack-dashboard: uncontactable
== neutron services ==
neutron-server: active
问题三:
使用nova boot 创建vm的时候出现错误:
ERROR (ClientException): The server has either erred or is incapable of performing the requested operation. (HTTP ) (Request-ID: req-2f5571f4-aa54-4d45-a096-cb8797c5ff7a) ConnectionRefused: Unable to establish connection to http://controller:9696/v2.0/ports.json?tenant_id=
]# neutron agent-list
Unable to establish connection to http://controller:9696/v2.0/agents.json
=======解决方案===
问题一的解决方案:
]# netstat -anp|grep //使用命令查看是否有这个服务端口 如果没有35357 端口
]# vim /etc/keystone/keystone.conf admin_port = //取消注释 重启keystone服务
在kilo中 keystone 服务名称为openstack-keystone.service
]# systemctl enable openstack-keystone.service && systemctl restart openstack-keystone.service ---------验证---------------
[root@controller ~]# netstat -anp |grep tcp 0.0.0.0: 0.0.0.0:* LISTEN /python [root@controller ~]# nova service-list
+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
| | nova-console | controller | internal | enabled | up | --27T08::16.000000 | - |
| | nova-cert | controller | internal | enabled | up | --27T08::16.000000 | - |
| | nova-conductor | controller | internal | enabled | up | --27T08::16.000000 | - |
| | nova-scheduler | controller | internal | enabled | up | --27T08::17.000000 | - |
| | nova-compute | controller | nova | enabled | up | --27T08::12.000000 | - |
| | nova-consoleauth | controller | internal | enabled | up | --27T08::16.000000 | - |
| | nova-compute | compute1 | nova | enabled | up | --27T08::20.000000 | - |
+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+ 问题一解决
问题二的解决方案:
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. 参考源网址:
https://ask.openstack.org/en/question/66833/kilo-on-centos7-keystone-throws-http-500-except-when-using-os_token/
问题三的解决方案:
查看9696端口: ]# netstat -anp|grep 如果没有端口开启,查看下面配置文件 ]# vim /etc/neutron/neutron.conf
bind_port = 重启neutron服务 ]# systemctl restart neutron-server neutron-dhcp-agent neutron-l3-agent neutron-metadata-agent neutron-openvswitch-agent ]# netstat -anp|grep
tcp 0.0.0.0: 0.0.0.0:* LISTEN /python2 ============验证======= [root@controller etc]# neutron agent-list
+--------------------------------------+--------------------+------------+-------+----------------+---------------------------+
| id | agent_type | host | alive | admin_state_up | binary |
+--------------------------------------+--------------------+------------+-------+----------------+---------------------------+
| 2c0d7171-ae4d-467f-8a24-14d0c683aefb | Open vSwitch agent | controller | :-)| True | neutron-openvswitch-agent |
| 32eb2441-daf9-4f48-8cf6-2a11c3140426 | Metadata agent | controller | :-) | True | neutron-metadata-agent |
| 54c7a92d-2ceb--939f-31a55b34952c | DHCP agent | controller | :-) | True | neutron-dhcp-agent |
| aca60f17-955a-41fc--1387efa6574e | L3 agent | controller | :-) | True | neutron-l3-agent |
| ba6ebc7d-b15f-44d2-a515-17efdd5e3472 | Open vSwitch agent | compute1 | :-) | True | neutron-openvswitch-agent |
+--------------------------------------+--------------------+------------+-------+----------------+---------------------------+