summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbobzhou <bob.zh@huawei.com>2017-03-10 10:09:55 +0800
committerTim Rozet <trozet@redhat.com>2017-05-08 16:05:14 +0000
commitdf5596005c4f0a98c39375feef0bcca55c89f239 (patch)
tree7df01195d6daed3e565e850beff17f92c850d321
parentb5e4091424ced384b49f6ff13b1ef2b63466f947 (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> (cherry picked from commit 266e9a5336defeff5f10331ab8316d69e7b20cc1)
-rw-r--r--build/Makefile9
-rw-r--r--build/c7-opnfv-x86_64-comps.xml4
-rw-r--r--build/opnfv-environment.yaml3
-rwxr-xr-xbuild/overcloud-onos.sh6
-rw-r--r--build/rpm_specs/opnfv-apex-common.spec11
-rw-r--r--build/variables.sh4
-rwxr-xr-xci/deploy.sh9
-rw-r--r--lib/installer/onos/onos_gw_mac_update.sh56
-rwxr-xr-xlib/overcloud-deploy-functions.sh16
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 6387cfb4..67a0e511 100644
--- a/build/c7-opnfv-x86_64-comps.xml
+++ b/build/c7-opnfv-x86_64-comps.xml
@@ -7839,7 +7839,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>
@@ -7865,7 +7865,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 0910a5fc..91b93ae3 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 fbfa3995..71de9378 100644
--- a/build/rpm_specs/opnfv-apex-common.spec
+++ b/build/rpm_specs/opnfv-apex-common.spec
@@ -61,8 +61,8 @@ install config/deploy/os-odl_l3-ovs-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-ape
install config/deploy/os-odl_l3-ovs-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_l3-ovs-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
@@ -92,7 +92,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/
@@ -121,7 +120,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
@@ -148,8 +146,8 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/
%{_sysconfdir}/opnfv-apex/os-odl_l3-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
@@ -172,7 +170,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 d3cecdd1..048ba6f0 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 a395598f..630f0b9a 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -82,7 +82,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
@@ -265,14 +264,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 a31efbf9..ec53db90 100755
--- a/lib/overcloud-deploy-functions.sh
+++ b/lib/overcloud-deploy-functions.sh
@@ -49,14 +49,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}" \