Use new TOSCA engine to bring up VMMEVendor and VMMETenant
Change-Id: I60f96b41e8f4d0af9b78d110ebef21dad47b3469
diff --git a/profile_manifests/mcord.yml b/profile_manifests/mcord.yml
index ae6e38a..11b2744 100644
--- a/profile_manifests/mcord.yml
+++ b/profile_manifests/mcord.yml
@@ -36,11 +36,19 @@
- wan-net.yaml
- vsg-net.yaml
- flat-net.yaml
+ - s1u-net.yaml
+ - s11-net.yaml
+ - s1mme-net.yaml
+ - nbi-net.yaml
+ - sbi-net.yaml
+ - sgi-net.yaml
- mcord-services.yml
- xos-gui-extensions.yml
+ - internet-emulator-service.yaml
xos_new_tosca_config_templates:
- mcord-subscriber.yml
+ - vmme-service.yaml
xos_other_templates:
- fabric-network-cfg.json
diff --git a/roles/cord-profile/templates/mcord-services.yml.j2 b/roles/cord-profile/templates/mcord-services.yml.j2
index 56d5549..80ea69c 100644
--- a/roles/cord-profile/templates/mcord-services.yml.j2
+++ b/roles/cord-profile/templates/mcord-services.yml.j2
@@ -60,32 +60,48 @@
no-update: true
{% endif %}
-# shared_network is for connectivity between VMs, fully created in shared-net.yaml
- shared_network:
+# s1u_network is for connectivity between VMs, fully created in s1u-net.yaml
+ s1u_network:
type: tosca.nodes.network.Network.XOS
properties:
no-create: true
no-delete: true
no-update: true
-# wan_network for vPGWU and its upstream connectivity, fully created in wan-net.yaml
- wan_network:
+# s11_network is for connectivity between VMs, fully created in s11-net.yaml
+ s11_network:
type: tosca.nodes.network.Network.XOS
properties:
no-create: true
no-delete: true
no-update: true
-# VLAN networks for RRH and vBBU, fully created in vsg-net.yaml
- vsg_network:
+# s1mme_network is for connectivity between VMs, fully created in s1mme-net.yaml
+ s1mme_network:
type: tosca.nodes.network.Network.XOS
properties:
no-create: true
no-delete: true
no-update: true
-# flat network for vMME, vSGWC, vSGWU, to connect to RRU, fully created in flat-net.yaml
- flat_network:
+# nbi_network is for connectivity between VMs, fully created in nbi-net.yaml
+ nbi_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ no-create: true
+ no-delete: true
+ no-update: true
+
+# sbi_network is for connectivity between VMs, fully created in sbi-net.yaml
+ sbi_network:
+ type: tosca.nodes.network.Network.XOS
+ properties:
+ no-create: true
+ no-delete: true
+ no-update: true
+
+# sgi_network is for connectivity between VMs, fully created in sgi-net.yaml
+ sgi_network:
type: tosca.nodes.network.Network.XOS
properties:
no-create: true
@@ -119,7 +135,7 @@
pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
# CORD Slices
- mysite_vMME_slice:
+ {{ site_name }}_vmme:
description: vMME Service Slice
type: tosca.nodes.Slice
properties:
@@ -140,9 +156,9 @@
- connection_to_management:
node: management
relationship: tosca.relationships.ConnectsToNetwork
- - connection_to_shared_network:
- node: shared_network
+ - connection_to_s11_network:
+ node: s11_network
relationship: tosca.relationships.ConnectsToNetwork
- - connection_to_flat_network:
- node: flat_network
- relationship: tosca.relationships.ConnectsToNetwork
\ No newline at end of file
+ - connection_to_s1mme_network:
+ node: s1mme_network
+ relationship: tosca.relationships.ConnectsToNetwork
diff --git a/roles/cord-profile/templates/s1mme-net.yaml.j2 b/roles/cord-profile/templates/s1mme-net.yaml.j2
new file mode 100644
index 0000000..7026333
--- /dev/null
+++ b/roles/cord-profile/templates/s1mme-net.yaml.j2
@@ -0,0 +1,46 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/xos.yaml
+
+description: network for S1MME interface
+
+topology_template:
+ node_templates:
+
+# site, fully created in deployment.yaml
+ {{ site_name }}:
+ type: tosca.nodes.Site
+
+# s1mme network
+ s1mme_template:
+ type: tosca.nodes.NetworkTemplate
+ properties:
+ visibility: private
+ translation: none
+ vtn_kind: PRIVATE
+
+ s1mme_network:
+ type: tosca.nodes.network.Network
+ properties:
+ ip_version: 4
+ cidr: 116.0.0.0/24
+ requirements:
+ - network_template:
+ node: s1mme_template
+ relationship: tosca.relationships.UsesNetworkTemplate
+ - owner:
+ node: {{ site_name }}_s1mme
+ relationship: tosca.relationships.MemberOfSlice
+
+ {{ site_name }}_s1mme:
+ description: This slice exists solely to own the private network
+ type: tosca.nodes.Slice
+ properties:
+ network: noauto
+ requirements:
+ - site:
+ node: {{ site_name }}
+ relationship: tosca.relationships.MemberOfSite
+
+
diff --git a/roles/cord-profile/templates/vmme-service.yaml.j2 b/roles/cord-profile/templates/vmme-service.yaml.j2
new file mode 100644
index 0000000..b2ca43f
--- /dev/null
+++ b/roles/cord-profile/templates/vmme-service.yaml.j2
@@ -0,0 +1,77 @@
+
+{#
+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: create VMMEVendor and VMMETenant
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/flavor.yaml
+ - custom_types/image.yaml
+ - custom_types/vmmeservice.yaml
+ - custom_types/vmmevendor.yaml
+ - custom_types/vmmetenant.yaml
+
+topology_template:
+ node_templates:
+
+ # Created earlier, throws an error without name field
+ m1.small:
+ type: tosca.nodes.Flavor
+ properties:
+ name: m1.small
+ must-exist: true
+
+ # Created earlier, throws an error without name field
+ trusty-server-multi-nic:
+ type: tosca.nodes.Image
+ properties:
+ name: trusty-server-multi-nic
+ must-exist: true
+
+ # Created earlier, throws an error without name field
+ service#vmme:
+ type: tosca.nodes.VMMEService
+ properties:
+ name: vmme
+ must-exist: true
+
+ intel_mme:
+ type: tosca.nodes.VMMEVendor
+ properties:
+ name: intel_mme
+ requirements:
+ - image:
+ node: trusty-server-multi-nic
+ relationship: tosca.relationships.BelongsToOne
+ - flavor:
+ node: m1.small
+ relationship: tosca.relationships.BelongsToOne
+
+ vmme_tenant1:
+ type: tosca.nodes.VMMETenant
+ properties:
+ name: vmme_tenant1
+ requirements:
+ - vmme_vendor:
+ node: intel_mme
+ relationship: tosca.relationships.BelongsToOne
+ - owner:
+ node: service#vmme
+ relationship: tosca.relationships.BelongsToOne
diff --git a/roles/test-mcord-base/tasks/main.yml b/roles/test-mcord-base/tasks/main.yml
index a2aec01..8bdeb89 100644
--- a/roles/test-mcord-base/tasks/main.yml
+++ b/roles/test-mcord-base/tasks/main.yml
@@ -27,6 +27,8 @@
with_items:
- management
- sgi_network
+ - s11_network
+ - s1mme_network
tags:
- skip_ansible_lint # running a sub job
@@ -38,5 +40,6 @@
delay: 60
with_items:
- internetemulator
+ - vmme
tags:
- skip_ansible_lint # running a sub job