blob: 70bf1be9ee99308e73c325607ec9b129cb5d17dc [file] [log] [blame]
# cord-pod/Makefile
CONFIG_DIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
COMMON_DIR := $(abspath ../common )
.DEFAULT_GOAL := xos
DOCKER_PROJECT ?= cordpod
BOOTSTRAP_PROJECT ?= cordpodbs
XOS_UI_PORT := 9000
# Include common functions
include $(COMMON_DIR)/Makefile
xos: prereqs config_dirs xos_download cord_services cord_libraries bootstrap onboarding rest-gw ui
onboarding: synchronizers.yaml id_rsa id_rsa.pub
@echo "[ONBOARDING]"
# on-board any services here
bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
$(RUN_TOSCA_BOOTSTRAP) $(COMMON_DIR)/tosca/disable-onboarding.yaml
sudo cp id_rsa key_import/vsg_rsa
sudo cp id_rsa.pub key_import/vsg_rsa.pub
sudo cp id_rsa key_import/volt_rsa
sudo cp id_rsa.pub key_import/volt_rsa.pub
sudo cp id_rsa key_import/onos_rsa
sudo cp id_rsa key_import/onos_rsa.pub
$(RUN_TOSCA_BOOTSTRAP) $(LIBRARY_DIR)/ng-xos-lib/ng-xos-lib-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/openstack/xos/openstack-onboard.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
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vtn/xos/vtn-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/onos-service/xos/onos-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/fabric/xos/fabric-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vtr/xos/vtr-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) synchronizers.yaml
$(RUN_TOSCA_BOOTSTRAP) $(COMMON_DIR)/tosca/enable-onboarding.yaml
bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/ng-xos-lib
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/vtn
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)
sleep 120
nodes: nodes.yaml
@echo "[NODES]"
$(RUN_TOSCA) openstack.yaml
$(RUN_TOSCA) nodes.yaml
sleep 10
vtn: nodes vtn.yaml
@echo "[VTN]"
$(RUN_TOSCA) vtn.yaml
delete_fabric_config:
@echo "[removing fabric configuration]"
http -a karaf:karaf DELETE http://onos-fabric:8181/onos/v1/network/configuration/
reactivate_fabric_apps:
@echo "[reactivating fabric apps]"
http -a karaf:karaf POST http://onos-fabric:8181/onos/v1/applications/org.onosproject.vrouter/active
http -a karaf:karaf POST http://onos-fabric:8181/onos/v1/applications/org.onosproject.segmentrouting/active
fabric-xconnect.json:
cp $(SERVICE_DIR)/fabric/config/ciab-fabric-xconnect.json ./fabric-xconnect.json
network-cfg-quickstart.json: fabric-xconnect.json
@echo "[generating fabric config]"
cord generate > cord-generate.json
@echo "[adding VLAN crossconnects]"
jq -s '.[0] + .[1]' cord-generate.json fabric-xconnect.json > temp1
@echo "[specifying ofdpa-cpqd driver]"
jq '.devices[].basic.driver = "ofdpa-cpqd"' temp1 > network-cfg-quickstart.json
fabric: network-cfg-quickstart.json
@echo "[FABRIC]"
$(RUN_TOSCA) fabric.yaml
sleep 20
cord:
@echo "[CORD]"
$(RUN_TOSCA) management-net.yaml
$(RUN_TOSCA) cord-services.yaml
$(RUN_TOSCA) public-net.yaml
$(RUN_TOSCA) $(COMMON_DIR)/tosca/cord-volt-devices.yaml
vrouter:
$(RUN_TOSCA) ./vrouter.yaml
cord-subscriber:
@echo "[CORD-SUBSCRIBER]"
$(RUN_TOSCA) cord-test-subscriber.yaml
sleep 60
exampleservice: $(SERVICE_DIR)/exampleservice
@echo "[EXAMPLESERVICE]"
sudo cp id_rsa key_import/exampleservice_rsa
sudo cp id_rsa.pub key_import/exampleservice_rsa.pub
$(RUN_TOSCA_BOOTSTRAP) $(COMMON_DIR)/tosca/disable-onboarding.yaml
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/exampleservice/xos/exampleservice-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) exampleservice-synchronizer.yaml
$(RUN_TOSCA_BOOTSTRAP) $(COMMON_DIR)/tosca/enable-onboarding.yaml
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)
$(RUN_TOSCA) exampleservice.yaml
sleep 60
cord-monitoringservice: $(SERVICE_DIR)/monitoring
@echo "[CORD-MONITORINGSERVICE]"
sudo cp id_rsa key_import/monitoringservice_rsa
sudo cp id_rsa.pub key_import/monitoringservice_rsa.pub
$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/monitoring/xos/monitoring-onboard.yaml
$(RUN_TOSCA_BOOTSTRAP) monitoring_synchronizer.yaml
bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) services/monitoring
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) monitoringservice.yaml
$(RUN_TOSCA) monitoringtenant.yaml
@echo "waiting for monitoring service to be fully ready...."
ansible-playbook -i local $(SERVICE_DIR)/monitoring/xos/test/monitoring_test_initial.yaml
rebuild-monitoringservice:
bash $(COMMON_DIR)/rebuild.sh $(XOS_BOOTSTRAP_PORT) monitoring
bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
rebuild-exampleservice:
bash $(COMMON_DIR)/rebuild.sh $(XOS_BOOTSTRAP_PORT) exampleservice
bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
install-inframonitoring-agents:
bash $(SERVICE_DIR)/monitoring/xos/synchronizer/ceilometer/monitoring_agent/install_monitoring_ceilometer.sh
enable-inframonitoring: inframonitoring_yaml
$(RUN_TOSCA) inframonitoring.yaml
@echo "Validate if infra metrics are available...."
ansible-playbook -i local $(SERVICE_DIR)/monitoring/xos/test/monitoring_test_inframetrics.yaml
enable-vsgmonitoring:
$(RUN_TOSCA) vsgmonitoring.yaml
@echo "Validate if vSG metrics are available...."
ansible-playbook -i local $(SERVICE_DIR)/monitoring/xos/test/monitoring_test_vsgmetrics.yaml
enable-exampleservicemonitoring:
$(RUN_TOSCA) exampleservicemonitoring.yaml
@echo "Validate if exampleservice metrics are available...."
ansible-playbook -i local $(SERVICE_DIR)/monitoring/xos/test/monitoring_test_exampleservicemetrics.yaml
inframonitoring_yaml:
export SETUPDIR=$(CONFIG_DIR); bash ./make-inframonitoring-yaml.sh
virtualbng_json:
export SETUPDIR=$(CONFIG_DIR); bash ./make-virtualbng-json.sh