diff options
author | bobzhou <bob.zh@huawei.com> | 2017-03-10 10:09:55 +0800 |
---|---|---|
committer | bobzhou <bob.zh@huawei.com> | 2017-04-13 15:40:15 +0800 |
commit | 266e9a5336defeff5f10331ab8316d69e7b20cc1 (patch) | |
tree | 01f72ebbf2e73e5021d032f6a4d9328ab345cd93 | |
parent | df58098027d081e99cdcce863ef24a992d8a7adb (diff) |
add onos deployment steps
opnfv-tht-pr: 128
opnfv-puppet-tripleo-pr: 23
Change-Id: Ib99f7e3968ed03bd86ca0de9c6c37c9871921486
Signed-off-by: bobzhou <bob.zh@huawei.com>
-rw-r--r-- | build/Makefile | 9 | ||||
-rw-r--r-- | build/c7-opnfv-x86_64-comps.xml | 4 | ||||
-rw-r--r-- | build/opnfv-environment.yaml | 3 | ||||
-rwxr-xr-x | build/overcloud-onos.sh | 6 | ||||
-rw-r--r-- | build/rpm_specs/opnfv-apex-common.spec | 11 | ||||
-rw-r--r-- | build/variables.sh | 4 | ||||
-rwxr-xr-x | ci/deploy.sh | 9 | ||||
-rw-r--r-- | lib/installer/onos/onos_gw_mac_update.sh | 56 | ||||
-rwxr-xr-x | lib/overcloud-deploy-functions.sh | 16 |
9 files changed, 27 insertions, 91 deletions
diff --git a/build/Makefile b/build/Makefile index 5dc4ef13..ed983256 100644 --- a/build/Makefile +++ b/build/Makefile @@ -60,17 +60,14 @@ clean: clean-cache: rm -rf $(CACHE_DIR) -# ONOS integration did not get updated for Danube, -# removing it from the default builds - .PHONY: images -images: undercloud overcloud-full overcloud-opendaylight # overcloud-onos +images: undercloud overcloud-full overcloud-opendaylight overcloud-onos .PHONY: rpms -rpms: common-rpm undercloud-rpm opendaylight-rpm # onos-rpm +rpms: common-rpm undercloud-rpm opendaylight-rpm onos-rpm .PHONY: rpms-check -rpms-check: release-rpm-check common-rpm-check undercloud-rpm-check opendaylight-rpm-check # onos-rpm-check +rpms-check: release-rpm-check common-rpm-check undercloud-rpm-check opendaylight-rpm-check onos-rpm-check .PHONY: rpms-clean rpms-clean: diff --git a/build/c7-opnfv-x86_64-comps.xml b/build/c7-opnfv-x86_64-comps.xml index 8bbe81d4..16f6ec77 100644 --- a/build/c7-opnfv-x86_64-comps.xml +++ b/build/c7-opnfv-x86_64-comps.xml @@ -7836,7 +7836,7 @@ <groupid>virtualization-hypervisor</groupid> <groupid>virtualization-tools</groupid> <groupid>apex-opendaylight</groupid> - <!--groupid>apex-onos</groupid--> + <groupid>apex-onos</groupid> </grouplist> <optionlist> <groupid>virtualization-platform</groupid> @@ -7862,7 +7862,7 @@ <groupid>virtualization-hypervisor</groupid> <groupid>virtualization-tools</groupid> <groupid>apex-opendaylight</groupid> - <!--groupid>apex-onos</groupid--> + <groupid>apex-onos</groupid> </grouplist> <optionlist> <groupid>kde-desktop</groupid> diff --git a/build/opnfv-environment.yaml b/build/opnfv-environment.yaml index e29b0c7a..8eeb1265 100644 --- a/build/opnfv-environment.yaml +++ b/build/opnfv-environment.yaml @@ -107,6 +107,8 @@ parameter_defaults: - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::OpenDaylightApi - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::ONOSApi + - OS::TripleO::Services::ONOSOvs - OS::TripleO::Services::SensuClient - OS::TripleO::Services::FluentdClient - OS::TripleO::Services::VipHosts @@ -138,6 +140,7 @@ parameter_defaults: - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::NeutronSriovAgent - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::ONOSOvs - OS::TripleO::Services::SensuClient - OS::TripleO::Services::FluentdClient - OS::TripleO::Services::VipHosts diff --git a/build/overcloud-onos.sh b/build/overcloud-onos.sh index 40f9f66a..c64c19b3 100755 --- a/build/overcloud-onos.sh +++ b/build/overcloud-onos.sh @@ -28,12 +28,16 @@ LIBGUESTFS_BACKEND=direct virt-customize --upload ${CACHE_DIR}/${onos_release_fi -a overcloud-full-onos_build.qcow2 #Those files can be store in local cache for saving download time -git clone https://github.com/saravanaonos/puppet-onos.git +git clone https://github.com/bobzhouHW/puppet-onos.git tar --xform="s:puppet-onos/:onos/:" -czf puppet-onos.tar.gz puppet-onos LIBGUESTFS_BACKEND=direct virt-customize --upload ${CACHE_DIR}/jdk-8u51-linux-x64.tar.gz:/opt/ \ --upload ${BUILD_DIR}/puppet-onos/files/install_jdk8.tar:/opt/ \ --run-command "cd /opt/ && tar -xf install_jdk8.tar && sh /opt/install_jdk8/install_jdk8.sh" \ + --upload ${BUILD_DIR}/puppet-onos/files/networking-onos.tar:/opt/ \ + --run-command "cd /opt/ && tar -xf networking-onos.tar && sh /opt/networking-onos/install_driver.sh" \ + --upload ${BUILD_DIR}/puppet-onos/files/networking-sfc.tar:/opt/ \ + --run-command "cd /opt/ && tar -xf networking-sfc.tar && sh /opt/networking-sfc/install_driver.sh" \ --upload ${BUILD_DIR}/puppet-onos.tar.gz:/etc/puppet/modules/ \ --run-command "cd /etc/puppet/modules/ && tar xzf puppet-onos.tar.gz" \ -a overcloud-full-onos_build.qcow2 diff --git a/build/rpm_specs/opnfv-apex-common.spec b/build/rpm_specs/opnfv-apex-common.spec index ca7a05e5..431bd561 100644 --- a/build/rpm_specs/opnfv-apex-common.spec +++ b/build/rpm_specs/opnfv-apex-common.spec @@ -59,8 +59,8 @@ install config/deploy/os-odl-ovs_dpdk-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-a install config/deploy/os-odl-ovs_dpdk-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-ovs_dpdk-noha.yaml install config/deploy/os-odl-gluon-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-gluon-noha.yaml install config/deploy/os-ovn-nofeature-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-ovn-nofeature-noha.yaml -#install config/deploy/os-onos-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-onos-nofeature-ha.yaml -#install config/deploy/os-onos-sfc-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-onos-sfc-ha.yaml +install config/deploy/os-onos-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-onos-nofeature-ha.yaml +install config/deploy/os-onos-sfc-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-onos-sfc-ha.yaml install config/deploy/os-ocl-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-ocl-nofeature-ha.yaml install config/network/network_settings.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/network_settings.yaml install config/network/network_settings_v6.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/network_settings_v6.yaml @@ -90,7 +90,6 @@ install lib/python/apex/common/__init__.py %{buildroot}%{python3_sitelib}/apex/c install lib/python/apex/common/constants.py %{buildroot}%{python3_sitelib}/apex/common/ install lib/python/apex/common/utils.py %{buildroot}%{python3_sitelib}/apex/common/ mkdir -p %{buildroot}%{_var}/opt/opnfv/lib/installer/onos/ -install lib/installer/onos/onos_gw_mac_update.sh %{buildroot}%{_var}/opt/opnfv/lib/installer/onos/ install lib/installer/domain.xml %{buildroot}%{_var}/opt/opnfv/lib/installer/ mkdir -p %{buildroot}%{_docdir}/opnfv/ @@ -119,7 +118,6 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/ %{_var}/opt/opnfv/lib/utility-functions.sh %{_var}/opt/opnfv/lib/python/ %{python3_sitelib}/apex/ -%{_var}/opt/opnfv/lib/installer/onos/onos_gw_mac_update.sh %{_var}/opt/opnfv/lib/installer/domain.xml %{_sysconfdir}/bash_completion.d/apex %{_sysconfdir}/opnfv-apex/os-nosdn-nofeature-noha.yaml @@ -144,8 +142,8 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/ %{_sysconfdir}/opnfv-apex/os-odl-nofeature-noha.yaml %{_sysconfdir}/opnfv-apex/os-odl-gluon-noha.yaml %{_sysconfdir}/opnfv-apex/os-ovn-nofeature-noha.yaml -#%{_sysconfdir}/opnfv-apex/os-onos-nofeature-ha.yaml -#%{_sysconfdir}/opnfv-apex/os-onos-sfc-ha.yaml +%{_sysconfdir}/opnfv-apex/os-onos-nofeature-ha.yaml +%{_sysconfdir}/opnfv-apex/os-onos-sfc-ha.yaml %{_sysconfdir}/opnfv-apex/os-ocl-nofeature-ha.yaml %{_sysconfdir}/opnfv-apex/network_settings.yaml %{_sysconfdir}/opnfv-apex/network_settings_v6.yaml @@ -174,7 +172,6 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/ * Fri Mar 10 2017 Feng Pan <fpan@redhat.com> - 4.0-6 - Add os-odl_l3-fdio-noha.yaml and os-odl_l3-fdio-ha.yaml * Wed Mar 08 2017 Dan Radez <dradez@redhat.com> - 4.0-5 -- Commenting out ONOS, unsupported in Danube - Adding kvm4nfv files - Adding OVN files * Tue Feb 14 2017 Feng Pan <fpan@redhat.com> - 4.0-4 diff --git a/build/variables.sh b/build/variables.sh index 6064dc8e..e5e37b27 100644 --- a/build/variables.sh +++ b/build/variables.sh @@ -16,8 +16,8 @@ CACHE_HISTORY=".cache_history" PATCHES_DIR="${BUILD_ROOT}/patches" rdo_images_uri=${RDO_IMAGES_URI:-http://buildlogs.centos.org/centos/7/cloud/$(uname -p)/tripleo_images/newton/delorean} -onos_release_uri=https://downloads.onosproject.org/nightly/ -onos_release_file=onos-1.8.0-rc6.tar.gz +onos_release_uri=https://downloads.onosproject.org/release/ +onos_release_file=onos-1.8.4.tar.gz onos_jdk_uri=http://artifacts.opnfv.org/apex/colorado onos_ovs_uri=http://artifacts.opnfv.org/apex/colorado onos_ovs_pkg=package_ovs_rpm3.tar.gz diff --git a/ci/deploy.sh b/ci/deploy.sh index dd038643..59fcb198 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -69,7 +69,6 @@ $LIB/undercloud-functions.sh $LIB/overcloud-deploy-functions.sh $LIB/post-install-functions.sh $LIB/utility-functions.sh -$LIB/installer/onos/onos_gw_mac_update.sh ) for lib_file in ${lib_files[@]}; do if ! source $lib_file; then @@ -252,14 +251,6 @@ main() { echo -e "${blue}INFO: Post Install Configuration Complete${reset}" fi fi - if [[ "${deploy_options_array['sdn_controller']}" == 'onos' ]]; then - if ! onos_update_gw_mac ${external_cidr} ${external_gateway}; then - echo -e "${red}ERROR:ONOS Post Install Configuration Failed, Exiting.${reset}" - exit 1 - else - echo -e "${blue}INFO: ONOS Post Install Configuration Complete${reset}" - fi - fi } main "$@" diff --git a/lib/installer/onos/onos_gw_mac_update.sh b/lib/installer/onos/onos_gw_mac_update.sh deleted file mode 100644 index 3b3b0724..00000000 --- a/lib/installer/onos/onos_gw_mac_update.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash - -# Update gateway mac to onos for l3 function - -# author: Bob zhou -# author: Tim Rozet - - -# Update gateway mac to onos for l3 function -# params: external CIDR, external gateway -function onos_update_gw_mac { - local CIDR - local GW_IP - - if [[ -z "$1" || -z "$2" ]]; then - return 1 - else - CIDR=$1 - GW_IP=$2 - fi - - if [ -z "$UNDERCLOUD" ]; then - #if not found then dnsmasq may be using leasefile-ro - undercloud_mac=$(virsh domiflist undercloud | grep default | \ - grep -Eo "[0-9a-f\]+:[0-9a-f\]+:[0-9a-f\]+:[0-9a-f\]+:[0-9a-f\]+:[0-9a-f\]+") - UNDERCLOUD=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'}) - fi - # get controller ip address - controller_ip=$(ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI -source stackrc -openstack server list | grep overcloud-controller-0 | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" -EOI -) - - if [ -z "$controller_ip" ]; then - echo "ERROR: Failed to find controller_ip for overcloud-controller-0" - return 1 - fi - - # get gateway mac - GW_MAC=$(arping ${GW_IP} -c 1 -I br-external | grep -Eo '([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5})') - - if [ -z "$GW_MAC" ]; then - echo "ERROR: Failed to find gateway mac for ${GW_IP}" - return 1 - fi - - # update gateway mac to onos - ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI -ssh -T ${SSH_OPTIONS[@]} "heat-admin@${controller_ip}" <<EOF -echo "external gateway mac is ${GW_MAC}" -/opt/onos/bin/onos "externalgateway-update -m ${GW_MAC}" -EOF -EOI - -} diff --git a/lib/overcloud-deploy-functions.sh b/lib/overcloud-deploy-functions.sh index 0ed98fb7..f30e875f 100755 --- a/lib/overcloud-deploy-functions.sh +++ b/lib/overcloud-deploy-functions.sh @@ -47,14 +47,12 @@ function overcloud_deploy { DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight-external.yaml" SDN_IMAGE=opendaylight elif [ "${deploy_options_array['sdn_controller']}" == 'onos' ]; then - echo -e "${red}ERROR: ONOS is unsupported in Danube...exiting${reset}" - exit 1 - #if [ "${deploy_options_array['sfc']}" == 'True' ]; then - # DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/onos_sfc.yaml" - #else - # DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/onos.yaml" - #fi - #SDN_IMAGE=onos + if [ "${deploy_options_array['sfc']}" == 'True' ]; then + DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-onos-sfc.yaml" + else + DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-onos.yaml" + fi + SDN_IMAGE=onos elif [ "${deploy_options_array['sdn_controller']}" == 'ovn' ]; then if [[ "$ha_enabled" == "True" ]]; then DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-ml2-ovn-ha.yaml" @@ -168,6 +166,8 @@ EOI # upgrade ovs into ovs 2.5.90 with NSH function if SFC is enabled if [[ "${deploy_options_array['sfc']}" == 'True' && "${deploy_options_array['dataplane']}" == 'ovs' ]]; then + echo "ONOS SFC is currently unavailable. JIRA: APEX-417" + exit 1 ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI LIBGUESTFS_BACKEND=direct virt-customize --run-command "yum install -y /root/ovs/rpm/rpmbuild/RPMS/x86_64/${ovs_kmod_rpm_name}" \ --run-command "yum upgrade -y /root/ovs/rpm/rpmbuild/RPMS/x86_64/${ovs_rpm_name}" \ |