reorg to use common/tosca/ directory for shared TOSCA files, update of opencloud service-profile
unified config into common/Makedefs, included common/Makefile
strip last path component to get directory
clarify container target names, dependency fixes on service dir
fix test-standalone
converted other configs, added .DEFAULT_GOAL's
immediately set paths, run docker under sudo
port and cleanup fixes
fixes after testing cord-pod
follow log files, fix typo metronetwork/xos.yaml
Change-Id: I3e28d10ffd37a22c4a2927288924db453ed6ec44
diff --git a/frontend/Makefile b/frontend/Makefile
index ed34f2f..c3bbc69 100644
--- a/frontend/Makefile
+++ b/frontend/Makefile
@@ -1,106 +1,26 @@
-include ../common/Makedefs
+# frontend/Makefile
-MYIP:=$(shell hostname -i)
-CONFIG_DIR:=$(shell pwd)
-DOCKER_COMPOSE_YML=./onboarding-docker-compose/docker-compose.yml
-BOOTSTRAP_YML=./docker-compose-bootstrap.yml
-DOCKER_PROJECT=frontend
-BOOTSTRAP_PROJECT=frontendbs
-XOS_BOOTSTRAP_PORT=9998
-XOS_UI_PORT=9999
-ADMIN_USERNAME=padmin@vicci.org
-ADMIN_PASSWORD=letmein
-RUN_TOSCA_BOOTSTRAP=python ../common/run_tosca.py $(XOS_BOOTSTRAP_PORT) $(ADMIN_USERNAME) $(ADMIN_PASSWORD)
-RUN_TOSCA=python ../common/run_tosca.py $(XOS_UI_PORT) $(ADMIN_USERNAME) $(ADMIN_PASSWORD)
+CONFIG_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
+COMMON_DIR := $(abspath ../common )
-frontend: prereqs dirs download_xos download_services bootstrap onboarding frontendconfig
+.DEFAULT_GOAL := frontend
-prereqs:
- sudo make -f ../common/Makefile.prereqs
+DOCKER_PROJECT ?= frontend
+BOOTSTRAP_PROJECT ?= frontendbs
-dirs:
- # if this directory doesn't exist, then docker-compose will create it with root permission
- mkdir -p key_import
- mkdir -p onboarding-docker-compose
+XOS_BOOTSTRAP_PORT ?= 9998
+XOS_UI_PORT ?= 9999
-download_xos:
- make -f ../common/Makefile.services xos_core
+# Include common functions
+include $(COMMON_DIR)/Makefile
-download_services:
- make -f ../common/Makefile.services
-
-update_services:
- make -f ../common/Makefile.services update
-
-update_xos:
- make -f ../common/Makefile.services update_xos
-
-bootstrap:
- @echo "[BOOTSTRAP]"
- sudo rm -f onboarding-docker-compose/docker-compose.yml
- sudo CONFIG_DIR=$(CONFIG_DIR) docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) up -d
- bash ../common/wait_for_xos_port.sh $(XOS_BOOTSTRAP_PORT)
- sudo docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py none - < ../common/fixtures.yaml
- sudo docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py none - < ../common/mydeployment.yaml
- $(RUN_TOSCA_BOOTSTRAP) xos.yaml
+frontend: prereqs config_dirs xos_download cord_services bootstrap onboarding frontendconfig
onboarding:
@echo "[ONBOARDING]"
# on-board any services here
- bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
- bash ../common/wait_for_xos_port.sh $(XOS_UI_PORT)
-
-frontendconfig:
- @echo "[FRONTENDCONFIG]"
- $(RUN_TOSCA) sample.yaml
-
-local_containers: prereqs download_xos
- make -f ../common/Makefile.containers xos_devel synchronizer onboarding_synchronizer
-
-rebuild:
- bash ../common/rebuild.sh $(XOS_BOOTSTRAP_PORT)
- bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
-
-stop:
- test ! -s $(DOCKER_COMPOSE_YML) || sudo docker-compose -p $(DOCKER_PROJECT) -f $(DOCKER_COMPOSE_YML) stop
- sudo docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) stop
-
-showlogs:
- sudo docker-compose -p $(DOCKER_PROJECT) -f $(DOCKER_COMPOSE_YML) logs
-
-showlogs_bootstrap:
- sudo docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) logs
-
-rm: stop
- test ! -s $(DOCKER_COMPOSE_YML) || sudo docker-compose -p $(DOCKER_PROJECT) -f $(DOCKER_COMPOSE_YML) rm -f
- sudo docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) rm -f
- [ -n "$(shell docker images -f \"dangling=true\" -q)" ] && docker rmi $(shell docker images -f "dangling=true" -q) || true
-
-ps:
- sudo docker-compose ps
-
-enter-ui:
- sudo docker exec -ti frontend_xos_ui_1 bash
-
-enter-bootstrap-ui:
- sudo docker exec -ti frontendbs_xos_bootstrap_ui_1 bash
-
-enter-db:
- sudo docker exec -ti frontendbs_xos_db_1 bash
-
-django-restart:
- sudo docker exec frontend_xos_ui_1 touch /opt/xos/xos/settings.py
-
-clean-config-folder:
- sudo docker exec frontend_xos_ui_1 rm -f /opt/xos/xos_configuration/xos_mcord_config
- sudo docker exec frontend_xos_ui_1 rm -f /opt/xos/xos_configuration/xos_cord_config
-
-mock-cord-pod: onboard-cord-pod
- $(RUN_TOSCA) ../cord-pod/mgmt-net.yaml
- $(RUN_TOSCA) mocks/onos.yaml
- $(RUN_TOSCA) ../cord-pod/cord-services.yaml
- $(RUN_TOSCA) ../cord-pod/cord-test-subscriber.yaml
- $(RUN_TOSCA) ../cord-pod/cord-volt-devices.yaml
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
+ bash $(COMMON_DIR)/wait_for_xos_port.sh $(XOS_UI_PORT)
onboard-cord-pod:
sudo bash -c "echo somekey > key_import/vsg_rsa"
@@ -109,7 +29,7 @@
sudo bash -c "echo somekey > key_import/volt_rsa.pub"
sudo bash -c "echo somekey > key_import/onos_rsa"
sudo bash -c "echo somekey > key_import/onos_rsa.pub"
- $(RUN_TOSCA_BOOTSTRAP) ../common/disable-onboarding.yaml
+ $(RUN_TOSCA_BOOTSTRAP) $(COMMON_DIR)/tosca/disable-onboarding.yaml
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vrouter/xos/vrouter-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/olt/xos/volt-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vsg/xos/vsg-onboard.yaml
@@ -117,54 +37,70 @@
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/fabric/xos/fabric-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vtr/xos/vtr-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) xos-cord-branding.yaml
- $(RUN_TOSCA_BOOTSTRAP) ../common/enable-onboarding.yaml
- bash ../common/wait_for_onboarding_ready.sh 9998 services/vrouter
- bash ../common/wait_for_onboarding_ready.sh 9998 services/volt
- bash ../common/wait_for_onboarding_ready.sh 9998 services/vsg
- bash ../common/wait_for_onboarding_ready.sh 9998 services/onos
- bash ../common/wait_for_onboarding_ready.sh 9998 services/fabric
- bash ../common/wait_for_onboarding_ready.sh 9998 services/vtr
- bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
- bash ../common/wait_for_xos_port.sh $(XOS_UI_PORT)
+ $(RUN_TOSCA_BOOTSTRAP) $(COMMON_DIR)/tosca/enable-onboarding.yaml
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/vrouter
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/volt
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/vsg
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/onos
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/fabric
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/vtr
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
+ bash $(COMMON_DIR)/wait_for_xos_port.sh $(XOS_UI_PORT)
+
+frontendconfig: sample.yaml
+ @echo "[FRONTENDCONFIG]"
+ $(RUN_TOSCA) sample.yaml
+
+mock-cord-pod: onboard-cord-pod
+ $(RUN_TOSCA) $(COMMON_DIR)/tosca/mgmt-net.yaml
+ $(RUN_TOSCA) mocks/onos.yaml
+ $(RUN_TOSCA) ../cord-pod/cord-services.yaml
+ $(RUN_TOSCA) ../cord-pod/cord-test-subscriber.yaml
+ $(RUN_TOSCA) ../cord-pod/cord-volt-devices.yaml
mock-mcord:
# check this
- $(RUN_TOSCA) ../cord-pod/mgmt-net.yaml
+ $(RUN_TOSCA) $(COMMON_DIR)/tosca/mgmt-net.yaml
$(RUN_TOSCA) mocks/mcord.yaml
- sudo docker exec frontend_xos_ui_1 cp /opt/xos/configurations/mcord/xos_mcord_config /opt/xos/xos_configuration/
- sudo docker exec frontend_xos_ui_1 touch /opt/xos/xos/settings.py
+ sudo docker exec $(DOCKER_PROJECT)_xos_ui_1 cp /opt/xos/configurations/mcord/xos_mcord_config /opt/xos/xos_configuration/
+ sudo docker exec $(DOCKER_PROJECT)_xos_ui_1 touch /opt/xos/xos/settings.py
-exampleservice:
+exampleservice: $(SERVICE_DIR)/exampleservice
mkdir -p key_import
# fake keys are fine
sudo bash -c "echo somekey > key_import/exampleservice_rsa"
sudo bash -c "echo somekey > key_import/exampleservice_rsa.pub"
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/exampleservice/xos/exampleservice-onboard.yaml
- bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/exampleservice
- bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
- bash ../common/wait_for_xos_port.sh $(XOS_UI_PORT)
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/exampleservice
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
+ bash $(COMMON_DIR)/wait_for_xos_port.sh $(XOS_UI_PORT)
-hypercache:
+hypercache: $(SERVICE_DIR)/hypercache
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/hypercache/xos/hpc-onboard.yaml
- bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/hpc
- bash ../common/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
- bash ../common/wait_for_xos_port.sh $(XOS_UI_PORT)
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/hpc
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
+ bash $(COMMON_DIR)/wait_for_xos_port.sh $(XOS_UI_PORT)
$(RUN_TOSCA) mocks/cdn.yaml
$(RUN_TOSCA) ../opencloud/cdn-content.yaml
-dashboard:
- $(RUN_TOSCA) ./dashboard.yaml
+dashboard: dashboard.yaml
+ $(RUN_TOSCA) $(CONFIG_DIR)/dashboard.yaml
# before executing this clone the service from: https://github.com/teone/mcord-slicing-ui.git
onboard-mcord-slicing: slicing-ui
# fix ports (now they are set to use the FE config ones
@echo "[ONBOARDING UI SERVICES]"
- bash ../common/wait_for_onboarding_ready.sh $(XOS_UI_PORT) xos
- $(RUN_TOSCA_BOOTSTRAP) ../common/disable-onboarding.yaml
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_UI_PORT) xos
+ $(RUN_TOSCA_BOOTSTRAP) $(COMMON_DIR)/disable-onboarding.yaml
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/mcord-ui-slicing/xos/mcord-slicing-onboard.yaml
- $(RUN_TOSCA_BOOTSTRAP) ../common/enable-onboarding.yaml
- bash ../common/wait_for_onboarding_ready.sh $(XOS_UI_PORT) xos
- bash ../common/wait_for_xos_port.sh $(XOS_UI_PORT)
+ $(RUN_TOSCA_BOOTSTRAP) $(COMMON_DIR)/enable-onboarding.yaml
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_UI_PORT) xos
+ bash $(COMMON_DIR)/wait_for_xos_port.sh $(XOS_UI_PORT)
slicing-ui:
$(RUN_TOSCA) ./mocks/mcord-slicing-ui.yaml
+
+clean-config-folder:
+ sudo docker exec $(DOCKER_PROJECT)_xos_ui_1 rm -f /opt/xos/xos_configuration/xos_mcord_config
+ sudo docker exec $(DOCKER_PROJECT)_xos_ui_1 rm -f /opt/xos/xos_configuration/xos_cord_config
+