blob: c69d038324413cd82cccc0e6f8db406cb65d5ace [file] [log] [blame]
Pingping Linb7a7d2b2016-08-19 18:11:36 +00001include ../common/Makedefs
2
3CONFIG_DIR:=$(shell pwd)
4DOCKER_COMPOSE_YML=./onboarding-docker-compose/docker-compose.yml
5BOOTSTRAP_YML=./docker-compose-bootstrap.yml
6DOCKER_PROJECT=mcord
7BOOTSTRAP_PROJECT=mcordbs
8XOS_BOOTSTRAP_PORT=81
9XOS_UI_PORT=80
10ADMIN_USERNAME=padmin@vicci.org
11ADMIN_PASSWORD=letmein
12RUN_TOSCA_BOOTSTRAP=python ../common/run_tosca.py $(XOS_BOOTSTRAP_PORT) $(ADMIN_USERNAME) $(ADMIN_PASSWORD)
13RUN_TOSCA=python ../common/run_tosca.py $(XOS_UI_PORT) $(ADMIN_USERNAME) $(ADMIN_PASSWORD)
14
15.PHONY: xos
16xos: prereqs dirs download_xos download_services bootstrap onboarding podconfig
17
18prereqs:
19 sudo make -f ../common/Makefile.prereqs
20
21dirs:
22 # if this directory doesn't exist, then docker-compose will create it with root permission
23 mkdir -p key_import
24 mkdir -p onboarding-docker-compose
25
26bootstrap:
27 @echo "[BOOTSTRAP]"
28 @echo "XOS Image Build Date: `docker inspect -f '{{ .Created }}' xosproject/xos`"
29 @echo "XOS Image Commit Hash: `docker inspect -f '{{ .Config.Labels.XOS_GIT_COMMIT_HASH }}' xosproject/xos`"
30 @echo "XOS Image Commit Date: `docker inspect -f '{{ .Config.Labels.XOS_GIT_COMMIT_DATE }}' xosproject/xos`"
31 sudo rm -f onboarding-docker-compose/docker-compose.yml
32 sudo CONFIG_DIR=$(CONFIG_DIR) docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) up -d
33 bash ../common/wait_for_xos_port.sh 81
34 sudo docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py none - < ../common/fixtures.yaml
35 sudo docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) run xos_bootstrap_ui python /opt/xos/tosca/run.py none - < ../common/mydeployment.yaml
36 $(RUN_TOSCA_BOOTSTRAP) xos.yaml
37
38download_xos:
39 make -f ../common/Makefile.services xos_core
40
41download_services:
42 make -f ../common/Makefile.services
43
44update_services:
45 make -f ../common/Makefile.services update
46
47update_xos:
48 make -f ../common/Makefile.services update_xos
49
50onboarding:
51 @echo "[ONBOARDING]"
52 # on-board any services here
53 bash ../common/wait_for_onboarding_ready.sh 81 xos
54 $(RUN_TOSCA_BOOTSTRAP) ../common/disable-onboarding.yaml
Pingping Linb5a1a0a2016-09-08 01:14:48 +000055
56 sudo cp id_rsa key_import/vsg_rsa
57 sudo cp id_rsa.pub key_import/vsg_rsa.pub
Pingping Linb7a7d2b2016-08-19 18:11:36 +000058 sudo cp id_rsa key_import/vBBU_rsa
59 sudo cp id_rsa.pub key_import/vBBU_rsa.pub
60 sudo cp id_rsa key_import/vPGW_rsa
61 sudo cp id_rsa.pub key_import/vPGW_rsa.pub
62 sudo cp id_rsa key_import/onos_rsa
63 sudo cp id_rsa key_import/onos_rsa.pub
64 $(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/openstack/xos/openstack-onboard.yaml
Pingping Linb5a1a0a2016-09-08 01:14:48 +000065 $(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vrouter/xos/vrouter-onboard.yaml
66 $(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vsg/xos/vsg-onboard.yaml
Pingping Lin37e727c2016-08-29 23:02:12 +000067 $(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vBBU/xos/vBBU-onboard.yaml
68 # $(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vPGWC/xos/vPGWC-onboard.yaml
Pingping Linb7a7d2b2016-08-19 18:11:36 +000069 $(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vtn/xos/vtn-onboard.yaml
70 $(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/onos-service/xos/onos-onboard.yaml
71 #$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/fabric/xos/\fabric-onboard.yaml
72 #$(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/vtr/xos/vtr-onboard.yaml
73 $(RUN_TOSCA_BOOTSTRAP) synchronizers.yaml
74 $(RUN_TOSCA_BOOTSTRAP) ../common/enable-onboarding.yaml
Pingping Linb5a1a0a2016-09-08 01:14:48 +000075 bash ../common/wait_for_onboarding_ready.sh 81 services/vrouter
76 bash ../common/wait_for_onboarding_ready.sh 81 services/vsg
Pingping Lin09e613e2016-09-01 00:14:32 +000077 bash ../common/wait_for_onboarding_ready.sh 81 services/vbbu
Pingping Lin37e727c2016-08-29 23:02:12 +000078 #bash ../common/wait_for_onboarding_ready.sh 81 services/vPGWC
Pingping Linb7a7d2b2016-08-19 18:11:36 +000079 bash ../common/wait_for_onboarding_ready.sh 81 services/vtn
80 bash ../common/wait_for_onboarding_ready.sh 81 services/onos
81 #bash ../common/wait_for_onboarding_ready.sh 81 services/fabric
82 #bash ../common/wait_for_onboarding_ready.sh 81 services/vtr
83 bash ../common/wait_for_onboarding_ready.sh 81 xos
84 bash ../common/wait_for_xos_port.sh 80
85
86podconfig: nodes.yaml images.yaml
87 @echo "[PODCONFIG]"
88 $(RUN_TOSCA) setup.yaml
89 $(RUN_TOSCA) nodes.yaml
90 $(RUN_TOSCA) images.yaml
91
92vtn: vtn-external.yaml
93 $(RUN_TOSCA) vtn-external.yaml
94
95delete_fabric_config:
96 http -a karaf:karaf DELETE http://onos-fabric:8181/onos/v1/network/configuration/
97
98fabric: fabric.yaml
99 cp ../../xos_services/fabric/config/network-cfg-quickstart.json .
100 $(RUN_TOSCA) fabric.yaml
101
102#cord: vsg_custom_images
Pingping Lin82366d32016-08-31 00:21:56 +0000103mcord:
104 $(RUN_TOSCA) mgmt-net.yaml
105 $(RUN_TOSCA) mcord.yaml
Pingping Linb7a7d2b2016-08-19 18:11:36 +0000106# $(RUN_TOSCA) cord-volt-devices.yaml
107
108#cord-subscriber:
109# $(RUN_TOSCA) cord-test-subscriber.yaml
110
111clean-nodes:
112 rm -f nodes.yaml
113
114update-nodes: nodes.yaml
115 $(RUN_TOSCA) nodes.yaml
116
117new-nodes: clean-nodes update-nodes vtn
118
119rebuild:
120 bash ../common/rebuild.sh $(XOS_BOOTSTRAP_PORT)
121 bash ../common/wait_for_onboarding_ready.sh 81 xos
122
123exampleservice: onboard-exampleservice
124 $(RUN_TOSCA) pod-exampleservice.yaml
125
126onboard-exampleservice:
127 sudo cp id_rsa key_import/exampleservice_rsa
128 sudo cp id_rsa.pub key_import/exampleservice_rsa.pub
129 $(RUN_TOSCA_BOOTSTRAP) ../common/disable-onboarding.yaml
130 $(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/exampleservice/xos/exampleservice-onboard.yaml
131 $(RUN_TOSCA_BOOTSTRAP) exampleservice-synchronizer.yaml
132 $(RUN_TOSCA_BOOTSTRAP) ../common/enable-onboarding.yaml
133 bash ../common/wait_for_onboarding_ready.sh 81 services/exampleservice
134 bash ../common/wait_for_onboarding_ready.sh 81 xos
135 bash ../common/wait_for_xos_port.sh 80
136
137cord-monitoringservice: ceilometer_custom_images onboard-monitoringservice
138 $(RUN_TOSCA) monitoringservice.yaml
139 $(RUN_TOSCA) monitoringtenant.yaml
140
141onboard-monitoringservice: download-monitoringservice
142 sudo cp id_rsa key_import/monitoringservice_rsa
143 sudo cp id_rsa.pub key_import/monitoringservice_rsa.pub
144 $(RUN_TOSCA_BOOTSTRAP) $(SERVICE_DIR)/monitoring/xos/monitoring-onboard.yaml
145 $(RUN_TOSCA_BOOTSTRAP) monitoring_synchronizer.yaml
146 bash ../common/wait_for_onboarding_ready.sh 81 services/monitoring
147 bash ../common/wait_for_onboarding_ready.sh 81 xos
148 bash ../common/wait_for_xos_port.sh 80
149
150download-monitoringservice:
151 make -f ../common/Makefile.services monitoring_services
152
153nodes.yaml:
154 export SETUPDIR=.; bash ../common/make-nodes-yaml.sh
155
156images.yaml:
157 export SETUPDIR=.; bash ../common/make-images-yaml.sh
158
159vtn-external.yaml:
160 export SETUPDIR=.; bash ./make-vtn-external-yaml.sh
161
162fabric.yaml:
163 export SETUPDIR=.; bash ./make-fabric-yaml.sh
164
165virtualbng_json:
166 export SETUPDIR=.; bash ./make-virtualbng-json.sh
167
168vtn_network_cfg_json:
169 export SETUPDIR=.; bash ./make-vtn-networkconfig-json.sh
170
171stop:
172 test ! -s $(DOCKER_COMPOSE_YML) || sudo docker-compose -p $(DOCKER_PROJECT) -f $(DOCKER_COMPOSE_YML) stop
173 sudo docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) stop
174
175rm: stop
176 test ! -s $(DOCKER_COMPOSE_YML) || sudo docker-compose -p $(DOCKER_PROJECT) -f $(DOCKER_COMPOSE_YML) rm -f
177 sudo docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) rm -f
178
179showlogs:
180 sudo docker-compose -p $(DOCKER_PROJECT) -f $(DOCKER_COMPOSE_YML) logs
181
182showlogs_bootstrap:
183 sudo docker-compose -p $(BOOTSTRAP_PROJECT) -f $(BOOTSTRAP_YML) logs
184
185cleanup: stop rm
186 ./cleanup.sh
187 bash -c "source ./admin-openrc.sh; nova list --all-tenants; neutron net-list"
188
189ceilometer_custom_images: images/ceilometer-service-trusty-server-multi-nic.img images/ceilometer-trusty-server-multi-nic.img
190 #TODO: Add logic for service VM custom image (ceilometer-service-trusty-server-multi-nic)
191 bash -c "source ./admin-openrc.sh; glance image-show ceilometer-trusty-server-multi-nic || glance image-create --name ceilometer-trusty-server-multi-nic --disk-format qcow2 --file ./images/ceilometer-trusty-server-multi-nic.compressed.qcow2 --container-format bare"
192
193#vsg_custom_images: images/vsg-1.1.img
194 bash -c "source ./admin-openrc.sh; glance image-show vsg-1.1 || glance image-create --name vsg-1.1 --disk-format qcow2 --file ./images/vsg-1.1.img --container-format bare"
195
196images/ceilometer-trusty-server-multi-nic.img: images
197 bash -c "source ./admin-openrc.sh; glance image-show ceilometer-trusty-server-multi-nic || wget http://www.vicci.org/cord/ceilometer-trusty-server-multi-nic.compressed.qcow2 -P ./images"
198
199images/ceilometer-service-trusty-server-multi-nic.img: images
200 #TODO: Add logic for service VM custom image (ceilometer-service-trusty-server-multi-nic) once image is uploaded into vicci portal
201 #bash -c "source ../setup/admin-openrc.sh; glance image-show ceilometer-service-trusty-server-multi-nic || wget http://www.vicci.org/cord/ceilometer-service-trusty-server-multi-nic.compressed.qcow2 -P ./images"
202
203#images/vsg-1.1.img: images
204# [ -s images/vsg-1.1.img ] || wget http://www.vicci.org/cord/vsg-1.1.img -P ./images
205
206images:
207 mkdir -p ./images
208
209.PHONY: local_containers
210local_containers: prereqs download_xos
211 make -f ../common/Makefile.containers update_certs xos_base xos_devel synchronizer onboarding_synchronizer
212