From d93f6ca5bf0d4f22ec0fd90eac1bf8b9c09db820 Mon Sep 17 00:00:00 2001 From: kubi Date: Tue, 29 Dec 2015 11:04:20 +0800 Subject: running Parser Yang-to-Tosca module as a tool with jnon and fatih's help, new docker image has been uploaded so this part is about parser verify validating output against expected outcome. Change-Id: If50d241a5338888f14fd11a752dc72678e0c569b JIRA:YARDSTICK-224 Signed-off-by: kubi --- samples/parser.yaml | 21 ++ samples/tosca.yaml | 149 ++++++++++++ samples/yang.yaml | 687 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 857 insertions(+) create mode 100644 samples/parser.yaml create mode 100644 samples/tosca.yaml create mode 100644 samples/yang.yaml (limited to 'samples') diff --git a/samples/parser.yaml b/samples/parser.yaml new file mode 100644 index 000000000..32d9abed1 --- /dev/null +++ b/samples/parser.yaml @@ -0,0 +1,21 @@ +--- +# Sample task config file +# running Parser Yang-to-Tosca module as a tool +# validating output against expected outcome + +schema: "yardstick:task:0.1" + +scenarios: +- + type: Parser + options: + yangfile: /root/yardstick/samples/yang.yaml + toscafile: /root/yardstick/samples/tosca.yaml + + runner: + type: Iteration + iterations: 1 + interval: 1 + +context: + type: Dummy diff --git a/samples/tosca.yaml b/samples/tosca.yaml new file mode 100644 index 000000000..4472f7ef8 --- /dev/null +++ b/samples/tosca.yaml @@ -0,0 +1,149 @@ +tosca_definitions_version:tosca_simple_yaml_1_0_0 +description: + This module defines a VNF Deployment Unit. +import: + + +metadata: + ID:clearwater + Vendor:HP +dsl_definitions: + compute_props_host_ellis:&compute_props_host_ellis + num_cpu:4 + mem_size:4096 + compute_props_host_bono:&compute_props_host_bono + num_cpu:3 + mem_size:2048 +node_types: + tosca.nodes.compute.ellis: + derived_from:tosca.nodes.compute + + tosca.nodes.compute.bono: + derived_from:tosca.nodes.compute + +topology_template: + # a description of the topology template + description:> + Vdus used in a vnfd + inputs: + storage_size: + type:scalar-unit.size + default:2048 + description:The required storage resource + storage_location: + type:string + description:> + Block storage mount point (filesystem path). + node_templates: + ellis: + type:tosca.nodes.Compute + capabilities: + os: + properties: + architecture: + type: + distribution: + version: + host: + properties:*compute_props_host_ellis + scalable: + properties: + min_instances:1 + default_instances:1 + requirements: + - local_storage: + node:ellis_BlockStorage + relationship: + type:AttachesTo + properties: + location:{ get_input:storage_location } + interfaces: + Standard: + start: + implementation:start.sh + delete: + implementaion:stop.sh + stop: + implementaion:shutdown.sh + ellis_BlockStorage: + type:tosca.nodes.BlockStorage + properties: + size:{ get_input:storage_size } + bono: + type:tosca.nodes.Compute + capabilities: + os: + properties: + architecture: + type: + distribution: + version: + host: + properties:*compute_props_host_bono + scalable: + properties: + min_instances:3 + default_instances:3 + requirements: + - local_storage: + node:bono_BlockStorage + relationship: + type:AttachesTo + properties: + location:{ get_input:storage_location } + interfaces: + Standard: + start: + implementation:start.sh + delete: + implementaion:stop.sh + stop: + implementaion:shutdown.sh + bono_BlockStorage: + type:tosca.nodes.BlockStorage + properties: + size:{ get_input:storage_size } + clearwater_network1: + type:tosca.nodes.network.Network + properties: + ip_version:4 + ellis_port1: + type:tosca.nodes.network.Port + requirements: + - binding: + node:ellis + - link: + node:clearwater_network1 + clearwater_network2: + type:tosca.nodes.network.Network + properties: + ip_version:4 + ellis_port2: + type:tosca.nodes.network.Port + requirements: + - binding: + node:ellis + - link: + node:clearwater_network2 + clearwater_network1: + type:tosca.nodes.network.Network + properties: + ip_version:4 + bono_port1: + type:tosca.nodes.network.Port + requirements: + - binding: + node:bono + - link: + node:clearwater_network1 + clearwater_network2: + type:tosca.nodes.network.Network + properties: + ip_version:4 + bono_port2: + type:tosca.nodes.network.Port + requirements: + - binding: + node:bono + - link: + node:clearwater_network2 \ No newline at end of file diff --git a/samples/yang.yaml b/samples/yang.yaml new file mode 100644 index 000000000..86b7b2f31 --- /dev/null +++ b/samples/yang.yaml @@ -0,0 +1,687 @@ + module clearwater { + + namespace "http://localhost/ietf-inet-types.yang"; + + prefix "yang"; + + organization "HP"; + + contact "TBD"; + + description "This module defines a VNF Deployment Unit."; + revision "2014-05-18" { + + description + + "Initial version"; + + reference + + "RFC XXXX"; + + } + container clearwater { + + description + + "Vdus used in a vnfd"; + + list ellis { + key id; + leaf id{ + type string; + description "key ID for vdu1"; + } + description + + "Vdu key"; + + + + leaf instance-num { + + type uint16{ + range 1..6;} + default 1; + + + description + + "Number of instances of the said VDU which shall be + instantiated"; + + } + + leaf vm-image { + + type string; + reference "uri"; + + + description + + "Reference to a VM image"; + + } + container resource { + description + + "The required resource"; + + container cpu { + + description + + "The required computation resource"; + + + + leaf vCPU_num { + + type uint32{ + range 4; + } + + description + + "The number of virtual CPU units"; + + } + + + + list vCPU-spec { + + key "name"; + + + + description + + "Processor characteristics for the VDU"; + + + + leaf name { + + type string; + + description + + "Name of vCPU-spec"; + + } + leaf description { + + type string; + + description + + "Description of vCPU-spec"; + + } + + leaf value { + + type uint32; + + description + + "Value of vCPU-spec"; + + } + + } + + } + + container memory { + + description + + "The required memory resource"; + + leaf memory_size { + + type uint32{ + range 4096; + } + + description + + "Memory size, unit:MBytes"; + + } + + list memory-spec { + + key name; + + + + description + + "Memory characteristics for the VDU"; + + + + leaf name { + + type string; + + description + + "Name of memory-spec"; + + } + + + + leaf description { + + type string; + + description + + "Description of memory-spec"; + + } + + + + leaf value { + + type uint32; + + description + + "Value of memory-spec"; + + } + + } + + } + + + + container disk { + + description + + "The required storage resource"; + + + + leaf disk-size { + + type uint32{ + range 2048; + } + description + + "Virtual storage size, unit:MBytes"; + } + + + + list disk-KQI { + + key name; + + + + description + + "Storage characteristics in the VDU"; + + + + leaf name { + + type string; + + description + + "Name of disk-KQI"; + + } + leaf description { + + type string; + + description + + "Description of disk-KQI"; + + } + + + + leaf value { + + type uint32; + + description + + "Value of disk-KQI"; + + } + + } + + } + + + + container vnic { + + description + + "Virtual network interface card (vnic) resource"; + + + + leaf vnic-num { + + type uint32{ + range 2; + } + + description + + "The total number of virtual vnic"; + + } + } + + } + + + + container workflow-script { + + description + + "VDU workflow script"; + + + + leaf init { + + type string; + default "start.sh"; + + + description + + "VDU initialization script"; + } + + + + leaf terminate { + + type string; + default "stop.sh"; + + + description + + "VDU termination script"; + } + + leaf graceful-shutdown { + + type string; + default "shutdown.sh"; + + + description + + "VDU graceful shutdown script"; + + } + + } + + } + list bono { + key id; + leaf id{ + type string; + description "key ID for vdu2"; + } + description + + "Vdu key"; + + + + leaf instance-num { + + type uint16; + default 3; + + + description + + "Number of instances of the said VDU which shall be + instantiated"; + + } + + + + leaf vm-image { + + type string; + reference "URI"; + + + description + + "Reference to a VM image"; + + } + + + + container resource { + description + + "The required resource"; + + + + container cpu { + + description + + "The required computation resource"; + + + + leaf vCPU_num { + + type uint32{ + range 3; + } + + description + + "The number of virtual CPU units"; + + } + + + + list vCPU-spec { + + key "name"; + + + + description + + "Processor characteristics for the VDU"; + + + + leaf name { + + type string; + + description + + "Name of vCPU-spec"; + + } + leaf description { + + type string; + + description + + "Description of vCPU-spec"; + + } + + + + leaf value { + + type uint32; + + description + + "Value of vCPU-spec"; + + } + + } + + } + + + + container memory { + + description + + "The required memory resource"; + + + + leaf memory_size { + + type uint32{ + range 2048; + } + + description + + "Memory size, unit:MBytes"; + + } + + list memory-spec { + + key name; + + description + + "Memory characteristics for the VDU"; + + + + leaf name { + + type string; + + description + + "Name of memory-spec"; + + } + + + + leaf description { + + type string; + + description + + "Description of memory-spec"; + + } + + + + leaf value { + + type uint32; + + description + + "Value of memory-spec"; + + } + + } + + } + + + + container disk { + + description + + "The required storage resource"; + + + + leaf disk-size { + + type uint32{ + range 3000; + } + + description + + "Virtual storage size, unit:MBytes"; + + } + + + + list disk-KQI { + + key name; + + + + description + + "Storage characteristics in the VDU"; + + + + leaf name { + + type string; + + description + + "Name of disk-KQI"; + + } + leaf description { + + type string; + + description + + "Description of disk-KQI"; + + } + + + + leaf value { + + type uint32; + + description + + "Value of disk-KQI"; + + } + + } + + } + + + + container vnic { + + description + + "Virtual network interface card (vnic) resource"; + + + + leaf vnic-num { + + type uint32{ + range 2; + } + + description + + "The total number of virtual vnic"; + + } + } + + } + + + + container workflow-script { + + description + + "VDU workflow script"; + + + + leaf init { + + type string; + default "start.sh"; + + + description + + "VDU initialization script"; + + } + + + + leaf terminate { + + type string; + default "stop.sh"; + + + description + + "VDU termination script"; + + } + + leaf graceful-shutdown { + + type string; + default "shutdown.sh"; + + + description + + "VDU graceful shutdown script"; + + } + + } + + } + + } + + } + -- cgit 1.2.3-korg