CORD-2083 Add InternetEmulator service

Change-Id: I7bf8c92711f9a86dcafaef34cb10e21c4e0859da
diff --git a/profile_manifests/mcord.yml b/profile_manifests/mcord.yml
index bf12793..ff93578 100644
--- a/profile_manifests/mcord.yml
+++ b/profile_manifests/mcord.yml
@@ -38,6 +38,7 @@
   - flat-net.yaml
   - mcord-services.yml
   - xos-gui-extensions.yml
+  - internet-emulator-service.yaml
 
 xos_new_tosca_config_templates:
   - mcord-subscriber.yml
@@ -66,6 +67,9 @@
   - name: vmme
     path: orchestration/xos_services/vmme
     keypair: mcord_rsa
+  - name: internetemulator
+    path: orchestration/xos_services/internetemulator
+    keypair: mcord_rsa
   - name: exampleservice
     path: orchestration/xos_services/exampleservice
     keypair: exampleservice_rsa
diff --git a/roles/cord-profile/templates/internet-emulator-service.yaml.j2 b/roles/cord-profile/templates/internet-emulator-service.yaml.j2
new file mode 100644
index 0000000..96332dc
--- /dev/null
+++ b/roles/cord-profile/templates/internet-emulator-service.yaml.j2
@@ -0,0 +1,126 @@
+
+{#
+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/internetemulator.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 %}
+
+# shared_network is for connectivity between VMs, fully created in shared-net.yaml
+    shared_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:
+      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:
+      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:
+      type: tosca.nodes.network.Network.XOS
+      properties:
+        no-create: true
+        no-delete: true
+        no-update: true
+
+
+# CORD Services
+    service#internetemulator:
+      type: tosca.nodes.InternetEmulatorService
+      properties:
+          public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
+          private_key_fn: /opt/xos/services/internetemulator/keys/mcord_rsa
+      artifacts:
+          pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
+
+# CORD Slices
+    mysite_internetemulator:
+      description: Internet Emulator Slice
+      type: tosca.nodes.Slice
+      properties:
+          network: noauto
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+          - internetemulator_service:
+              node: service#internetemulator
+              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
\ No newline at end of file