Neutron在OpenStack项目中负责提供网络相关的功能,我们知道OSI定义了一个七层网络模型,而Neutron在二层到七层都提供了一定程度的插件结构来支持各种不同的网络设备和网络服务。本文主要描述下我对Neutron在二层中的一些理解。
openstack使用neutron-db-manage这个工具来管理neutron的数据库。如果我们对neutron的数据库要做一些修改,比如简单的增加一张表,删除一张表等,就需要使用这个工具了。
下面简单介绍一下如何使用这个工具:
OpenStack 版本:Liberty
下面的配置针对的是allinone的部署方式,但是同理的可以应用到多节点的部署。
cinder的api.log中发现如下错误:
2016-09-20 12:01:50.410 21508 ERROR cinder.api.middleware.fault [req-8a22425c-064b-4c50-9203-00f3760ba4d4 cd3c4133acc94226b4b2d868fd6a1e19 ea60e55e114a41d3b9d86d298c07bc99 - - -] Caught error: Could not determine a suitable URL for the plugin
2016-09-20 12:01:50.411 21508 INFO cinder.api.middleware.fault [req-8a22425c-064b-4c50-9203-00f3760ba4d4 cd3c4133acc94226b4b2d868fd6a1e19 ea60e55e114a41d3b9d86d298c07bc99 - - -] https://10.167.14.164:8776/v2/ea60e55e114a41d3b9d86d298c07bc99/os-quota-sets/ea60e55e114a41d3b9d86d298c07bc99?usage=False returned with HTTP 500
2016-09-20 12:01:50.412 21508 INFO eventlet.wsgi.server [req-8a22425c-064b-4c50-9203-00f3760ba4d4 cd3c4133acc94226b4b2d868fd6a1e19 ea60e55e114a41d3b9d86d298c07bc99 - - -] 10.167.14.164 - - [20/Sep/2016 12:01:50] "GET /v2/ea60e55e114a41d3b9d86d298c07bc99/os-quota-sets/ea60e55e114a41d3b9d86d298c07bc99?usage=False HTTP/1.1" 500 425 0.095734
经调查发现是openstack的bug,修复如下:
利用packstack工具安装openstack的过程中,发生如下错误:
ERROR : Error appeared during Puppet run: 10.167.14.164_cinder.pp
Error: cinder type-create iscsi returned 1 instead of one of [0]
原因:
cinder组件在上一次的安装过程中已经创建了iscsi的类型
刚安装完的openstack,在dashboard上出现该错误,并且无法修改volume的配额。
openstack版本:Liberty
OS版本:Redhat 7.2
修改方法如下:
在文件/etc/cinder/cinder.conf中追加以下内容
ipv6是所有网络服务都无法回避的一个大问题,这里给出在openstack中生成实例获取ipv6类型的ip的实现过程中镜像的修改。
1、修改/etc/sysconfig/network-scripts/ifcfg文件
IPV6INIT=yes
DHCPV6C=yes
ironic服务的安装部署过程这里不讨论。
1、确认裸机服务器的驱动
可以修改配置文件/etc/ironic/ironic.conf来设置openstack启用对应驱动
# 可以用逗号分隔来指定多个驱动
enabled_drivers=pxe_ipmitool
修改后需要重启服务
systemctl restart openstack-ironic-conductor.service
相关属性:
token默认有效期:24小时
token保存方式(keystone.conf):
1、SQL数据库 - 数据量增多,速度逐渐变慢
driver = keystone.token.backends.sql.Token
2、memcache - 速度快,耗内存
keystone.token.backends.memcache
3、二元组(键对) - 速度慢
keystone.token.backends.kvs
修改 /usr/share/openstack-dashboard/openstack_dashboard/settings.py 文件:
SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'
SESSION_COOKIE_HTTPONLY = True
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_COOKIE_SECURE = False
#SESSION_TIMEOUT = 1800
SESSION_TIMEOUT = 86400
SESSION_COOKIE_AGE = 86400
然后重启httpd服务
systemctl restart httpd
这样修改,一天内dashboard都不再需要输入用户名密码