[COMAC-196] Add ProgRAN in COMAC profile

Change-Id: I33b7ae5e62f2287a003464d2a23a3c54fccd85fa
diff --git a/xos-profiles/comac/Chart.yaml b/xos-profiles/comac/Chart.yaml
index 7050bfc..3a31f22 100644
--- a/xos-profiles/comac/Chart.yaml
+++ b/xos-profiles/comac/Chart.yaml
@@ -17,7 +17,7 @@
 name: comac
 description: A Helm chart for the "COMAC" profile
 icon: https://guide.opencord.org/logos/cord.svg
-version: 0.0.5
+version: 0.0.6
 
 # xosproject/tosca-loader version
 appVersion: 1.3.1
diff --git a/xos-profiles/comac/requirements.yaml b/xos-profiles/comac/requirements.yaml
index 25db857..ee1c608 100644
--- a/xos-profiles/comac/requirements.yaml
+++ b/xos-profiles/comac/requirements.yaml
@@ -49,3 +49,7 @@
   version: 2.1.0
   repository: file://../../xos-services/vrouter
   condition: vrouter.enabled
+- name: progran
+  version: 2.0.7
+  repository: file://../../xos-services/progran
+  condition: progran.enabled
\ No newline at end of file
diff --git a/xos-profiles/comac/templates/_tosca.tpl b/xos-profiles/comac/templates/_tosca.tpl
index 7b0f000..e50701d 100644
--- a/xos-profiles/comac/templates/_tosca.tpl
+++ b/xos-profiles/comac/templates/_tosca.tpl
@@ -306,6 +306,9 @@
   - custom_types/mcordsubscriberservice.yaml
   - custom_types/onosservice.yaml
   - custom_types/vrouterservice.yaml
+{{- if .Values.progran.enabled }}
+   - custom_types/progranservice.yaml
+{{- end }}
 {{- if .Values.residentialService.enabled }}
   - custom_types/rcordservice.yaml
   - custom_types/voltservice.yaml
@@ -343,6 +346,14 @@
         name: mcord
         must-exist: true
 
+{{ if .Values.progran.enabled }}
+    service#progran:
+      type: tosca.nodes.ProgranService
+      properties:
+        name: progran
+        must-exist: true
+{{ end }}
+
 {{- if .Values.residentialService.enabled }}
     service#rcord:
       type: tosca.nodes.RCORDService
@@ -479,6 +490,44 @@
     # --
 {{- end }}
 
+{{ if .Values.progran.enabled }}
+    service_dependency#mcord_progran:
+      type: tosca.nodes.ServiceDependency
+      properties:
+        connect_method: none
+      requirements:
+        - subscriber_service:
+            node: service#progran
+            relationship: tosca.relationships.BelongsToOne
+        - provider_service:
+            node: service#mcord
+            relationship: tosca.relationships.BelongsToOne
+
+    service_dependency#progran_epc_cp:
+      type: tosca.nodes.ServiceDependency
+      properties:
+        connect_method: none
+      requirements:
+        - subscriber_service:
+            node: service#omec-cp
+            relationship: tosca.relationships.BelongsToOne
+        - provider_service:
+            node: service#progran
+            relationship: tosca.relationships.BelongsToOne
+
+    service_dependency#progran_epc_up:
+      type: tosca.nodes.ServiceDependency
+      properties:
+        connect_method: none
+      requirements:
+        - subscriber_service:
+            node: service#omec-up
+            relationship: tosca.relationships.BelongsToOne
+        - provider_service:
+            node: service#progran
+            relationship: tosca.relationships.BelongsToOne
+
+{{ else }}
     service_dependency#mcord_epc_cp:
       type: tosca.nodes.ServiceDependency
       properties:
@@ -502,6 +551,7 @@
         - provider_service:
             node: service#mcord
             relationship: tosca.relationships.BelongsToOne
+{{ end }}
 
     service_dependency#epc_cp_epc_up:
       type: tosca.nodes.ServiceDependency
@@ -542,5 +592,5 @@
     constraints:
       type: tosca.nodes.ServiceGraphConstraint
       properties:
-        constraints: '[["mcord", null, null, "rcord"], [null, null, "att-workflow-driver", "volt"], ["omec-cp", "omec-up", "onos", "fabric-crossconnect"], [null, "cdn-local", "fabric", null], [null, "cdn-remote", "vrouter", null]]'
+        constraints: '[["mcord", null, null, "rcord"], ["progran", null, "att-workflow-driver", "volt"], ["omec-cp", "omec-up", "onos", "fabric-crossconnect"], [null, "cdn-local", "fabric", null], [null, "cdn-remote", "vrouter", null]]'
 {{- end -}}
diff --git a/xos-profiles/comac/templates/tosca-configmap.yaml b/xos-profiles/comac/templates/tosca-configmap.yaml
index f6fc35b..a0d4d3d 100644
--- a/xos-profiles/comac/templates/tosca-configmap.yaml
+++ b/xos-profiles/comac/templates/tosca-configmap.yaml
@@ -25,22 +25,26 @@
 {{ include "volt.serviceTosca" .Values.volt | indent 4 }}
   030-fabric-crossconnect-service.yaml: |
 {{ include "fabric-crossconnect.serviceTosca" (index .Values "fabric-crossconnect") | indent 4 }}
-  031-fixtures.yaml: |
+  040-fixtures.yaml: |
 {{ include "att-workflow-driver.serviceTosca"  (index .Values "att-workflow-driver") | indent 4 }}
 {{- end }}
-  040-onos-service.yaml: |
+  050-onos-service.yaml: |
 {{ include "comac.onosTosca" .Values | indent 4 }}
+{{- if .Values.progran.enabled }}
+  060-progran-service.yaml: |
+{{ include "progran.serviceTosca" .Values.progran | indent 4 }}
+{{- end }}
 {{- if .Values.fabric.enabled }}
-  050-fabric-service.yaml: |
+  070-fabric-service.yaml: |
 {{ include "fabric.serviceTosca" .Values.fabric | indent 4 }}
 {{- end }}
 {{- if .Values.residentialService.enabled }}
-  060-fixtures.yaml: |
+  080-fixtures.yaml: |
 {{ include "comac.basicFixturesTosca" . | indent 4 }}
 {{- end }}
-  070-vrouter-service.yaml: |
+  0900-vrouter-service.yaml: |
 {{ include "vrouter.serviceTosca" .Values.vrouter | indent 4 }}
-  080-mcord-subscriber-service.yaml: |
+  100-mcord-subscriber-service.yaml: |
 {{ include "mcord-subscriber.serviceTosca" (index .Values "mcord-subscriber") | indent 4 }}
   300-service-graph.yaml: |
 {{ include "comac.serviceGraphTosca" . | indent 4 }}
\ No newline at end of file
diff --git a/xos-profiles/comac/values.yaml b/xos-profiles/comac/values.yaml
index d68122b..b6fc7e0 100644
--- a/xos-profiles/comac/values.yaml
+++ b/xos-profiles/comac/values.yaml
@@ -70,3 +70,5 @@
   enabled: true
 onos-service:
   enabled: true
+progran:
+  enabled: true