[CORD-2550] Adding progran service to cavium profile

Change-Id: I610712d4a271fa957d7c09c5796ea7e7ae8abdd6
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..485dee6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.idea
diff --git a/mcord-cavium.yml b/mcord-cavium.yml
index b89da7e..4fb1561 100644
--- a/mcord-cavium.yml
+++ b/mcord-cavium.yml
@@ -87,9 +87,17 @@
   - name: vepc
     path: orchestration/xos_services/epc-service
     keypair: mcord_rsa
+  - name: progran
+    path: orchestration/xos_services/progran
 
 # service graph gui constraints
-xos_gui_service_graph_constraints: '["mcord", "venb", ["vspgwc", "vspgwu"]]'
+xos_gui_service_graph_constraints: '[
+  ["vepc", null, "mcord", null, null],
+  [null, null, "progran", null, null],
+  ["hssdb", "vhss", "vmme", null, null],
+  [null, "vspgwc", "sdncontroller","vspgwu", null],
+  [null, null, null, "internetemulator", null]
+]'
 
 # For creating the EPC networks in mcord-cavium-services.yml (copied from EPC blueprint)
 mcord_networks:
diff --git a/templates/mcord-cavium-services.yml.j2 b/templates/mcord-cavium-services.yml.j2
index f366154..609d9ca 100644
--- a/templates/mcord-cavium-services.yml.j2
+++ b/templates/mcord-cavium-services.yml.j2
@@ -46,6 +46,7 @@
    - custom_types/vepcservice.yaml
    - custom_types/servicedependency.yaml
    - custom_types/mcordsubscriberservice.yaml
+   - custom_types/progranservice.yaml
 
 topology_template:
   node_templates:
@@ -464,6 +465,16 @@
       artifacts:
           pubkey: /opt/cord_profile/key_import/mcord_rsa.pub
 
+# Progran Service
+    service#progran:
+      type: tosca.nodes.ProgranService
+      properties:
+          name: progran
+          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