diff --git a/xos-profiles/comac/Chart.yaml b/xos-profiles/comac/Chart.yaml
deleted file mode 100644
index 70b52a7..0000000
--- a/xos-profiles/comac/Chart.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-# Copyright 2019-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.
-
-apiVersion: v1
-name: comac
-description: A Helm chart for the "COMAC" profile
-icon: https://guide.opencord.org/logos/cord.svg
-version: 0.0.10
-
-# xosproject/tosca-loader version
-appVersion: 1.3.1
diff --git a/xos-profiles/comac/requirements.yaml b/xos-profiles/comac/requirements.yaml
deleted file mode 100644
index 25fccf1..0000000
--- a/xos-profiles/comac/requirements.yaml
+++ /dev/null
@@ -1,55 +0,0 @@
----
-# Copyright 2019-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.
-
-dependencies:
-- name: rcord
-  version: 1.0.16
-  repository: https://charts.opencord.org
-  condition: residentialService.enabled
-- name: onos-service
-  version: 2.1.3
-  repository: https://charts.opencord.org
-  condition: onos_service.enabled
-- name: fabric
-  version: 2.2.2
-  repository: https://charts.opencord.org
-  condition: fabric.enabled
-- name: mcord-subscriber
-  version: 2.0.5
-  repository: https://charts.opencord.org
-- name: volt
-  version: 2.2.5
-  repository: https://charts.opencord.org
-  condition: residentialService.enabled
-- name: fabric-crossconnect
-  version: 1.2.2
-  repository: https://charts.opencord.org
-  condition: residentialService.enabled
-- name: sadis-server
-  version: 1.0.4
-  repository: https://charts.opencord.org
-  condition: residentialService.enabled
-- name: att-workflow-driver
-  version: 1.1.2
-  repository: https://charts.opencord.org
-  condition: residentialService.enabled
-- name: vrouter
-  version: 2.1.0
-  repository: https://charts.opencord.org
-  condition: vrouter.enabled
-- name: progran
-  version: 2.0.8
-  repository: https://charts.opencord.org
-  condition: progran.enabled
diff --git a/xos-profiles/comac/templates/_helpers.tpl b/xos-profiles/comac/templates/_helpers.tpl
deleted file mode 100644
index 6f50cf9..0000000
--- a/xos-profiles/comac/templates/_helpers.tpl
+++ /dev/null
@@ -1,47 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Copyright 2018-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.
-*/}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "comac.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "comac.fullname" -}}
-{{- if .Values.fullnameOverride -}}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- if contains $name .Release.Name -}}
-{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "comac.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
\ No newline at end of file
diff --git a/xos-profiles/comac/templates/_tosca.tpl b/xos-profiles/comac/templates/_tosca.tpl
deleted file mode 100644
index 792f152..0000000
--- a/xos-profiles/comac/templates/_tosca.tpl
+++ /dev/null
@@ -1,607 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Copyright 2019-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.
-*/}}
-
-{{- define "comac.onosTosca" -}}
-tosca_definitions_version: tosca_simple_yaml_1_0
-
-imports:
-   - custom_types/onosapp.yaml
-   - custom_types/onosservice.yaml
-   - custom_types/serviceinstanceattribute.yaml
-
-description: Configures services in COMAC
-
-topology_template:
-  node_templates:
-
-    service#onos:
-      type: tosca.nodes.ONOSService
-      properties:
-          name: onos
-          kind: data
-          rest_hostname: {{ .onosRestService | quote }}
-          rest_port: 8181
-
-{{- if $.residentialService.enabled }}
-    onos_app#openflow-base:
-      type: tosca.nodes.ONOSApp
-      properties:
-        name: openflow-base
-        app_id: org.onosproject.openflow-base
-      requirements:
-        - owner:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-    onos_app#hostprovider:
-      type: tosca.nodes.ONOSApp
-      properties:
-        name: hostprovider
-        app_id: org.onosproject.hostprovider
-      requirements:
-        - owner:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-    # FOR ATT-Workflow --
-    onos_app#aaa:
-      type: tosca.nodes.ONOSApp
-      properties:
-        name: aaa
-        app_id: org.opencord.aaa
-        url: {{ .aaaAppUrl }}
-        version: {{ .aaaAppVersion }}
-        dependencies: org.opencord.sadis
-      requirements:
-        - owner:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-    # --
-
-    onos_app#olt:
-      type: tosca.nodes.ONOSApp
-      properties:
-        name: olt
-        app_id: org.opencord.olt
-        url: {{ .oltAppUrl }}
-        version: {{ .oltAppVersion }}
-        dependencies: org.opencord.sadis
-      requirements:
-        - owner:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-    onos_app#sadis:
-      type: tosca.nodes.ONOSApp
-      properties:
-        name: sadis
-        app_id: org.opencord.sadis
-        url: {{ .sadisAppUrl }}
-        version: {{ .sadisAppVersion }}
-      requirements:
-        - owner:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-    onos_app#dhcpl2relay:
-      type: tosca.nodes.ONOSApp
-      properties:
-        name: dhcpl2relay
-        app_id: org.opencord.dhcpl2relay
-        url: {{ .dhcpl2relayAppUrl }}
-        version: {{ .dhcpl2relayAppVersion }}
-        dependencies: org.opencord.sadis
-      requirements:
-        - owner:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-    onos_app#kafka:
-      type: tosca.nodes.ONOSApp
-      properties:
-        name: kafka
-        app_id: org.opencord.kafka
-        url: {{ .kafkaAppUrl }}
-        version: {{ .kafkaAppVersion }}
-      requirements:
-        - owner:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-    # CORD-Configuration
-    kafka-config-attr:
-      type: tosca.nodes.ServiceInstanceAttribute
-      properties:
-        name: /onos/v1/network/configuration/apps/org.opencord.kafka
-        value: >
-          {
-            "kafka" : {
-              "bootstrapServers" : {{ .kafkaService | quote }}
-            }
-          }
-      requirements:
-        - service_instance:
-            node: onos_app#kafka
-            relationship: tosca.relationships.BelongsToOne
-
-    sadis-config-attr:
-      type: tosca.nodes.ServiceInstanceAttribute
-      properties:
-        name: /onos/v1/network/configuration/apps/org.opencord.sadis
-        value: >
-          {
-            "sadis" : {
-              "integration" : {
-                "cache" : {
-                  "maxsize" : 1000,
-                  "ttl": "PT300S"
-                },
-                "url" : "http://sadis-service:8000/subscriber/%s"
-              }
-            },
-            "bandwidthprofile":{
-               "integration":{
-                  "url": "http://sadis-service:8000/bandwidthprofiles/%s",
-                  "cache":{
-                     "enabled":true,
-                     "maxsize":40,
-                     "ttl":"PT1m"
-                  }
-               }
-            }
-          }
-      requirements:
-        - service_instance:
-            node: onos_app#sadis
-            relationship: tosca.relationships.BelongsToOne
-
-    # FOR ATT-Workflow --
-    aaa-config-attr:
-      type: tosca.nodes.ServiceInstanceAttribute
-      properties:
-        name: /onos/v1/network/configuration/apps/org.opencord.aaa
-        value: >
-          {
-            "AAA" : {
-              "radiusConnectionType" : "socket",
-              "radiusHost" : "freeradius.voltha.svc.cluster.local",
-              "radiusServerPort" : "1812",
-              "radiusSecret" : "SECRET"
-            }
-          }
-      requirements:
-        - service_instance:
-            node: onos_app#aaa
-            relationship: tosca.relationships.BelongsToOne
-
-    olt-config-attr:
-      type: tosca.nodes.ServiceInstanceAttribute
-      properties:
-        name: /onos/v1/configuration/org.opencord.olt.impl.Olt?preset=true
-        value: >
-          {
-            "enableDhcpOnProvisioning" : true
-          }
-      requirements:
-        - service_instance:
-            node: onos_app#olt
-            relationship: tosca.relationships.BelongsToOne
-    # --
-{{- end }}
-
-    onos_app#segmentrouting:
-      type: tosca.nodes.ONOSApp
-      properties:
-        name: org.onosproject.segmentrouting
-        app_id: org.onosproject.segmentrouting
-      requirements:
-        - owner:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-    onos_app#netcfghostprovider:
-      type: tosca.nodes.ONOSApp
-      properties:
-        name: org.onosproject.netcfghostprovider
-        app_id: org.onosproject.netcfghostprovider
-      requirements:
-        - owner:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-    onos_app#openflow:
-      type: tosca.nodes.ONOSApp
-      properties:
-        name: org.onosproject.openflow
-        app_id: org.onosproject.openflow
-      requirements:
-        - owner:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-{{- end -}}
-
-{{- define "comac.basicFixturesTosca" -}}
-tosca_definitions_version: tosca_simple_yaml_1_0
-description: Some basic fixtures
-imports:
-  - custom_types/networkparametertype.yaml
-  - custom_types/networktemplate.yaml
-topology_template:
-  node_templates:
-
-# -----------------------------------------------------------------------------
-# Network Parameter Types
-# -----------------------------------------------------------------------------
-    s_tag:
-      type: tosca.nodes.NetworkParameterType
-      properties:
-        name: s_tag
-    c_tag:
-      type: tosca.nodes.NetworkParameterType
-      properties:
-        name: c_tag
-    next_hop:
-      type: tosca.nodes.NetworkParameterType
-      properties:
-        name: next_hop
-    device:
-      type: tosca.nodes.NetworkParameterType
-      properties:
-        name: device
-    bridge:
-      type: tosca.nodes.NetworkParameterType
-      properties:
-        name: bridge
-    neutron_port_name:
-      type: tosca.nodes.NetworkParameterType
-      properties:
-        name: neutron_port_name
-
-# -----------------------------------------------------------------------------
-# Network Templates
-# -----------------------------------------------------------------------------
-    Private:
-      type: tosca.nodes.NetworkTemplate
-      properties:
-        name: Private
-        visibility: private
-        translation: none
-
-    Public shared IPv4:
-      type: tosca.nodes.NetworkTemplate
-      properties:
-        name: Public shared IPv4
-        visibility: private
-        translation: NAT
-        shared_network_name: nat-net
-
-    Public dedicated IPv4:
-      type: tosca.nodes.NetworkTemplate
-      properties:
-        name: Public dedicated IPv4
-        visibility: public
-        translation: none
-        shared_network_name: ext-net
-
-{{- end -}}
-
-{{- define "comac.serviceGraphTosca" -}}
-tosca_definitions_version: tosca_simple_yaml_1_0
-imports:
-{{- if .Values.fabric.enabled }}
-  - custom_types/fabricservice.yaml
-{{- end }}
-  - custom_types/mcordsubscriberservice.yaml
-  - custom_types/onosservice.yaml
-{{- if .Values.vrouter.enabled }}
-  - custom_types/vrouterservice.yaml
-{{- end }}
-{{- if .Values.progran.enabled }}
-  - custom_types/progranservice.yaml
-{{- end }}
-{{- if .Values.residentialService.enabled }}
-  - custom_types/rcordservice.yaml
-  - custom_types/voltservice.yaml
-  - custom_types/fabriccrossconnectservice.yaml
-  - custom_types/attworkflowdriverservice.yaml
-{{- end }}
-  - custom_types/servicegraphconstraint.yaml
-  - custom_types/servicedependency.yaml
-  - custom_types/service.yaml
-description: COMAC service graph
-topology_template:
-  node_templates:
-
-    service#onos:
-      type: tosca.nodes.ONOSService
-      properties:
-        name: onos
-        must-exist: true
-
-{{ if .Values.fabric.enabled }}
-    service#fabric:
-      type: tosca.nodes.FabricService
-      properties:
-        name: fabric
-        must-exist: true
-{{ end }}
-{{ if .Values.vrouter.enabled }}
-    service#vrouter:
-      type: tosca.nodes.VRouterService
-      properties:
-        name: vrouter
-        must-exist: true
-{{ end }}
-
-    service#mcord:
-      type: tosca.nodes.MCordSubscriberService
-      properties:
-        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
-      properties:
-        name: rcord
-        must-exist: true
-
-    service#volt:
-      type: tosca.nodes.VOLTService
-      properties:
-        name: volt
-        must-exist: true
-
-    service#fabric-crossconnect:
-      type: tosca.nodes.FabricCrossconnectService
-      properties:
-        name: fabric-crossconnect
-        must-exist: true
-
-    # FOR ATT-Workflow --
-    service#att-workflow-driver:
-      type: tosca.nodes.AttWorkflowDriverService
-      properties:
-        name: att-workflow-driver
-        must-exist: true
-    # --
-{{- end }}
-
-    service#omec-cp:
-      type: tosca.nodes.Service
-      properties:
-        name: omec-cp
-
-    service#omec-up:
-      type: tosca.nodes.Service
-      properties:
-        name: omec-up
-
-    service#cdn-local:
-      type: tosca.nodes.Service
-      properties:
-        name: cdn-local
-
-    service#cdn-remote:
-      type: tosca.nodes.Service
-      properties:
-        name: cdn-remote
-
-{{ if .Values.fabric.enabled }}
-    service_dependency#onos-fabric_fabric:
-      type: tosca.nodes.ServiceDependency
-      properties:
-        connect_method: none
-      requirements:
-        - subscriber_service:
-            node: service#fabric
-            relationship: tosca.relationships.BelongsToOne
-        - provider_service:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-{{ if .Values.vrouter.enabled }}
-    service_dependency#vrouter_fabric:
-      type: tosca.nodes.ServiceDependency
-      properties:
-        connect_method: none
-      requirements:
-        - subscriber_service:
-            node: service#vrouter
-            relationship: tosca.relationships.BelongsToOne
-        - provider_service:
-            node: service#fabric
-            relationship: tosca.relationships.BelongsToOne
-{{ end }}
-{{ end }}
-
-{{- if .Values.residentialService.enabled }}
-    service_dependency#rcord_volt:
-      type: tosca.nodes.ServiceDependency
-      properties:
-        connect_method: none
-      requirements:
-        - subscriber_service:
-            node: service#rcord
-            relationship: tosca.relationships.BelongsToOne
-        - provider_service:
-            node: service#volt
-            relationship: tosca.relationships.BelongsToOne
-
-    service_dependency#onos_volt:
-      type: tosca.nodes.ServiceDependency
-      properties:
-        connect_method: none
-      requirements:
-        - subscriber_service:
-            node: service#volt
-            relationship: tosca.relationships.BelongsToOne
-        - provider_service:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-    service_dependency#volt_fabric-crossconnect:
-      type: tosca.nodes.ServiceDependency
-      properties:
-        connect_method: none
-      requirements:
-        - subscriber_service:
-            node: service#volt
-            relationship: tosca.relationships.BelongsToOne
-        - provider_service:
-            node: service#fabric-crossconnect
-            relationship: tosca.relationships.BelongsToOne
-
-    service_dependency#onos_fabric-crossconnect:
-      type: tosca.nodes.ServiceDependency
-      properties:
-        connect_method: none
-      requirements:
-        - subscriber_service:
-            node: service#fabric-crossconnect
-            relationship: tosca.relationships.BelongsToOne
-        - provider_service:
-            node: service#onos
-            relationship: tosca.relationships.BelongsToOne
-
-    # FOR ATT-Workflow --
-    service_dependency#workflow_volt:
-      type: tosca.nodes.ServiceDependency
-      properties:
-        connect_method: none
-      requirements:
-        - subscriber_service:
-            node: service#att-workflow-driver
-            relationship: tosca.relationships.BelongsToOne
-        - provider_service:
-            node: service#volt
-            relationship: tosca.relationships.BelongsToOne
-    # --
-{{- 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:
-        connect_method: none
-      requirements:
-        - subscriber_service:
-            node: service#omec-cp
-            relationship: tosca.relationships.BelongsToOne
-        - provider_service:
-            node: service#mcord
-            relationship: tosca.relationships.BelongsToOne
-
-    service_dependency#mcord_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#mcord
-            relationship: tosca.relationships.BelongsToOne
-{{ end }}
-
-    service_dependency#epc_cp_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#omec-cp
-            relationship: tosca.relationships.BelongsToOne
-
-    service_dependency#epc_up_cdn_local:
-      type: tosca.nodes.ServiceDependency
-      properties:
-        connect_method: none
-      requirements:
-        - subscriber_service:
-            node: service#cdn-local
-            relationship: tosca.relationships.BelongsToOne
-        - provider_service:
-            node: service#omec-up
-            relationship: tosca.relationships.BelongsToOne
-
-    service_dependency#cdn_local_cdn_remote:
-      type: tosca.nodes.ServiceDependency
-      properties:
-        connect_method: none
-      requirements:
-        - subscriber_service:
-            node: service#cdn-remote
-            relationship: tosca.relationships.BelongsToOne
-        - provider_service:
-            node: service#cdn-local
-            relationship: tosca.relationships.BelongsToOne
-
-    constraints:
-      type: tosca.nodes.ServiceGraphConstraint
-      properties:
-        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
deleted file mode 100644
index a0d4d3d..0000000
--- a/xos-profiles/comac/templates/tosca-configmap.yaml
+++ /dev/null
@@ -1,50 +0,0 @@
----
-# Copyright 2019-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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: comac-tosca
-data:
-{{- if .Values.residentialService.enabled }}
-  010-rcord-subscriber-service.yaml: |
-{{ include "rcord.serviceTosca" .Values.rcord | indent 4 }}
-  020-volt-service.yaml: |
-{{ include "volt.serviceTosca" .Values.volt | indent 4 }}
-  030-fabric-crossconnect-service.yaml: |
-{{ include "fabric-crossconnect.serviceTosca" (index .Values "fabric-crossconnect") | indent 4 }}
-  040-fixtures.yaml: |
-{{ include "att-workflow-driver.serviceTosca"  (index .Values "att-workflow-driver") | indent 4 }}
-{{- end }}
-  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 }}
-  070-fabric-service.yaml: |
-{{ include "fabric.serviceTosca" .Values.fabric | indent 4 }}
-{{- end }}
-{{- if .Values.residentialService.enabled }}
-  080-fixtures.yaml: |
-{{ include "comac.basicFixturesTosca" . | indent 4 }}
-{{- end }}
-  0900-vrouter-service.yaml: |
-{{ include "vrouter.serviceTosca" .Values.vrouter | indent 4 }}
-  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/templates/tosca-job.yaml b/xos-profiles/comac/templates/tosca-job.yaml
deleted file mode 100644
index 63caaaa..0000000
--- a/xos-profiles/comac/templates/tosca-job.yaml
+++ /dev/null
@@ -1,54 +0,0 @@
----
-# Copyright 2019-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.
-
-apiVersion: batch/v1
-kind: Job
-metadata:
-  name: {{ template "comac.fullname" . }}-tosca-loader
-  labels:
-    app: {{ template "comac.name" . }}
-    chart: {{ template "comac.chart" . }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-spec:
-  backoffLimit: 12
-  template:
-    metadata:
-      labels:
-        app: {{ template "comac.name" . }}
-        release: {{ .Release.Name }}
-      annotations:
-        checksum/config: {{ include (print $.Template.BasePath "/tosca-configmap.yaml") . | sha256sum }}
-    spec:
-      restartPolicy: OnFailure
-      containers:
-        - name: {{ .Chart.Name }}-tosca-loader
-          image: {{ .Values.global.registry }}{{ .Values.images.toscaLoader.repository }}:{{ tpl .Values.images.toscaLoader.tag . }}
-          imagePullPolicy: {{ .Values.images.toscaLoader.pullPolicy }}
-          env:
-            - name: XOS_USER
-              value: {{ .Values.xosAdminUser }}
-            - name: XOS_PASSWD
-              valueFrom:
-                secretKeyRef:
-                  name: xos-admin-passwd-secret
-                  key: password
-          volumeMounts:
-            - name: comac-tosca
-              mountPath: /opt/tosca
-      volumes:
-        - name: comac-tosca
-          configMap:
-            name: comac-tosca
\ No newline at end of file
diff --git a/xos-profiles/comac/values.yaml b/xos-profiles/comac/values.yaml
deleted file mode 100644
index b6fc7e0..0000000
--- a/xos-profiles/comac/values.yaml
+++ /dev/null
@@ -1,74 +0,0 @@
----
-# Copyright 2019-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.
-
-# Default values for the COMAC profile.
-# This is a YAML-formatted file.
-# Declare variables to be passed into your templates.
-
-replicaCount: 1
-
-nameOverride: ""
-fullnameOverride: ""
-
-images:
-  toscaLoader:
-    repository: 'xosproject/tosca-loader'
-    tag: '{{ .Chart.AppVersion }}'
-    pullPolicy: 'Always'
-  xos_api_tester:
-    repository: 'xosproject/xos-api-tester'
-    tag: 'master'
-    pullPolicy: 'Always'
-
-global:
-  registry: ""
-
-xosAdminUser: "admin@opencord.org"
-xosAdminPassword: "letmein"
-
-# ONOS applications
-sadisAppUrl: "https://oss.sonatype.org/content/groups/public/org/opencord/sadis-app/3.1.0/sadis-app-3.1.0.oar"
-sadisAppVersion: "3.1.0"
-
-dhcpl2relayAppUrl: "https://oss.sonatype.org/content/groups/public/org/opencord/dhcpl2relay-app/1.6.0/dhcpl2relay-app-1.6.0.oar"
-dhcpl2relayAppVersion: "1.6.0"
-
-oltAppUrl: "https://oss.sonatype.org/content/groups/public/org/opencord/olt-app/3.0.1/olt-app-3.0.1.oar"
-oltAppVersion: "3.0.1"
-
-kafkaAppUrl: "https://oss.sonatype.org/content/groups/public/org/opencord/kafka/1.1.0/kafka-1.1.0.oar"
-kafkaAppVersion: "1.1.0"
-
-onosRestService: "onos-ui.default.svc.cluster.local"
-kafkaService: "cord-kafka.default.svc.cluster.local:9092"
-
-aaaAppUrl: "https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app/1.9.0/aaa-app-1.9.0.oar"
-aaaAppVersion: "1.9.0"
-
-att-workflow-driver:
-  kafkaService: "cord-platform-kafka"
-
-residentialService:
-  enabled: false
-
-# whether to install or not this shared services
-vrouter:
-  enabled: true
-fabric:
-  enabled: true
-onos-service:
-  enabled: true
-progran:
-  enabled: true
