diff options
5 files changed, 28 insertions, 109 deletions
diff --git a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/definitions.yaml b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/definitions.yaml index e8e8c8a..77829c6 100644 --- a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/definitions.yaml +++ b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/definitions.yaml @@ -8,6 +8,11 @@ node_types: type: string server_port: type: integer + attributes: + server_ip: + type: string + server_port: + type: integer requirements: - receiver1: node: example.TransactionSubsystem diff --git a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/queuingsubsystem.yaml b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/queuingsubsystem.yaml index 48ab031..76fa7e2 100644 --- a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/queuingsubsystem.yaml +++ b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/queuingsubsystem.yaml @@ -9,14 +9,14 @@ imports: - definitions.yaml topology_template: - description: Template of a queue including its hosting stack. + description: Template of a database including its hosting stack. inputs: - mq_server_ip: + server_ip: type: string description: IP address of the message queuing server to receive messages from. default: 127.0.0.1 - my_receiver_port: + server_port: type: integer description: Port to be used for receiving messages. default: 8080 @@ -39,8 +39,8 @@ topology_template: tran_app: type: example.QueuingSubsystem properties: - server_ip: { get_input: mq_server_ip } - server_port: { get_input: my_receiver_port } + server_ip: { get_input: server_ip } + server_port: { get_input: server_port } requirements: - host: node: server diff --git a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/subsystem.yaml b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/subsystem.yaml deleted file mode 100644 index b27e698..0000000 --- a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/subsystem.yaml +++ /dev/null @@ -1,83 +0,0 @@ -tosca_definitions_version: tosca_simple_yaml_1_0 - -description: > - Service template with topology_template, act as a nested system inside another system. - -imports: - - definitions.yaml - -topology_template: - description: Template of a database including its hosting stack. - - inputs: - mq_server_ip: - type: string - description: IP address of the message queuing server to receive messages from. - receiver_port: - type: string - description: Port to be used for receiving messages. - my_cpus: - type: integer - description: Number of CPUs for the server. - constraints: - - valid_values: [ 1, 2, 4, 8 ] - - substitution_mappings: - node_type: example.TransactionSubsystem - capabilities: - message_receiver: [ app, message_receiver ] - requirements: - database_endpoint: [ app, database ] - - node_templates: - app: - type: example.SomeApp - properties: - admin_user: foo - pool_size: 10 - capabilities: - message_receiver: - properties: - server_ip: { get_input: mq_server_ip } - requirements: - - host: - node: websrv - - websrv: - type: tosca.nodes.WebServer - capabilities: - data_endpoint: - properties: - port_name: { get_input: 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: - webserver_group: - members: [ websrv, server ] - type: tosca.groups.Root diff --git a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/system.yaml b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/system.yaml index 84d625d..3c946f3 100644 --- a/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/system.yaml +++ b/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/system.yaml @@ -1,8 +1,9 @@ tosca_definitions_version: tosca_simple_yaml_1_0 imports: - - definitions.yaml - - subsystem.yaml + - queuingsubsystem.yaml + - transactionsubsystem.yaml + - databasesubsystem.yaml topology_template: description: Template of online transaction processing service. @@ -21,13 +22,13 @@ topology_template: mq: type: example.QueuingSubsystem # properties: - # to be updated when substitution_mapping is implemented + # to be updated when substitution_mapping is validated later properties: server_ip: { get_input: mq_server_ip } server_port: { get_input: mq_server_port } # capabilities: # message_queue_endpoint: - # to be updated when substitution_mapping is implemented + # to be updated when substitution_mapping is validated later requirements: - receiver1: trans1 - receiver2: trans2 @@ -35,37 +36,33 @@ topology_template: trans1: type: example.TransactionSubsystem properties: - # TODO to be updated when substitution_mapping is implemented - # mq_server_ip: { get_attribute: [ mq, server_ip ] } - # for now, we will use the loopback address to avoid errors as - # this property is required in the schema - mq_server_ip: 127.0.0.1 - receiver_port: 8080 + # mq_server_ip: 127.0.0.1 + mq_server_ip: { get_attribute: [ mq, server_ip ] } + # receiver_port: 8080 + receiver_port: { get_attribute: [ mq, server_port ] } # capabilities: # message_receiver: - # to be updated when substitution_mapping is implemented + # to be updated when substitution_mapping is validated later requirements: - database_endpoint: dbsys trans2: type: example.TransactionSubsystem properties: - # TODO to be updated when substitution_mapping is implemented - # mq_server_ip: { get_attribute: [ mq, server_ip ] } - # for now, we will use the loopback address to avoid errors as - # this property is required in the schema - mq_server_ip: 127.0.0.1 - receiver_port: 8080 + # mq_server_ip: 127.0.0.1 + mq_server_ip: { get_attribute: [ mq, server_ip ] } + # receiver_port: 8080 + receiver_port: { get_attribute: [ mq, server_port ] } # capabilities: # message_receiver: - # to be updated when substitution_mapping is implemented + # to be updated when substitution_mapping is validated later requirements: - database_endpoint: dbsys dbsys: type: example.DatabaseSubsystem # properties: - # to be updated when substitution_mapping is implemented + # to be updated when substitution_mapping is validated later # capabilities: # database_endpoint: - # to be updated when substitution_mapping is implemented + # to be updated when substitution_mapping is validated later diff --git a/tosca2heat/tosca-parser/toscaparser/tests/test_topology_template.py b/tosca2heat/tosca-parser/toscaparser/tests/test_topology_template.py index f66396e..877c72f 100644 --- a/tosca2heat/tosca-parser/toscaparser/tests/test_topology_template.py +++ b/tosca2heat/tosca-parser/toscaparser/tests/test_topology_template.py @@ -159,4 +159,4 @@ class TopologyTemplateTest(TestCase): "data/topology_template/system.yaml") system_tosca_template = ToscaTemplate(tpl_path) self.assertIsNotNone(system_tosca_template) - self.assertEqual(len(system_tosca_template.nested_tosca_templates), 1) + self.assertEqual(len(system_tosca_template.nested_tosca_templates), 3) |