SiaB Makefile mod to support new values files, DT-workflow and new targets for SD-BNG

See patch https://gerrit.opencord.org/#/c/17130/ as reference on values files modification.
- SEBAVALUES variable is modified accordingly to the modifications made on the values files in the helm-charts repository
- Added support to deploy DT-Workflow, the make ifeq has been substituted with bash if so NEM_WORKFLOW variable can be modified in a make target
- Added 2 new targets to deploy SiaB with stratum (stratum-stable and stratum-latest)
- Added 2 new targets to deploy SiaB with SD-BNG (sdbng-stable and sdbng-latest)
- Added option -f passing SEBAVALUES when deploying nem-monitoring chart

Change-Id: Ie5fb4cd5ff328f9340d312c0f705365d7463593a
diff --git a/seba-in-a-box/Makefile b/seba-in-a-box/Makefile
index 71f132b..5a2b93d 100644
--- a/seba-in-a-box/Makefile
+++ b/seba-in-a-box/Makefile
@@ -58,7 +58,7 @@
 both: $(M)/siab $(M)/bbsim-tosca
 
 # https://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_6.html#SEC69
-latest: SEBAVALUES := configs/seba-ponsim-latest.yaml
+latest: SEBAVALUES := configs/seba-ponsim.yaml,configs/seba-ponsim-latest.yaml
 latest: ponsim
 
 stable: SEBAVALUES := configs/seba-ponsim.yaml
@@ -69,6 +69,24 @@
 # Parallel make won't work here; need to install seba-2.0.0 before siab
 siab-2.0-alpha1: $(M)/seba-2.0.0-alpha1 $(M)/siab
 
+stratum-stable: SEBAVALUES := configs/seba-ponsim.yaml,configs/seba-ponsim-stratum.yaml
+stratum-stable: FABRIC_DRIVER := stratum-bmv2
+stratum-stable: ponsim
+
+stratum-latest: SEBAVALUES += configs/seba-ponsim.yaml,configs/seba-ponsim-stratum.yaml,configs/seba-ponsim-latest.yaml
+stratum-latest: FABRIC_DRIVER := stratum-bmv2
+stratum-latest: ponsim
+
+sdbng-stable: SEBAVALUES := configs/seba-ponsim.yaml,configs/seba-ponsim-sdbng.yaml
+sdbng-stable: FABRIC_DRIVER := stratum-bmv2
+sdbng-stable: NEM_WORKFLOW := dt-workflow
+sdbng-stable: ponsim
+
+sdbng-latest: SEBAVALUES := configs/seba-ponsim.yaml,configs/seba-ponsim-sdbng.yaml,configs/seba-ponsim-latest.yaml
+sdbng-latest: FABRIC_DRIVER := stratum-bmv2
+sdbng-latest: NEM_WORKFLOW := dt-workflow
+sdbng-latest: ponsim
+
 validate_args:
 	if ! ([[ $(NUM_OLTS) == ?(-)+([0-9]) ]] && [ $(NUM_OLTS) -ge 1 ] && [ $(NUM_OLTS) -le 4 ]); \
 	then \
@@ -158,7 +176,7 @@
 $(M)/nem-monitoring: | $(M)/kafka-running
 	cd $(WORKSPACE)/cord/helm-charts && \
 	helm dep up nem-monitoring  && \
-	helm upgrade --install $(HELM_GLOBAL_ARGS) nem-monitoring nem-monitoring
+	helm upgrade --install $(HELM_GLOBAL_ARGS) nem-monitoring nem-monitoring -f $(SEBAVALUES)
 	$(WORKSPACE)/cord/helm-charts/scripts/wait_for_pods.sh
 	touch $@
 
@@ -268,14 +286,18 @@
 	echo "[passed] OLT and ONU are enabled in VOLTHA"
 	timeout 2m bash -c "until http -a karaf:karaf GET http://127.0.0.1:30120/onos/v1/devices|jq '.devices[].available'|grep true|wc -l|grep -q $$(( $(NUM_OLTS) + 1 )); do echo 'Waiting for VOLTHA logical device and agg switch to be available in ONOS'; sleep 10; done"
 	echo "[passed] VOLTHA logical device and agg switch are available in ONOS"
-ifeq ($(NEM_WORKFLOW),att-workflow)
-	timeout 2m bash -c "until cordctl model list AttWorkflowDriverServiceInstance -q -f 'authentication_state=AWAITING' | wc -l | grep -q $$(( $(NUM_OLTS) * $(NUM_ONUS_PER_OLT) )); do echo 'waiting for ATT Workflow Driver ServiceInstance to be in AWAITING state'; sleep 10; done"
-	echo "[passed] ATT Workflow Driver ServiceInstance is in AWAITING state"
-endif
-ifeq ($(NEM_WORKFLOW),tt-workflow)
-	timeout 2m bash -c "until cordctl model list TtWorkflowDriverServiceInstance -q -f 'dhcp_state=AWAITING' | wc -l | grep -q $$(( $(NUM_OLTS) * $(NUM_ONUS_PER_OLT) )); do echo 'waiting for TT Workflow Driver ServiceInstance to be in AWAITING state'; sleep 10; done"
-	echo "[passed] TT Workflow Driver ServiceInstance is in AWAITING state"
-endif
+	if [ $(NEM_WORKFLOW) = att-workflow ]; then \
+		timeout 10s bash -c "until cordctl model list AttWorkflowDriverServiceInstance -q -f 'authentication_state=AWAITING' | wc -l | grep -q $$(( $(NUM_OLTS) * $(NUM_ONUS_PER_OLT) )); do echo 'waiting for ATT Workflow Driver ServiceInstance to be in AWAITING state'; sleep 10; done"; \
+		echo "[passed] ATT Workflow Driver ServiceInstance is in AWAITING state"; \
+	fi
+	if [ $(NEM_WORKFLOW) = tt-workflow ]; then \
+		timeout 10s bash -c "until cordctl model list TtWorkflowDriverServiceInstance -q -f 'dhcp_state=AWAITING' | wc -l | grep -q $$(( $(NUM_OLTS) * $(NUM_ONUS_PER_OLT) )); do echo 'waiting for TT Workflow Driver ServiceInstance to be in AWAITING state'; sleep 10; done"; \
+		echo "[passed] TT Workflow Driver ServiceInstance is in AWAITING state"; \
+	fi
+	if [ $(NEM_WORKFLOW) = dt-workflow ]; then \
+		timeout 10s bash -c "until cordctl model list DtWorkflowDriverServiceInstance -q -f 'authentication_state=AWAITING' | wc -l | grep -q $$(( $(NUM_OLTS) * $(NUM_ONUS_PER_OLT) )); do echo 'waiting for DT Workflow Driver ServiceInstance to be in AWAITING state'; sleep 10; done"; \
+		echo "[passed] DT Workflow Driver ServiceInstance is in AWAITING state"; \
+	fi
 	sudo iptables -P FORWARD ACCEPT
 	sudo apparmor_parser -R /etc/apparmor.d/sbin.dhclient || true
 	sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.tcpdump || true