安装控制面板 Horizon
安装配置组件
安装组件包:
# yum install openstack-dashboard
编辑 /etc/openstack-dashboard/local_settings
文件:
OPENSTACK_HOST = "controller"
ALLOWED_HOSTS = ["*"]
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': 'controller:11211',
}
}
OPENSTACK_KEYSTONE_URL = "http://$s:5000/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
若是使用网络选项一(提供商网络)配置的 Neutron
组件,则需要关闭 Layer-3
相关网络设置:
OPENSTACK_NEUTRON_NETWORK = {
'enable_router': False,
'enable_quotas': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': False,
}
若时区不为 UTC
,则修改时区:
TIME_ZONE = "TIMEZONE"
具体时区参见Wikipedia 时区列表。
启动控制面板
# systemctl restart httpd memcached
无法启动
memcached
: 错误信息:failed to listen on TCP port 11211: Address already in use 错误原因:Memcached
配置文件有多个同主机地址,相互冲突。 解决方案:将/etc/sysconfig/memcached
中的OPTIONS
内容改为"-l 0.0.0.0"
在浏览器中输入 http://controller/dashboard
进入控制面板。
无法进入控制面板: 错误信息:End of script output before headers: django.wsgi, Script timed out before returning headers: django.wsgi 错误原因:
Horizon
的wsgi
配置有误。 解决方案:在/etc/httpd/conf.d/openstack-dashboard.conf
中添加 `WSGIApplicationGroup %{GLOBAL}
无法登录控制面板: 错误信息:RuntimeError at /auth/login/ Unable to create a new session key. It is likely that the cache is unavailable. 错误原因:
Memcached
配置与Horizon
配置不同。 解决方案:将/etc/sysconfig/memcached
中的OPTIONS
内容改为"-l 0.0.0.0"
,或将/etc/openstack-dashboard/local_settings
中CACHE
的LOCATION
改为和Memcached
配置文件OPTIONS
内容相同的IP
。
总结
Horizon
配置起来比我想象中的要麻烦……的多,主要还是初始配置的问题。反正在 Memcached
上,官方文档坑人了……

本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。