CORD-2385 Move profile-specific configuration to M-CORD repo
Change-Id: I008f9affb7194665d3de5eff331c49372bc8b73e
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