aboutsummaryrefslogtreecommitdiffstats
path: root/robot/assets
diff options
context:
space:
mode:
authorkaihlavi <l.kaihlavirt@partner.samsung.com>2019-08-07 12:37:17 +0300
committerDaniel Rose <dr695h@att.com>2019-08-20 15:55:39 +0000
commita724b23901805edec2c1c0953c2324fb45acca46 (patch)
treec49762180aa20612966ee45ddd2de1bca2201fad /robot/assets
parentf23314c5c49d4afcc629d45a9a4422efcca17aaa (diff)
Add SDC-DCAE-DS integration test
Add initial end-to-end SDC integration test case including SDC-DCAE-DS via APIs to create a catalog service with monitoring configuration as described under https://wiki.onap.org/display/DW/How+to+Create+a+Service+with+a+Monitoring+Configuration+using+SDC This test case is adjusted for onapci from csit/tests/sdc-dcae-d/dcaed/ Please note that this commit changes commonly used sdc_interface.robot and affects all distribution test cases Issue-ID: SDC-2480 Signed-off-by: kaihlavi <l.kaihlavirt@partner.samsung.com> Change-Id: I8c7766d286f80431bfb8be60a8299ce98a4ae81f
Diffstat (limited to 'robot/assets')
-rwxr-xr-xrobot/assets/sdc/blueprints/schema.yaml551
-rwxr-xr-xrobot/assets/sdc/blueprints/template.yaml117
-rwxr-xr-xrobot/assets/sdc/blueprints/translate.yaml147
-rw-r--r--robot/assets/templates/sdc/catalog_service_monitoring.jinja42
-rw-r--r--robot/assets/templates/sdc/create_vfcmt.jinja4
-rw-r--r--robot/assets/templates/sdc/dcae_component_microservice.jinja41
-rw-r--r--robot/assets/templates/sdc/dcae_composition.jinja849
-rw-r--r--robot/assets/templates/sdc/dcae_monitoring_configuration.jinja11
8 files changed, 1762 insertions, 0 deletions
diff --git a/robot/assets/sdc/blueprints/schema.yaml b/robot/assets/sdc/blueprints/schema.yaml
new file mode 100755
index 00000000..7024a35c
--- /dev/null
+++ b/robot/assets/sdc/blueprints/schema.yaml
@@ -0,0 +1,551 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+capability_types:
+ dcae.capabilities.cdapHost:
+ derived_from: tosca.capabilities.Root
+ dcae.capabilities.composition.host:
+ derived_from: tosca.capabilities.Root
+ properties:
+ location_id:
+ type: string
+ service_id:
+ type: string
+ dcae.capabilities.dmmap.feed:
+ derived_from: tosca.capabilities.Root
+ properties:
+ feed_name:
+ type: string
+ location:
+ type: string
+ node_name:
+ type: string
+ dcae.capabilities.dmmap.topic:
+ derived_from: tosca.capabilities.Root
+ properties:
+ aaf_password:
+ type: string
+ aaf_username:
+ type: string
+ client_role:
+ type: string
+ location:
+ type: string
+ node_name:
+ type: string
+ topic_name:
+ type: string
+ dcae.capabilities.dockerHost:
+ derived_from: tosca.capabilities.Root
+ dcae.capabilities.policy:
+ derived_from: tosca.capabilities.Root
+ dcae.capabilities.service.provide:
+ derived_from: tosca.capabilities.Root
+ properties:
+ request_format:
+ type: string
+ request_version:
+ type: string
+ response_format:
+ type: string
+ response_version:
+ type: string
+ service_endpoint:
+ type: string
+ service_name:
+ type: string
+ verb:
+ type: string
+ dcae.capabilities.stream.subscribe:
+ derived_from: tosca.capabilities.Root
+ properties:
+ format:
+ type: string
+ route:
+ type: string
+ version:
+ type: string
+relationship_types:
+ cloudify.relationships.depends_on:
+ derived_from: tosca.relationships.Root
+ dcae.relationships.component_contained_in:
+ derived_from: tosca.relationships.Root
+ dcae.relationships.publish_events:
+ derived_from: tosca.relationships.Root
+ dcae.relationships.publish_files:
+ derived_from: tosca.relationships.Root
+ dcae.relationships.rework_connected_to:
+ derived_from: tosca.relationships.Root
+ dcae.relationships.subscribe_to_events:
+ derived_from: tosca.relationships.Root
+ dcae.relationships.subscribe_to_files:
+ derived_from: tosca.relationships.Root
+node_types:
+ cloudify.dcae.nodes.Root:
+ derived_from: tosca.nodes.Root
+ dcae.nodes.ContainerizedComponent:
+ derived_from: cloudify.dcae.nodes.Root
+ properties:
+ application_config:
+ required: true
+ type: map
+ docker_config:
+ type: map
+ image:
+ required: true
+ type: string
+ dcae.nodes.ContainerizedServiceComponent:
+ attributes:
+ service_component_name:
+ type: string
+ derived_from: dcae.nodes.ContainerizedComponent
+ properties:
+ location_id:
+ required: true
+ type: string
+ service_component_type:
+ required: true
+ type: string
+ dcae.nodes.ContainerizedServiceComponentUsingDmaap:
+ derived_from: dcae.nodes.ContainerizedServiceComponent
+ properties:
+ streams_publishes:
+ type: list
+ streams_subscribes:
+ type: list
+ dcae.nodes.DockerContainerForComponents:
+ attributes:
+ service_component_name:
+ type: string
+ derived_from: cloudify.dcae.nodes.Root
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ start:
+ inputs:
+ host_config:
+ type: map
+ stop:
+ inputs:
+ cleanup_image:
+ type: boolean
+ type: tosca.interfaces.Root
+ properties:
+ application_config:
+ required: true
+ type: map
+ docker_config:
+ type: map
+ image:
+ required: true
+ type: string
+ location_id:
+ required: true
+ type: string
+ service_component_type:
+ required: true
+ type: string
+ requirements:
+ - host:
+ capability: dcae.capabilities.dockerHost
+ relationship: dcae.relationships.component_contained_in
+ dcae.nodes.DockerContainerForComponentsUsingDmaap:
+ derived_from: dcae.nodes.DockerContainerForComponents
+ properties:
+ application_config:
+ required: true
+ type: map
+ docker_config:
+ type: map
+ image:
+ required: true
+ type: string
+ location_id:
+ required: true
+ type: string
+ service_component_type:
+ required: true
+ type: string
+ streams_publishes:
+ type: list
+ streams_subscribes:
+ type: list
+ attributes:
+ service_component_name:
+ type: string
+ requirements:
+ - host:
+ capability: dcae.capabilities.dockerHost
+ relationship: dcae.relationships.component_contained_in
+ - stream_subscribe_0:
+ capability: dcae.capabilities.dmmap.topic
+ relationship: dcae.relationships.subscribe_to_events
+ - stream_publish_0:
+ capability: dcae.capabilities.dmmap.topic
+ relationship: dcae.relationships.publish_events
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ start:
+ inputs:
+ host_config:
+ type: map
+ stop:
+ inputs:
+ cleanup_image:
+ type: boolean
+ type: tosca.interfaces.Root
+ dcae.nodes.ExistingFeed:
+ capabilities:
+ feed:
+ type: dcae.capabilities.dmmap.feed
+ derived_from: cloudify.dcae.nodes.Root
+ properties:
+ feed_id:
+ type: string
+ dcae.nodes.ExistingTopic:
+ capabilities:
+ topic:
+ type: dcae.capabilities.dmmap.topic
+ derived_from: cloudify.dcae.nodes.Root
+ properties:
+ fqtn:
+ type: string
+ dcae.nodes.ExternalTargetFeed:
+ capabilities:
+ feed:
+ type: dcae.capabilities.dmmap.feed
+ derived_from: cloudify.dcae.nodes.Root
+ properties:
+ url:
+ type: string
+ username:
+ type: string
+ userpw:
+ type: string
+ dcae.nodes.Feed:
+ capabilities:
+ feed:
+ type: dcae.capabilities.dmmap.feed
+ derived_from: cloudify.dcae.nodes.Root
+ properties:
+ feed_name:
+ type: string
+ dcae.nodes.MicroService.cdap:
+ attributes:
+ service_component_name:
+ type: string
+ derived_from: cloudify.dcae.nodes.Root
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ create:
+ inputs:
+ connected_broker_dns_name:
+ type: string
+ type: tosca.interfaces.Root
+ properties:
+ app_config:
+ required: false
+ type: map
+ app_preferences:
+ required: false
+ type: map
+ artifact_name:
+ required: false
+ type: string
+ artifact_version:
+ required: false
+ type: string
+ connections:
+ required: false
+ type: map
+ jar_url:
+ type: string
+ namespace:
+ required: false
+ type: string
+ program_preferences:
+ required: false
+ type: list
+ programs:
+ required: false
+ type: list
+ service_component_type:
+ type: string
+ service_endpoints:
+ required: false
+ type: list
+ streamname:
+ required: false
+ type: string
+ requirements:
+ - host:
+ capability: dcae.capabilities.cdapHost
+ relationship: dcae.relationships.component_contained_in
+ dcae.nodes.SelectedDockerHost:
+ capabilities:
+ host:
+ type: dcae.capabilities.dockerHost
+ derived_from: cloudify.dcae.nodes.Root
+ properties:
+ docker_host_override:
+ type: string
+ location_id:
+ required: true
+ type: string
+ dcae.nodes.Topic:
+ capabilities:
+ topic:
+ type: dcae.capabilities.dmmap.topic
+ derived_from: cloudify.dcae.nodes.Root
+ properties:
+ topic_name:
+ type: string
+ dcae.nodes.composition.virtual:
+ capabilities:
+ host:
+ type: dcae.capabilities.composition.host
+ derived_from: tosca.nodes.Root
+ properties:
+ location_id:
+ required: true
+ type: string
+ service_id:
+ required: true
+ type: string
+ dcae.nodes.policies:
+ capabilities:
+ policy:
+ type: dcae.capabilities.policy
+ derived_from: cloudify.dcae.nodes.Root
+ properties:
+ policy_filter:
+ type: map
+ dcae.nodes.policy:
+ capabilities:
+ policy:
+ type: dcae.capabilities.policy
+ derived_from: cloudify.dcae.nodes.Root
+ properties:
+ policy_id:
+ required: true
+ type: string
+ policy.nodes.Root:
+ derived_from: tosca.nodes.Root
+ properties:
+ policyDescription:
+ required: false
+ type: string
+ policyName:
+ required: true
+ type: string
+ policyScope:
+ required: true
+ type: string
+ policyVersion:
+ required: true
+ type: string
+ tosca.dcae.nodes.Root:
+ derived_from: tosca.nodes.Root
+ tosca.dcae.nodes.cdapApp:
+ attributes:
+ service_component_name:
+ type: string
+ derived_from: tosca.dcae.nodes.Root
+ properties:
+ connected_broker_dns_name:
+ default: cdap_broker
+ required: true
+ type: string
+ jar_url:
+ required: true
+ type: string
+ service_component_type:
+ required: true
+ type: string
+ requirements:
+ - host:
+ capability: dcae.capabilities.cdapHost
+ relationship: dcae.relationships.component_contained_in
+ tosca.dcae.nodes.dmaap.existingFeed:
+ capabilities:
+ feed:
+ type: dcae.capabilities.dmmap.feed
+ derived_from: tosca.dcae.nodes.Root
+ properties:
+ feed_id:
+ type: string
+ location:
+ type: string
+ node_name:
+ type: string
+ requirements:
+ - composition:
+ capability: dcae.capabilities.composition.host
+ tosca.dcae.nodes.dmaap.existingTopic:
+ capabilities:
+ topic:
+ type: dcae.capabilities.dmmap.topic
+ derived_from: tosca.dcae.nodes.Root
+ properties:
+ aaf_password:
+ type: string
+ aaf_username:
+ type: string
+ client_role:
+ type: string
+ fqtn:
+ type: string
+ location:
+ type: string
+ node_name:
+ type: string
+ requirements:
+ - composition:
+ capability: dcae.capabilities.composition.host
+ tosca.dcae.nodes.dmaap.externalTargetFeed:
+ capabilities:
+ feed:
+ type: dcae.capabilities.dmmap.feed
+ derived_from: tosca.dcae.nodes.Root
+ properties:
+ location:
+ type: string
+ node_name:
+ type: string
+ url:
+ type: string
+ username:
+ type: string
+ userpw:
+ type: string
+ requirements:
+ - composition:
+ capability: dcae.capabilities.composition.host
+ tosca.dcae.nodes.dmaap.feed:
+ capabilities:
+ feed:
+ type: dcae.capabilities.dmmap.feed
+ derived_from: tosca.dcae.nodes.Root
+ properties:
+ feed_name:
+ type: string
+ location:
+ type: string
+ node_name:
+ type: string
+ requirements:
+ - composition:
+ capability: dcae.capabilities.composition.host
+ tosca.dcae.nodes.dmaap.topic:
+ capabilities:
+ topic:
+ type: dcae.capabilities.dmmap.topic
+ derived_from: tosca.dcae.nodes.Root
+ properties:
+ aaf_password:
+ type: string
+ aaf_username:
+ type: string
+ client_role:
+ type: string
+ location:
+ type: string
+ node_name:
+ type: string
+ topic_name:
+ type: string
+ requirements:
+ - composition:
+ capability: dcae.capabilities.composition.host
+ tosca.dcae.nodes.dockerApp:
+ attributes:
+ service_component_name:
+ type: string
+ derived_from: tosca.dcae.nodes.Root
+ properties:
+ cpu_period:
+ default: 10000
+ required: true
+ type: integer
+ cpu_quota:
+ default: 30000
+ required: true
+ type: integer
+ cpu_shares:
+ default: 256
+ required: true
+ type: integer
+ image:
+ required: true
+ type: string
+ location_id:
+ required: true
+ type: string
+ mem_limit:
+ default: 500m
+ required: true
+ type: string
+ restart_policy.Name:
+ default: on-failure
+ required: true
+ type: string
+ restart_policy.max_retry_counts:
+ default: 3
+ required: true
+ type: integer
+ service_component_type:
+ required: true
+ type: string
+ requirements:
+ - host:
+ capability: dcae.capabilities.dockerHost
+ relationship: dcae.relationships.component_contained_in
+ - composition:
+ capability: dcae.capabilities.composition.host
+ tosca.dcae.nodes.dockerApp.tca-docker:
+ derived_from: tosca.dcae.nodes.dockerApp
+ requirements:
+ - stream_subscribe_0:
+ capability: dcae.capabilities.dmmap.topic
+ relationship: dcae.relationships.subscribe_to_events
+ - stream_publish_0:
+ capability: dcae.capabilities.dmmap.topic
+ relationship: dcae.relationships.publish_events
+ tosca.dcae.nodes.dockerHost:
+ capabilities:
+ host:
+ type: dcae.capabilities.dockerHost
+ derived_from: tosca.dcae.nodes.Root
+ properties:
+ docker_host_override:
+ type: string
+ location_id:
+ required: true
+ type: string
+ requirements:
+ - composition:
+ capability: dcae.capabilities.composition.host
+ tosca.dcae.nodes.policies:
+ capabilities:
+ policy:
+ type: dcae.capabilities.policy
+ derived_from: tosca.dcae.nodes.Root
+ properties:
+ configAttributes:
+ type: string
+ configName:
+ type: string
+ onapName:
+ type: string
+ policyName:
+ type: string
+ unique:
+ type: boolean
+ tosca.dcae.nodes.policy:
+ capabilities:
+ policy:
+ type: dcae.capabilities.policy
+ derived_from: tosca.dcae.nodes.Root
+ properties:
+ policy_id:
+ required: true
+ type: string
+ policy_name:
+ type: string
diff --git a/robot/assets/sdc/blueprints/template.yaml b/robot/assets/sdc/blueprints/template.yaml
new file mode 100755
index 00000000..5a03da76
--- /dev/null
+++ b/robot/assets/sdc/blueprints/template.yaml
@@ -0,0 +1,117 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: tca-docker
+imports:
+- schema: schema.yaml
+topology_template:
+ inputs:
+ topic0_aaf_password:
+ type: string
+ topic0_aaf_username:
+ type: string
+ topic0_client_role:
+ type: string
+ topic1_aaf_password:
+ type: string
+ topic1_aaf_username:
+ type: string
+ topic1_client_role:
+ type: string
+ node_templates:
+ tca-docker:
+ type: tosca.dcae.nodes.dockerApp.tca-docker
+ properties:
+ location_id:
+ get_property:
+ - SELF
+ - composition
+ - location_id
+ requirements:
+ - stream_subscribe_0: topic0
+ - stream_publish_0: topic1
+ topic0:
+ type: tosca.dcae.nodes.dmaap.topic
+ properties:
+ aaf_password:
+ get_input: topic0_aaf_password
+ aaf_username:
+ get_input: topic0_aaf_username
+ client_role:
+ get_input: topic0_client_role
+ location:
+ get_property:
+ - SELF
+ - composition
+ - location_id
+ node_name: __GET_NODE_NAME__
+ topic_name: ''
+ capabilities:
+ topic:
+ properties:
+ aaf_password:
+ get_property:
+ - SELF
+ - aaf_password
+ aaf_username:
+ get_property:
+ - SELF
+ - aaf_username
+ client_role:
+ get_property:
+ - SELF
+ - client_role
+ location:
+ get_property:
+ - SELF
+ - location
+ node_name:
+ get_property:
+ - SELF
+ - node_name
+ topic_name:
+ get_property:
+ - SELF
+ - topic_name
+ topic1:
+ type: tosca.dcae.nodes.dmaap.topic
+ properties:
+ aaf_password:
+ get_input: topic1_aaf_password
+ aaf_username:
+ get_input: topic1_aaf_username
+ client_role:
+ get_input: topic1_client_role
+ location:
+ get_property:
+ - SELF
+ - composition
+ - location_id
+ node_name: __GET_NODE_NAME__
+ topic_name: ''
+ capabilities:
+ topic:
+ properties:
+ aaf_password:
+ get_property:
+ - SELF
+ - aaf_password
+ aaf_username:
+ get_property:
+ - SELF
+ - aaf_username
+ client_role:
+ get_property:
+ - SELF
+ - client_role
+ location:
+ get_property:
+ - SELF
+ - location
+ node_name:
+ get_property:
+ - SELF
+ - node_name
+ topic_name:
+ get_property:
+ - SELF
+ - topic_name
diff --git a/robot/assets/sdc/blueprints/translate.yaml b/robot/assets/sdc/blueprints/translate.yaml
new file mode 100755
index 00000000..5515dc2c
--- /dev/null
+++ b/robot/assets/sdc/blueprints/translate.yaml
@@ -0,0 +1,147 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: tca-docker_translate
+imports:
+- schema: schema.yaml
+topology_template:
+ inputs:
+ cpu_period:
+ type: integer
+ default: 10000
+ cpu_quota:
+ type: integer
+ default: 30000
+ cpu_shares:
+ type: integer
+ default: 256
+ image:
+ type: string
+ location_id:
+ type: string
+ mem_limit:
+ type: string
+ default: 500m
+ restart_policy.Name:
+ type: string
+ default: on-failure
+ restart_policy.max_retry_counts:
+ type: integer
+ default: 3
+ service_component_type:
+ type: string
+ substitution_mappings:
+ node_type: tosca.dcae.nodes.dockerApp.tca-docker
+ capabilities: {}
+ requirements:
+ host:
+ - tca-docker
+ - host
+ stream_publish_0:
+ - tca-docker
+ - stream_publish_0
+ stream_subscribe_0:
+ - tca-docker
+ - stream_subscribe_0
+ node_templates:
+ tca-docker:
+ type: dcae.nodes.DockerContainerForComponentsUsingDmaap
+ properties:
+ application_config:
+ services_calls: {}
+ streams_publishes:
+ tca_handle_out:
+ aaf_password:
+ get_property:
+ - SELF
+ - stream_publish_0
+ - aaf_password
+ aaf_username:
+ get_property:
+ - SELF
+ - stream_publish_0
+ - aaf_username
+ dmaap_info:
+ concat:
+ - '<<'
+ - get_property:
+ - SELF
+ - stream_publish_0
+ - node_name
+ - '>>'
+ type: message_router
+ streams_subscribes:
+ tca_handle_in:
+ aaf_password:
+ get_property:
+ - SELF
+ - stream_subscribe_0
+ - aaf_password
+ aaf_username:
+ get_property:
+ - SELF
+ - stream_subscribe_0
+ - aaf_username
+ dmaap_info:
+ concat:
+ - '<<'
+ - get_property:
+ - SELF
+ - stream_subscribe_0
+ - node_name
+ - '>>'
+ type: message_router
+ docker_config:
+ healthcheck:
+ endpoint: /
+ interval: 15s
+ timeout: 1s
+ type: https
+ ports:
+ - 11011:11011
+ image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0
+ location_id:
+ get_input: location_id
+ service_component_type: tca-docker
+ streams_publishes:
+ - client_role:
+ get_property:
+ - SELF
+ - stream_publish_0
+ - client_role
+ location:
+ get_property:
+ - SELF
+ - stream_publish_0
+ - location
+ name:
+ get_property:
+ - SELF
+ - stream_publish_0
+ - node_name
+ type: message_router
+ streams_subscribes:
+ - client_role:
+ get_property:
+ - SELF
+ - stream_subscribe_0
+ - client_role
+ location:
+ get_property:
+ - SELF
+ - stream_subscribe_0
+ - location
+ name:
+ get_property:
+ - SELF
+ - stream_subscribe_0
+ - node_name
+ type: message_router
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ type: tosca.interfaces.Root
+ start:
+ inputs:
+ host_config: null
+ stop:
+ inputs:
+ cleanup_image: null
diff --git a/robot/assets/templates/sdc/catalog_service_monitoring.jinja b/robot/assets/templates/sdc/catalog_service_monitoring.jinja
new file mode 100644
index 00000000..3cd326e4
--- /dev/null
+++ b/robot/assets/templates/sdc/catalog_service_monitoring.jinja
@@ -0,0 +1,42 @@
+{
+ "artifacts": {},
+ "toscaArtifacts": {},
+ "contactId": "cs0008",
+ "categories": [
+ {
+ "name": "Network L4+",
+ "normalizedName": "network l4+",
+ "uniqueId": "serviceNewCategory.network l4+",
+ "icons": [
+ "network_l_4"
+ ],
+ "subcategories": null,
+ "version": null,
+ "ownerId": null,
+ "empty": false,
+ "type": null
+ }
+ ],
+ "description": "Created by robot for monitoring template",
+ "icon": "defaulticon",
+ "componentInstancesProperties": {},
+ "componentInstancesAttributes": {},
+ "name": "{{service_name}}",
+ "tags": [
+ "robot-ete",
+ "{{service_name}}"
+ ],
+ "capabilities": {},
+ "requirements": {},
+ "deploymentArtifacts": {},
+ "componentType": "SERVICE",
+ "projectCode": "123456",
+ "componentInstances": [],
+ "properties": [],
+ "attributes": [],
+ "forwardingPaths": {},
+ "ecompGeneratedNaming": true,
+ "serviceApiArtifacts": {},
+ "instantiationType": "A-la-carte",
+ "environmentContext": "General_Revenue-Bearing"
+}
diff --git a/robot/assets/templates/sdc/create_vfcmt.jinja b/robot/assets/templates/sdc/create_vfcmt.jinja
new file mode 100644
index 00000000..d399e25e
--- /dev/null
+++ b/robot/assets/templates/sdc/create_vfcmt.jinja
@@ -0,0 +1,4 @@
+{
+"name":"{{vfcmtName}}",
+"description":"{{description}}"
+}
diff --git a/robot/assets/templates/sdc/dcae_component_microservice.jinja b/robot/assets/templates/sdc/dcae_component_microservice.jinja
new file mode 100644
index 00000000..a3661b36
--- /dev/null
+++ b/robot/assets/templates/sdc/dcae_component_microservice.jinja
@@ -0,0 +1,41 @@
+{
+ "artifacts": {},
+ "toscaArtifacts": {},
+ "contactId": "cs0008",
+ "categories": [
+ {
+ "name": "DCAE Component",
+ "normalizedName": "dcaecomponent",
+ "uniqueId": "resourceNewCategory.dcaecomponent",
+ "subcategories": [
+ {
+ "name": "Microservice",
+ "normalizedName": "microservice",
+ "uniqueId": "resourceNewCategory.dcaecomponent.microservice",
+ "icons": [
+ "dcae_microservice"
+ ]
+ }
+ ]
+ }
+ ],
+ "description": "virtual function",
+ "icon": "defaulticon",
+ "componentInstancesProperties": {},
+ "componentInstancesAttributes": {},
+ "name": "{{resource_name}}",
+ "tags": [
+ "{{resource_name}}"
+ ],
+ "capabilities": {},
+ "requirements": {},
+ "deploymentArtifacts": {},
+ "componentType": "RESOURCE",
+ "vendorName": "{{vendor_name}}",
+ "vendorRelease": "1.0",
+ "componentInstances": [],
+ "properties": [],
+ "attributes": [],
+ "groups": [],
+ "resourceType": "VF"
+}
diff --git a/robot/assets/templates/sdc/dcae_composition.jinja b/robot/assets/templates/sdc/dcae_composition.jinja
new file mode 100644
index 00000000..c2557ca2
--- /dev/null
+++ b/robot/assets/templates/sdc/dcae_composition.jinja
@@ -0,0 +1,849 @@
+{
+ "cid": "{{cid}}",
+ "flowType": "TCA Hi Lo",
+ "inputs": [],
+ "nodes": [
+ {
+ "capabilities": [
+ {
+ "name": "feature",
+ "type": {
+ "id": "template.yaml/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ }
+ }
+ ],
+ "description": "/sdc/v1/catalog/resources/{{vf_id}}/toscaModel/",
+ "id": "{{vf_id}}",
+ "name": "tca-docker",
+ "ndata": {
+ "label": "tca-docker",
+ "name": "n.1559041944060.0",
+ "ports": [],
+ "px": 364,
+ "py": 437,
+ "radius": 30,
+ "x": 365,
+ "y": 438
+ },
+ "nid": "n.1559041944060.0",
+ "properties": [
+ {
+ "default": 10000,
+ "name": "cpu_period",
+ "required": true,
+ "type": "integer"
+ },
+ {
+ "default": 30000,
+ "name": "cpu_quota",
+ "required": true,
+ "type": "integer"
+ },
+ {
+ "default": 256,
+ "name": "cpu_shares",
+ "required": true,
+ "type": "integer"
+ },
+ {
+ "name": "image",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "composition",
+ "location_id"
+ ]
+ }
+ },
+ "name": "location_id",
+ "required": true,
+ "type": "string",
+ "value": {
+ "get_property": [
+ "SELF",
+ "composition",
+ "location_id"
+ ]
+ }
+ },
+ {
+ "default": "500m",
+ "name": "mem_limit",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "default": "on-failure",
+ "name": "restart_policy.Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "default": 3,
+ "name": "restart_policy.max_retry_counts",
+ "required": true,
+ "type": "integer"
+ },
+ {
+ "name": "service_component_type",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "requirements": [
+ {
+ "capability": {
+ "id": "template.yaml/dcae.capabilities.dmmap.topic",
+ "name": "dcae.capabilities.dmmap.topic"
+ },
+ "name": "stream_subscribe_0",
+ "node": "topic0",
+ "relationship": {
+ "type": "dcae.relationships.subscribe_to_events"
+ }
+ },
+ {
+ "capability": {
+ "id": "template.yaml/dcae.capabilities.dmmap.topic",
+ "name": "dcae.capabilities.dmmap.topic"
+ },
+ "name": "stream_publish_0",
+ "node": "topic1",
+ "relationship": {
+ "type": "dcae.relationships.publish_events"
+ }
+ },
+ {
+ "capability": {
+ "id": "template.yaml/dcae.capabilities.dockerHost",
+ "name": "dcae.capabilities.dockerHost"
+ },
+ "name": "host",
+ "relationship": {
+ "type": "dcae.relationships.component_contained_in"
+ }
+ },
+ {
+ "capability": {
+ "id": "template.yaml/dcae.capabilities.composition.host",
+ "name": "dcae.capabilities.composition.host"
+ },
+ "name": "composition"
+ },
+ {
+ "capability": {
+ "id": "template.yaml/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ },
+ "name": "dependency",
+ "node": "tosca.nodes.Root",
+ "occurrences": [
+ 0,
+ "UNBOUNDED"
+ ],
+ "relationship": {
+ "type": "tosca.relationships.DependsOn"
+ }
+ }
+ ],
+ "type": {
+ "name": "tosca.dcae.nodes.dockerApp.tca-docker"
+ },
+ "typeinfo": {
+ "capabilities": [
+ {
+ "name": "feature",
+ "type": {
+ "id": "{{vf_id}}/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ }
+ }
+ ],
+ "hierarchy": [
+ {
+ "id": "{{vf_id}}/tosca.dcae.nodes.dockerApp",
+ "name": "tosca.dcae.nodes.dockerApp"
+ },
+ {
+ "id": "{{vf_id}}/tosca.dcae.nodes.Root",
+ "name": "tosca.dcae.nodes.Root"
+ },
+ {
+ "description": "The TOSCA Node Type all other TOSCA base Node Types derive from",
+ "id": "{{vf_id}}/tosca.nodes.Root",
+ "name": "tosca.nodes.Root"
+ }
+ ],
+ "id": "{{vf_id}}/tosca.dcae.nodes.dockerApp.tca-docker",
+ "itemId": "{{vf_id}}/tosca.dcae.nodes.dockerApp.tca-docker",
+ "name": "tosca.dcae.nodes.dockerApp.tca-docker",
+ "requirements": [
+ {
+ "capability": {
+ "id": "{{vf_id}}/dcae.capabilities.dmmap.topic",
+ "name": "dcae.capabilities.dmmap.topic"
+ },
+ "id": "{{vf_id}}/stream_subscribe_0",
+ "name": "stream_subscribe_0",
+ "node": {
+ "id": "{{vf_id}}/dcae.capabilities.dmmap.topic",
+ "name": "dcae.capabilities.dmmap.topic"
+ },
+ "relationship": {
+ "type": "dcae.relationships.subscribe_to_events"
+ }
+ },
+ {
+ "capability": {
+ "id": "{{vf_id}}/dcae.capabilities.dmmap.topic",
+ "name": "dcae.capabilities.dmmap.topic"
+ },
+ "id": "{{vf_id}}/stream_publish_0",
+ "name": "stream_publish_0",
+ "node": {
+ "id": "{{vf_id}}/dcae.capabilities.dmmap.topic",
+ "name": "dcae.capabilities.dmmap.topic"
+ },
+ "relationship": {
+ "type": "dcae.relationships.publish_events"
+ }
+ },
+ {
+ "capability": {
+ "id": "{{vf_id}}/dcae.capabilities.dockerHost",
+ "name": "dcae.capabilities.dockerHost"
+ },
+ "id": "{{vf_id}}/host",
+ "name": "host",
+ "node": {
+ "id": "{{vf_id}}/dcae.capabilities.dockerHost",
+ "name": "dcae.capabilities.dockerHost"
+ },
+ "relationship": {
+ "type": "dcae.relationships.component_contained_in"
+ }
+ },
+ {
+ "capability": {
+ "id": "{{vf_id}}/dcae.capabilities.composition.host",
+ "name": "dcae.capabilities.composition.host"
+ },
+ "id": "{{vf_id}}/composition",
+ "name": "composition",
+ "node": {
+ "id": "{{vf_id}}/dcae.capabilities.composition.host",
+ "name": "dcae.capabilities.composition.host"
+ }
+ },
+ {
+ "capability": {
+ "id": "{{vf_id}}/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ },
+ "id": "{{vf_id}}/dependency",
+ "name": "dependency",
+ "node": {
+ "id": "{{vf_id}}/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ },
+ "occurrences": [
+ 0,
+ "UNBOUNDED"
+ ],
+ "relationship": {
+ "type": "tosca.relationships.DependsOn"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "capabilities": [
+ {
+ "name": "topic",
+ "properties": [
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "aaf_password"
+ ]
+ }
+ },
+ "name": "aaf_password",
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "aaf_username"
+ ]
+ }
+ },
+ "name": "aaf_username",
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "client_role"
+ ]
+ }
+ },
+ "name": "client_role",
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "location"
+ ]
+ }
+ },
+ "name": "location",
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "node_name"
+ ]
+ }
+ },
+ "name": "node_name",
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "topic_name"
+ ]
+ }
+ },
+ "name": "topic_name",
+ "type": "string"
+ }
+ ],
+ "type": {
+ "id": "template.yaml/dcae.capabilities.dmmap.topic",
+ "name": "dcae.capabilities.dmmap.topic"
+ }
+ },
+ {
+ "name": "feature",
+ "type": {
+ "id": "template.yaml/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ }
+ }
+ ],
+ "description": "/sdc/v1/catalog/resources/{{vf_id}}/toscaModel/",
+ "id": "{{vf_id}}",
+ "name": "topic0",
+ "ndata": {
+ "label": "topic0",
+ "name": "n.1559041944077.1",
+ "ports": [],
+ "px": 414,
+ "py": 430.9243296300162,
+ "radius": 30,
+ "x": 415,
+ "y": 431.9243296300162
+ },
+ "nid": "n.1559041944077.1",
+ "properties": [
+ {
+ "assignment": {
+ "value": {
+ "get_input": "topic0_aaf_password"
+ }
+ },
+ "name": "aaf_password",
+ "type": "string",
+ "value": {
+ "get_input": "topic0_aaf_password"
+ }
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_input": "topic0_aaf_username"
+ }
+ },
+ "name": "aaf_username",
+ "type": "string",
+ "value": {
+ "get_input": "topic0_aaf_username"
+ }
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_input": "topic0_client_role"
+ }
+ },
+ "name": "client_role",
+ "type": "string",
+ "value": {
+ "get_input": "topic0_client_role"
+ }
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "composition",
+ "location_id"
+ ]
+ }
+ },
+ "name": "location",
+ "type": "string",
+ "value": {
+ "get_property": [
+ "SELF",
+ "composition",
+ "location_id"
+ ]
+ }
+ },
+ {
+ "assignment": {
+ "value": "__GET_NODE_NAME__"
+ },
+ "name": "node_name",
+ "type": "string",
+ "value": "__GET_NODE_NAME__"
+ },
+ {
+ "assignment": {
+ "value": ""
+ },
+ "name": "topic_name",
+ "type": "string"
+ }
+ ],
+ "requirements": [
+ {
+ "capability": {
+ "id": "template.yaml/dcae.capabilities.composition.host",
+ "name": "dcae.capabilities.composition.host"
+ },
+ "name": "composition"
+ },
+ {
+ "capability": {
+ "id": "template.yaml/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ },
+ "name": "dependency",
+ "node": "tosca.nodes.Root",
+ "occurrences": [
+ 0,
+ "UNBOUNDED"
+ ],
+ "relationship": {
+ "type": "tosca.relationships.DependsOn"
+ }
+ }
+ ],
+ "type": {
+ "name": "tosca.dcae.nodes.dmaap.topic"
+ },
+ "typeinfo": {
+ "capabilities": [
+ {
+ "name": "topic",
+ "type": {
+ "id": "{{vf_id}}/dcae.capabilities.dmmap.topic",
+ "name": "dcae.capabilities.dmmap.topic"
+ }
+ },
+ {
+ "name": "feature",
+ "type": {
+ "id": "{{vf_id}}/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ }
+ }
+ ],
+ "hierarchy": [
+ {
+ "id": "{{vf_id}}/tosca.dcae.nodes.Root",
+ "name": "tosca.dcae.nodes.Root"
+ },
+ {
+ "description": "The TOSCA Node Type all other TOSCA base Node Types derive from",
+ "id": "{{vf_id}}/tosca.nodes.Root",
+ "name": "tosca.nodes.Root"
+ }
+ ],
+ "id": "{{vf_id}}/tosca.dcae.nodes.dmaap.topic",
+ "itemId": "{{vf_id}}/tosca.dcae.nodes.dmaap.topic",
+ "name": "tosca.dcae.nodes.dmaap.topic",
+ "requirements": [
+ {
+ "capability": {
+ "id": "{{vf_id}}/dcae.capabilities.composition.host",
+ "name": "dcae.capabilities.composition.host"
+ },
+ "id": "{{vf_id}}/composition",
+ "name": "composition",
+ "node": {
+ "id": "{{vf_id}}/dcae.capabilities.composition.host",
+ "name": "dcae.capabilities.composition.host"
+ }
+ },
+ {
+ "capability": {
+ "id": "{{vf_id}}/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ },
+ "id": "{{vf_id}}/dependency",
+ "name": "dependency",
+ "node": {
+ "id": "{{vf_id}}/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ },
+ "occurrences": [
+ 0,
+ "UNBOUNDED"
+ ],
+ "relationship": {
+ "type": "tosca.relationships.DependsOn"
+ }
+ }
+ ]
+ }
+ },
+ {
+ "capabilities": [
+ {
+ "name": "topic",
+ "properties": [
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "aaf_password"
+ ]
+ }
+ },
+ "name": "aaf_password",
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "aaf_username"
+ ]
+ }
+ },
+ "name": "aaf_username",
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "client_role"
+ ]
+ }
+ },
+ "name": "client_role",
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "location"
+ ]
+ }
+ },
+ "name": "location",
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "node_name"
+ ]
+ }
+ },
+ "name": "node_name",
+ "type": "string"
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "topic_name"
+ ]
+ }
+ },
+ "name": "topic_name",
+ "type": "string"
+ }
+ ],
+ "type": {
+ "id": "template.yaml/dcae.capabilities.dmmap.topic",
+ "name": "dcae.capabilities.dmmap.topic"
+ }
+ },
+ {
+ "name": "feature",
+ "type": {
+ "id": "template.yaml/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ }
+ }
+ ],
+ "description": "/sdc/v1/catalog/resources/{{vf_id}}/toscaModel/",
+ "id": "{{vf_id}}",
+ "name": "topic1",
+ "ndata": {
+ "label": "topic1",
+ "name": "n.1559041944083.2",
+ "ports": [],
+ "px": 464,
+ "py": 451.6297431929615,
+ "radius": 30,
+ "x": 465,
+ "y": 452.6297431929615
+ },
+ "nid": "n.1559041944083.2",
+ "properties": [
+ {
+ "assignment": {
+ "value": {
+ "get_input": "topic1_aaf_password"
+ }
+ },
+ "name": "aaf_password",
+ "type": "string",
+ "value": {
+ "get_input": "topic1_aaf_password"
+ }
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_input": "topic1_aaf_username"
+ }
+ },
+ "name": "aaf_username",
+ "type": "string",
+ "value": {
+ "get_input": "topic1_aaf_username"
+ }
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_input": "topic1_client_role"
+ }
+ },
+ "name": "client_role",
+ "type": "string",
+ "value": {
+ "get_input": "topic1_client_role"
+ }
+ },
+ {
+ "assignment": {
+ "value": {
+ "get_property": [
+ "SELF",
+ "composition",
+ "location_id"
+ ]
+ }
+ },
+ "name": "location",
+ "type": "string",
+ "value": {
+ "get_property": [
+ "SELF",
+ "composition",
+ "location_id"
+ ]
+ }
+ },
+ {
+ "assignment": {
+ "value": "__GET_NODE_NAME__"
+ },
+ "name": "node_name",
+ "type": "string",
+ "value": "__GET_NODE_NAME__"
+ },
+ {
+ "assignment": {
+ "value": ""
+ },
+ "name": "topic_name",
+ "type": "string"
+ }
+ ],
+ "requirements": [
+ {
+ "capability": {
+ "id": "template.yaml/dcae.capabilities.composition.host",
+ "name": "dcae.capabilities.composition.host"
+ },
+ "name": "composition"
+ },
+ {
+ "capability": {
+ "id": "template.yaml/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ },
+ "name": "dependency",
+ "node": "tosca.nodes.Root",
+ "occurrences": [
+ 0,
+ "UNBOUNDED"
+ ],
+ "relationship": {
+ "type": "tosca.relationships.DependsOn"
+ }
+ }
+ ],
+ "type": {
+ "name": "tosca.dcae.nodes.dmaap.topic"
+ },
+ "typeinfo": {
+ "capabilities": [
+ {
+ "name": "topic",
+ "type": {
+ "id": "{{vf_id}}/dcae.capabilities.dmmap.topic",
+ "name": "dcae.capabilities.dmmap.topic"
+ }
+ },
+ {
+ "name": "feature",
+ "type": {
+ "id": "{{vf_id}}/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ }
+ }
+ ],
+ "hierarchy": [
+ {
+ "id": "{{vf_id}}/tosca.dcae.nodes.Root",
+ "name": "tosca.dcae.nodes.Root"
+ },
+ {
+ "description": "The TOSCA Node Type all other TOSCA base Node Types derive from",
+ "id": "{{vf_id}}/tosca.nodes.Root",
+ "name": "tosca.nodes.Root"
+ }
+ ],
+ "id": "{{vf_id}}/tosca.dcae.nodes.dmaap.topic",
+ "itemId": "{{vf_id}}/tosca.dcae.nodes.dmaap.topic",
+ "name": "tosca.dcae.nodes.dmaap.topic",
+ "requirements": [
+ {
+ "capability": {
+ "id": "{{vf_id}}/dcae.capabilities.composition.host",
+ "name": "dcae.capabilities.composition.host"
+ },
+ "id": "{{vf_id}}/composition",
+ "name": "composition",
+ "node": {
+ "id": "{{vf_id}}/dcae.capabilities.composition.host",
+ "name": "dcae.capabilities.composition.host"
+ }
+ },
+ {
+ "capability": {
+ "id": "{{vf_id}}/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ },
+ "id": "{{vf_id}}/dependency",
+ "name": "dependency",
+ "node": {
+ "id": "{{vf_id}}/tosca.capabilities.Node",
+ "name": "tosca.capabilities.Node"
+ },
+ "occurrences": [
+ 0,
+ "UNBOUNDED"
+ ],
+ "relationship": {
+ "type": "tosca.relationships.DependsOn"
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "outputs": [],
+ "relations": [
+ {
+ "meta": {
+ "n1": "n.1559041944060.0",
+ "n2": "n.1559041944077.1",
+ "p1": "stream_subscribe_0",
+ "p2": "topic",
+ "relationship": [
+ "tca-docker",
+ null,
+ "stream_subscribe_0"
+ ]
+ },
+ "n1": "n.1559041944060.0",
+ "n2": "n.1559041944077.1",
+ "name1": "tca-docker",
+ "name2": "topic0",
+ "rid": "lnk.1559041944098.3"
+ },
+ {
+ "meta": {
+ "n1": "n.1559041944060.0",
+ "n2": "n.1559041944083.2",
+ "p1": "stream_publish_0",
+ "p2": "topic",
+ "relationship": [
+ "tca-docker",
+ null,
+ "stream_publish_0"
+ ]
+ },
+ "n1": "n.1559041944060.0",
+ "n2": "n.1559041944083.2",
+ "name1": "tca-docker",
+ "name2": "topic1",
+ "rid": "lnk.1559041944104.4"
+ }
+ ],
+ "version": 0
+}
diff --git a/robot/assets/templates/sdc/dcae_monitoring_configuration.jinja b/robot/assets/templates/sdc/dcae_monitoring_configuration.jinja
new file mode 100644
index 00000000..27a5d020
--- /dev/null
+++ b/robot/assets/templates/sdc/dcae_monitoring_configuration.jinja
@@ -0,0 +1,11 @@
+{
+ "name": "{{name}}",
+ "description": "Created by robot",
+ "templateUuid": "{{template_uuid}}",
+ "vfiName": "{{vfi_name}}",
+ "serviceUuid": "{{service_uuid}}",
+ "contextType": "SERVICE",
+ "flowType": "TCA Hi Lo",
+ "cloneVFCMT": true,
+ "updateFlowType": false
+}