From 73275dc38a139d47eb31690848a82c89456129b0 Mon Sep 17 00:00:00 2001 From: Joe Talerico Date: Fri, 12 Jan 2018 11:47:34 -0500 Subject: [PATCH] UPerf Update Updating the changes that I have had to do to uperf. Change-Id: Ib5b41c8b9e2c9fdce0ec1bd9ba61b0315135e371 --- .../templates/pbench-uperf-user.file | 8 ++-- rally/rally-plugins/workloads/pbench-uperf.py | 44 ++++++++++--------- .../rally-plugins/workloads/pbench-uperf.yml | 2 + 3 files changed, 31 insertions(+), 23 deletions(-) diff --git a/ansible/install/roles/workloads/templates/pbench-uperf-user.file b/ansible/install/roles/workloads/templates/pbench-uperf-user.file index 4d1fe6451..dd5e93a8d 100644 --- a/ansible/install/roles/workloads/templates/pbench-uperf-user.file +++ b/ansible/install/roles/workloads/templates/pbench-uperf-user.file @@ -19,12 +19,14 @@ skip_if_unavailable=1 EOF cat /etc/yum.repos.d/pbench.repo sudo yum clean all -sudo yum install -y pbench-agent sudo yum install -y pbench-agent-internal +sudo yum install -y pbench-agent sudo yum install -y pbench-sysstat sudo yum install -y pbench-uperf sudo sed -i 's/disable_root: 1/disable_root: 0/g' /etc/cloud/cloud.cfg -cat /etc/cloud/cloud.cfg | grep disable_root -sudo sed -i 's/^no-port.*;sleep 10" //g' /root/.ssh/authorized_keys +sudo sed -i 's/^.*sleep 10" //g' /root/.ssh/authorized_keys +sudo cat /root/.ssh/authorized_keys +sudo cat /etc/cloud/cloud.cfg +sudo chattr +i /etc/cloud/cloud.cfg echo "Browbeat workload installed" diff --git a/rally/rally-plugins/workloads/pbench-uperf.py b/rally/rally-plugins/workloads/pbench-uperf.py index a987c150f..d95348eeb 100644 --- a/rally/rally-plugins/workloads/pbench-uperf.py +++ b/rally/rally-plugins/workloads/pbench-uperf.py @@ -33,7 +33,7 @@ LOG = logging.getLogger(__name__) @types.convert(image={"type": "glance_image"}, flavor={"type": "nova_flavor"}) @validation.add("image_valid_on_flavor", flavor_param="flavor", image_param="image") -@validation.add("required_services",services=[consts.Service.NEUTRON, consts.Service.NOVA]) +@validation.add("required_services", services=[consts.Service.NEUTRON, consts.Service.NOVA]) @validation.add("required_platform", platform="openstack", users=True) @scenario.configure(context={"cleanup@openstack": ["cinder", "neutron", "nova"], "keypair@openstack": {}, "allow_ssh@openstack": None}, @@ -46,7 +46,8 @@ class BrowbeatPbenchUperf(neutron_utils.NeutronScenario, jump_host, jump_host_ip = self._boot_server_with_fip(image, flavor, use_floating_ip=True, - floating_network=external['name'], + floating_network=external[ + 'name'], key_name=keyname, **kwargs) # Wait for ping @@ -165,7 +166,7 @@ class BrowbeatPbenchUperf(neutron_utils.NeutronScenario, def run(self, image, flavor, user, test_types, protocols, samples, test_name, external=None, send_results=True, num_pairs=1, password="", network_id=None, zones=None, message_sizes=None, instances=None, elastic_host=None, elastic_port=None, - cloudname=None, **kwargs): + cloudname=None, dns_ip=None, **kwargs): pbench_path = "/opt/pbench-agent" pbench_results = "/var/lib/pbench-agent" @@ -241,22 +242,25 @@ class BrowbeatPbenchUperf(neutron_utils.NeutronScenario, else: LOG.error("Error with PBench Results") - # Parse results - result = StringIO.StringIO('\n'.join(stdout.split('\n')[1:])) - creader = csv.reader(result) - report = [] - for row in creader: - if len(row) >= 1: - report.append(["aggregate.{}".format(row[1]), float(row[2])]) - report.append(["single.{}".format(row[1]), float(row[3])]) - if len(report) > 0: - self.add_output( - additive={"title": "PBench UPerf Stats", - "description": "PBench UPerf Scenario", - "chart_plugin": "StatsTable", - "axis_label": "Gbps", - "label": "Gbps", - "data": report}) - + # Parse results + result = StringIO.StringIO('\n'.join(stdout.split('\n')[1:])) + creader = csv.reader(result) + report = [] + for row in creader: + if len(row) >= 1: + report.append( + ["aggregate.{}".format(row[1]), float(row[2])]) + report.append(["single.{}".format(row[1]), float(row[3])]) + if len(report) > 0: + self.add_output( + additive={"title": "PBench UPerf Stats", + "description": "PBench UPerf Scenario", + "chart_plugin": "StatsTable", + "axis_label": "Gbps", + "label": "Gbps", + "data": report}) + if dns_ip: + cmd = "echo nameserver {}".format(dns_ip) + self._run_command_over_ssh(jump_ssh, {"remote_path": cmd}) cmd = "{}/util-scripts/pbench-move-results".format(pbench_path) self._run_command_over_ssh(jump_ssh, {"remote_path": cmd}) diff --git a/rally/rally-plugins/workloads/pbench-uperf.yml b/rally/rally-plugins/workloads/pbench-uperf.yml index ae133d027..d0b28c805 100644 --- a/rally/rally-plugins/workloads/pbench-uperf.yml +++ b/rally/rally-plugins/workloads/pbench-uperf.yml @@ -3,6 +3,7 @@ {% set num_pairs = num_pairs or 1 %} {% set instances = instances or 1 %} {% set password = password or 'None' %} +{% set dns_ip = dns_ip or 'None' %} {% set protocols = protocols or 'tcp' %} {% set message_sizes = message_sizes or '64,1024,16384' %} {% set hypervisor_server = hypervisor_server or 'None' %} @@ -37,6 +38,7 @@ BrowbeatPlugin.pbench_uperf: cloudname: '{{cloudname}}' elastic_host: '{{elastic_host}}' elastic_port: '{{elastic_port}}' + dns_ip: '{{dns_ip}}' runner: concurrency: 1 times: 1