diff options
Diffstat (limited to 'nfvparser/toscaparser/tests/data/topology_template')
14 files changed, 846 insertions, 0 deletions
diff --git a/nfvparser/toscaparser/tests/data/topology_template/databasesubsystem.yaml b/nfvparser/toscaparser/tests/data/topology_template/databasesubsystem.yaml new file mode 100644 index 0000000..b6e9c42 --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/databasesubsystem.yaml @@ -0,0 +1,81 @@ +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: + user: + type: string + description: the user name of database. + default: test + port: + type: integer + description: the port of database. + default: 3306 + 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: user } + port: { get_input: port } + name: { get_input: 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 + + groups: + dbserver_group: + members: [ dbms, server ] + type: tosca.groups.Root diff --git a/nfvparser/toscaparser/tests/data/topology_template/definitions.yaml b/nfvparser/toscaparser/tests/data/topology_template/definitions.yaml new file mode 100644 index 0000000..ba5eac1 --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/definitions.yaml @@ -0,0 +1,74 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +node_types: + example.QueuingSubsystem: + derived_from: tosca.nodes.SoftwareComponent + properties: + server_ip: + type: string + server_port: + type: integer + attributes: + server_ip: + type: string + server_port: + type: integer + requirements: + - receiver1: + node: example.TransactionSubsystem + capability: example.capabilities.Receiver + relationship: tosca.relationships.ConnectsTo + - receiver2: + node: example.TransactionSubsystem + capability: example.capabilities.Receiver + relationship: tosca.relationships.ConnectsTo + + example.TransactionSubsystem: + properties: + mq_server_ip: + type: string + required: False + receiver_port: + type: integer + required: False + attributes: + receiver_ip: + type: string + receiver_port: + type: integer + capabilities: + message_receiver: + type: example.capabilities.Receiver + requirements: + - database_endpoint: + node: tosca.nodes.Database + capability: tosca.capabilities.Endpoint.Database + relationship: tosca.relationships.ConnectsTo + + example.DatabaseSubsystem: + derived_from: tosca.nodes.Database + + example.SomeApp: + derived_from: tosca.nodes.SoftwareComponent + properties: + admin_user: + type: string + required: False + pool_size: + type: integer + required: False + capabilities: + message_receiver: + type: example.capabilities.Receiver + requirements: + - database: + node: tosca.nodes.Database + capability: tosca.capabilities.Endpoint.Database + relationship: tosca.relationships.ConnectsTo + +capability_types: + example.capabilities.Receiver: + derived_from: tosca.capabilities.Endpoint + properties: + server_ip: + type: string diff --git a/nfvparser/toscaparser/tests/data/topology_template/queuingsubsystem.yaml b/nfvparser/toscaparser/tests/data/topology_template/queuingsubsystem.yaml new file mode 100644 index 0000000..578aa4a --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/queuingsubsystem.yaml @@ -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 database including its hosting stack. + + inputs: + server_ip: + type: string + description: IP address of the message queuing server to receive messages from. + default: 127.0.0.1 + server_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: server_ip } + server_port: { get_input: server_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: + server_ip: + description: server_ip of the message receiver application + value: { get_input: server_ip } + + server_port: + description: server_port of the message receiver application + value: { get_input: server_port } + + groups: + tran_server_group: + members: [ tran_app, server ] + type: tosca.groups.Root diff --git a/nfvparser/toscaparser/tests/data/topology_template/system.yaml b/nfvparser/toscaparser/tests/data/topology_template/system.yaml new file mode 100644 index 0000000..f4e10ae --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/system.yaml @@ -0,0 +1,62 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +imports: + - queuingsubsystem.yaml + - transactionsubsystem.yaml + - databasesubsystem.yaml + +topology_template: + description: Template of online transaction processing service. + + inputs: + mq_server_ip: + type: string + default: 127.0.0.1 + description: IP address of the message queuing server to receive messages from. + mq_server_port: + type: integer + default: 8080 + description: Port to be used for receiving messages. + + node_templates: + mq: + type: example.QueuingSubsystem + 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 validated later + requirements: + - receiver1: trans1 + - receiver2: trans2 + + trans1: + type: example.TransactionSubsystem + properties: + mq_server_ip: { get_attribute: [ mq, server_ip ] } + receiver_port: { get_attribute: [ mq, server_port ] } + # capabilities: + # message_receiver: + # to be updated when substitution_mapping is validated later + requirements: + - database_endpoint: dbsys + + trans2: + type: example.TransactionSubsystem + properties: + mq_server_ip: { get_attribute: [ mq, server_ip ] } + receiver_port: { get_attribute: [ mq, server_port ] } + # capabilities: + # message_receiver: + # 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 validated later + # capabilities: + # database_endpoint: + # to be updated when substitution_mapping is validated later diff --git a/nfvparser/toscaparser/tests/data/topology_template/transactionsubsystem.yaml b/nfvparser/toscaparser/tests/data/topology_template/transactionsubsystem.yaml new file mode 100644 index 0000000..42e100a --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/transactionsubsystem.yaml @@ -0,0 +1,88 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +description: > + Transaction 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: + mq_server_ip: + type: string + description: IP address of the message queuing server to receive messages from. + default: 127.0.0.1 + 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.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 ] } + + receiver_port: + description: receiver_port of the message receiver application + value: { get_input: receiver_port } + + groups: + webserver_group: + members: [ websrv, server ] + type: tosca.groups.Root diff --git a/nfvparser/toscaparser/tests/data/topology_template/validate/queuingsubsystem_invalid_input.yaml b/nfvparser/toscaparser/tests/data/topology_template/validate/queuingsubsystem_invalid_input.yaml new file mode 100644 index 0000000..67ef341 --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/validate/queuingsubsystem_invalid_input.yaml @@ -0,0 +1,76 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +description: > + This template is a test template which contains invalid input needed for substitution mappings. + The required properties without default value in substituted node template which be mapped must be + as inputs of nested service template which defines substutition mappings, and the inputs of nested + service template which are not in the properties of the substituted node template must provide + default values. + This template provides an additional input of server_port1/my_cpus/my_input which are not defined + in example.QueuingSubsystem, and the default value are 8080/2/123, all of these are right. But the + required property of server_port defined in example.QueuingSubsystem is not appeared in inputs + definiton, so will raise excepton of "MissingRequiredInputError". + +imports: + - ../definitions.yaml + +topology_template: + description: Template of a database including its hosting stack. + + inputs: + server_ip: + type: string + description: IP address of the message queuing server to receive messages from. + default: 127.0.0.1 + server_port1: + 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 ] + my_input: + type: integer + description: test for input validation. + default: 123 + + substitution_mappings: + node_type: example.QueuingSubsystem + + node_templates: + tran_app: + type: example.QueuingSubsystem + properties: + server_ip: { get_input: server_ip } + server_port: { get_input: server_port1 } + 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 ] } + + groups: + tran_server_group: + members: [ tran_app, server ] + type: tosca.groups.Root diff --git a/nfvparser/toscaparser/tests/data/topology_template/validate/system_invalid_input.yaml b/nfvparser/toscaparser/tests/data/topology_template/validate/system_invalid_input.yaml new file mode 100644 index 0000000..e3cdd71 --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/validate/system_invalid_input.yaml @@ -0,0 +1,24 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +imports: + - queuingsubsystem_invalid_input.yaml + +topology_template: + description: Test template with invalid input. + + inputs: + mq_server_ip: + type: string + default: 127.0.0.1 + description: IP address of the message queuing server to receive messages from. + mq_server_port: + type: integer + default: 8080 + description: Port to be used for receiving messages. + + node_templates: + mq: + type: example.QueuingSubsystem + properties: + server_ip: { get_input: mq_server_ip } + server_port: { get_input: mq_server_port } diff --git a/nfvparser/toscaparser/tests/data/topology_template/validate/system_invalid_missing_output.yaml b/nfvparser/toscaparser/tests/data/topology_template/validate/system_invalid_missing_output.yaml new file mode 100644 index 0000000..2028c38 --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/validate/system_invalid_missing_output.yaml @@ -0,0 +1,24 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +imports: + - transactionsubsystem_invalid_missing_output.yaml + +topology_template: + description: Test template with invalid missing output. + + inputs: + mq_server_ip: + type: string + default: 127.0.0.1 + description: IP address of the message queuing server to receive messages from. + mq_server_port: + type: integer + default: 8080 + description: Port to be used for receiving messages. + + node_templates: + trans: + type: example.TransactionSubsystem + properties: + mq_server_ip: { get_input: mq_server_ip } + receiver_port: { get_input: mq_server_port } diff --git a/nfvparser/toscaparser/tests/data/topology_template/validate/system_invalid_unknown_output.yaml b/nfvparser/toscaparser/tests/data/topology_template/validate/system_invalid_unknown_output.yaml new file mode 100644 index 0000000..de16ca2 --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/validate/system_invalid_unknown_output.yaml @@ -0,0 +1,24 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +imports: + - transactionsubsystem_invalid_unknown_output.yaml + +topology_template: + description: Test template with invalid unknown output. + + inputs: + mq_server_ip: + type: string + default: 127.0.0.1 + description: IP address of the message queuing server to receive messages from. + mq_server_port: + type: integer + default: 8080 + description: Port to be used for receiving messages. + + node_templates: + trans: + type: example.TransactionSubsystem + properties: + mq_server_ip: { get_input: mq_server_ip } + receiver_port: { get_input: mq_server_port } diff --git a/nfvparser/toscaparser/tests/data/topology_template/validate/test_example_app_substitution_mappings.yaml b/nfvparser/toscaparser/tests/data/topology_template/validate/test_example_app_substitution_mappings.yaml new file mode 100644 index 0000000..718022a --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/validate/test_example_app_substitution_mappings.yaml @@ -0,0 +1,70 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +description: > + Template showing an example TOSCA type to demonstrate usage + of output in the substitution mappings. + +node_types: + example.app: + derived_from: tosca.nodes.WebApplication + properties: + mq_server_ip: + type: string + required: False + receiver_port: + type: integer + required: False + attributes: + receiver_ip: + type: string + receiver_port: + type: integer + +topology_template: + inputs: + mq_server_ip: + type: string + description: IP address of the message queuing server to receive messages from. + default: 127.0.0.1 + 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.app + + node_templates: + app: + type: example.app + properties: + mq_server_ip: { get_input: mq_server_ip } + receiver_port: { get_input: receiver_port } + requirements: + - host: + node: websrv + websrv: + type: tosca.nodes.WebServer + 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 diff --git a/nfvparser/toscaparser/tests/data/topology_template/validate/test_substitution_mappings_invalid_output.yaml b/nfvparser/toscaparser/tests/data/topology_template/validate/test_substitution_mappings_invalid_output.yaml new file mode 100644 index 0000000..ef21811 --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/validate/test_substitution_mappings_invalid_output.yaml @@ -0,0 +1,31 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +imports: + - test_example_app_substitution_mappings.yaml + +topology_template: + description: > + Test template showing valid output section containing attribute defined + in the substitution mappings in the imported yaml file. + + inputs: + mq_server_ip: + type: string + default: 127.0.0.1 + description: IP address of the message queuing server to receive messages from. + mq_server_port: + type: integer + default: 8080 + description: Port to be used for receiving messages. + + node_templates: + substitute_app: + type: example.app + properties: + mq_server_ip: { get_input: mq_server_ip } + receiver_port: { get_input: mq_server_port } + + outputs: + receiver_ip: + description: private IP address of the message receiver application + value: { get_attribute: [ substitute_app, my_cpu_output ] }
\ No newline at end of file diff --git a/nfvparser/toscaparser/tests/data/topology_template/validate/test_substitution_mappings_valid_output.yaml b/nfvparser/toscaparser/tests/data/topology_template/validate/test_substitution_mappings_valid_output.yaml new file mode 100644 index 0000000..766ca87 --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/validate/test_substitution_mappings_valid_output.yaml @@ -0,0 +1,31 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +imports: + - test_example_app_substitution_mappings.yaml + +topology_template: + description: > + Test template showing valid output section containing attribute defined + in the substitution mappings in the imported yaml file. + + inputs: + mq_server_ip: + type: string + default: 127.0.0.1 + description: IP address of the message queuing server to receive messages from. + mq_server_port: + type: integer + default: 8080 + description: Port to be used for receiving messages. + + node_templates: + sustitute_app: + type: example.app + properties: + mq_server_ip: { get_input: mq_server_ip } + receiver_port: { get_input: mq_server_port } + + outputs: + receiver_ip: + description: private IP address of the message receiver application + value: { get_attribute: [ sustitute_app, receiver_ip ] }
\ No newline at end of file diff --git a/nfvparser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_missing_output.yaml b/nfvparser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_missing_output.yaml new file mode 100644 index 0000000..c92e5f8 --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_missing_output.yaml @@ -0,0 +1,92 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +description: > + This template is a test template which contains invalid output + needed for substitution mappings. + The outputs defined by the topology template have to match the + attributes of the node type or the substituted node template, + and the observable attributes of the substituted node template + have to be defined as attributes of the node type or outputs in + the topology template. + But this template misses output of receiver_port which is not + defined in node type of example.TransactionSubsystem, so it will + be validated error for substitution mappings. + +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. + default: 127.0.0.1 + 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.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 ] } + + # This output is invalid if comment receiver_out out only for + # substituion mappings +# receiver_port: +# description: receiver_port of the message receiver application +# value: { get_input: receiver_port } diff --git a/nfvparser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_unknown_output.yaml b/nfvparser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_unknown_output.yaml new file mode 100644 index 0000000..ffca24b --- /dev/null +++ b/nfvparser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_unknown_output.yaml @@ -0,0 +1,94 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +description: > + This template is a test template which contains invalid output + needed for substitution mappings. + The outputs defined by the topology template have to match the + attributes of the node type or the substituted node template, + and the observable attributes of the substituted node template + have to be defined as attributes of the node type or outputs in + the topology template. + But this template contains output of my_cpu_output which is not + defined in node type of example.TransactionSubsystem, so it will + be validated error for substitution mappings. + +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. + default: 127.0.0.1 + 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.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 ] } + + receiver_port: + description: receiver_port of the message receiver application + value: { get_input: receiver_port } + + my_cpu_output: + description: this output is only invalid for substitution mappings + value: { get_input: my_cpus } |