From a32ab67813d8e33c359a5205d221e71ca9409091 Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Thu, 20 Apr 2017 00:11:25 -0400 Subject: Add ODL netvirt VPP support opnfv-tht-pr: 131 Change-Id: I112d454078bd29a386b8557bf1d015d81f328d61 Signed-off-by: Feng Pan --- build/overcloud-opendaylight.sh | 4 +++ build/rpm_specs/opnfv-apex-common.spec | 2 ++ config/deploy/os-odl_netvirt-fdio-noha.yaml | 38 +++++++++++++++++++++++++++++ lib/overcloud-deploy-functions.sh | 11 ++++++++- lib/python/apex/deploy_settings.py | 3 ++- 5 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 config/deploy/os-odl_netvirt-fdio-noha.yaml diff --git a/build/overcloud-opendaylight.sh b/build/overcloud-opendaylight.sh index f8682f6c..b73ffc46 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 c1bf2968..fbfa3995 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 00000000..fa6ba800 --- /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 ea30ccb8..f2c9a857 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" @@ -298,6 +300,13 @@ EOI --run-command "yum -y install /root/fdio_l3/*.rpm" \ --run-command "rm -f /etc/sysctl.d/80-vpp.conf" \ -a overcloud-full.qcow2 +EOI + fi + if [ "${deploy_options_array['odl_vpp_netvirt']}" == "True" ]; then + ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <