UPerf Update

Updating the changes that I have had to do to uperf.

Change-Id: Ib5b41c8b9e2c9fdce0ec1bd9ba61b0315135e371
This commit is contained in:
Joe Talerico 2018-01-12 11:47:34 -05:00
parent 45c0d26d9d
commit 73275dc38a
3 changed files with 31 additions and 23 deletions

View 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"

View File

@ -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})

View File

@ -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