用RDO 自动化部署openstack--多节点--kilo版

前期对于网络的配置参照 手动部署 网络配置
http://blog.csdn.net/u014707812/article/details/52087654
1.设置kilo 源 ,其他版本自行更改源

#yum install -y 
https://repos.fedorapeople.org/repos/openstack/openstack-kilo/rdo-release-kilo-2.noarch.rpm

2# yum update -y 更新
3.#yum install -y openstack-packstack 安装openstack包

单节点安装:#packstack --allinone
多节点安装:
1.#packstack --gen-answer-file answer.conf
生成answer.conf文件
2.修改文件内容answer.conf文件内容,个人可酌情更改
我改了:

CONFIG_NTP_SERVERS=cn.ntp.org.cn,210.72.145.39  //设置ntp服务器
CONFIG_COMPUTE_HOSTS=10.139.8.8,10.139.8.77//设置控制节点,计算节点网络节点的ip//

其余选择需要安装的服务;
安装neutron 所有特性

3.#packstack --answer-file=answer.conf //安装
安装既可。遇到出错很可能是网络问题,重新运行
packstack --answer-file=answer.conf 即可。

4.安装完成后,登陆http://10.139.8.75/dashboard/
10.139.8.75 控制节点
账号 admin
密码在answer.conf 文件CONFIG_KEYSTONE_ADMIN_Pw后面的,当然也可以在安装之前自己配置。

遇到的问题:
1.云主机无法创建
horizon 报错如图:
这里写图片描述

nova-api.log 报错:

2016-09-01 11:26:00.542 13293 ERROR nova.api.openstack [req-3f74b1ee-0013-447d-82ec-4a7bb9eea386 baf423fe1a314d6ba40c3b4056828b06 318fd2a46129401889551aff87245ec5 - - -] Caught error: id
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack Traceback (most recent call last):
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/__init__.py", line 125, in __call__
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     return req.get_response(self.application)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/request.py", line 1317, in send
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     application, catch_exc_info=False)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/request.py", line 1281, in call_application
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     app_iter = application(self.environ, start_response)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     return resp(environ, start_response)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 634, in __call__
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     return self._call_app(env, start_response)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/keystonemiddleware/auth_token/__init__.py", line 554, in _call_app
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     return self._app(env, _fake_start_response)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     return resp(environ, start_response)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     return resp(environ, start_response)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     return resp(environ, start_response)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     resp = self.call_func(req, *args, **self.kwargs)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     return self.func(req, *args, **kwargs)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py", line 756, in __call__
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     content_type, body, accept)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py", line 821, in _process_stack
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     action_result = self.dispatch(meth, request, action_args)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py", line 911, in dispatch
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     return method(req=request, **action_args)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/api/openstack/compute/images.py", line 83, in show
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     image = self._image_api.get(context, id)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/image/api.py", line 93, in get
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     show_deleted=show_deleted)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/image/glance.py", line 309, in show
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     include_locations=include_locations)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/image/glance.py", line 483, in _translate_from_glance
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     include_locations=include_locations)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/nova/image/glance.py", line 545, in _extract_attributes
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     queued = getattr(image, 'status') == 'queued'
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/glanceclient/openstack/common/apiclient/base.py", line 491, in __getattr__
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     self.get()
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/glanceclient/openstack/common/apiclient/base.py", line 509, in get
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     new = self.manager.get(self.id)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack   File "/usr/lib/python2.7/site-packages/glanceclient/openstack/common/apiclient/base.py", line 494, in __getattr__
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack     raise AttributeError(k)
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack AttributeError: id
2016-09-01 11:26:00.542 13293 TRACE nova.api.openstack

这是自带bug 可能是版本不兼容问题;
社区里有解决方法:
https://review.openstack.org/#/c/244899/3/glanceclient/v1/images.py

2.云主机可以成功创建
进入控制台的时候报错:failed to connect to server (code 1006)
这里写图片描述
其他遇到这类问题的解决方法:
http://blog.csdn.net/Moolight_shadow/article/details/45014707
http://blog.csdn.net/yzg2010a/article/details/38375863

我遇到的问题:
horizon中显示云主机已正常显示,log正确
这里写图片描述

nova-novncproxy.log报错:

2016-09-01 13:43:57.249 18207 INFO nova.console.websocketproxy [req-2765a3dd-5a2d-4869-91b7-679977fa90c3 - - - - -] handler exception: [Errno -2] Name or service not known
2016-09-01 13:43:57.250 18207 DEBUG nova.console.websocketproxy [req-2765a3dd-5a2d-4869-91b7-679977fa90c3 - - - - -] exception vmsg /usr/lib/python2.7/site-packages/websockify/websocket.py:87
5
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy Traceback (most recent call last):
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib/python2.7/site-packages/websockify/websocket.py", line 930, in top_new_client
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     client = self.do_handshake(startsock, address)
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib/python2.7/site-packages/websockify/websocket.py", line 860, in do_handshake
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     self.RequestHandlerClass(retsock, address, self)
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib/python2.7/site-packages/nova/console/websocketproxy.py", line 159, in __init__
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     websockify.ProxyRequestHandler.__init__(self, *args, **kwargs)
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib/python2.7/site-packages/websockify/websocket.py", line 114, in __init__
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     SimpleHTTPRequestHandler.__init__(self, req, addr, server)
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib64/python2.7/SocketServer.py", line 649, in __init__
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     self.handle()
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib/python2.7/site-packages/websockify/websocket.py", line 581, in handle
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     SimpleHTTPRequestHandler.handle(self)
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib64/python2.7/BaseHTTPServer.py", line 340, in handle
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     self.handle_one_request()
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib64/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     method()
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib/python2.7/site-packages/websockify/websocket.py", line 543, in do_GET
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     if not self.handle_websocket():
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib/python2.7/site-packages/websockify/websocket.py", line 531, in handle_websocket
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     self.new_websocket_client()
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib/python2.7/site-packages/nova/console/websocketproxy.py", line 130, in new_websocket_client
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     tsock = self.socket(host, port, connect=True)
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib/python2.7/site-packages/nova/console/websocketproxy.py", line 162, in socket
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     return websockify.WebSocketServer.socket(*args, **kwargs)
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy   File "/usr/lib/python2.7/site-packages/websockify/websocket.py", line 715, in socket
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy     socket.IPPROTO_TCP, flags)
2016-09-01 13:43:57.250 18207 TRACE nova.console.websocketproxy gaierror: [Errno -2] Name or service not known

问题分析:
log显示
“2016-09-01 13:43:51.098 18207 INFO nova.console.websocketproxy [req-2765a3dd-5a2d-4869-91b7-679977fa90c3 - - - - -] 7: connecting to: compute-cty.novalocal:5900

connecting to: compute-cty.novalocal:5900 连接 compute-cty.novalocal时出错,
在控制节点 执行 ping compute-cty.novalocal
无法ping通,所以更改hosts文件

这里写图片描述
在ip后面添上 compute-cty.novalocal域名。
这是在horizon上可以打开控制台。

3.在answer.conf 中已经选择安装VPN,但horizon中未显示:
初步推测只是在horizon中未打开:
所以在horizon的配置文件/etc/openstack-dashboard/local_settings 中添加:

OPENSTACK_NEUTRON_NETWORK = {
    'enable_lb': True,
    'enable_firewall': True,
    'enable_vpn': True,
}

并且重启HTTP和neutron server

service httpd restart
service neutron-server restart

再次打开horizon,面板中显示VPN

备注:如果是未装VPN参考:
http://blog.csdn.net/henulwj/article/details/47207283

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值