OpenStack Mitaka版本对接OpenDaylight Boron(硼)

作者简介:蒋暕青,上海宽带技术及应用工程研究中心,SDN技术实践者,大四北上思博伦实习半年,现工作地点上海

由于ODL社区的文档更新实在是很慢,而且文档很多都是用DevStack或者是Ubuntu的环境,导致稍微版本更新一下,或者底层的OS换一下,参考的文档便不再适用,由此还需要中文文档可以及时更新,所以作者在这里将自己对OpenStack与OpenDaylight的对接实验分享给大家。

实验环境:

系统:CentOS7
OpenStack:Mitaka Stable版本,一台物理机起controller+network+compute ,一台物理机起compute;

ODL:Opendaylight Boron(硼)-SR3版本,部署在单独的物理机。

安装OpenStack:

如何安装OpenStack不在本文档的讨论范畴之内,可参考该官方文档,网络类型选择self-service,详细记录见链接:https://docs.openstack.org/mitaka/install-guide-rdo/。

如何安装ODL:

由于ODL的安装可以下载编译好的代码,对新手有很大的帮助,但由于ODL的feature在不断的更新,使用氦版本的文档会有问题,所以推荐使用新版本硼版本Boron,https://www.sdnlab.com/1931.html此链接文档可以借鉴,需要先安装JDK1.8版本,设置完环境变量后就可以使用ODL。

硼版本已经不会有”线程异常且No route to host错误”这个问题了。

在ODL shell中, 需要按照顺序安装下列的features:

使用下列命令检查上述的features有没有正确的安装:

临时关闭防火墙和selinux

安装完成之后可以使用下列命令在任意节点获取到ODL上面的对接OpenStack API的信息:

到这里ODL上设置就基本完成了。、、

注意:请按照一定的顺序安装,安装顺序不合理的话,会导致后面Web界面无法访问!且记录遇到的一个问题:在没有按照顺序安装组件的情况下,无法登录进入ODL主界面。解决方法是通过logout退出karaf平台,进入bin目录:cd bin,执行./karaf clean,再次重复上面的安装组件操作。

OpenStack对接ODL

清理OpenStack环境:

在OpenStack环境中使用下列命令关闭neutron-server:

在OpenStack上所有节点移除openvswitch-agent

让每个节点上的ovs连接ODL,没有br-int的话重新新建一个:

在ODL界面上将可以显示2个OVS已经连接。ODL的网页URL跟氦版本也有所不同,web访问地址为:http://$your_odl_ip:8181/index.html,登录名/密码都是admin。

如果需要上外网的话,需要增加br-ex:

在Neutron服务节点更改配置:

在OpenStack Controller节点重新配置数据库:

安装networking-odl

ODL现在已经不需要在ml2文件下放入一个python脚本,目前创建了一个专门的项目叫netwoking-odl,安装后改下配置就可以。从最新的Neutron代码中,已经发现了诸如原来的opendaylight和其他一些sdn Plugin,已经开始从项目中移除,统一命名为诸如networking-xxxx之类的独立项目。

另一种安装方式如下:

文档说明安装完成后才可以启动neutron-server,否则会出现如下的报错,说明OpenStack找不到ODL插件

但是我在CentOS7下安装完了之后还是有上述报错,neutron-server依然起不来,我的默认的ml2 plugins像openvswitch是安装下如下路径下的/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/openvswitch/,而且我的networking_odl安装包已经安装在如下路径/usr/lib/python2.7/site-packages/networking_odl/ml2/。

解决方案如下:需要把/usr/lib/python2.7/site-packages/networking_odl-2.0.1.dev15-py2.7.egg-info/entry_points.txt
里面的内容合并到
/usr/lib/python2.7/site-packages/neutron-8.3.0-py2.7.egg-info/entry_points.txt中,合并完成的entry_points.txt如下

验证

在OpenStack中创建网络后,执行下面命令:

ODL已经可以获取到网络信息,创建2台虚机,可以成功获取到IP地址,并且可以相互访问。
image

OpenStack与ODL安装对接至此就成功了。

参考文档
https://docs.openstack.org/developer/networking-odl/installation.html
https://wiki.opendaylight.org/view/OpenStack_and_OpenDaylight
http://docs.opendaylight.org/en/stable-boron/submodules/netvirt/docs/openstack-guide/openstack-with-netvirt.html#installing-opendaylight-on-an-existing-openstack


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/19336.html
分享到:
相关文章
条评论

登录后才可以评论

蒋暕青 发表于17-06-05
0