summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFeng Pan <fpan@redhat.com>2017-04-20 00:11:25 -0400
committerFeng Pan <fpan@redhat.com>2017-04-20 00:11:25 -0400
commita32ab67813d8e33c359a5205d221e71ca9409091 (patch)
treef1b10e10fe5ab33604dd57593bd0fb3715f8a419
parent8f132fde05517f2c662c9bc945d1712a03eb2a1b (diff)
Add ODL netvirt VPP support
opnfv-tht-pr: 131 Change-Id: I112d454078bd29a386b8557bf1d015d81f328d61 Signed-off-by: Feng Pan <fpan@redhat.com>
-rwxr-xr-xbuild/overcloud-opendaylight.sh4
-rw-r--r--build/rpm_specs/opnfv-apex-common.spec2
-rw-r--r--config/deploy/os-odl_netvirt-fdio-noha.yaml38
-rwxr-xr-xlib/overcloud-deploy-functions.sh11
-rw-r--r--lib/python/apex/deploy_settings.py3
5 files changed, 56 insertions, 2 deletions
diff --git a/build/overcloud-opendaylight.sh b/build/overcloud-opendaylight.sh
index f8682f6..b73ffc4 100755
--- a/build/overcloud-opendaylight.sh
+++ b/build/overcloud-opendaylight.sh
@@ -76,6 +76,9 @@ popd > /dev/null
# Download quagga/zrpc rpms
populate_cache http://artifacts.opnfv.org/apex/danube/quagga/quagga.tar.gz
+# Download ODL netvirt for VPP
+populate_cache http://artifacts.opnfv.org/apex/danube/fdio_netvirt/odl-netvirt-vpp-distribution.tar.gz
+
# install ODL packages
# Patch in OPNFV custom puppet-tripleO
# install Honeycomb
@@ -110,6 +113,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--install capnproto-devel,capnproto-libs,capnproto \
--upload ${BUILD_ROOT}/patches/neutron-patch-NSDriver.patch:/usr/lib/python2.7/site-packages/ \
--upload ${BUILD_ROOT}/patches/disable_odl_clustering.patch:/etc/puppet/modules/tripleo/ \
+ --upload ${CACHE_DIR}/odl-netvirt-vpp-distribution.tar.gz:/root/ \
-a overcloud-full-opendaylight_build.qcow2
LIBGUESTFS_BACKEND=direct virt-sparsify --compress overcloud-full-opendaylight_build.qcow2 overcloud-full-opendaylight.qcow2
diff --git a/build/rpm_specs/opnfv-apex-common.spec b/build/rpm_specs/opnfv-apex-common.spec
index c1bf296..fbfa399 100644
--- a/build/rpm_specs/opnfv-apex-common.spec
+++ b/build/rpm_specs/opnfv-apex-common.spec
@@ -54,6 +54,7 @@ install config/deploy/os-odl_l2-fdio-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-ap
install config/deploy/os-odl_l2-fdio-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l2-fdio-noha.yaml
install config/deploy/os-odl_l3-fdio-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l3-fdio-noha.yaml
install config/deploy/os-odl_l3-fdio-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l3-fdio-ha.yaml
+install config/deploy/os-odl_netvirt-fdio-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_netvirt-fdio-noha.yaml
install config/deploy/os-odl_l3-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l3-nofeature-ha.yaml
install config/deploy/os-odl_l3-nofeature-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l3-nofeature-noha.yaml
install config/deploy/os-odl_l3-ovs-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l3-ovs-ha.yaml
@@ -140,6 +141,7 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/
%{_sysconfdir}/opnfv-apex/os-odl_l2-fdio-ha.yaml
%{_sysconfdir}/opnfv-apex/os-odl_l3-fdio-noha.yaml
%{_sysconfdir}/opnfv-apex/os-odl_l3-fdio-ha.yaml
+%{_sysconfdir}/opnfv-apex/os-odl_netvirt-fdio-noha.yaml
%{_sysconfdir}/opnfv-apex/os-odl_l3-ovs-noha.yaml
%{_sysconfdir}/opnfv-apex/os-odl_l3-ovs-ha.yaml
%{_sysconfdir}/opnfv-apex/os-odl_l3-nofeature-ha.yaml
diff --git a/config/deploy/os-odl_netvirt-fdio-noha.yaml b/config/deploy/os-odl_netvirt-fdio-noha.yaml
new file mode 100644
index 0000000..fa6ba80
--- /dev/null
+++ b/config/deploy/os-odl_netvirt-fdio-noha.yaml
@@ -0,0 +1,38 @@
+global_params:
+ ha_enabled: false
+
+deploy_options:
+ sdn_controller: opendaylight
+ sdn_l3: true
+ odl_version: carbon
+ odl_vpp_netvirt: true
+ odl_vpp_routing_node: overcloud-novacompute-0
+ tacker: true
+ congress: true
+ sfc: false
+ vpn: false
+ vpp: true
+ dataplane: fdio
+ performance:
+ Controller:
+ kernel:
+ hugepages: 1024
+ hugepagesz: 2M
+ intel_iommu: 'on'
+ iommu: pt
+ isolcpus: 1,2
+ vpp:
+ main-core: 1
+ corelist-workers: 2
+ uio-driver: uio_pci_generic
+ Compute:
+ kernel:
+ hugepagesz: 2M
+ hugepages: 2048
+ intel_iommu: 'on'
+ iommu: pt
+ isolcpus: 1,2
+ vpp:
+ main-core: 1
+ corelist-workers: 2
+ uio-driver: uio_pci_generic
diff --git a/lib/overcloud-deploy-functions.sh b/lib/overcloud-deploy-functions.sh
index ea30ccb..f2c9a85 100755
--- a/lib/overcloud-deploy-functions.sh
+++ b/lib/overcloud-deploy-functions.sh
@@ -34,7 +34,9 @@ function overcloud_deploy {
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/services/gluon.yaml"
fi
elif [ "${deploy_options_array['vpp']}" == 'True' ]; then
- if [ "${deploy_options_array['sdn_l3']}" == "True" ]; then
+ if [ "${deploy_options_array['odl_vpp_netvirt']}" == "True" ]; then
+ DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-opendaylight-netvirt-vpp.yaml"
+ elif [ "${deploy_options_array['sdn_l3']}" == "True" ]; then
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-opendaylight-honeycomb.yaml"
else
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-opendaylight-honeycomb-l2.yaml"
@@ -300,6 +302,13 @@ EOI
-a overcloud-full.qcow2
EOI
fi
+ if [ "${deploy_options_array['odl_vpp_netvirt']}" == "True" ]; then
+ ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
+ LIBGUESTFS_BACKEND=direct virt-customize --run-command "rm -rf /opt/opendaylight/*" \
+ --run-command "tar zxvf /root/odl-netvirt-vpp-distribution.tar.gz -C /opt/opendaylight/" \
+ -a overcloud-full.qcow2
+EOI
+ fi
fi
# check if ceph should be enabled
diff --git a/lib/python/apex/deploy_settings.py b/lib/python/apex/deploy_settings.py
index dc58d76..48ce340 100644
--- a/lib/python/apex/deploy_settings.py
+++ b/lib/python/apex/deploy_settings.py
@@ -31,7 +31,8 @@ OPT_DEPLOY_SETTINGS = ['performance',
'ceph_device',
'yardstick',
'dovetail',
- 'odl_vpp_routing_node']
+ 'odl_vpp_routing_node',
+ 'odl_vpp_netvirt']
VALID_ROLES = ['Controller', 'Compute', 'ObjectStorage']
VALID_PERF_OPTS = ['kernel', 'nova', 'vpp', 'ovs']