Add database subsystem definition in the use case of 25/17325/1
authorshangxdy <shang.xiaodong@zte.com.cn>
Thu, 21 Jul 2016 11:14:31 +0000 (19:14 +0800)
committershangxdy <shang.xiaodong@zte.com.cn>
Thu, 21 Jul 2016 11:14:31 +0000 (19:14 +0800)
substitution_mappings

As a developer;
I want to implement the function of substitution_mapping;
So that will complete the test file about database subsystem
definitions.

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

diff --git a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/databasesubsystem.yaml b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/databasesubsystem.yaml
new file mode 100644 (file)
index 0000000..22eb259
--- /dev/null
@@ -0,0 +1,90 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >
+   Database 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 database including its hosting stack.
+
+  inputs:
+    db_user:
+      type: string
+      description: the user name of database.
+      default: test
+    db_port:
+      type: integer
+      description: the port of database.
+      default: 3306
+    db_name:
+      type: string
+      description: the name of database.
+      default: test
+    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.DatabaseSubsystem
+    capabilities:
+      database_endpoint: [ db_app, database_endpoint ]
+
+  node_templates:
+    db_app:
+      type: tosca.nodes.Database
+      properties:
+        user: { get_input: db_user }
+        port: { get_input: db_port }
+        name: { get_input: db_name }
+      capabilities:
+        database_endpoint:
+          properties:
+            port: 1234
+      requirements:
+        - host:
+            node: dbms
+
+    dbms:
+      type: tosca.nodes.DBMS
+      properties:
+        port: 3306
+        root_password: 123456789
+      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 database 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:
+    dbserver_group:
+      members: [ dbms, server ]
+      type: tosca.groups.Root