Add queuing subsystem definition in the use case of substitution_mappings 23/17323/2
authorshangxdy <shang.xiaodong@zte.com.cn>
Thu, 21 Jul 2016 11:09:16 +0000 (19:09 +0800)
committershangxdy <shang.xiaodong@zte.com.cn>
Fri, 29 Jul 2016 12:37:13 +0000 (20:37 +0800)
As a developer;
I want to implement the function of substitution_mapping;
So that will complete the test file about queuing subsystem definitions.

Change-Id: I0602eb915954a4e35ae9e0d8d4c857822e4725d4
JIRA: PARSER-46
Signed-off-by: shangxdy <shang.xiaodong@zte.com.cn>
tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/queuingsubsystem.yaml [new file with mode: 0644]

diff --git a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/queuingsubsystem.yaml b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/queuingsubsystem.yaml
new file mode 100644 (file)
index 0000000..48ab031
--- /dev/null
@@ -0,0 +1,75 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >
+  Queue subsystem, which is service template with topology_template,
+  act as a nested system inside another system and also act as stand
+  alone service template.
+
+imports:
+  - definitions.yaml
+
+topology_template:
+  description: Template of a queue including its hosting stack.
+
+  inputs:
+    mq_server_ip:
+      type: string
+      description: IP address of the message queuing server to receive messages from.
+      default: 127.0.0.1
+    my_receiver_port:
+      type: integer
+      description: Port to be used for receiving messages.
+      default: 8080
+    my_cpus:
+      type: integer
+      description: Number of CPUs for the server.
+      default: 2
+      constraints:
+        - valid_values: [ 1, 2, 4, 8 ]
+
+  substitution_mappings:
+    node_type: example.QueuingSubsystem
+    # capabilities:
+    #  message_receiver: [ app, message_receiver ]
+    requirements:
+      receiver1: [ tran_app, receiver1 ]
+      receiver2: [ tran_app, receiver2 ]
+
+  node_templates:
+    tran_app:
+      type: example.QueuingSubsystem
+      properties:
+        server_ip: { get_input: mq_server_ip }
+        server_port: { get_input: my_receiver_port }
+      requirements:
+        - host:
+            node: server
+
+    server:
+      type: tosca.nodes.Compute
+      capabilities:
+        host:
+          properties:
+            disk_size: 10 GB
+            num_cpus: { get_input: my_cpus }
+            mem_size: 4096 MB
+        os:
+          properties:
+            architecture: x86_64
+            type: Linux
+            distribution: Ubuntu
+            version: 14.04
+
+  outputs:
+    receiver_ip:
+      description: private IP address of the message receiver application
+      value: { get_attribute: [ server, private_address ] }
+# It seems current _process_intrisic_function can not handle more than 2 arguments, save it for later
+#    receiver_port:
+#      description: Port of the message receiver endpoint
+#      value: { get_attribute: [ app, data_endpoint, port_name ] }
+
+  groups:
+    tran_server_group:
+      members: [ tran_app, server ]
+      type: tosca.groups.Root