Merge pull request #3 from teone/feature/remote-onos
Adding option to specify ONOS_ADDRESS
diff --git a/full-values.yaml b/full-values.yaml
index 55a1a41..00800a6 100644
--- a/full-values.yaml
+++ b/full-values.yaml
@@ -18,6 +18,8 @@
images:
adapter_open_olt:
tag_go: master-go
+ bbsim:
+ tag: master
onos_env:
- name: POD_IP
diff --git a/minimal-values.yaml b/minimal-values.yaml
index 8cebab4..0a6a22c 100644
--- a/minimal-values.yaml
+++ b/minimal-values.yaml
@@ -17,7 +17,11 @@
images:
adapter_open_olt:
- tag_go: master-go
+ tag_go: master
+ onos:
+ tag: 1.13.5
+ bbsim:
+ tag: master
deployments:
etcdOperator: true
diff --git a/onos-files/olt-onos-netcfg.json b/onos-files/olt-onos-netcfg.json
index 6fd4486..8a47b49 100644
--- a/onos-files/olt-onos-netcfg.json
+++ b/onos-files/olt-onos-netcfg.json
@@ -45,8 +45,7 @@
},
"org.opencord.dhcpl2relay": {
"dhcpl2relay" : {
- "dhcpServerConnectPoints" : [ "of:0000000000000001/1" ],
- "useOltUplinkForServerPktInOut" : false
+ "useOltUplinkForServerPktInOut": true
}
}
}
diff --git a/voltha b/voltha
index 04cd2ff..ac8730c 100755
--- a/voltha
+++ b/voltha
@@ -13,11 +13,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+FANCY=${FANCY:-1}
+if [ "$TERM X" == " X" ]; then
+ FANCY=0
+fi
+
# trap ctrl-c and call ctrl_c()
trap ctrl_c INT
function ctrl_c() {
- tput cnorm
+ echo -en $CNORM
echo ""
echo "ctrl-c trapped"
echo "Thank you for trying 'votlha up'"
@@ -28,19 +33,39 @@
KIND_VERSION=${KIND_VERSION:-v0.4.0}
_VOLTCTL_VERSION=$(echo $VOLTCTL_VERSION | sed -e 's/-/_/g')
-BLACK=$(tput setaf 0)
-RED=$(tput setaf 1)
-GREEN=$(tput setaf 2)
-YELLOW=$(tput setaf 3)
-BLUE=$(tput setaf 4)
-MAGENTA=$(tput setaf 5)
-CYAN=$(tput setaf 6)
-WHITE=$(tput setaf 7)
-BOLD=$(tput bold)
-NORMAL=$(tput sgr0)
-ERROR="\xe2\x9c\x97\x20"
+BLACK=
+RED=
+GREEN=
+YELLOW=
+BLUE=
+MAGENTA=
+CYAN=
+WHITE=
+BOLD=
+NORMAL=
+ERROR=
+CEOL=
+CNORM=
+CIVIS=
+if [ $FANCY -eq 1 ]; then
+ BLACK=$(tput setaf 0)
+ RED=$(tput setaf 1)
+ GREEN=$(tput setaf 2)
+ YELLOW=$(tput setaf 3)
+ BLUE=$(tput setaf 4)
+ MAGENTA=$(tput setaf 5)
+ CYAN=$(tput setaf 6)
+ WHITE=$(tput setaf 7)
+ BOLD=$(tput bold)
+ NORMAL=$(tput sgr0)
+ ERROR="\xe2\x9c\x97\x20"
+ CEOL=$(tput el)
+ CNORM=$(tput cnorm)
+ CIVIS=$(tput civis)
+fi
TYPE=${TYPE:-minimal}
+NAME=${NAME:-$TYPE}
WITH_BBSIM=${WITH_BBSIM:-no}
WITH_RADIUS=${WITH_RADIUS:-no}
WITH_ONOS=${WITH_ONOS:-yes}
@@ -182,18 +207,39 @@
INSTALL_HELM=no
fi
-if [ "$TYPE" == "full" ]; then
- ONOS_API_PORT=${ONOS_API_PORT:-8182}
- ONOS_SSH_PORT=${ONOS_SSH_PORT:-8102}
- VOLTHA_API_PORT=${VOLTHA_API_PORT:-55556}
- VOLTHA_SSH_PORT=${VOLTHA_SSH_PORT:-5023}
+mkdir -p .voltha
+touch .voltha/ports
+HAVE=$(grep $NAME .voltha/ports)
+if [ "$HAVE X" == " X" ]; then
+ # Find free port prefix
+ START=81
+ while true; do
+ if [ $(grep -c $START .voltha/ports) -eq 0 ]; then
+ break
+ fi
+ START=$(expr $START + 1)
+ done
+ DELTA=$(expr $START - 81)
+ ONOS_API_PORT=${START}81
+ ONOS_SSH_PORT=${START}01
+ VOLTHA_API_PORT=5$(expr 55 + $DELTA)55
+ VOLTHA_SSH_PORT=$(expr 50 + $DELTA)22
+ VOLTHA_ETCD_PORT=$(expr 23 + $DELTA)79
else
- ONOS_API_PORT=${ONOS_API_PORT:-8181}
- ONOS_SSH_PORT=${ONOS_SSH_PORT:-8101}
- VOLTHA_API_PORT=${VOLTHA_API_PORT:-55555}
- VOLTHA_SSH_PORT=${VOLTHA_SSH_PORT:-5022}
+ VALUES=$(echo $HAVE | sed -e 's/\s//g' | cut -d= -f2)
+ ONOS_API_PORT=$(echo $VALUES | cut -d, -f1)
+ ONOS_SSH_PORT=$(echo $VALUES | cut -d, -f2)
+ VOLTHA_API_PORT=$(echo $VALUES | cut -d, -f3)
+ VOLTHA_SSH_PORT=$(echo $VALUES | cut -d, -f4)
+ VOLTHA_ETCD_PORT=$(echo $VALUES | cut -d, -f5)
fi
+PORTTMP=$(mktemp -u)
+cat .voltha/ports | grep -v $NAME > $PORTTMP
+echo "$NAME=$ONOS_API_PORT,$ONOS_SSH_PORT,$VOLTHA_API_PORT,$VOLTHA_SSH_PORT,$VOLTHA_ETCD_PORT" >> $PORTTMP
+cp $PORTTMP .voltha/ports
+rm -f $PORTTMP
+
if [ "$WITH_TP" == "yes" ]; then
SADIS_VER=3.1.0
OLT_VER=3.0.1
@@ -205,60 +251,7 @@
AAA_VER=1.8.0
DHCP_VER=1.5.0
fi
-
-export SADIS_VER OLT_VER AAA_VER DHCP_VER
-
-if [ "$1" == "get" -a "$2" == "voltconfig" ]; then
- echo "$HOME/.volt/config-$TYPE"
- exit
-fi
-
-if [ $# -ne 1 -o $(echo ":up:down:" | grep -c ":$1:") -ne 1 ]; then
- >&2 echo "up or down?"
- exit 1
-fi
-
-if [ "$1" == "down" ]; then
- if [ $DEPLOY_K8S == "yes" ]; then
- if [ -x ./bin/kind ]; then
- exec ./bin/kind delete cluster --name voltha-$TYPE
- else
- >&2 echo "Kind doesn't seem to be installed, so nothing to do. Bye."
- fi
- else
- EXISTS=$(helm list -q)
- EXPECT="etcd-operator onos open-olt open-onu sim voltha bbsim radius"
- INTERSECT=
- for i in $EXISTS; do
- if [ $(echo $EXPECT | grep -c $i) -eq 1 ]; then
- HAVE="$HAVE $i"
- fi
- done
- if [ "$HAVE X" != " X" ]; then
- ./bin/helm delete --purge $HAVE
- fi
-fi
- exit
-fi
-
-LOG="install-$TYPE.log"
-date > $LOG
-
-# Output install options to log
-echo "OPTIONS" >> $LOG
-ALL_OPTIONS="TYPE WITH_BBSIM WITH_RADIUS WITH_ONOS WITH_TP JUST_K8S DEPLOY_K8S \
- SKIP_RESTART_API INSTALL_KUBECTL INSTALL_HELM USE_GO VOLTHA_LOG_LEVEL \
- VOLTHA_CHART VOLTHA_ADAPTER_SIM_CHART VOLTHA_ADAPTER_OPEN_OLT_CHART \
- VOLTHA_ADAPTER_OPEN_ONU_CHART SADIS_VER OLT_VER AAA_VER DHCP_VER"
-for O in $ALL_OPTIONS; do
- VAL=$(eval echo \$$O)
- if [ $O == "USE_GO" ]; then
- VAL="$(echo $VAL| test $(grep -c true) -eq 1 && echo yes || echo no)"
- fi
- if [ ! -z "$VAL" ]; then
- printf " %-30s = %s\n" $O $VAL >> $LOG
- fi
-done
+export ONOS_API_PORT ONOS_SSH_PORT SADIS_VER OLT_VER AAA_VER DHCP_VER
spin() {
PARTS="\
@@ -272,7 +265,7 @@
\xe2\xa2\x86\xe2\xa1\xb1 \
"
IDX=1
- tput civis
+ echo -en $CIVIS
while true; do
C=$(echo $PARTS | cut '-d ' -f $IDX)
echo -en "$C"
@@ -285,43 +278,70 @@
done
}
-SPIN_PARTS="\
- \xe2\xa2\x8e\xe2\xa1\xb0 \
- \xe2\xa2\x8e\xe2\xa1\xa1 \
- \xe2\xa2\x8e\xe2\xa1\x91 \
- \xe2\xa2\x8e\xe2\xa0\xb1 \
- \xe2\xa0\x8e\xe2\xa1\xb1 \
- \xe2\xa2\x8a\xe2\xa1\xb1 \
- \xe2\xa2\x8c\xe2\xa1\xb1 \
- \xe2\xa2\x86\xe2\xa1\xb1 \
- "
IDX=1
-NOT_VERIFIED="\xe2\x9c\x97\x20"
-VERIFIED="\xe2\x9c\x93\x20"
-HELM="\xE2\x8E\x88"
-OLD_KEY="\xF0\x9F\x97\x9D"
-BIRD="\xF0\x9F\x90\xA6"
-HIGH_VOLTAGE="\xE2\x9A\xA1"
-PLUG="\xF0\x9F\xa7\xa9"
-RESTART="\xf0\x9f\x94\x84"
-FORWARD="\xE2\x87\xA8"
-INSTALL="\xF0\x9F\x8F\x97"
-STOP="\xf0\x9f\x9b\x91"
-GO="\xf0\x9f\x9a\x80"
-DOWNLOAD="\xf0\x9f\x93\xa5"
-GEAR="\xe2\x9a\x99"
-NO_ENTRY="\xe2\x9b\x94"
-LOCK="\xf0\x9f\x94\x92"
+SPIN_PARTS=
+NOT_VERIFIED=
+VERIFIED=
+HELM=
+OLD_KEY=
+BIRD=
+HIGH_VOLTAGE=
+PLUG=
+RESTART=
+FORWARD=
+INSTALL=
+STOP=
+GO=
+DOWNLOAD=
+GEAR=
+NO_ENTRY=
+LOCK=
+
+if [ $FANCY -eq 1 ]; then
+ SPIN_PARTS="\
+ \xe2\xa2\x8e\xe2\xa1\xb0 \
+ \xe2\xa2\x8e\xe2\xa1\xa1 \
+ \xe2\xa2\x8e\xe2\xa1\x91 \
+ \xe2\xa2\x8e\xe2\xa0\xb1 \
+ \xe2\xa0\x8e\xe2\xa1\xb1 \
+ \xe2\xa2\x8a\xe2\xa1\xb1 \
+ \xe2\xa2\x8c\xe2\xa1\xb1 \
+ \xe2\xa2\x86\xe2\xa1\xb1 \
+ "
+ NOT_VERIFIED="\xe2\x9c\x97\x20"
+ VERIFIED="\xe2\x9c\x93\x20"
+ HELM="\xE2\x8E\x88"
+ OLD_KEY="\xF0\x9F\x97\x9D"
+ BIRD="\xF0\x9F\x90\xA6"
+ HIGH_VOLTAGE="\xE2\x9A\xA1"
+ PLUG="\xF0\x9F\xa7\xa9"
+ RESTART="\xf0\x9f\x94\x84"
+ FORWARD="\xE2\x87\xA8"
+ INSTALL="\xF0\x9F\x8F\x97"
+ STOP="\xf0\x9f\x9b\x91"
+ GO="\xf0\x9f\x9a\x80"
+ DOWNLOAD="\xf0\x9f\x93\xa5"
+ GEAR="\xe2\x9a\x99"
+ NO_ENTRY="\xe2\x9b\x94"
+ LOCK="\xf0\x9f\x94\x92"
+fi
bspin() {
- tput civis
IDX=1
local INDENT=
if [ "$1" == "-" ]; then
INDENT=" "
shift
fi
- echo -en "$INDENT $*"
+ if [ $FANCY -eq 0 ]; then
+ LINE=$(echo $* | sed -e 's/[\s+-]//g')
+ if [ "$LINE X" == " X" ]; then
+ return
+ fi
+ echo -e "$CIVIS$INDENT$*"
+ else
+ echo -en "$CIVIS$INDENT $*"
+ fi
}
sspin() {
@@ -330,11 +350,19 @@
INDENT=" "
shift
fi
- C=$(echo $SPIN_PARTS | cut '-d ' -f $IDX)
- echo -en "\r$INDENT$C $*"
- IDX=$(expr $IDX + 1)
- if [ $IDX -gt 8 ]; then
- IDX=1
+ if [ $FANCY -eq 0 ]; then
+ LINE=$(echo $* | sed -e 's/[\s+-]//g')
+ if [ "$LINE X" == " X" ]; then
+ return
+ fi
+ echo -e "$INDENT$*"
+ else
+ C=$(echo $SPIN_PARTS | cut '-d ' -f $IDX)
+ echo -en "\r$INDENT$C $*"
+ IDX=$(expr $IDX + 1)
+ if [ $IDX -gt 8 ]; then
+ IDX=1
+ fi
fi
}
@@ -344,10 +372,161 @@
INDENT=" "
shift
fi
- echo -e "\r$INDENT$*"
- tput cnorm
+ if [ $FANCY -eq 0 ]; then
+ LINE=$(echo $* | sed -e 's/[\s+-]//g')
+ if [ "$LINE X" == " X" ]; then
+ return
+ fi
+ echo -e "$INDENT$*"
+ else
+ echo -e "\r$INDENT$*$CNORM"
+ fi
}
+if [ "$1" == "get" -a "$2" == "voltconfig" ]; then
+ echo "$HOME/.volt/config-$NAME"
+ exit
+fi
+
+if [ $# -ne 1 -o $(echo ":up:down:dump:" | grep -c ":$1:") -ne 1 ]; then
+ >&2 echo "What wouild you like to do today:"
+ >&2 echo " up - bring up voltha"
+ >&2 echo " down - tear down voltha"
+ >&2 echo " dump - create a debug dump of running system"
+ exit 1
+fi
+
+if [ "$1" == "down" ]; then
+ echo "Tearing down voltha cluster $NAME"
+ LOG="down-$NAME.log"
+ echo $(date -u +"%Y%m%dT%H%M%SZ") >$LOG
+ if [ $DEPLOY_K8S == "yes" ]; then
+ if [ -x ./bin/kind ]; then
+ bspin "Delete Kubernetes Kind Cluster"
+ (set -x; ./bin/kind delete cluster --name voltha-$NAME >>$LOG 2>&1) >>$LOG 2>&1
+ espin $VERIFIED
+ else
+ espin "$NO_ENTRY Delete Kubernetes Kind Cluster: kind command not found"
+ fi
+ else
+ EXISTS=$(helm list -q)
+ EXPECT="etcd-operator onos open-olt open-onu sim voltha bbsim radius"
+ bspin "Remove Helm Deployments"
+ for i in $EXISTS; do
+ if [ $(echo $EXPECT | grep -c $i) -eq 1 ]; then
+ sspin "Remove Helm Deployments: $i$CEOL"
+ (set -x; ./bin/helm delete --purge $i >>$LOG 2>&1) >>$LOG 2>&1
+ fi
+ done
+ espin "$VERIFIED Remove Helm Deployments$CEOL"
+ fi
+ bspin "Remove port-forwards: onos-ui-$NAME"
+ for i in $(screen -ls | grep onos-ui-$NAME | awk '{print $1}'); do
+ sspin
+ (set -x; screen -X -S $i quit >>$LOG 2>&1) >>$LOG 2>&1
+ done
+ sspin "Remove port-forwards: onos-ssh-$NAME$CEOL"
+ for i in $(screen -ls | grep onos-ssh-$NAME | awk '{print $1}'); do
+ sspin
+ (set -x; screen -X -S $i quit >>$LOG 2>&1) >>$LOG 2>&1
+ done
+ sspin "Remove port-forwards: voltha-api-$NAME$CEOL"
+ for i in $(screen -ls | grep voltha-api-$NAME | awk '{print $1}'); do
+ sspin
+ (set -x; screen -X -S $i quit >>$LOG 2>&1) >>$LOG 2>&1
+ done
+ sspin "Remove port-forwards: voltha-ssh-$NAME$CEOL"
+ for i in $(screen -ls | grep voltha-ssh-$NAME | awk '{print $1}'); do
+ sspin
+ (set -x; screen -X -S $i quit >>$LOG 2>&1) >>$LOG 2>&1
+ done
+ sspin "Remove port-forwards: voltha-etcd-$NAME$CEOL"
+ for i in $(screen -ls | grep voltha-etcd-$NAME | awk '{print $1}'); do
+ sspin
+ (set -x; screen -X -S $i quit >>$LOG 2>&1) >>$LOG 2>&1
+ done
+ espin "$VERIFIED Remove port-forwards$CEOL"
+ exit
+fi
+
+if [ "$1" == "dump" ]; then
+ LOG="dump-$NAME.log"
+ TS=$(date -u +"%Y%m%dT%H%M%SZ")
+ WORK=$(mktemp -u -d)
+ DATA=$WORK/voltha-debug-dump-$NAME-$TS
+ mkdir -p $DATA
+ echo $TS > $LOG
+ echo -e "Capturing debug dump to voltha-debug-dump-$NAME-$TS.tgz"
+ bspin - "Copy install log"
+ if [ -f install-$NAME.log ]; then
+ (set -x; cp install-$NAME.log $DATA/install-$NAME.log) >>$LOG 2>&1
+ espin - $VERIFIED
+ else
+ espin - "$NO_ENTRY Copy install log: install-$NAME.log not found"
+ fi
+ bspin - "Dumping Kubernetes PODs"
+ (set -x; kubectl get --all-namespaces pods >> $DATA/all-pods.txt 2>&1) >>$LOG 2>&1
+ espin - $VERIFIED
+ bspin - "Dumping Kubernetes SERVICEs"
+ (set -x; kubectl get --all-namespaces svc >> $DATA/all-services.txt 2>&1) >>$LOG 2>&1
+ espin - $VERIFIED
+ bspin - "Dumping Kubernetes EVENTs"
+ (set -x; kubectl get --all-namespaces events >> $DATA/all-events.txt 2>&1) >>$LOG 2>&1
+ espin - $VERIFIED
+ bspin - "Dumping VOLTHA POD details"
+ PODS=$(kubectl get -n voltha pod -o name)
+ for POD in $PODS; do
+ sspin - "Dumping VOLTHA POD details: $POD$CEOL"
+ mkdir -p $DATA/$POD
+ (set -x; kubectl describe -n voltha $POD >> $DATA/$POD/describe.txt 2>&1) >>$LOG 2>&1
+ sspin - "Dumping VOLTHA POD details: $POD"
+ (set -x; kubectl logs -n voltha --all-containers --previous $LOG_ARGS $POD >> $DATA/$POD/logs-previous.txt 2>&1) >>$LOG 2>&1
+ sspin - "Dumping VOLTHA POD details: $POD"
+ (set -x; kubectl logs -n voltha --all-containers $LOG_ARGS $POD >> $DATA/$POD/logs-current.txt 2>&1) >>$LOG 2>&1
+ sspin - "Dumping VOLTHA POD details: $POD"
+ done
+ espin - "$VERIFIED Dumping VOLTHA POD details$CEOL"
+ bspin - "Dumping ETCD"
+ if [ "$(which etcdctl) X" != " X" ]; then
+ (set -x; ETCDCTL_API=3 etcdctl --endpoints localhost:$VOLTHA_ETCD_PORT get --prefix service/voltha | hexdump -C >> $DATA/etcd.hex 2>&1) >>$LOG 2>&1
+ espin - $VERIFIED
+ else
+ espin - "$NO_ENTRY Dumping ETCD: etcdctl command not available"
+ fi
+ bspin - "Creating compressed TAR: voltha-debug-dump-$NAME-$TS.tgz"
+ (set -x; tar -C $WORK -zcf voltha-debug-dump-$NAME-$TS.tgz ./voltha-debug-dump-$NAME-$TS) >>$LOG 2>&1
+ espin - $VERIFIED
+ bspin - "Cleanup"
+ (set -x; rm -rf $WORK) >>$LOG 2>&1
+ espin - $VERIFIED
+ bspin - "$(ls -l voltha-debug-dump-$NAME-$TS.tgz)"
+ espin - $VERIFIED
+ exit
+fi
+
+
+LOG="install-$NAME.log"
+date > $LOG
+echo "PORTS=$ONOS_API_PORT,$ONOS_SSH_PORT,$VOLTHA_API_PORT,$VOLTHA_SSH_PORT,$VOLTHA_ETCD_PORT" >> $LOG
+
+# Output install options to log
+echo "OPTIONS" >> $LOG
+ALL_OPTIONS="NAME TYPE WITH_BBSIM WITH_RADIUS WITH_ONOS WITH_TP JUST_K8S DEPLOY_K8S \
+ SKIP_RESTART_API INSTALL_KUBECTL INSTALL_HELM USE_GO VOLTHA_LOG_LEVEL \
+ VOLTHA_CHART VOLTHA_ADAPTER_SIM_CHART VOLTHA_ADAPTER_OPEN_OLT_CHART \
+ VOLTHA_ADAPTER_OPEN_ONU_CHART SADIS_VER OLT_VER AAA_VER DHCP_VER \
+ ONOS_API_PORT ONOS_SSH_PORT VOLTHA_API_PORT VOLTHA_SSH_PORT VOLTHA_ETCD_PORT"
+for O in $ALL_OPTIONS; do
+ VAL=$(eval echo \$$O)
+ if [ $O == "USE_GO" ]; then
+ VAL="$(echo $VAL| test $(grep -c true) -eq 1 && echo yes || echo no)"
+ fi
+ if [ ! -z "$VAL" ]; then
+ printf " %-30s = %s\n" $O $VAL >> $LOG
+ fi
+done
+
+
count_pods() {
local NAMESPACE=$1; shift
local PODS=$(kubectl -n $NAMESPACE get pod -o go-template="{{range .items}}{{.metadata.name}}/{{.status.phase}}/_{{range .status.containerStatuses}}{{.ready}}_{{end}} {{end}}")
@@ -410,19 +589,19 @@
INDENT=$1; shift
fi
local NAMESPACE=$1; shift
- local NAME=$1; shift
+ local INAME=$1; shift
local CHART=$1; shift
local MESSAGE=$*
COUNT=$(expr 300 / 15)
bspin $INDENT $MESSAGE
- (set -x; helm install -f $TYPE-values.yaml --set use_go=$USE_GO --set defaults.log_level=$VOLTHA_LOG_LEVEL --namespace $NAMESPACE --name $NAME $CHART >>$LOG 2>&1) >>$LOG 2>&1
+ (set -x; helm install -f $NAME-values.yaml --set use_go=$USE_GO --set defaults.log_level=$VOLTHA_LOG_LEVEL --namespace $NAMESPACE --name $INAME $EXTRA_HELM_FLAGS $CHART >>$LOG 2>&1) >>$LOG 2>&1
SUCCESS=$?
while [ $SUCCESS -ne 0 ]; do
sspin $INDENT
COUNT=$(expr $COUNT - 1)
if [ $COUNT -eq 0 ]; then
- (set -x; helm install -f $TYPE-values.yaml --set defaults.log_level=$VOLTHA_LOG_LEVEL --namespace $NAMESPACE --name $NAME $CHART >>$LOG 2>&1) >>$LOG 2>&1
+ (set -x; helm install -f $NAME-values.yaml --set use_go=$USE_GO --set defaults.log_level=$VOLTHA_LOG_LEVEL --namespace $NAMESPACE --name $INAME $EXTRA_HELM_FLAGS $CHART >>$LOG 2>&1) >>$LOG 2>&1
COUNT=$(expr 300 / 15)
fi
sleep .15
@@ -500,33 +679,33 @@
espin $VERIFIED
if [ "$DEPLOY_K8S" == "yes" ]; then
- HAVE=$(kind get clusters | grep -c voltha-$TYPE)
+ HAVE=$(kind get clusters | grep -c voltha-$NAME)
bspin "Verify Kubernetes/Kind Cluster"
sspin
if [ $HAVE -eq 0 ]; then
espin $NOT_VERIFIED
bspin - "Verify cluster configuration"
- if [ ! -r ./$TYPE-cluster.cfg ]; then
+ if [ ! -r ./$NAME-cluster.cfg ]; then
espin - $NOT_VERIFIED
- bspin - "Download cluster configuration: $TYPE-cluster.cfg $DOWNLOAD"
- (set -x; curl -o ./$TYPE-cluster.cfg -sSL https://raw.githubusercontent.com/ciena/kind-voltha/master/$TYPE-cluster.cfg >>$LOG 2>&1) >>$LOG 2>&1
+ bspin - "Download cluster configuration: $TYPE-cluster.cfg to $NAME-cluster.cfg $DOWNLOAD"
+ (set -x; curl -o ./$NAME-cluster.cfg -sSL https://raw.githubusercontent.com/ciena/kind-voltha/master/$TYPE-cluster.cfg >>$LOG 2>&1) >>$LOG 2>&1
espin - $VERIFIED
else
espin - $VERIFIED
fi
- kind create cluster --name voltha-$TYPE --config $TYPE-cluster.cfg
+ kind create cluster --name voltha-$NAME --config $NAME-cluster.cfg
else
espin $VERIFIED
fi
- export KUBECONFIG="$(kind get kubeconfig-path --name="voltha-$TYPE")"
+ export KUBECONFIG="$(kind get kubeconfig-path --name="voltha-$NAME")"
P="coredns-.* \
- etcd-voltha-$TYPE-control-plane \
+ etcd-voltha-$NAME-control-plane \
kindnet-.* \
- kube-apiserver-voltha-$TYPE-control-plane \
- kube-controller-manager-voltha-$TYPE-control-plane \
+ kube-apiserver-voltha-$NAME-control-plane \
+ kube-controller-manager-voltha-$NAME-control-plane \
kube-proxy-.* \
- kube-scheduler-voltha-$TYPE-control-plane"
+ kube-scheduler-voltha-$NAME-control-plane"
EXPECT=$(test "$TYPE" == "minimal" && echo "12" || echo "14")
wait_for_pods - "kube-system" $EXPECT -1 "Waiting for system PODs to start" $P
@@ -587,11 +766,11 @@
fi
wait_for_pods - "kube-system" 1 -1 "Waiting for Tiller POD to start" "tiller-deploy-.*"
-bspin "Verify Helm values file: $TYPE-values.yaml"
-if [ ! -r "./$TYPE-values.yaml" ]; then
+bspin "Verify Helm values file: $NAME-values.yaml"
+if [ ! -r "./$NAME-values.yaml" ]; then
espin $NOT_VERIFIED
- bspin - "Download Helm values file: $TYPE-values.yaml $DOWNLOAD"
- (set -x; curl -o ./$TYPE-values.yaml -sSL https://raw.githubusercontent.com/ciena/kind-voltha/master/$TYPE-values.yaml >>$LOG 2>&1) >>$LOG 2>&1
+ bspin - "Download Helm values file: $TYPE-values.yaml to $NAME-values.yaml $DOWNLOAD"
+ (set -x; curl -o ./$NAME-values.yaml -sSL https://raw.githubusercontent.com/ciena/kind-voltha/master/$TYPE-values.yaml >>$LOG 2>&1) >>$LOG 2>&1
espin - $VERIFIED
else
espin $VERIFIED
@@ -606,7 +785,7 @@
echo "" | tee -a $LOG
echo -en $BOLD
if [ $DEPLOY_K8S == "yes" ]; then
- echo "export KUBECONFIG=\"\$(./bin/kind get kubeconfig-path --name=\"voltha-$TYPE\")\"" | tee -a $LOG
+ echo "export KUBECONFIG=\"\$(./bin/kind get kubeconfig-path --name=\"voltha-$NAME\")\"" | tee -a $LOG
fi
echo "export PATH=$GOPATH/bin:\$PATH" | tee -a $LOG
echo -en $NORMAL
@@ -636,16 +815,16 @@
wait_for_pods - "default" 1 -1 "Waiting for ONOS to start" "onos-.*"
bspin - "Forward ONOS API port $FORWARD"
- for i in $(screen -ls | grep onos-ui-$TYPE | awk '{print $1}'); do
+ for i in $(screen -ls | grep onos-ui-$NAME | awk '{print $1}'); do
(set -x; screen -X -S $i quit >>$LOG 2>&1) >>$LOG 2>&1
done
- (set -x; screen -dmS onos-ui-$TYPE bash -c "while true; do kubectl port-forward service/onos-ui $ONOS_API_PORT:8181; done" >>$LOG 2>&1) >>$LOG 2>&1
+ (set -x; screen -dmS onos-ui-$NAME bash -c "while true; do kubectl port-forward service/onos-ui $ONOS_API_PORT:8181; done" >>$LOG 2>&1) >>$LOG 2>&1
espin - $VERIFIED
bspin - "Forward ONOS SSH port $FORWARD"
- for i in $(screen -ls | grep onos-ssh-$TYPE | awk '{print $1}'); do
+ for i in $(screen -ls | grep onos-ssh-$NAME | awk '{print $1}'); do
(set -x; screen -X -S $i quit >>$LOG 2>&1) >>$LOG 2>&1
done
- (set -x; screen -dmS onos-ssh-$TYPE bash -c "while true; do kubectl port-forward service/onos-ssh $ONOS_SSH_PORT:8101; done" >>$LOG 2>&1) >>$LOG 2>&1
+ (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"
@@ -747,16 +926,22 @@
fi
bspin - "Forward VOLTHA API port $FORWARD"
-for i in $(screen -ls | grep voltha-api-$TYPE | awk '{print $1}'); do
+for i in $(screen -ls | grep voltha-api-$NAME | awk '{print $1}'); do
(set -x; screen -X -S $i quit >>$LOG 2>&1) >>$LOG 2>&1
done
-(set -x; screen -dmS voltha-api-$TYPE bash -c "while true; do kubectl port-forward -n voltha service/voltha-api $VOLTHA_API_PORT:55555; done" >>$LOG 2>&1) >>$LOG 2>&1
+(set -x; screen -dmS voltha-api-$NAME bash -c "while true; do kubectl port-forward -n voltha service/voltha-api $VOLTHA_API_PORT:55555; done" >>$LOG 2>&1) >>$LOG 2>&1
espin - $VERIFIED
bspin - "Forward VOLTHA SSH port $FORWARD"
-for i in $(screen -ls | grep voltha-ssh-$TYPE | awk '{print $1}'); do
+for i in $(screen -ls | grep voltha-ssh-$NAME | awk '{print $1}'); do
(set -x; screen -X -S $i quit >>$LOG 2>&1) >>$LOG 2>&1
done
-(set -x; screen -dmS voltha-ssh-$TYPE bash -c "while true; do kubectl port-forward -n voltha service/voltha-cli $VOLTHA_SSH_PORT:5022; done" >>$LOG 2>&1) >>$LOG 2>&1
+(set -x; screen -dmS voltha-ssh-$NAME bash -c "while true; do kubectl port-forward -n voltha service/voltha-cli $VOLTHA_SSH_PORT:5022; done" >>$LOG 2>&1) >>$LOG 2>&1
+espin - $VERIFIED
+bspin - "Forward VOLTHA ETCD port $FORWARD"
+for i in $(screen -ls | grep voltha-etcd-$NAME | awk '{print $1}'); do
+ (set -x; screen -X -S $i quit >>$LOG 2>&1) >>$LOG 2>&1
+done
+(set -x; screen -dmS voltha-etcd-$NAME bash -c "while true; do kubectl port-forward -n voltha service/voltha-etcd-cluster-client $VOLTHA_ETCD_PORT:2379; done" >>$LOG 2>&1) >>$LOG 2>&1
espin - $VERIFIED
if [ $WITH_ONOS == "yes" -a $WITH_RADIUS == "yes" ]; then
@@ -767,11 +952,11 @@
bspin "Create voltctl configuration file"
(set -x; mkdir -p $HOME/.volt >>$LOG 2>&1) >>$LOG 2>&1
-(set -x; voltctl -a v2 -s localhost:$VOLTHA_API_PORT config > $HOME/.volt/config-$TYPE 2>>$LOG) >>$LOG 2>&1
+(set -x; voltctl -a v2 -s localhost:$VOLTHA_API_PORT config > $HOME/.volt/config-$NAME 2>>$LOG) >>$LOG 2>&1
espin $VERIFIED
-if [ ! -f "$TYPE-env.sh" ]; then
- touch $TYPE-env.sh
+if [ ! -f "$NAME-env.sh" ]; then
+ touch $NAME-env.sh
fi
for O in $ALL_OPTIONS; do
@@ -779,21 +964,21 @@
if [ $O == "USE_GO" ]; then
VAL="$(echo $VAL| test $(grep -c true) -eq 1 && echo yes || echo no)"
fi
- if [ ! -z "$VAL" -a $(grep -c "^export $O=" $TYPE-env.sh) -eq 0 ]; then
- echo "export $O=\"$(eval echo \$$O)\"" >> $TYPE-env.sh
+ if [ ! -z "$VAL" -a $(grep -c "^export $O=" $NAME-env.sh) -eq 0 ]; then
+ echo "export $O=\"$(eval echo \$$O)\"" >> $NAME-env.sh
fi
done
-if [ $DEPLOY_K8S == "yes" -a $(grep -c "^export KUBECONFIG=" $TYPE-env.sh) -eq 0 ]; then
- echo "export KUBECONFIG=\"$(./bin/kind get kubeconfig-path --name=voltha-$TYPE)\"" >> $TYPE-env.sh
+if [ $DEPLOY_K8S == "yes" -a $(grep -c "^export KUBECONFIG=" $NAME-env.sh) -eq 0 ]; then
+ echo "export KUBECONFIG=\"$(./bin/kind get kubeconfig-path --name=voltha-$NAME)\"" >> $NAME-env.sh
fi
-if [ $(grep -c "^export VOLTCONFIG=" $TYPE-env.sh) -eq 0 ]; then
- echo "export VOLTCONFIG=\"$HOME/.volt/config-$TYPE\"" >> $TYPE-env.sh
+if [ $(grep -c "^export VOLTCONFIG=" $NAME-env.sh) -eq 0 ]; then
+ echo "export VOLTCONFIG=\"$HOME/.volt/config-$NAME\"" >> $NAME-env.sh
fi
-if [ $(grep -c "^export PATH=" $TYPE-env.sh) -eq 0 ]; then
- echo "export PATH=\"$GOPATH/bin:\$PATH\"" >> $TYPE-env.sh
+if [ $(grep -c "^export PATH=" $NAME-env.sh) -eq 0 ]; then
+ echo "export PATH=\"$GOPATH/bin:\$PATH\"" >> $NAME-env.sh
fi
echo ""
@@ -803,9 +988,9 @@
echo "" | tee -a $LOG
echo -en $BOLD
if [ $DEPLOY_K8S == "yes" ]; then
- echo "export KUBECONFIG=\"\$(./bin/kind get kubeconfig-path --name=\"voltha-$TYPE\")\"" | tee -a $LOG
+ echo "export KUBECONFIG=\"\$(./bin/kind get kubeconfig-path --name=\"voltha-$NAME\")\"" | tee -a $LOG
fi
-echo "export VOLTCONFIG=\"$HOME/.volt/config-$TYPE\"" | tee -a $LOG
+echo "export VOLTCONFIG=\"$HOME/.volt/config-$NAME\"" | tee -a $LOG
echo "export PATH=$GOPATH/bin:\$PATH" | tee -a $LOG
echo -en $NORMAL
echo "" | tee -a $LOG