OpenStack 相关研究
Jun 5
    通过修改nova 的源码,在nova client 和 nova server 支持 migrate 离线迁移指定目标主机。
   (仅适用于RDO icehouse openstack-nova-2014.1.3-3 版本更新)
※ 注意:在2015-06-10 前提供的patch 有Bug,打入patch 后,执行resize 会报“NoValidHost: No valid host was found.”。原因是 compute/api.py 中 resize() 方法参数顺序的问题,下面的 patch 已经修改。
Tags: ,
May 7
在配置br-ex 桥接到eth0 网卡后,重启neutron-openvswitch-agent 服务后,一直提示报错,无法创建patch-int 和 patch-tun 网卡(极少时候是可以的)。
这导致openvswitch 在不断的重启,而对外的网络(与RabbitMQ 连接)也在不断的重启中。

日志:
引用
2015-05-06 23:40:43.299 18254 ERROR neutron.agent.linux.ovs_lib [req-9ec5d95e-3626-4494-b043-35d5211747d8 None] Unable to execute ['ovs-vsctl', '--timeout=10', 'add-port', 'br-int', 'patch-tun', '--', 'set', 'Interface', 'patch-tun', 'type=patch', 'options:peer=patch-int']. Exception:
Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ovs-vsctl', '--timeout=10', 'add-port', 'br-int', 'patch-tun', '--', 'set', 'Interface', 'patch-tun', 'type=patch', 'options:peer=patch-int']
Exit code: 242
Stdout: ''
Stderr: '2015-05-06T15:40:43Z|00002|fatal_signal|WARN|terminating with signal 14 (Alarm clock)\n'
2015-05-06 23:40:45.936 18254 ERROR oslo.messaging._drivers.impl_rabbit [-] AMQP server on 192.168.209.137:5672 is unreachable: [Errno 113] EHOSTUNREACH. Trying again in 9 seconds.
2015-05-06 23:40:53.530 18254 ERROR neutron.agent.linux.utils [req-9ec5d95e-3626-4494-b043-35d5211747d8 None]
Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ovs-vsctl', '--timeout=10', 'add-port', 'br-tun', 'patch-int', '--', 'set', 'Interface', 'patch-int', 'type=patch', 'options:peer=patch-tun']
Exit code: 242
Stdout: ''
Stderr: '2015-05-06T15:40:53Z|00002|fatal_signal|WARN|terminating with signal 14 (Alarm clock)\n'2015-05-06 23:40:53.530 18254 ERROR neutron.agent.linux.ovs_lib [req-9ec5d95e-3626-4494-b043-35d5211747d8 None] Unable to execute ['ovs-vsctl', '--timeout=10', 'add-port', 'br-tun', 'patch-int', '--', 'set', 'Interface', 'patch-int', 'type=patch', 'options:peer=patch-tun']. Exception:
Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ovs-vsctl', '--timeout=10', 'add-port', 'br-tun', 'patch-int', '--', 'set', 'Interface', 'patch-int', 'type=patch', 'options:peer=patch-tun']
Exit code: 242
Stdout: ''
Stderr: '2015-05-06T15:40:53Z|00002|fatal_signal|WARN|terminating with signal 14 (Alarm clock)\n'
2015-05-06 23:40:53.638 18254 ERROR neutron.plugins.openvswitch.agent.ovs_neutron_agent [req-9ec5d95e-3626-4494-b043-35d5211747d8 None] Failed to create OVS patch port. Cannot have tunneling enabled on this agent, since this version of OVS does not support tunnels or patch ports. Agent terminated!2015-05-06 23:48:13.179 18701 INFO neutron.common.config [-] Logging enabled!
2015-05-06 23:48:13.728 18701 ERROR neutron.agent.linux.utils [-]
Apr 16
    执行 RDO juno openstack-packstack-dev1462 版本部署的时候,执行mongodb 部署失败,报如下的错误:

引用
[root@controller01 ~]# packstack --answer-file=./packstack-answers-20150415-110139.txt  
192.168.209.137_mongodb.pp:                       [ ERROR ]          
Applying Puppet manifests                         [ ERROR ]

ERROR : Error appeared during Puppet run: 192.168.209.137_mongodb.pp
Error: Unable to connect to mongodb server! (192.168.209.137:27017)
You will find full trace in log /var/tmp/packstack/20150415-161743-hbPMV4/manifests/192.168.209.137_mongodb.pp.log

实际错误为访问mongo 服务无法连接:
引用
[root@controller01 ~]# cat /var/tmp/packstack/20150415-161743-hbPMV4/manifests/192.168.209.137_mongodb.pp.log
......
Notice: Failed to connect to mongodb within timeout window of 240 seconds; giving up.
Error: Unable to connect to mongodb server! (192.168.209.137:27017)
Error: /Stage[main]/Mongodb::Server::Service/Mongodb_conn_validator[mongodb]/ensure: change from absent to present failed: Unable to connect to mongodb server! (192.168.209.137:27017)
Notice: /Stage[main]/Mongodb::Server/Anchor[mongodb::server::end]: Dependency Mongodb_conn_validator[mongodb] has failures: true
Warning: /Stage[main]/Mongodb::Server/Anchor[mongodb::server::end]: Skipping because of failed dependencies
Feb 4
    解决在节点和实例VM 较多的情况下,创建实例报错:
