unify bootstrap
remove image downloading
add admin_openrc.sh to docker-compose-bootstrap.yml for cord-pod
remove Tosca generated in platform-install
move more Tosca to platform-install
reinclude needed fabric config file
clarify relationship between making nodes and vtn config
whitespace
sleep as required to hack around management network not coming up
pauses moved to Makefile
dedicated, separate openstack configuration file
Change-Id: I78f4ce0121480fa6ef1509f5ff416b203b7d6013
diff --git a/cord-pod/Makefile b/cord-pod/Makefile
index 4676d2a..f03e831 100644
--- a/cord-pod/Makefile
+++ b/cord-pod/Makefile
@@ -13,7 +13,7 @@
# Include common functions
include $(COMMON_DIR)/Makefile
-xos: prereqs config_dirs xos_download cord_services cord_libraries bootstrap onboarding podconfig
+xos: prereqs config_dirs xos_download cord_services cord_libraries bootstrap onboarding
onboarding: synchronizers.yaml id_rsa id_rsa.pub
@echo "[ONBOARDING]"
@@ -47,18 +47,17 @@
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
-podconfig: nodes.yaml images.yaml
- @echo "[PODCONFIG]"
- $(RUN_TOSCA) $(COMMON_DIR)/tosca/setup.yaml
+nodes: nodes.yaml
+ @echo "[NODES]"
+ $(RUN_TOSCA) openstack.yaml
$(RUN_TOSCA) nodes.yaml
- $(RUN_TOSCA) images.yaml
+ sleep 10
-vtn: vtn-external.yaml
- $(RUN_TOSCA) vtn-external.yaml
-
-vtn-external.yaml:
- export SETUPDIR=$(CONFIG_DIR); bash ./make-vtn-external-yaml.sh
+vtn: nodes vtn.yaml
+ @echo "[VTN]"
+ $(RUN_TOSCA) vtn.yaml
delete_fabric_config:
http -a karaf:karaf DELETE http://onos-fabric:8181/onos/v1/network/configuration/
@@ -67,31 +66,26 @@
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: fabric.yaml
+fabric:
+ @echo "[FABRIC]"
cp $(SERVICE_DIR)/fabric/config/network-cfg-quickstart.json .
$(RUN_TOSCA) fabric.yaml
+ sleep 20
-fabric.yaml:
- export SETUPDIR=$(CONFIG_DIR); bash ./make-fabric-yaml.sh
-
-cord: $(CONFIG_DIR)/images/vsg-1.1.img
- $(RUN_TOSCA) $(COMMON_DIR)/tosca/mgmt-net.yaml
+cord:
+ @echo "[CORD]"
+ $(RUN_TOSCA) management-net.yaml
$(RUN_TOSCA) cord-services.yaml
- $(RUN_TOSCA) $(COMMON_DIR)/tosca/public-net.yaml
+ $(RUN_TOSCA) public-net.yaml
$(RUN_TOSCA) $(COMMON_DIR)/tosca/cord-volt-devices.yaml
cord-subscriber:
+ @echo "[CORD-SUBSCRIBER]"
$(RUN_TOSCA) cord-test-subscriber.yaml
+ sleep 60
-update_nodes: nodes.yaml
- $(RUN_TOSCA) nodes.yaml
-
-new-nodes: clean_nodes update_nodes vtn
-
-exampleservice: onboard-exampleservice
- $(RUN_TOSCA) pod-exampleservice.yaml
-
-onboard-exampleservice: $(SERVICE_DIR)/exampleservice
+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
@@ -101,16 +95,11 @@
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: ceilometer_custom_images onboard-monitoringservice
- $(RUN_TOSCA) monitoringservice.yaml
- $(RUN_TOSCA) monitoringtenant.yaml
-
-rebuild-monitoringservice:
- bash $(COMMON_DIR)/rebuild.sh $(XOS_BOOTSTRAP_PORT) monitoring
- bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
-
-onboard-monitoringservice: ceilometer_custom_images $(SERVICE_DIR)/monitoring
+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
@@ -118,8 +107,12 @@
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
-ceilometer_custom_images: $(CONFIG_DIR)images/ceilometer-trusty-server-multi-nic.img $(CONFIG_DIR)images/ceilometer-service-trusty-server-multi-nic.img
+rebuild-monitoringservice:
+ bash $(COMMON_DIR)/rebuild.sh $(XOS_BOOTSTRAP_PORT) monitoring
+ bash $(COMMON_DIR)/wait_for_onboarding_ready.sh $(XOS_BOOTSTRAP_PORT) xos
virtualbng_json:
export SETUPDIR=$(CONFIG_DIR); bash ./make-virtualbng-json.sh
diff --git a/cord-pod/cord-services.yaml b/cord-pod/cord-services.yaml
deleted file mode 100644
index 324bd2a..0000000
--- a/cord-pod/cord-services.yaml
+++ /dev/null
@@ -1,186 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-description: Just enough Tosca to get the vSG slice running on the CORD POD
-
-imports:
- - custom_types/xos.yaml
-
-topology_template:
- node_templates:
- # CORD Services
- service#vtr:
- type: tosca.nodes.Service
- properties:
- view_url: /admin/vtr/vtrservice/$id$/
- kind: vTR
- replaces: service_vtr
-
- service#volt:
- type: tosca.nodes.VOLTService
- requirements:
- - vsg_tenant:
- node: service#vsg
- relationship: tosca.relationships.TenantOfService
- properties:
- view_url: /admin/volt/voltservice/$id$/
- kind: vOLT
- replaces: service_volt
- public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
- private_key_fn: /opt/xos/services/volt/keys/volt_rsa
- artifacts:
- pubkey: /opt/xos/services/volt/keys/volt_rsa.pub
-
- addresses_vsg:
- type: tosca.nodes.AddressPool
- properties:
- addresses: 10.6.1.128/26
- gateway_ip: 10.6.1.129
- gateway_mac: 02:42:0a:06:01:01
-
- addresses_public:
- type: tosca.nodes.AddressPool
- properties:
- addresses: 10.6.1.192/26
- gateway_ip: 10.6.1.193
- gateway_mac: 02:42:0a:06:01:01
-
- service#vsg:
- type: tosca.nodes.VSGService
- requirements:
- - vrouter_tenant:
- node: service#vrouter
- relationship: tosca.relationships.TenantOfService
- properties:
- view_url: /admin/vsg/vsgservice/$id$/
- backend_network_label: hpc_client
- public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
- private_key_fn: /opt/xos/services/vsg/keys/vsg_rsa
-# node_label: label_vsg
- replaces: service_vsg
- artifacts:
- pubkey: /opt/xos/services/vsg/keys/vsg_rsa.pub
-
- service#vrouter:
- type: tosca.nodes.VRouterService
- properties:
- view_url: /admin/vrouter/vrouterservice/$id$/
- replaces: service_vrouter
- requirements:
- - addresses_vsg:
- node: addresses_vsg
- relationship: tosca.relationships.ProvidesAddresses
- - addresses_public:
- node: addresses_public
- relationship: tosca.relationships.ProvidesAddresses
-
-
- service#ONOS_CORD:
- type: tosca.nodes.ONOSService
- properties:
- no-delete: true
- no-create: true
- no-update: true
-
- service#ONOS_Fabric:
- type: tosca.nodes.ONOSService
- properties:
- no-delete: true
- no-create: true
- no-update: true
-
- # The vOLT ONOS app is not yet fully integrated
- #vOLT_ONOS_app:
- # type: tosca.nodes.ONOSvOLTApp
- # requirements:
- # - onos_tenant:
- # node: service#ONOS_CORD
- # relationship: tosca.relationships.TenantOfService
- # - volt_service:
- # node: service#volt
- # relationship: tosca.relationships.UsedByService
- # properties:
- # install_dependencies: onos-ext-notifier-1.0-SNAPSHOT.oar, onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
- # dependencies: org.onosproject.openflow-base, org.onosproject.olt, org.ciena.onos.ext_notifier, org.ciena.onos.volt_event_publisher
- # autogenerate: volt-network-cfg
-
- vRouter_ONOS_app:
- type: tosca.nodes.ONOSvRouterApp
- requirements:
- - onos_tenant:
- node: service#ONOS_Fabric
- relationship: tosca.relationships.TenantOfService
- - vrouter_service:
- node: service#vrouter
- relationship: tosca.relationships.UsedByService
- properties:
- dependencies: org.onosproject.vrouter
- autogenerate: vrouter-network-cfg
-
- template#vsg:
- type: tosca.nodes.NetworkTemplate
- properties:
- visibility: private
- translation: none
- vtn_kind: VSG
-
- management:
- type: tosca.nodes.network.Network.XOS
- properties:
- no-create: true
- no-delete: true
- no-update: true
-
- management_hosts:
- type: tosca.nodes.network.Network.XOS
- properties:
- no-create: true
- no-delete: true
- no-update: true
-
- image#vsg-1.1:
- type: tosca.nodes.Image
-
- mysite:
- type: tosca.nodes.Site
-
- label_vsg:
- type: tosca.nodes.NodeLabel
-
- # Networks required by the CORD setup
- mysite_vsg-access:
- type: tosca.nodes.network.Network
- properties:
- ip_version: 4
- requirements:
- - network_template:
- node: template#vsg
- relationship: tosca.relationships.UsesNetworkTemplate
- - owner:
- node: mysite_vsg
- relationship: tosca.relationships.MemberOfSlice
- - connection:
- node: mysite_vsg
- relationship: tosca.relationships.ConnectsToSlice
-
- # CORD Slices
- mysite_vsg:
- description: vSG Controller Slice
- type: tosca.nodes.Slice
- properties:
- network: noauto
- requirements:
- - vsg_service:
- node: service#vsg
- relationship: tosca.relationships.MemberOfService
- - site:
- node: mysite
- relationship: tosca.relationships.MemberOfSite
- - management:
- node: management
- relationship: tosca.relationships.ConnectsToNetwork
-# - management_hosts:
-# node: management_hosts
-# relationship: tosca.relationships.ConnectsToNetwork
- - image:
- node: image#vsg-1.1
- relationship: tosca.relationships.DefaultImage
diff --git a/cord-pod/cord-test-subscriber.yaml b/cord-pod/cord-test-subscriber.yaml
deleted file mode 100644
index 29a5d87..0000000
--- a/cord-pod/cord-test-subscriber.yaml
+++ /dev/null
@@ -1,117 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-description: Just enough Tosca to get the vSG slice running on the CORD POD
-
-imports:
- - custom_types/xos.yaml
-
-topology_template:
- node_templates:
-
- service#volt:
- type: tosca.nodes.VOLTService
- properties:
- no-delete: true
- no-create: true
- no-update: true
-
- mysite:
- type: tosca.nodes.Site
- properties:
- no-delete: true
- no-create: true
- no-update: true
-
- # CORD Slices
- mysite_vsg:
- type: tosca.nodes.Slice
- properties:
- no-delete: true
- no-create: true
- no-update: true
-
- # Let's add a user who can be administrator of the household
- johndoe@myhouse.com:
- type: tosca.nodes.User
- properties:
- password: letmein
- firstname: john
- lastname: doe
- requirements:
- - site:
- node: mysite
- relationship: tosca.relationships.MemberOfSite
- - dependency:
- node: mysite_vsg
- relationship: tosca.relationships.DependsOn
-
- # A subscriber
- My House:
- type: tosca.nodes.CORDSubscriber
- properties:
- service_specific_id: 123
- firewall_enable: false
- cdn_enable: false
- url_filter_enable: false
- url_filter_level: R
- requirements:
- - house_admin:
- node: johndoe@myhouse.com
- relationship: tosca.relationships.AdminPrivilege
-
- Mom's PC:
- type: tosca.nodes.CORDUser
- properties:
- mac: 01:02:03:04:05:06
- level: PG_13
- requirements:
- - household:
- node: My House
- relationship: tosca.relationships.SubscriberDevice
-
- Dad's PC:
- type: tosca.nodes.CORDUser
- properties:
- mac: 90:E2:BA:82:F9:75
- level: PG_13
- requirements:
- - household:
- node: My House
- relationship: tosca.relationships.SubscriberDevice
-
- Jack's Laptop:
- type: tosca.nodes.CORDUser
- properties:
- mac: 68:5B:35:9D:91:D5
- level: PG_13
- requirements:
- - household:
- node: My House
- relationship: tosca.relationships.SubscriberDevice
-
- Jill's Laptop:
- type: tosca.nodes.CORDUser
- properties:
- mac: 34:36:3B:C9:B6:A6
- level: PG_13
- requirements:
- - household:
- node: My House
- relationship: tosca.relationships.SubscriberDevice
-
- My Volt:
- type: tosca.nodes.VOLTTenant
- properties:
- service_specific_id: 123
- s_tag: 222
- c_tag: 111
- requirements:
- - provider_service:
- node: service#volt
- relationship: tosca.relationships.MemberOfService
- - subscriber:
- node: My House
- relationship: tosca.relationships.BelongsToSubscriber
- - dependency:
- node: mysite_vsg
- relationship: tosca.relationships.DependsOn
diff --git a/cord-pod/docker-compose-bootstrap.yml b/cord-pod/docker-compose-bootstrap.yml
index f0d87ca..6223fcb 100644
--- a/cord-pod/docker-compose-bootstrap.yml
+++ b/cord-pod/docker-compose-bootstrap.yml
@@ -5,6 +5,10 @@
xos_redis:
image: redis
+ log_driver: "json-file"
+ log_opt:
+ max-size: "1000k"
+ max-file: "5"
xos_synchronizer_onboarding:
image: xosproject/xos
@@ -23,28 +27,9 @@
- ../../xos_libraries:/opt/xos_libraries
log_driver: "json-file"
log_opt:
- max-size: "100k"
+ max-size: "1000k"
max-file: "5"
-#xos_synchronizer_openstack:
-# command: bash -c "sleep 120; python /opt/xos/synchronizers/openstack/xos-synchronizer.py"
-# image: xosproject/xos-synchronizer-openstack
-# labels:
-# org.xosproject.kind: synchronizer
-# org.xosproject.target: openstack
-# links:
-# - xos_db
-# volumes:
-# - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
-# - ./xos_cord_config:/opt/xos/xos_configuration/xos_cord_config:ro
-# - .:/root/setup:ro
-# - ./files/xos_vtn_config:/opt/xos/xos_configuration/xos_vtn_config:ro
-# - ./images:/opt/xos/images:ro
-# log_driver: "json-file"
-# log_opt:
-# max-size: "100k"
-# max-file: "5"
-
xos_bootstrap_ui:
command: python /opt/xos/manage.py runserver 0.0.0.0:81 --insecure --makemigrations
environment:
@@ -59,7 +44,8 @@
- ./xos_cord_config:/opt/xos/xos_configuration/xos_cord_config:ro
- ./files/xos_vtn_config:/opt/xos/xos_configuration/xos_vtn_config:ro
- ../../xos_services:/opt/xos_services
+ - ./admin-openrc.sh:/root/setup/admin-openrc.sh
log_driver: "json-file"
log_opt:
- max-size: "100k"
+ max-size: "1000k"
max-file: "5"
diff --git a/cord-pod/images/README.md b/cord-pod/images/README.md
index aca55a9..08fa360 100644
--- a/cord-pod/images/README.md
+++ b/cord-pod/images/README.md
@@ -1,5 +1,6 @@
# VM images for XOS
-Any Cloud image files placed in this directory (with suffix .img) will be automatically
-imported by XOS and added to Glance (OpenStack's image repository). For instance, the image
-`trusty-server-multi-nic.img` will be imported with name `trusty-server-multi-nic`.
+This directory contains images downloaded using platform-install.
+
+Put the name and checksum of the image in the `xos_images` array in
+platform-install/vars/*.yaml for your profile.
diff --git a/cord-pod/make-fabric-yaml.sh b/cord-pod/make-fabric-yaml.sh
deleted file mode 100644
index b52ba82..0000000
--- a/cord-pod/make-fabric-yaml.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-FN=$SETUPDIR/fabric.yaml
-
-rm -f $FN
-
-cat >> $FN <<EOF
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-imports:
- - custom_types/xos.yaml
-
-description: generate fabric configuration
-
-topology_template:
- node_templates:
-
- service#ONOS_Fabric:
- type: tosca.nodes.ONOSService
- requirements:
- properties:
- kind: onos
- view_url: /admin/onos/onosservice/\$id$/
- no_container: true
- rest_hostname: onos-fabric
- replaces: service_ONOS_Fabric
- rest_onos/v1/network/configuration/: { get_artifact: [ SELF, fabric_network_cfg_json, LOCAL_FILE ] }
- artifacts:
- fabric_network_cfg_json: /root/setup/network-cfg-quickstart.json
-
- service#fabric:
- type: tosca.nodes.FabricService
- properties:
- view_url: /admin/fabric/fabricservice/\$id\$/
- replaces: service_fabric
-
-
-EOF
-
-NODES=$( bash -c "source $SETUPDIR/admin-openrc.sh ; nova host-list" |grep compute|awk '{print $2}' )
-I=0
-for NODE in $NODES; do
- echo $NODE
- cat >> $FN <<EOF
- $NODE:
- type: tosca.nodes.Node
-
- # Fabric location field for node $NODE
- ${NODE}_location_tag:
- type: tosca.nodes.Tag
- properties:
- name: location
- value: of:0000000000000001/1
- requirements:
- - target:
- node: $NODE
- relationship: tosca.relationships.TagsObject
- - service:
- node: service#ONOS_Fabric
- relationship: tosca.relationships.MemberOfService
-EOF
-done
-
-cat >> $FN <<EOF
- Fabric_ONOS_app:
- type: tosca.nodes.ONOSApp
- requirements:
- - onos_tenant:
- node: service#ONOS_Fabric
- relationship: tosca.relationships.TenantOfService
- - fabric_service:
- node: service#fabric
- relationship: tosca.relationships.UsedByService
- properties:
- dependencies: org.onosproject.drivers, org.onosproject.openflow-base, org.onosproject.netcfghostprovider, org.onosproject.netcfglinksprovider, org.onosproject.segmentrouting, org.onosproject.vrouter, org.onosproject.hostprovider
-EOF
diff --git a/cord-pod/make-vtn-external-yaml.sh b/cord-pod/make-vtn-external-yaml.sh
deleted file mode 100644
index 7d0d23b..0000000
--- a/cord-pod/make-vtn-external-yaml.sh
+++ /dev/null
@@ -1,137 +0,0 @@
-FN=$SETUPDIR/vtn-external.yaml
-
-rm -f $FN
-
-cat >> $FN <<EOF
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-imports:
- - custom_types/xos.yaml
-
-description: autogenerated node tags file for VTN configuration
-
-topology_template:
- node_templates:
-
- service#ONOS_CORD:
- type: tosca.nodes.ONOSService
- requirements:
- properties:
- kind: onos
- view_url: /admin/onos/onosservice/\$id$/
- no_container: true
- rest_hostname: onos-cord
- replaces: service_ONOS_CORD
-
- service#vtn:
- type: tosca.nodes.VTNService
- properties:
- view_url: /admin/vtn/vtnservice/\$id$/
- privateGatewayMac: 00:00:00:00:00:01
- localManagementIp: 172.27.0.1/24
- ovsdbPort: 6641
- sshUser: root
- sshKeyFile: /root/node_key
- sshPort: 22
- xosEndpoint: http://xos:8888/
- xosUser: padmin@vicci.org
- xosPassword: letmein
- replaces: service_vtn
- vtnAPIVersion: 2
-
-EOF
-
-NODES=$( bash -c "source $SETUPDIR/admin-openrc.sh ; nova host-list" |grep compute|awk '{print $2}' )
-I=0
-BRIDGE_IDX=1
-for NODE in $NODES; do
- echo "[INFO] processing $NODE"
- BRIDGE_ID=$(printf "of:%016d" $BRIDGE_IDX )
- BRIDGE_IDX=$(expr $BRIDGE_IDX + 1)
- # Try fabric interface
- FIP=$(ssh -i node_key -o StrictHostKeyChecking=no ubuntu@$NODE ip -4 addr show fabric 2> /dev/null | grep inet | awk '{print $2}')
- if [ -z "$FIP" ]
- then
- # IP address has already moved to br-int, skip it
- echo "[INFO] $NODE: No IP address on 'fabric' interface, skipping..."
- continue
- fi
-
- cat >> $FN <<EOF
- $NODE:
- type: tosca.nodes.Node
-
- # VTN bridgeId field for node $NODE
- ${NODE}_bridgeId_tag:
- type: tosca.nodes.Tag
- properties:
- name: bridgeId
- value: $BRIDGE_ID
- requirements:
- - target:
- node: $NODE
- relationship: tosca.relationships.TagsObject
- - service:
- node: service#ONOS_CORD
- relationship: tosca.relationships.MemberOfService
-
- # VTN dataPlaneIntf field for node $NODE
- ${NODE}_dataPlaneIntf_tag:
- type: tosca.nodes.Tag
- properties:
- name: dataPlaneIntf
- value: fabric
- requirements:
- - target:
- node: $NODE
- relationship: tosca.relationships.TagsObject
- - service:
- node: service#ONOS_CORD
- relationship: tosca.relationships.MemberOfService
-
- # VTN dataPlaneIp field for node $NODE
- ${NODE}_dataPlaneIp_tag:
- type: tosca.nodes.Tag
- properties:
- name: dataPlaneIp
- value: $FIP
- requirements:
- - target:
- node: $NODE
- relationship: tosca.relationships.TagsObject
- - service:
- node: service#ONOS_CORD
- relationship: tosca.relationships.MemberOfService
-
- # VTN dataPlaneIntf field for node $NODE
-# ${NODE}_hostManagementIface_tag:
-# type: tosca.nodes.Tag
-# properties:
-# name: hostManagementIface
-# value: veth3
-# requirements:
-# - target:
-# node: $NODE
-# relationship: tosca.relationships.TagsObject
-# - service:
-# node: service#ONOS_CORD
-# relationship: tosca.relationships.MemberOfService
-
-EOF
-done
-
-cat >> $FN <<EOF
- VTN_ONOS_app:
- type: tosca.nodes.ONOSVTNApp
- requirements:
- - onos_tenant:
- node: service#ONOS_CORD
- relationship: tosca.relationships.TenantOfService
- - vtn_service:
- node: service#vtn
- relationship: tosca.relationships.UsedByService
- properties:
- install_dependencies: http://mavenrepo:8080/repository/org/opencord/cord-config/1.1-SNAPSHOT/cord-config-1.1-SNAPSHOT.oar,http://mavenrepo:8080/repository/org/opencord/vtn/1.1-SNAPSHOT/vtn-1.1-SNAPSHOT.oar
- dependencies: org.onosproject.drivers, org.onosproject.drivers.ovsdb, org.onosproject.openflow-base, org.onosproject.ovsdb-base, org.onosproject.dhcp
- autogenerate: vtn-network-cfg
-EOF
diff --git a/cord-pod/pod-exampleservice.yaml b/cord-pod/pod-exampleservice.yaml
deleted file mode 100644
index 4102127..0000000
--- a/cord-pod/pod-exampleservice.yaml
+++ /dev/null
@@ -1,95 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-description: Setup the ExampleService on the pod
-
-imports:
- - custom_types/xos.yaml
- - custom_types/exampleservice.yaml
-
-topology_template:
- node_templates:
-
- m1.small:
- type: tosca.nodes.Flavor
-
- Private:
- type: tosca.nodes.NetworkTemplate
-
- management:
- type: tosca.nodes.network.Network.XOS
- properties:
- no-create: true
- no-delete: true
- no-update: true
-
- public:
- type: tosca.nodes.network.Network.XOS
- properties:
- no-create: true
- no-delete: true
- no-update: true
-
- service#vrouter:
- type: tosca.nodes.Service
- properties:
- no-create: true
- no-delete: true
- no-update: true
-
- mysite:
- type: tosca.nodes.Site
-
- trusty-server-multi-nic:
- type: tosca.nodes.Image
-
- mysite_exampleservice:
- description: This slice holds the ExampleService
- type: tosca.nodes.Slice
- properties:
- network: noauto
- requirements:
- - site:
- node: mysite
- relationship: tosca.relationships.MemberOfSite
- - management:
- node: management
- relationship: tosca.relationships.ConnectsToNetwork
- - public:
- node: public
- relationship: tosca.relationships.ConnectsToNetwork
- - exmapleserver:
- node: service#exampleservice
- relationship: tosca.relationships.MemberOfService
- - image:
- node: trusty-server-multi-nic
- relationship: tosca.relationships.DefaultImage
- - default_flavor:
- node: m1.small
- relationship: tosca.relationships.DefaultFlavor
-
- service#exampleservice:
- type: tosca.nodes.ExampleService
- requirements:
- - management:
- node: management
- relationship: tosca.relationships.UsesNetwork
- properties:
- view_url: /admin/exampleservice/exampleservice/$id$/
- kind: exampleservice
- public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
- private_key_fn: /opt/xos/services/exampleservice/keys/exampleservice_rsa
- service_message: hello
- artifacts:
- pubkey: /opt/xos/services/exampleservice/keys/exampleservice_rsa.pub
-
- tenant#exampletenant1:
- type: tosca.nodes.ExampleTenant
- properties:
- tenant_message: world
- requirements:
- - tenant:
- node: service#exampleservice
- relationship: tosca.relationships.TenantOfService
- - dependency:
- node: mysite_exampleservice
- relationship: tosca.relationships.DependsOn
diff --git a/cord-pod/synchronizers.yaml b/cord-pod/synchronizers.yaml
index 7eb9ab0..cfea31d 100644
--- a/cord-pod/synchronizers.yaml
+++ b/cord-pod/synchronizers.yaml
@@ -7,16 +7,19 @@
topology_template:
node_templates:
+
servicecontroller#vsg:
type: tosca.nodes.ServiceController
properties:
no-create: true
synchronizer_config: /root/setup/files/vcpe_synchronizer_config
+
servicecontroller#vtr:
type: tosca.nodes.ServiceController
properties:
no-create: true
synchronizer_config: /root/setup/files/vtr_synchronizer_config
+
servicecontroller#openstack:
type: tosca.nodes.ServiceController
properties: