用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
用RDO 自动化部署openstack--多节点--kilo版相关推荐
- 基于devstack自动化部署OpenStack kilo liberty mitaka版本
OpenStack的安装,如果按照官方提供的文档安装,这个过程将是十分繁琐枯燥的,但是对于初学者来说这一步还是很有必要的.当然在这里我不会讨论如何按照官方文档去配置,这个官网已经很详细了,按照步骤一步 ...
- 自动化部署openstack
这篇文章主要是通过基于devstack进行自动化部署,后续会通过解析这个部署脚本的源代码的形式,学习openstack的部署,同时一步步阅读openstack其他服务的源码,比如keystone.nv ...
- oracle rac openstack,利用 Chef 实现 OpenStack 块存储多节点的自动化部署
定制和开发 Chef cookbook 实现部署多 Cinder LVM 节点 ICM 4.1 提供了方便快捷的方式允许用户定制自己的节点部署策略,同时也支持更新现有的配置策略到已经部署的节点上. 默 ...
- Devstack 多节点自动化部署
本文为minxihou的翻译文章,转载请注明出处Bob Hou: http://blog.csdn.net/minxihou JmilkFan:minxihou的技术博文方向是 算法&Open ...
- 【Openstack】实录手动部署Openstack Rocky 双节点(5)- Neutron
第一篇:手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:手动部署Openstack Rocky 双节点(4)- Nova 下一篇:手动部署Openstack Rocky 双节 ...
- openstack【Kilo】汇总:包括20英文文档、各个组件新增功能及Kilo版部署
OpenStack Kilo版本发布 20英文文档 OpenStack Kilo版本文档汇总:各个操作系统安装部署.配置文档.用户指南等文档 Kilo版部署 openstack[Kilo]入门 [准备 ...
- 深入理解Openstack自动化部署
前言 说实话,看到自己在博客园的排名感到惭愧,因为自己最近两年没有持续地在博客园上写技术博客了,有人私下问我是不是荒废了?翻翻15年和16年的博客,真的是少的可怜.一方面的确由于岗位的变化,导致了工作 ...
- 【Openstack】实录手动部署Openstack Rocky 双节点(6)- Horizon
第一篇:手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:手动部署Openstack Rocky 双节点(5)- Neutron 下一篇:无 文章目录 参考文档 关于机器名变更 ...
- 【Openstack】实录手动部署Openstack Rocky 双节点(4)- Nova
第一篇:实录手动部署Openstack Rocky 双节点(1)- 基础服务 上一篇:实录手动部署Openstack Rocky 双节点(3)- Glance 下一篇:实录手动部署Openstack ...
最新文章
- VMware 使用 OVF 模版部署虚拟机
- 鸿蒙系统手机用户体验,鸿蒙系统真的来了!用户体验流畅度远超安卓,任正非扳回一城!...
- atCoder Ants on a Circle(又是蚂蚁问题。。。)
- 2.2tensorflow2官方demo
- opencv vs2013开发环境配置
- C语言顺序结构程序设计PPT,C语言习题集与实验指导 教学课件 伍鹏、杜红、王圆妹、邓绍金 第3章 顺序结构程序设计.pdf...
- 吴恩达机器学习笔记二之多变量线性回归
- 问题:anaconda: command not found 解决方案
- Html设置div重置样式,CSS 重置样式
- android js 子线程,Android学习笔记:Android中的线程:MainThread 和 WorkerThread
- 【图像融合】基于matlab GUI SIFT+小波变换图像拼接融合系统【含Matlab源码 815期】
- 宽带网速如何测试软件,怎样测试网速 多种测试网速方法【推荐】
- [词根词缀]quarr/qui/quit/rad/radi等衍生单词
- 为什么摇滚的人害羞_并非每个人都需要成为摇滚明星
- 房贷等额本金和等额本息有什么区别,为何很多人傻傻分不清?
- 关于音效合成APP鸡乐盒4.0
- Web返回结果和HTTP状态码详解
- Altium Designer生成Gerber文件的设置(嘉立创建议 )
- python字符宽度_使用vars或\uyu dict的Python固定宽度字符串格式__
- wolframalpha最新版_Wolfram Alpha安装包-数学工具wolfram alpha最新版1.4.4.2018021301下载_飞翔下载...