update voltha up to use pre-built voltha-onos image with required apps
diff --git a/full-values.yaml b/full-values.yaml
index 00800a6..dbf23d6 100644
--- a/full-values.yaml
+++ b/full-values.yaml
@@ -14,12 +14,19 @@
defaults:
image_tag: master
+ image_pullPolicy: Always
images:
adapter_open_olt:
- tag_go: master-go
+ tag_go: master
+ pullPolicy: Always
+ onos:
+ tag: master
+ repository: voltha/voltha-onos
+ pullPolicy: Always
bbsim:
tag: master
+ pullPolicy: Always
onos_env:
- name: POD_IP
diff --git a/minimal-values.yaml b/minimal-values.yaml
index 0a6a22c..7708ade 100644
--- a/minimal-values.yaml
+++ b/minimal-values.yaml
@@ -14,14 +14,19 @@
defaults:
image_tag: master
+ image_pullPolicy: Always
images:
adapter_open_olt:
tag_go: master
+ pullPolicy: Always
onos:
- tag: 1.13.5
+ tag: master
+ repository: voltha/voltha-onos
+ pullPolicy: Always
bbsim:
tag: master
+ pullPolicy: Always
deployments:
etcdOperator: true
diff --git a/onos-files/install-onos-applications.sh b/onos-files/install-onos-applications.sh
deleted file mode 100755
index 5a3d3b9..0000000
--- a/onos-files/install-onos-applications.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/bash
-
-# Copyright 2019 Ciena Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-ONOS_ADDRESS=${ONOS_ADDRESS:-127.0.0.1}
-
-SADIS_VER=${SADIS_VER:-3.1.0}
-OLT_VER=${OLT_VER:-3.0.1}
-AAA_VER=${AAA_VER:-1.9.0}
-DHCP_VER=${DHCP_VER:-1.6.0}
-
-if [ $(expr $AAA_VER \>= 1.9.0) -eq 1 ]; then
- AAA_NAME=aaa-app
-else
- AAA_NAME=aaa
-fi
-
-if [ $(expr $DHCP_VER \>= 1.6.0) -eq 1 ]; then
- DHCP_NAME=dhcpl2relay-app
-else
- DHCP_NAME=dhcpl2relay
-fi
-
-TYPE=${TYPE:-minimal}
-
-if [ "$TYPE" == "full" ]; then
- ONOS_API_PORT=${ONOS_API_PORT:-8182}
- ONOS_SSH_PORT=${ONOS_SSH_PORT:-8102}
-else
- ONOS_API_PORT=${ONOS_API_PORT:-8181}
- ONOS_SSH_PORT=${ONOS_SSH_PORT:-8101}
-fi
-
-echo "Target ONOS is ${ONOS_ADDRESS}:${ONOS_API_PORT}"
-
-mkdir -p onos-files/onos-apps
-echo "Downloading ONOS applications"
-curl --fail -sSL https://repo.maven.apache.org/maven2/org/opencord/sadis-app/$SADIS_VER/sadis-app-$SADIS_VER.oar -o ./onos-files/onos-apps/sadis-app-$SADIS_VER.oar
-curl --fail -sSL https://repo.maven.apache.org/maven2/org/opencord/$AAA_NAME/$AAA_VER/$AAA_NAME-$AAA_VER.oar -o ./onos-files/onos-apps/aaa-app-$AAA_VER.oar
-curl --fail -sSL https://repo.maven.apache.org/maven2/org/opencord/olt-app/$OLT_VER/olt-app-$OLT_VER.oar -o ./onos-files/onos-apps/olt-app-$OLT_VER.oar
-curl --fail -sSL https://repo.maven.apache.org/maven2/org/opencord/$DHCP_NAME/$DHCP_VER/$DHCP_NAME-$DHCP_VER.oar -o ./onos-files/onos-apps/dhcpl2relay-app-$DHCP_VER.oar
-
-until test $(curl -w '\n%{http_code}' --fail -sSL --user karaf:karaf -X POST -H Content-Type:application/octet-stream http://$ONOS_ADDRESS:$ONOS_API_PORT/onos/v1/applications?activate=true --data-binary @./onos-files/onos-apps/sadis-app-$SADIS_VER.oar 2>/dev/null | tail -1) -eq 409; do echo "Installing 'SADIS' ONOS application (v${SADIS_VER})..."; sleep 1; done
-until test $(curl -w '\n%{http_code}' --fail -sSL --user karaf:karaf -X POST -H Content-Type:application/octet-stream http://$ONOS_ADDRESS:$ONOS_API_PORT/onos/v1/applications?activate=true --data-binary @./onos-files/onos-apps/olt-app-$OLT_VER.oar 2>/dev/null | tail -1) -eq 409; do echo "Installing 'OLT' ONOS application (v${OLT_VER})..."; sleep 1; done
-until test $(curl -w '\n%{http_code}' --fail -sSL --user karaf:karaf -X POST -H Content-Type:application/octet-stream http://$ONOS_ADDRESS:$ONOS_API_PORT/onos/v1/applications?activate=true --data-binary @./onos-files/onos-apps/aaa-app-$AAA_VER.oar 2>/dev/null | tail -1) -eq 409; do echo "Installing 'AAA' ONOS application (v${AAA_VER})..."; sleep 1; done
-until test $(curl -w '\n%{http_code}' --fail -sSL --user karaf:karaf -X POST -H Content-Type:application/octet-stream http://$ONOS_ADDRESS:$ONOS_API_PORT/onos/v1/applications?activate=true --data-binary @./onos-files/onos-apps/dhcpl2relay-app-$DHCP_VER.oar 2>/dev/null | tail -1) -eq 409; do echo "Installing 'DHCP L2 Relay' ONOS application (v${DHCP_VER})..."; sleep 1; done
-until test $(curl -w '\n%{http_code}' --fail -sSL --user karaf:karaf -X POST -H Content-Type:application/json http://$ONOS_ADDRESS:$ONOS_API_PORT/onos/v1/network/configuration --data @onos-files/olt-onos-netcfg.json 2>/dev/null | tail -1) -eq 200; do echo "Configuring VOLTHA ONOS ..."; sleep 1; done
-until test $(curl -w '\n%{http_code}' --fail -sSL --user karaf:karaf -X POST -H Content-Type:application/json http://$ONOS_ADDRESS:$ONOS_API_PORT/onos/v1/configuration/org.opencord.olt.impl.Olt --data @onos-files/olt-onos-olt-settings.json 2>/dev/null | tail -1) -eq 200; do echo "Enabling VOLTHA ONOS DHCP provisioning..."; sleep 1; done
-until test $(curl -w '\n%{http_code}' --fail -sSL --user karaf:karaf -X POST -H Content-Type:application/json http://$ONOS_ADDRESS:$ONOS_API_PORT/onos/v1/configuration/org.onosproject.net.flow.impl.FlowRuleManager --data @onos-files/olt-onos-enableExtraneousRules.json 2>/dev/null | tail -1) -eq 200; do echo "Enabling extraneous rules for ONOS..."; sleep 1; done
-until test $(curl -w '\n%{http_code}' --fail -sSL --user karaf:karaf -X POST -H Content-Type:application/json "http://$ONOS_ADDRESS:$ONOS_API_PORT/onos/v1/flows/of:0000000000000001?appId=env.voltha" --data @onos-files/dhcp-to-controller-flow.json 2>/dev/null | tail -1) -eq 201; do echo "Establishing DHCP packet-in flow ..."; sleep 1; done
diff --git a/voltha b/voltha
index f5adc4d..54397bd 100755
--- a/voltha
+++ b/voltha
@@ -562,6 +562,22 @@
fi
done
+push_onos_config() {
+ local MSG=$1
+ local RESOURCE=$2
+ local DATA=$3
+
+ bspin - "$MSG $GEAR"
+ until test; do
+ (set -x; curl --fail -sSL --user karaf:karaf -X POST -H Content-Type:application/json http://127.0.0.1:$ONOS_API_PORT/onos/v1/$RESOURCE --data @$DATA >>$LOG 2>&1) >>$LOG 2>&1
+ if [ $? -eq 0 ]; then
+ break
+ fi
+ sleep .2
+ sspin -
+ done
+ espin - $VERIFIED
+}
count_pods() {
local NAMESPACE=$1; shift
@@ -896,21 +912,18 @@
done
(set -x; screen -dmS onos-ssh-$NAME bash -c "while true; do kubectl port-forward service/onos-ssh $ONOS_SSH_PORT:8101; done" >>$LOG 2>&1) >>$LOG 2>&1
espin - $VERIFIED
- if [ ! -x ./onos-files/install-onos-applications.sh ]; then
- bspin - "Verify or download ONOS configuration support files $DOWNLOAD"
- (set -x; mkdir -p ./onos-files >>$LOG 2>&1) >>$LOG 2>&1
- for i in dhcp-to-controller-flow.json install-onos-applications.sh olt-onos-enableExtraneousRules.json olt-onos-netcfg.json olt-onos-olt-settings.json radius-config.json; do
- if [ ! -r ./onos-files/$i ]; then
- (set -x; curl -o ./onos-files/$i -sSL https://raw.githubusercontent.com/ciena/kind-voltha/master/onos-files/$i >>$LOG 2>&1) >>$LOG 2>&1
- fi
- done
- (set -x; chmod 755 ./onos-files/install-onos-applications.sh >>$LOG 2>&1) >>$LOG 2>&1
- espin - $VERIFIED
- fi
-
- bspin - "Install required ONOS applications $INSTALL"
- (set -x; ./onos-files/install-onos-applications.sh >>$LOG 2>&1) >>$LOG 2>&1
+ bspin - "Verify or download ONOS configuration support files $DOWNLOAD"
+ (set -x; mkdir -p ./onos-files >>$LOG 2>&1) >>$LOG 2>&1
+ for i in dhcp-to-controller-flow.json olt-onos-enableExtraneousRules.json olt-onos-netcfg.json olt-onos-olt-settings.json radius-config.json; do
+ if [ ! -r ./onos-files/$i ]; then
+ (set -x; curl -o ./onos-files/$i -sSL https://raw.githubusercontent.com/ciena/kind-voltha/master/onos-files/$i >>$LOG 2>&1) >>$LOG 2>&1
+ fi
+ done
espin - $VERIFIED
+
+ push_onos_config "Push ONOS Network Configuration" "network/configuration" "onos-files/olt-onos-netcfg.json"
+ push_onos_config "Enable VOLTHA ONOS DHCP provisioning" "configuration/org.opencord.olt.impl.Olt" "onos-files/olt-onos-olt-settings.json"
+ push_onos_config "Enabling extraneous rules for ONOS" "configuration/org.onosproject.net.flow.impl.FlowRuleManager" "onos-files/olt-onos-enableExtraneousRules.json"
fi
if [ "$WITH_TIMINGS" == "yes" ]; then
timeout $(expr $(date +%s) - $STIME)