引用
Virtual Interface creation failed

对应Neutron OpenvSwitch Agent 的错误:
引用
Timeout while waiting on RPC response


经查询相关资料,在Juno 之前的版本,RPC 存在随节点增加,以指数方式增长的问题。
此外,还有使用iptables 完成security_group  设置需时较长的问题。

创建实例时,没创建一个Port,此时,因为系统中某个安全组有成员变化,所以需要通知到各个节点,传递这样一个信息:一些安全组中的成员有变化,如果你有对这些安全组的引用,请更新对应的iptables规则。对于linux bridge和ovs来说,需要由neutron l2 agent处理更新请求。

这两项结合起来,导致在宿主机节点和VM 较多的情况下,security_group 每个返回时间较长,port 创建rpc timeout:
引用
Timeout: Timeout while waiting on RPC response - topic: "q-plugin", RPC method: "security_group_rules_for_devices" info: ""

最终Nova 在等待Neutron 创建Port 超时,就报Virtual Interface creation failed 错误。
Tags:
Dec 24
    以前写得一份关于Neutron VLAN 和GRE(VXLAN )的PPT,基于OpenStack Havana 或 Icehouse 版本的。在Juno 版本中,Provider VLAN 没什么改变,但VXLAN 和GRE 通过L3 Gateway 是改变比较大的。
    文档中内容是参考一些国外的资料和实践后整理的,仅供参考!
下载文件
这个文件只能在登入之后下载。请先 注册登入


若有疑问,请发:emos#linuxfly.org 沟通。
Tags:
May 29
    上文已经完成用户、项目的创建工作,接下来需要创建外部网络和项目中的私有网络、路由。
Tags:
May 28
创建测试项目和实例(Horizon Web 操作)
引用
目录
1.  获取管理员信息  2
2.  创建项目  2
3.  创建用户  3
4.  创建外部网络  4
5.  创建私有网络  7
6.  创建路由  9
7.  创建镜像  12
8.  创建密钥  13
9.  修改安全组  14
10.  创建云主机  16
11.  访问云主机(实例)  20
12.  给云主机分配浮动IP  21
Tags:
May 27
[font=Courier New]    OpenStack 每半年发布一个版本,Icehouse 是最近的一个版本,相对于Havana 提供了更多的功能和驱动支持。本文是使用RedHat 提供的RDO 脚本进行部署的文档。
    RDO 部署方式比较快捷,但由于相关的yum 源都在国外,若直接安装,经常出现rpm 包获取失败导致的问题。故建议部署前,先把相关的软件源镜像到本地,修改DNS 指向。(注意,不能直接修改repos 库中的位置,因为在多节点部署时,RDO 会自动安装epel、forman 等repo文件,手动修改是来不及的)
    本文采用两节点方式部署,第一个节点node01 作为控制节点(身份认证、网络服务、计算调度服务、Cinder服务、镜像服务等)+计算节点;第二个节点node02 作为单纯的计算节点扩展。相关详细的概念请见OpenStack 官网,这里不再一一说明。
(阅读本文时,建议点击上方的“边栏”按钮,把边栏隐藏,否则格式可能会混乱。)
Tags:
Feb 26
    通过yum 更新使用RDO 安装OpenStack Havana 版本环境,发现实例无法获取metadata 信息,查看/var/log/neutron/metadata-agent.log 日志,发现如下报错信息:
引用
2014-02-25 17:48:52.486 4578 ERROR neutron.agent.metadata.agent [-] Unexpected error.
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent Traceback (most recent call last):
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent   File "/usr/lib/python2.6/site-packages/neutron/agent/metadata/agent.py", line 94, in __call__
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent     instance_id, tenant_id = self._get_instance_and_tenant_id(req)
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent   File "/usr/lib/python2.6/site-packages/neutron/agent/metadata/agent.py", line 126, in _get_instance_and_tenant_id
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent     self.auth_info = qclient.get_auth_info()
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent   File "/usr/lib/python2.6/site-packages/neutronclient/v2_0/client.py", line 1114, in get_auth_info
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent     return self.httpclient.get_auth_info()
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent   File "/usr/lib/python2.6/site-packages/neutronclient/client.py", line 270, in get_auth_info
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent     'auth_tenant_id': self.auth_tenant_id,
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent AttributeError: 'HTTPClient' object has no attribute 'auth_tenant_id'
2014-02-25 17:48:52.486 4578 TRACE neutron.agent.metadata.agent
Tags:
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]