From: Ryan.RCS Date: Tue, 20 Dec 2016 08:36:24 +0000 (+0000) Subject: subprocess.call para stdout=PIPE is risky X-Git-Tag: danube.1.0~146^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F11%2F26111%2F4;p=yardstick.git subprocess.call para stdout=PIPE is risky 1.In 'def run' function of parser.py file, subprocess.call parameter stdout= subprocess.PIPE is risky, so I changed the function from 'call' to 'popen' 2.updated sample/tosca.ymal because the version of that file is old. JIRA: YARDSTICK-473 Change-Id: Ie242e77eed6fdc2849394a3f170e40a0dd2be632 Signed-off-by: Ryan.RCS --- diff --git a/samples/tosca.yaml b/samples/tosca.yaml index 4472f7ef8..21c789133 100644 --- a/samples/tosca.yaml +++ b/samples/tosca.yaml @@ -5,145 +5,147 @@ import: metadata: - ID:clearwater - Vendor:HP + 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 + 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.ellis: + derived_from: tosca.nodes.compute - tosca.nodes.compute.bono: - 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: + # 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 + default: 3000 + 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 + 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 } + 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 + 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 } + 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 + 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 + 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 + 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 + 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/yardstick/benchmark/scenarios/parser/parser.py b/yardstick/benchmark/scenarios/parser/parser.py index 006258d05..bb16e7c89 100644 --- a/yardstick/benchmark/scenarios/parser/parser.py +++ b/yardstick/benchmark/scenarios/parser/parser.py @@ -58,10 +58,12 @@ class Parser(base.Scenario): cmd1 = "%s %s %s" % (self.parser_script, yangfile, toscafile) cmd2 = "chmod 777 %s" % (self.parser_script) subprocess.call(cmd2, shell=True) - output = subprocess.call(cmd1, shell=True, stdout=subprocess.PIPE) + p = subprocess.Popen(cmd1, shell=True, stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + p.communicate() print "yangtotosca finished" - result['yangtotosca'] = "success" if output == 0 else "fail" + result['yangtotosca'] = "success" if p.returncode == 0 else "fail" def teardown(self): ''' for scenario teardown remove parser and pyang '''