Openstack的Ocata版本与opendaylight 的Carbon版本集成详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Openstack的Ocata版本与opendaylight 的Carbon版本集成详解
作者:胡章丰,zfhu2001@
前提条件
=====================================================================
1.已搭建好的可用openstack ocata环境一套
2.已下载的opendaylight carbon-sr1发布版本
3.本文档所述环境地址:控制节点:192.168.137.101,网络节点192.168.137.101,计算节点:192.168.137.101,192.168.137.102,ODL控制器节点:192.168.137.100
4.建议ODL控制器节点与Openstack控制节点采用独立节点安装,否则会有端口冲突,需要修改若干配置文件来避免冲突
=====================================================================
部署opendaylight控制器
=====================================================================
ODL控制器节点执行:
解压缩软件包
tar xzvf distribution-karaf-0.6.1-Carbon.tar.gz
cd distribution-karaf-0.6.1-Carbon/
开启iptables规则(建议将下列规则写入脚本文件,配置开机自动执行,否则每次重启后需要手动添加这些规则)
iptables -I INPUT -p tcp --dport 8181 -j ACCEPT
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
iptables -I INPUT -p tcp --dport 6640 -j ACCEPT
iptables -I INPUT -p tcp --dport 6653 -j ACCEPT
启动odl控制器
./bin/karaf
安装odl组件(只能装这几个)
feature:install odl-netvirt-openstack odl-dlux-core odl-mdsal-apidocs
验证是否安装成功(打开如果是黑板一块,则说明安装成功)
看看能否打开http://ODL控制器节点ip地址:8181/index.html
=====================================================================
安装networking-odl组件
===================================================================== 控制节点执行:
git clone https:///openstack/networking-odl.git
cd networking-odl/
git checkout stable/ocata
python ./setup.py install
=====================================================================
清空openstack的网络环境
===================================================================== 控制节点执行:
nova list
nova delete <instance names>
neutron subnet-list
neutron router-list
neutron router-port-list <router name>
neutron router-interface-delete <router name> <subnet ID or name>
neutron subnet-delete <subnet name>
neutron net-list
neutron net-delete <net name>
neutron router-delete <router name>
neutron port-list
=====================================================================
停止neutron服务
===================================================================== 控制节点执行:
systemctl stop neutron-server
systemctl stop neutron-l3-agent
控制节点、网络节点、计算节点均需执行:
systemctl stop neutron-openvswitch-agent
systemctl disable neutron-openvswitch-agent
systemctl stop neutron-l3-agent
systemctl disable neutron-l3-agent
=====================================================================
配置openvswitch
===================================================================== 控制节点、网络节点、计算节点均需执行:
systemctl stop openvswitch
rm -rf /var/log/openvswitch/*
rm -rf /etc/openvswitch/conf.db
systemctl start openvswitch
ovs-vsctl set-manager tcp:ODL控制节点IP:6640
ovs-vsctl set Open_vSwitch . other_config:local_ip=本节点IP
如果启用了SELinux,则还需执行:
setenforce 0
sed -i -e 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
=====================================================================
修改openstack配置文件
===================================================================== 控制节点执行:
/etc/neutron/plugins/ml2/ml2_conf.ini文件中:
[ml2]
mechanism_drivers = opendaylight_v2
extension_drivers = port_security
[ml2_odl](新增段)
username = admin
password = admin
url = http://ODL控制器IP:8080/controller/nb/v2/neutron
port_binding_controller = pseudo-agentdb-binding
enable_dhcp_service = True
/etc/neutron/neutron.conf文件中:
[DEFAULT]
service_plugins = odl-router
/etc/neutron/dhcp_agent.ini文件中:
[DEFAULT]
force_metadata = True
[ovs]
ovsdb_interface = vsctl
/etc/neutron/l3_agent.ini文件中:
[DEFAULT]
external_network_bridge = br-ex
=====================================================================
清除neutron数据库并启动neutron服务
=====================================================================
控制节点执行:
mysql -e "DROP DATABASE IF EXISTS neutron;"
mysql -e "CREATE DATABASE neutron CHARACTER SET utf8;"
/usr/bin/neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head
systemctl start neutron-server
验证是否集成成功:
curl -u admin:admin http://ODL控制器IP:8080/controller/nb/v2/neutron/networks
=====================================================================
配置floating ip的支持
=====================================================================
网络节点执行:(provider_mappings后面接neutron外部网络名称与对应接口名称)
ovs-vsctl set Open_vSwitch . other_config:provider_mappings=extnet:enp0s10
=====================================================================
修改opendaylight配置文件并重新启动ODL控制器
=====================================================================
ODL控制节点执行:
1.distribution-karaf-0.6.1-Carbon/etc/opendaylight/datastore/initial/config/netvirt-aclservice-config.xml文件中:
<aclservice-config xmlns="urn:opendaylight:netvirt:aclservice-config">
<security-group-mode>transparent</security-group-mode>
</aclservice-config>
2.distribution-karaf-0.6.1-Carbon/etc/opendaylight/datastore/initial/config/netvirt-dhcpservice-config.xml文件中:
<dhcpservice-config xmlns="urn:opendaylight:params:xml:ns:yang:dhcpservice:config">
<controller-dhcp-enabled>true</controller-dhcp-enabled>
<dhcp-dynamic-allocation-pool-enabled>true</dhcp-dynamic-allocation-pool-enabled>
</dhcpservice-config>
3.distribution-karaf-0.6.1-Carbon/etc/custom.properties文件中:
ovsdb.of.version=1.3
ovsdb.l3.fwd.enabled=yes
ovsdb.l3.arp.responder.disabled=yes
重启相关服务
===================================================================== ODL控制器节点执行:
重启ODL控制器
控制节点执行:
systemctl restart neutron-server
systemctl restart neutron-dhcp-agent
控制节点、网络节点、计算节点执行:
neutron-odl-ovs-hostconfig --datapath_type=system
=====================================================================
##################################################################### 完成以上步骤后,即完成openstack与odl集成,一般来说应该会成功,如果不成功,只能说明你命不好!
#####################################################################。

相关文档
最新文档