CORD-3045 Reorganize TOSCA for rcord-lite profile
Change-Id: If215331658f778234eaa995ad95fdc7441ec355c
diff --git a/xos-services/fabric/templates/_tosca.tpl b/xos-services/fabric/templates/_tosca.tpl
new file mode 100644
index 0000000..09f3810
--- /dev/null
+++ b/xos-services/fabric/templates/_tosca.tpl
@@ -0,0 +1,30 @@
+{{/* 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.
+*/}}
+{{- define "fabric.serviceTosca" -}}
+tosca_definitions_version: tosca_simple_yaml_1_0
+description: Set up Fabric service
+imports:
+ - custom_types/fabricservice.yaml
+
+topology_template:
+ node_templates:
+ service#fabric:
+ type: tosca.nodes.FabricService
+ properties:
+ name: fabric
+ kind: platform
+{{- end -}}
diff --git a/xos-services/onos-service/templates/_tosca.tpl b/xos-services/onos-service/templates/_tosca.tpl
new file mode 100644
index 0000000..67438b4
--- /dev/null
+++ b/xos-services/onos-service/templates/_tosca.tpl
@@ -0,0 +1,87 @@
+{{/* 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.
+*/}}
+{{- define "onos-service.fabricAppTosca" -}}
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+ - custom_types/onosapp.yaml
+ - custom_types/onosservice.yaml
+description: ONOS service and app for fabric
+topology_template:
+ node_templates:
+ service#ONOS_Fabric:
+ type: tosca.nodes.ONOSService
+ properties:
+ name: ONOS_Fabric
+ kind: platform
+ no_container: true
+ rest_hostname: onos-fabric-ui
+ rest_port: 8181
+
+ Fabric_ONOS_app:
+ type: tosca.nodes.ONOSApp
+ requirements:
+ - owner:
+ node: service#ONOS_Fabric
+ relationship: tosca.relationships.BelongsToOne
+ properties:
+ name: Fabric_ONOS_app
+ dependencies: org.onosproject.drivers, org.onosproject.openflow, org.onosproject.netcfghostprovider, org.onosproject.segmentrouting, org.onosproject.vrouter
+{{- end -}}
+
+{{- define "onos-service.vtnAppTosca" -}}
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+imports:
+ - custom_types/onosapp.yaml
+ - custom_types/onosservice.yaml
+ - custom_types/serviceinstanceattribute.yaml
+
+description: Configures the VTN ONOS service
+
+topology_template:
+ node_templates:
+
+ service#ONOS_CORD:
+ type: tosca.nodes.ONOSService
+ properties:
+ name: ONOS_CORD
+ kind: platform
+ no_container: true
+ rest_hostname: onos-cord-ui
+ rest_port: 8181
+
+ VTN_ONOS_app:
+ type: tosca.nodes.ONOSApp
+ requirements:
+ - owner:
+ node: service#ONOS_CORD
+ relationship: tosca.relationships.BelongsToOne
+ properties:
+ name: VTN_ONOS_app
+ install_dependencies: https://repo.maven.apache.org/maven2/org/opencord/cord-config/1.3.1/cord-config-1.3.1.oar, https://repo.maven.apache.org/maven2/org/opencord/vtn/1.5.0/vtn-1.5.0.oar
+ dependencies: org.onosproject.drivers, org.onosproject.drivers.ovsdb, org.onosproject.openflow-base, org.onosproject.ovsdb-base, org.onosproject.dhcp
+
+ VTN_ONOS_app_autogenerate:
+ type: tosca.nodes.ServiceInstanceAttribute
+ requirements:
+ - service_instance:
+ node: VTN_ONOS_app
+ relationship: tosca.relationships.BelongsToOne
+ properties:
+ name: autogenerate
+ value: vtn-network-cfg
+{{- end -}}
diff --git a/xos-services/rcord/templates/_tosca.tpl b/xos-services/rcord/templates/_tosca.tpl
new file mode 100644
index 0000000..846837b
--- /dev/null
+++ b/xos-services/rcord/templates/_tosca.tpl
@@ -0,0 +1,28 @@
+{{/* 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.
+*/}}
+{{- define "rcord.serviceTosca" -}}
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+ - custom_types/rcordservice.yaml
+description: R-CORD service TOSCA
+topology_template:
+ node_templates:
+ service#rcord:
+ type: tosca.nodes.RCORDService
+ properties:
+ name: rcord
+{{- end -}}
diff --git a/xos-services/volt/templates/_tosca.tpl b/xos-services/volt/templates/_tosca.tpl
new file mode 100644
index 0000000..fffdab1
--- /dev/null
+++ b/xos-services/volt/templates/_tosca.tpl
@@ -0,0 +1,35 @@
+{{/* 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.
+*/}}
+{{- define "volt.serviceTosca" -}}
+tosca_definitions_version: tosca_simple_yaml_1_0
+description: Set up VOLT service
+imports:
+ - custom_types/voltservice.yaml
+
+topology_template:
+ node_templates:
+ service#volt:
+ type: tosca.nodes.VOLTService
+ properties:
+ name: volt
+ voltha_url: voltha.voltha.svc.cluster.local
+ voltha_port: 8882
+ onos_voltha_url: onos-voltha-ui.voltha.svc.cluster.local
+ onos_voltha_port: 8181
+ onos_voltha_user: karaf
+ onos_voltha_pass: karaf
+{{- end -}}
diff --git a/xos-services/vrouter/templates/_tosca.tpl b/xos-services/vrouter/templates/_tosca.tpl
new file mode 100644
index 0000000..7dce612
--- /dev/null
+++ b/xos-services/vrouter/templates/_tosca.tpl
@@ -0,0 +1,30 @@
+{{/* 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.
+*/}}
+{{- define "vrouter.serviceTosca" -}}
+tosca_definitions_version: tosca_simple_yaml_1_0
+description: Set up VRouter service
+imports:
+ - custom_types/vrouterservice.yaml
+
+topology_template:
+ node_templates:
+ service#vrouter:
+ type: tosca.nodes.VRouterService
+ properties:
+ name: vrouter
+ kind: rcord
+{{- end -}}
diff --git a/xos-services/vsg-hw/templates/_tosca.tpl b/xos-services/vsg-hw/templates/_tosca.tpl
new file mode 100644
index 0000000..d5d84be
--- /dev/null
+++ b/xos-services/vsg-hw/templates/_tosca.tpl
@@ -0,0 +1,29 @@
+{{/* 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.
+*/}}
+{{- define "vsg-hw.serviceTosca" -}}
+tosca_definitions_version: tosca_simple_yaml_1_0
+description: Set up VSG-HW service
+imports:
+ - custom_types/vsghwservice.yaml
+
+topology_template:
+ node_templates:
+ service#vsg-hw:
+ type: tosca.nodes.VSGHWService
+ properties:
+ name: vsg-hw
+{{- end -}}