[CORD-2088] Add sdn-controller service for vSPGW in mcord profile
Change-Id: I0dc8e3cd3bd86b251b40a8cb028f6fc7ce56c895
diff --git a/profile_manifests/mcord.yml b/profile_manifests/mcord.yml
index a92e700..9ccfae3 100644
--- a/profile_manifests/mcord.yml
+++ b/profile_manifests/mcord.yml
@@ -44,6 +44,7 @@
# - mcord-services.yml
- xos-gui-extensions.yml
- internet-emulator-service.yaml
+ - sdn-controller-service.yaml
xos_new_tosca_config_templates:
- mcord-subscriber.yml
@@ -78,6 +79,9 @@
- name: internetemulator
path: orchestration/xos_services/internetemulator
keypair: mcord_rsa
+ - name: sdncontroller
+ path: orchestration/xos_services/sdn-controller
+ keypair: mcord_rsa
- name: exampleservice
path: orchestration/xos_services/exampleservice
keypair: exampleservice_rsa
diff --git a/roles/cord-profile/templates/sdn-controller-service.yaml.j2 b/roles/cord-profile/templates/sdn-controller-service.yaml.j2
new file mode 100644
index 0000000..d76df34
--- /dev/null
+++ b/roles/cord-profile/templates/sdn-controller-service.yaml.j2
@@ -0,0 +1,115 @@
+{#
+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/sdncontroller.yaml
+
+topology_template:
+ node_templates:
+
+# site, image, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+
+ m1.small:
+ type: tosca.nodes.Flavor
+ m1.large:
+ type: tosca.nodes.Flavor
+ m1.medium:
+ type: tosca.nodes.Flavor
+ m1.xlarge:
+ type: tosca.nodes.Flavor
+
+ trusty-server-multi-nic:
+ type: tosca.nodes.Image
+
+# management networks, fully created in management-net.yaml
+ management:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ no-create: true
+ no-delete: true
+ no-update: true
+
+{% if use_management_hosts %}
+ management_hosts:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ no-create: true
+ no-delete: true
+ no-update: true
+{% endif %}
+
+# sbi_network
+ sbi_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ no-create: true
+ no-delete: true
+ no-update: true
+
+# nbi_network
+ nbi_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ no-create: true
+ no-delete: true
+ no-update: true
+
+
+# CORD Services
+ service#sdncontroller:
+ type: tosca.nodes.SDNControllerService
+ properties:
+ public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+ private_key_fn: /opt/xos/services/sdncontroller/keys/mcord_rsa
+ artifacts:
+ pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+
+# CORD Slices
+ {{ site_name }}_sdncontroller:
+ description: SDN controller slice
+ type: tosca.nodes.Slice
+ properties:
+ network: noauto
+ requirements:
+ - site:
+ node: mysite
+ relationship: tosca.relationships.MemberOfSite
+ - sdncontroller_service:
+ node: service#sdncontroller
+ relationship: tosca.relationships.MemberOfService
+ - default_image:
+ node: trusty-server-multi-nic
+ relationship: tosca.relationships.DefaultImage
+ - default_flavor:
+ node: m1.small
+ relationship: tosca.relationships.DefaultFlavor
+ - connection_to_management:
+ node: management
+ relationship: tosca.relationships.ConnectsToNetwork
+ - connection_to_sbi_network:
+ node: sbi_network
+ relationship: tosca.relationships.ConnectsToNetwork
+ - connection_to_nbi_network:
+ node: nbi_network
+ relationship: tosca.relationships.ConnectsToNetwork
\ No newline at end of file