CORD-2385 Move profile-specific configuration to M-CORD repo
Change-Id: I008f9affb7194665d3de5eff331c49372bc8b73e
diff --git a/templates/fabric-network-cfg.json.j2 b/templates/fabric-network-cfg.json.j2
new file mode 100644
index 0000000..853c7e9
--- /dev/null
+++ b/templates/fabric-network-cfg.json.j2
@@ -0,0 +1,19 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+#}
+
+
+{}
\ No newline at end of file
diff --git a/templates/fabric-service.yaml.j2 b/templates/fabric-service.yaml.j2
new file mode 100644
index 0000000..e28d5ea
--- /dev/null
+++ b/templates/fabric-service.yaml.j2
@@ -0,0 +1,78 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+#}
+
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/onosservice.yaml
+ - custom_types/serviceattribute.yaml
+ - custom_types/fabricservice.yaml
+ - custom_types/onosapp.yaml
+ - custom_types/serviceinstancelink.yaml
+
+description: fabric services, generated by platform-install
+
+topology_template:
+ node_templates:
+
+ service#ONOS_Fabric:
+ type: tosca.nodes.ONOSService
+ properties:
+ name: ONOS_Fabric
+ kind: platform
+ no_container: true
+ rest_hostname: onos-fabric.{{ site_suffix }}
+
+ serviceattribute#fabric_network_cfg_json:
+ type: tosca.nodes.ServiceAttribute
+ requirements:
+ - service:
+ node: service#ONOS_Fabric
+ relationship: tosca.relationships.BelongsToOne
+ properties:
+ name: fabric_network_cfg_json
+ value: {{ fabric_network_cfg_json }}
+
+ service#fabric:
+ type: tosca.nodes.FabricService
+ properties:
+ name: fabric
+ kind: platform
+
+
+
+ Fabric_ONOS_app:
+ type: tosca.nodes.ONOSApp
+ requirements:
+ - owner:
+ node: service#ONOS_Fabric
+ relationship: tosca.relationships.BelongsToOne
+ properties:
+ name: Fabric_ONOS_app
+ dependencies: org.onosproject.drivers, org.onosproject.openflow, org.onosproject.netcfghostprovider, org.onosproject.segmentrouting
+
+ Fabric_ONOS_app_ONOS_Fabric:
+ type: tosca.nodes.ServiceInstanceLink
+ requirements:
+ - provider_service_instance:
+ node: Fabric_ONOS_app
+ relationship: tosca.relationships.BelongsToOne
+ - subscriber_service:
+ node: service#fabric
+ relationship: tosca.relationships.BelongsToOne
+
diff --git a/templates/flat-net-s1mme.yaml.j2 b/templates/flat-net-s1mme.yaml.j2
new file mode 100644
index 0000000..b4c5c93
--- /dev/null
+++ b/templates/flat-net-s1mme.yaml.j2
@@ -0,0 +1,55 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/site.yaml
+ - custom_types/slice.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+
+description: flat network for S1MME interface
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+
+# flat network for s1mme
+ flat_template_s1mme:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: flat_template_s1mme
+ visibility: private
+ translation: none
+ vtn_kind: FLAT
+
+ flat_network_s1mme:
+ type: tosca.nodes.Network
+ properties:
+ name: flat_network_s1mme
+ subnet: 118.0.0.0/24
+ permit_all_slices: true
+ requirements:
+ - template:
+ node: flat_template_s1mme
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_flat_s1mme
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_flat_s1mme:
+ description: This slice exists solely to own the Flat network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_flat_s1mme
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
\ No newline at end of file
diff --git a/templates/flat-net-s1u.yaml.j2 b/templates/flat-net-s1u.yaml.j2
new file mode 100644
index 0000000..01ca850
--- /dev/null
+++ b/templates/flat-net-s1u.yaml.j2
@@ -0,0 +1,55 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/site.yaml
+ - custom_types/slice.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+
+description: flat network for S1U interface
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+
+# flat network for s1u
+ flat_template_s1u:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: flat_template_s1u
+ visibility: private
+ translation: none
+ vtn_kind: FLAT
+
+ flat_network_s1u:
+ type: tosca.nodes.Network
+ properties:
+ name: flat_network_s1u
+ subnet: 119.0.0.0/24
+ permit_all_slices: true
+ requirements:
+ - template:
+ node: flat_template_s1u
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_flat_s1u
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_flat_s1u:
+ description: This slice exists solely to own the Flat network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_flat_s1u
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
\ No newline at end of file
diff --git a/templates/flat-net.yaml.j2 b/templates/flat-net.yaml.j2
new file mode 100644
index 0000000..e9588c0
--- /dev/null
+++ b/templates/flat-net.yaml.j2
@@ -0,0 +1,56 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/site.yaml
+ - custom_types/slice.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+
+description: flat network for connecting from VM in CORD to servers outside
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+
+# flat network
+ flat_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: flat_template
+ visibility: private
+ translation: none
+ vtn_kind: FLAT
+
+ flat_network:
+ type: tosca.nodes.Network
+ properties:
+ name: flat_network
+ subnet: 103.0.0.0/24
+ permit_all_slices: true
+ requirements:
+ - template:
+ node: flat_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_flat
+ relationship: tosca.relationships.MemberOfSlice
+
+ {{ site_name }}_flat:
+ description: This slice exists solely to own the flat network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_flat
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
diff --git a/templates/management-net.yaml.j2 b/templates/management-net.yaml.j2
new file mode 100644
index 0000000..9c7b03c
--- /dev/null
+++ b/templates/management-net.yaml.j2
@@ -0,0 +1,97 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+#}
+
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/networktemplate.yaml
+ - custom_types/network.yaml
+ - custom_types/slice.yaml
+ - custom_types/site.yaml
+
+description: management network config, generated by platform-install
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+
+# management network
+ management_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: management_template
+ visibility: private
+ translation: none
+ vtn_kind: MANAGEMENT_LOCAL
+
+ management:
+ type: tosca.nodes.Network
+ properties:
+ name: management
+ # ip_version: 4
+ subnet: {{ management_network_cidr }}
+ permit_all_slices: true
+ requirements:
+ - template:
+ node: management_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: slice#{{ site_name }}_management
+ relationship: tosca.relationships.BelongsToOne
+
+{% if use_management_hosts %}
+ management_hosts_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: management_hosts_template
+ visibility: private
+ translation: none
+ vtn_kind: MANAGEMENT_HOST
+
+ management_hosts:
+ type: tosca.nodes.Network
+ properties:
+ # ip_version: 4
+ subnet: {{ management_hosts_net_cidr }}
+ start_ip: {{ management_hosts_net_range_xos_low }}
+ end_ip: {{ management_hosts_net_range_xos_high }}
+ requirements:
+ - template:
+ node: management_hosts_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: slice#{{ site_name }}_management
+ relationship: tosca.relationships.BelongsToOne
+{% endif %}
+
+ slice#{{ site_name }}_management:
+ description: This slice exists solely to own the management network
+ type: tosca.nodes.Slice
+ properties:
+ network: noauto
+ name: {{ site_name }}_management
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
diff --git a/templates/mcord-cavium-services.yml.j2 b/templates/mcord-cavium-services.yml.j2
new file mode 100644
index 0000000..99fab61
--- /dev/null
+++ b/templates/mcord-cavium-services.yml.j2
@@ -0,0 +1,342 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+#}
+
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: created by platform-install
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/slice.yaml
+ - custom_types/site.yaml
+ - custom_types/image.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/onosservice.yaml
+ - custom_types/networkslice.yaml
+ - custom_types/vspgwcservice.yaml
+ - custom_types/vspgwcvendor.yaml
+ - custom_types/vspgwuservice.yaml
+ - custom_types/vspgwuvendor.yaml
+ - custom_types/vmmeservice.yaml
+ - custom_types/vmmevendor.yaml
+ - custom_types/vepcservice.yaml
+ - custom_types/servicedependency.yaml
+ - custom_types/mcordsubscriberservice.yaml
+
+topology_template:
+ node_templates:
+
+# site, image, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ must-exist: true
+ name: {{ site_name }}
+
+ m1.small:
+ type: tosca.nodes.Flavor
+ properties:
+ name: m1.small
+ must-exist: true
+ m1.large:
+ type: tosca.nodes.Flavor
+ properties:
+ name: m1.large
+ must-exist: true
+ m1.medium:
+ type: tosca.nodes.Flavor
+ properties:
+ name: m1.medium
+ must-exist: true
+ m1.xlarge:
+ type: tosca.nodes.Flavor
+ properties:
+ name: m1.xlarge
+ must-exist: true
+
+ image-test:
+ type: tosca.nodes.Image
+ properties:
+ name: image-test
+
+ image-spgwc:
+ type: tosca.nodes.Image
+ properties:
+ name: image-spgwc
+
+ image-spgwu:
+ type: tosca.nodes.Image
+ properties:
+ name: image-spgwu
+
+# management networks, fully created in management-net.yaml
+ management:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: management
+
+{% if use_management_hosts %}
+ management_hosts:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: management_hosts
+{% endif %}
+
+# flat_network_s1mme is for connectivity between VMs, fully created in flat-net-s1mme.yaml
+ flat_network_s1mme:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: flat_network_s1mme
+# flat_network_s1u is for connectivity between VMs, fully created in flat-net-s1u.yaml
+ flat_network_s1u:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: flat_network_s1u
+# s11_network is for connectivity between VMs, fully created in s11-net.yaml
+ s11_network:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: s11_network
+# sgi_network is for connectivity between VMs, fully created in sgi-net.yaml
+ sgi_network:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: sgi_network
+# spgw_network is for connectivity between VMs, fully created in spgw-net.yaml
+ spgw_network:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: spgw_network
+
+# ONOS_CORD, fully created in vtn.yaml
+ service#ONOS_CORD:
+ type: tosca.nodes.ONOSService
+ properties:
+ must-exist: true
+ name: ONOS_CORD
+
+# ONOS_Fabric, fully created in fabric.yaml
+ service#ONOS_Fabric:
+ type: tosca.nodes.ONOSService
+ properties:
+ must-exist: true
+ name: ONOS_Fabric
+
+# vMME Service
+ service#vmme:
+ type: tosca.nodes.VMMEService
+ properties:
+ name: vmme
+ public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
+ private_key_fn: /opt/xos/services/vmme/keys/mcord_rsa
+ artifacts:
+ pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+
+ {{ site_name }}_vmme:
+ description: vMME Service Slice
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_vmme
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.BelongsToOne
+ - service:
+ node: service#vmme
+ relationship: tosca.relationships.BelongsToOne
+ - default_image:
+ node: image-test
+ relationship: tosca.relationships.BelongsToOne
+ - default_flavor:
+ node: m1.medium
+ relationship: tosca.relationships.BelongsToOne
+
+ sprint_mme:
+ type: tosca.nodes.VMMEVendor
+ properties:
+ name: sprint_mme
+ requirements:
+ - image:
+ node: image-test
+ relationship: tosca.relationships.BelongsToOne
+ - flavor:
+ node: m1.medium
+ relationship: tosca.relationships.BelongsToOne
+
+#vSPGWC Service
+ service#vspgwc:
+ type: tosca.nodes.VSPGWCService
+ properties:
+ name: vspgwc
+ public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
+ private_key_fn: /opt/xos/services/vspgwc/keys/mcord_rsa
+ artifacts:
+ pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+
+ {{ site_name }}_vspgwc:
+ description: SDN controller slice
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_vspgwc
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.BelongsToOne
+ - service:
+ node: service#vspgwc
+ relationship: tosca.relationships.BelongsToOne
+ - default_image:
+ node: image-spgwc
+ relationship: tosca.relationships.BelongsToOne
+ - default_flavor:
+ node: m1.large
+ relationship: tosca.relationships.BelongsToOne
+
+ intel_vspgwc:
+ type: tosca.nodes.VSPGWCVendor
+ properties:
+ name: intel_vspgwc
+ requirements:
+ - image:
+ node: image-spgwc
+ relationship: tosca.relationships.BelongsToOne
+ - flavor:
+ node: m1.large
+ relationship: tosca.relationships.BelongsToOne
+
+
+#vSPGWU Service
+ service#vspgwu:
+ type: tosca.nodes.VSPGWUService
+ properties:
+ name: vspgwu
+ public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
+ private_key_fn: /opt/xos/services/vspgwu/keys/mcord_rsa
+ artifacts:
+ pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+
+ {{ site_name }}_vspgwu:
+ description: SDN controller slice
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_vspgwu
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.BelongsToOne
+ - service:
+ node: service#vspgwu
+ relationship: tosca.relationships.BelongsToOne
+ - default_image:
+ node: image-spgwu
+ relationship: tosca.relationships.BelongsToOne
+ - default_flavor:
+ node: m1.xlarge
+ relationship: tosca.relationships.BelongsToOne
+
+ intel_vspgwu:
+ type: tosca.nodes.VSPGWUVendor
+ properties:
+ name: intel_vspgwu
+ requirements:
+ - image:
+ node: image-spgwu
+ relationship: tosca.relationships.BelongsToOne
+ - flavor:
+ node: m1.xlarge
+ relationship: tosca.relationships.BelongsToOne
+
+# vEPC Service
+ service#vepc:
+ type: tosca.nodes.VEPCService
+ properties:
+ name: vepc
+ public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
+ private_key_fn: /opt/xos/services/epc-service/keys/mcord_rsa
+ artifacts:
+ pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+
+# ServiceDependencies
+ vmme_vspgwc:
+ type: tosca.nodes.ServiceDependency
+ properties:
+ connect_method: None
+ requirements:
+ - subscriber_service:
+ node: service#vmme
+ relationship: tosca.relationships.BelongsToOne
+ - provider_service:
+ node: service#vspgwc
+ relationship: tosca.relationships.BelongsToOne
+
+ vmme_vspgwu:
+ type: tosca.nodes.ServiceDependency
+ properties:
+ connect_method: None
+ requirements:
+ - subscriber_service:
+ node: service#vmme
+ relationship: tosca.relationships.BelongsToOne
+ - provider_service:
+ node: service#vspgwu
+ relationship: tosca.relationships.BelongsToOne
+
+ vspgwc_vspgwu:
+ type: tosca.nodes.ServiceDependency
+ properties:
+ connect_method: None
+ requirements:
+ - subscriber_service:
+ node: service#vspgwc
+ relationship: tosca.relationships.BelongsToOne
+ - provider_service:
+ node: service#vspgwu
+ relationship: tosca.relationships.BelongsToOne
+
+# M-CORD Subscriber
+ service#mcord:
+ type: tosca.nodes.MCordSubscriberService
+ properties:
+ name: mcord
+
+ # ServiceDependency M-CORD to vENB
+ mcord_vmme:
+ type: tosca.nodes.ServiceDependency
+ properties:
+ connect_method: None
+ requirements:
+ - subscriber_service:
+ node: service#vmme
+ relationship: tosca.relationships.BelongsToOne
+ - provider_service:
+ node: service#mcord
+ relationship: tosca.relationships.BelongsToOne
diff --git a/templates/mcord-ng40-services.yml.j2 b/templates/mcord-ng40-services.yml.j2
new file mode 100644
index 0000000..4cd0fc2
--- /dev/null
+++ b/templates/mcord-ng40-services.yml.j2
@@ -0,0 +1,343 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+#}
+
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: created by platform-install, need to add M-CORD services later
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/slice.yaml
+ - custom_types/site.yaml
+ - custom_types/image.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/onosservice.yaml
+ - custom_types/networkslice.yaml
+ - custom_types/venbservice.yaml
+ - custom_types/vspgwcservice.yaml
+ - custom_types/vspgwcvendor.yaml
+ - custom_types/vspgwuservice.yaml
+ - custom_types/vspgwuvendor.yaml
+ - custom_types/vepcservice.yaml
+ - custom_types/servicedependency.yaml
+ - custom_types/mcordsubscriberservice.yaml
+
+topology_template:
+ node_templates:
+
+# site, image, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ must-exist: true
+ name: {{ site_name }}
+
+ m1.small:
+ type: tosca.nodes.Flavor
+ properties:
+ name: m1.small
+ must-exist: true
+ m1.large:
+ type: tosca.nodes.Flavor
+ properties:
+ name: m1.large
+ must-exist: true
+ m1.medium:
+ type: tosca.nodes.Flavor
+ properties:
+ name: m1.medium
+ must-exist: true
+ m1.xlarge:
+ type: tosca.nodes.Flavor
+ properties:
+ name: m1.xlarge
+ must-exist: true
+
+ image-venb:
+ type: tosca.nodes.Image
+ properties:
+ name: image-venb
+
+ image-spgwc:
+ type: tosca.nodes.Image
+ properties:
+ name: image-spgwc
+
+ image-spgwu:
+ type: tosca.nodes.Image
+ properties:
+ name: image-spgwu
+
+# management networks, fully created in management-net.yaml
+ management:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: management
+
+{% if use_management_hosts %}
+ management_hosts:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: management_hosts
+{% endif %}
+
+# s1u_network is for connectivity between VMs, fully created in s1u-net.yaml
+ s1u_network:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: s1u_network
+# s11_network is for connectivity between VMs, fully created in s11-net.yaml
+ s11_network:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: s11_network
+# nbi_network is for connectivity between VMs, fully created in nbi-net.yaml
+ nbi_network:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: nbi_network
+# sbi_network is for connectivity between VMs, fully created in sbi-net.yaml
+ sbi_network:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: sbi_network
+# sgi_network is for connectivity between VMs, fully created in sgi-net.yaml
+ sgi_network:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: sgi_network
+# spgw_network is for connectivity between VMs, fully created in spgw-net.yaml
+ spgw_network:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: spgw_network
+# flat_network is for connectivity between VM inside cord and server outside, fully created in flat-net.yaml
+ flat_network:
+ type: tosca.nodes.Network
+ properties:
+ must-exist: true
+ name: flat_network
+
+# ONOS_CORD, fully created in vtn.yaml
+ service#ONOS_CORD:
+ type: tosca.nodes.ONOSService
+ properties:
+ must-exist: true
+ name: ONOS_CORD
+
+# ONOS_Fabric, fully created in fabric.yaml
+ service#ONOS_Fabric:
+ type: tosca.nodes.ONOSService
+ properties:
+ must-exist: true
+ name: ONOS_Fabric
+
+# vENB Service
+ service#venb:
+ type: tosca.nodes.VENBService
+ properties:
+ name: venb
+ public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
+ private_key_fn: /opt/xos/services/venb/keys/mcord_rsa
+ artifacts:
+ pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+
+ {{ site_name }}_venb:
+ description: vENB Service Slice
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_venb
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.BelongsToOne
+ - service:
+ node: service#venb
+ relationship: tosca.relationships.BelongsToOne
+ - default_image:
+ node: image-venb
+ relationship: tosca.relationships.BelongsToOne
+ - default_flavor:
+ node: m1.medium
+ relationship: tosca.relationships.BelongsToOne
+
+
+#vSPGWC Service
+ service#vspgwc:
+ type: tosca.nodes.VSPGWCService
+ properties:
+ name: vspgwc
+ public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
+ private_key_fn: /opt/xos/services/vspgwc/keys/mcord_rsa
+ artifacts:
+ pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+
+ {{ site_name }}_vspgwc:
+ description: SDN controller slice
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_vspgwc
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.BelongsToOne
+ - service:
+ node: service#vspgwc
+ relationship: tosca.relationships.BelongsToOne
+ - default_image:
+ node: image-spgwc
+ relationship: tosca.relationships.BelongsToOne
+ - default_flavor:
+ node: m1.large
+ relationship: tosca.relationships.BelongsToOne
+
+ intel_vspgwc:
+ type: tosca.nodes.VSPGWCVendor
+ properties:
+ name: intel_vspgwc
+ requirements:
+ - image:
+ node: image-spgwc
+ relationship: tosca.relationships.BelongsToOne
+ - flavor:
+ node: m1.large
+ relationship: tosca.relationships.BelongsToOne
+
+
+#vSPGWU Service
+ service#vspgwu:
+ type: tosca.nodes.VSPGWUService
+ properties:
+ name: vspgwu
+ public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
+ private_key_fn: /opt/xos/services/vspgwu/keys/mcord_rsa
+ artifacts:
+ pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+
+ {{ site_name }}_vspgwu:
+ description: SDN controller slice
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_vspgwu
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.BelongsToOne
+ - service:
+ node: service#vspgwu
+ relationship: tosca.relationships.BelongsToOne
+ - default_image:
+ node: image-spgwu
+ relationship: tosca.relationships.BelongsToOne
+ - default_flavor:
+ node: m1.xlarge
+ relationship: tosca.relationships.BelongsToOne
+
+ intel_vspgwu:
+ type: tosca.nodes.VSPGWUVendor
+ properties:
+ name: intel_vspgwu
+ requirements:
+ - image:
+ node: image-spgwu
+ relationship: tosca.relationships.BelongsToOne
+ - flavor:
+ node: m1.xlarge
+ relationship: tosca.relationships.BelongsToOne
+
+# vEPC Service
+ service#vepc:
+ type: tosca.nodes.VEPCService
+ properties:
+ name: vepc
+ public_key: {{ lookup('file', config_cord_profile_dir + '/key_import/mcord_rsa.pub') }}
+ private_key_fn: /opt/xos/services/venb/keys/mcord_rsa
+ artifacts:
+ pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+
+
+# ServiceDependencies
+ venb_vspgwc:
+ type: tosca.nodes.ServiceDependency
+ properties:
+ connect_method: None
+ requirements:
+ - subscriber_service:
+ node: service#venb
+ relationship: tosca.relationships.BelongsToOne
+ - provider_service:
+ node: service#vspgwc
+ relationship: tosca.relationships.BelongsToOne
+
+ venb_vspgwu:
+ type: tosca.nodes.ServiceDependency
+ properties:
+ connect_method: None
+ requirements:
+ - subscriber_service:
+ node: service#venb
+ relationship: tosca.relationships.BelongsToOne
+ - provider_service:
+ node: service#vspgwu
+ relationship: tosca.relationships.BelongsToOne
+
+ vspgwc_vspgwu:
+ type: tosca.nodes.ServiceDependency
+ properties:
+ connect_method: None
+ requirements:
+ - subscriber_service:
+ node: service#vspgwc
+ relationship: tosca.relationships.BelongsToOne
+ - provider_service:
+ node: service#vspgwu
+ relationship: tosca.relationships.BelongsToOne
+
+# M-CORD Subscriber
+ service#mcord:
+ type: tosca.nodes.MCordSubscriberService
+ properties:
+ name: mcord
+
+ # ServiceDependency M-CORD to vENB
+ mcord_venb:
+ type: tosca.nodes.ServiceDependency
+ properties:
+ connect_method: None
+ requirements:
+ - subscriber_service:
+ node: service#venb
+ relationship: tosca.relationships.BelongsToOne
+ - provider_service:
+ node: service#mcord
+ relationship: tosca.relationships.BelongsToOne
diff --git a/templates/nbi-net.yaml.j2 b/templates/nbi-net.yaml.j2
new file mode 100644
index 0000000..edc649a
--- /dev/null
+++ b/templates/nbi-net.yaml.j2
@@ -0,0 +1,56 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/site.yaml
+ - custom_types/slice.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+
+description: network for north bound interface (nbi)
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+
+# nbi network
+ nbi_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: nbi_template
+ visibility: private
+ translation: none
+ vtn_kind: PRIVATE
+
+ nbi_network:
+ type: tosca.nodes.Network
+ properties:
+ name: nbi_network
+ subnet: 113.0.0.0/24
+ permit_all_slices: true
+ requirements:
+ - template:
+ node: nbi_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_nbi
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_nbi:
+ description: This slice exists solely to own the private network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_nbi
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
diff --git a/templates/s11-net.yaml.j2 b/templates/s11-net.yaml.j2
new file mode 100644
index 0000000..f44b0fd
--- /dev/null
+++ b/templates/s11-net.yaml.j2
@@ -0,0 +1,56 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/site.yaml
+ - custom_types/slice.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+
+description: network for S11 interface
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+
+# s11 network
+ s11_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: s11_template
+ visibility: private
+ translation: none
+ vtn_kind: PRIVATE
+
+ s11_network:
+ type: tosca.nodes.Network
+ properties:
+ name: s11_network
+ subnet: 112.0.0.0/24
+ permit_all_slices: true
+ requirements:
+ - template:
+ node: s11_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_s11
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_s11:
+ description: This slice exists solely to own the private network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_s11
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
diff --git a/templates/s1u-net.yaml.j2 b/templates/s1u-net.yaml.j2
new file mode 100644
index 0000000..e2bb51c
--- /dev/null
+++ b/templates/s1u-net.yaml.j2
@@ -0,0 +1,56 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/site.yaml
+ - custom_types/slice.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+
+description: network for S1U interface
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+
+# s1u network
+ s1u_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: s1u_template
+ visibility: private
+ translation: none
+ vtn_kind: PRIVATE
+
+ s1u_network:
+ type: tosca.nodes.Network
+ properties:
+ name: s1u_network
+ subnet: 111.0.0.0/24
+ permit_all_slices: true
+ requirements:
+ - template:
+ node: s1u_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_s1u
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_s1u:
+ description: This slice exists solely to own the private network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_s1u
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
diff --git a/templates/sbi-net.yaml.j2 b/templates/sbi-net.yaml.j2
new file mode 100644
index 0000000..fe56d4c
--- /dev/null
+++ b/templates/sbi-net.yaml.j2
@@ -0,0 +1,56 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/site.yaml
+ - custom_types/slice.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+
+description: network for south bound interface (sbi)
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+
+# sbi network
+ sbi_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: sbi_template
+ visibility: private
+ translation: none
+ vtn_kind: PRIVATE
+
+ sbi_network:
+ type: tosca.nodes.Network
+ properties:
+ name: sbi_network
+ subnet: 114.0.0.0/24
+ permit_all_slices: true
+ requirements:
+ - template:
+ node: sbi_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_sbi
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_sbi:
+ description: This slice exists solely to own the private network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_sbi
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
diff --git a/templates/service-graph-constraints.yaml.j2 b/templates/service-graph-constraints.yaml.j2
new file mode 100644
index 0000000..00fbc4a
--- /dev/null
+++ b/templates/service-graph-constraints.yaml.j2
@@ -0,0 +1,14 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/servicegraphconstraint.yaml
+
+description: Constraints on the Services position in the graph
+
+topology_template:
+ node_templates:
+
+ constraints:
+ type: tosca.nodes.ServiceGraphConstraint
+ properties:
+ constraints: '{{ xos_gui_service_graph_constraints }}'
diff --git a/templates/sgi-net.yaml.j2 b/templates/sgi-net.yaml.j2
new file mode 100644
index 0000000..db2779e
--- /dev/null
+++ b/templates/sgi-net.yaml.j2
@@ -0,0 +1,56 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/site.yaml
+ - custom_types/slice.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+
+description: network for SGI interface
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+
+# sgi network
+ sgi_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: sgi_template
+ visibility: private
+ translation: none
+ vtn_kind: PRIVATE
+
+ sgi_network:
+ type: tosca.nodes.Network
+ properties:
+ name: sgi_network
+ subnet: 115.0.0.0/24
+ permit_all_slices: true
+ requirements:
+ - template:
+ node: sgi_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_sgi
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_sgi:
+ description: This slice exists solely to own the private network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_sgi
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
diff --git a/templates/shared-net.yaml.j2 b/templates/shared-net.yaml.j2
new file mode 100644
index 0000000..186e69f
--- /dev/null
+++ b/templates/shared-net.yaml.j2
@@ -0,0 +1,54 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+ - custom_types/slice.yaml
+ - custom_types/site.yaml
+
+description: shared network config, generated by platform-install
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+ must-exist: true
+
+# shared network
+ shared_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: shared_template
+ visibility: private
+ translation: none
+ vtn_kind: PRIVATE
+
+ shared_network:
+ type: tosca.nodes.Network
+ properties:
+ name: shared_network
+ subnet: 100.0.0.0/24
+ requirements:
+ - template:
+ node: shared_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_shared
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_shared:
+ description: This slice exists solely to own the private network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_shared
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
+
diff --git a/templates/spgw-net.yaml.j2 b/templates/spgw-net.yaml.j2
new file mode 100644
index 0000000..0f4739a
--- /dev/null
+++ b/templates/spgw-net.yaml.j2
@@ -0,0 +1,56 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/site.yaml
+ - custom_types/slice.yaml
+ - custom_types/flavor.yaml
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+
+description: network for direct communication between SPGW-C and SPGW-U
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+
+# spgw network
+ spgw_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: spgw_template
+ visibility: private
+ translation: none
+ vtn_kind: PRIVATE
+
+ spgw_network:
+ type: tosca.nodes.Network
+ properties:
+ name: spgw_network
+ subnet: 117.0.0.0/24
+ permit_all_slices: true
+ requirements:
+ - template:
+ node: spgw_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_spgw
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_spgw:
+ description: This slice exists solely to own the private network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_spgw
+ default_isolation: vm
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
diff --git a/templates/vsg-net.yaml.j2 b/templates/vsg-net.yaml.j2
new file mode 100644
index 0000000..9bcf397
--- /dev/null
+++ b/templates/vsg-net.yaml.j2
@@ -0,0 +1,54 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+ - custom_types/slice.yaml
+ - custom_types/site.yaml
+
+description: vsg network config, generated by platform-install
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+ must-exist: true
+
+# vsg network
+ vsg_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: vsg_template
+ visibility: private
+ translation: none
+ vtn_kind: VSG
+
+ vsg_network:
+ type: tosca.nodes.Network
+ properties:
+ name: vsg_network
+ subnet: 101.0.0.0/24
+ requirements:
+ - template:
+ node: vsg_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_vsg
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_vsg:
+ description: This slice exists solely to own the private network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_vsg
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
+
diff --git a/templates/vtn-service.yaml.j2 b/templates/vtn-service.yaml.j2
new file mode 100644
index 0000000..6a2dbd6
--- /dev/null
+++ b/templates/vtn-service.yaml.j2
@@ -0,0 +1,90 @@
+{#
+Copyright 2017-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+#}
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/onosapp.yaml
+ - custom_types/onosservice.yaml
+ - custom_types/serviceinstanceattribute.yaml
+ - custom_types/serviceinstancelink.yaml
+ - custom_types/vtnservice.yaml
+
+description: Configures the VTN ONOS service
+
+topology_template:
+ node_templates:
+
+ service#ONOS_CORD:
+ type: tosca.nodes.ONOSService
+ properties:
+ name: ONOS_CORD
+ kind: platform
+ no_container: true
+ rest_hostname: onos-cord.{{ site_suffix }}
+ rest_port: 8182
+
+ service#vtn:
+ type: tosca.nodes.VTNService
+ properties:
+ name: vtn
+ kind: platform
+ view_url: /admin/vtn/vtnservice/$id$/
+ privateGatewayMac: 00:00:00:00:00:01
+ localManagementIp: {{ management_network_ip }}
+ ovsdbPort: 6641
+ sshUser: root
+ sshKeyFile: /root/node_key
+ sshPort: 22
+ xosEndpoint: xos-chameleon.{{ site_suffix }}:{{ xos_chameleon_port }}
+ xosUser: {{ xos_admin_user }}
+ xosPassword: {{ xos_admin_pass }}
+ vtnAPIVersion: 2
+ controllerPort: onos-cord.{{ site_suffix }}:6654
+ resync: false
+
+ VTN_ONOS_app:
+ type: tosca.nodes.ONOSApp
+ requirements:
+ - owner:
+ node: service#ONOS_CORD
+ relationship: tosca.relationships.BelongsToOne
+ properties:
+ name: VTN_ONOS_app
+ install_dependencies: {{ onos_mavenrepo_url }}/repository/org/opencord/cord-config/{{ cord_config_app_version }}/cord-config-{{ cord_config_app_version }}.oar, {{ onos_mavenrepo_url }}/repository/org/opencord/vtn/{{ cord_vtn_app_version }}/vtn-{{ cord_vtn_app_version }}.oar
+ dependencies: org.onosproject.drivers, org.onosproject.drivers.ovsdb, org.onosproject.openflow-base, org.onosproject.ovsdb-base, org.onosproject.dhcp
+ # autogenerate: vtn-network-cfg
+
+ VTN_ONOS_app_autogenerate:
+ type: tosca.nodes.ServiceInstanceAttribute
+ requirements:
+ - service_instance:
+ node: VTN_ONOS_app
+ relationship: tosca.relationships.BelongsToOne
+ properties:
+ name: autogenerate
+ value: vtn-network-cfg
+
+ VTN_ONOS_app_VTN_Service:
+ type: tosca.nodes.ServiceInstanceLink
+ requirements:
+ - provider_service_instance:
+ node: VTN_ONOS_app
+ relationship: tosca.relationships.BelongsToOne
+ - subscriber_service:
+ node: service#vtn
+ relationship: tosca.relationships.BelongsToOne
+
diff --git a/templates/wan-net.yaml.j2 b/templates/wan-net.yaml.j2
new file mode 100644
index 0000000..0ada8be
--- /dev/null
+++ b/templates/wan-net.yaml.j2
@@ -0,0 +1,54 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/network.yaml
+ - custom_types/networktemplate.yaml
+ - custom_types/slice.yaml
+ - custom_types/site.yaml
+
+description: wan network config, generated by platform-install
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+ properties:
+ name: {{ site_name }}
+ must-exist: true
+
+# wan network
+ wan_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ name: wan_template
+ visibility: private
+ translation: none
+ vtn_kind: PRIVATE
+
+ wan_network:
+ type: tosca.nodes.Network
+ properties:
+ name: wan_network
+ subnet: 102.0.0.0/24
+ requirements:
+ - template:
+ node: wan_template
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: {{ site_name }}_wan
+ relationship: tosca.relationships.BelongsToOne
+
+ {{ site_name }}_wan:
+ description: This slice exists solely to own the private network
+ type: tosca.nodes.Slice
+ properties:
+ name: {{ site_name }}_wan
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.BelongsToOne
+
+
diff --git a/templates/xos-gui-extensions.yml.j2 b/templates/xos-gui-extensions.yml.j2
new file mode 100644
index 0000000..f10c695
--- /dev/null
+++ b/templates/xos-gui-extensions.yml.j2
@@ -0,0 +1,37 @@
+
+{#
+Copyright 2017-present Open Networking Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+#}
+
+
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Persist xos-sample-gui-extension
+
+imports:
+ - custom_types/xosguiextension.yaml
+
+topology_template:
+ node_templates:
+
+ # UI Extension
+{% for ext in enabled_gui_extensions %}
+ {{ext.name}}:
+ type: tosca.nodes.XOSGuiExtension
+ properties:
+ name: {{ext.name}}
+ files: /xos/extensions/{{ext.name}}/vendor.js, /xos/extensions/{{ext.name}}/app.js {% if ext.extra_files is defined %}{% for file in ext.extra_files%}, /xos/extensions/{{ext.name}}/{{file}} {% endfor %}{% endif %}
+
+{% endfor %}