.. _cloudbench_prepare_ubuntu_qcow2: Preparing a QCOW2 Benchmark Harness Image for Ubuntu (CBTOOL and Benchmark Drivers) ==================================================================================== The instructions below assume that the tester will install CBTOOL in an instance (e.g., a VM) which will have access to the Internet at the time of kit installation. If Internet access is not available, then the tester must set up the Ubuntu and python pip repositories locally and configure the instance with these repositories. The instructions to configure these repositories are not in the scope of this document. The benchmark has been tested and is known to work with an Ubuntu 14.04 x86_64 image. If you already have such an image available you can use it, otherwise one can be found in Step 1 below. 1. Download the Ubuntu 14.04 x86_64 image from Ubuntu site:: wget https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img 2. Upload the above image in your OpenStack cloud. Assuming :bash:`openrc` for your OpenStack cloud is present at :bash:`/root`:: source /root/openrc glance image-create --name trusty --disk-format qcow2 --container-format bare --is-public True --file ./trusty-server-cloudimg-amd64-disk1.img (The image does not have to be made public) The instructions for OpenStack-based public clouds may slightly differ. 3. Create a VM from this blank Ubuntu image. * Choose at least m1.medium flavor (2 VCPU, 4GB RAM, 40 GB root disk). * Boot from 'trusty' image that was uploaded earlier. * Select a key to inject. * Select the network to install (make sure that the network has Internet connectivity). * Press Launch. 4. SSH into your VM, get the latest package list, and install :bash:`unzip` and :bash:`git` packages. Make sure that DNS is configured correctly in this VM (:bash:`/etc/hosts` file):: ssh -i YOURKEY ubuntu@[YOURVMIPADDR] sudo apt-get update sudo apt-get install git -y sudo apt-get install unzip -y 5. Add your machine hostname and IP address to :bash:`/etc/hosts` file. If more than one interface is configured in the system as indicated by the output of :bash:`ifconfig -a`, add the IP address and hostname to :bash:`/etc/hosts` which will be accessible from a browser.:: vi /etc/hosts IPADDR HOSTNAME 6. Copy the kit zip file in this VM and unzip the kit file in home directory:: unzip spec_cloud_iaas_2016_*.zip It will create the following files:: $ ls ~/ osgcloud SPEC_CLOUD_README workloads spec_cloud_iaas_2016_*.zip SPEC_LICENSE Development only: Checkout the latest benchmark harness code. Assuming, the benchmark harness was downloaded into :bash:`/home/ubuntu/osgcloud`:: cd /home/ubuntu/osgcloud/ git pull cd /home/ubuntu/osgcloud/cbtool git pull origin master 7. Prepare the keys to be used with CBTOOL and instances Generate your own :bash:`ssh` key:: ssh-keygen [press ENTER for all options] The above command will create the following directory if it does not exist and add :bash:`id_rsa` and :bash:`id_rsa.pub` keys into it. Add this key to the :bash:`authorized_keys` file:: /home/ubuntu/.ssh/ cat /home/ubuntu/.ssh/id_rsa.pub >> /home/ubuntu/.ssh/authorized_keys If you are using ssh keys shipped with the kit, please use the following commands to copy the keys into :bash:`/home/ubuntu/.ssh` directory. Please do not use these keys for public clouds:: cp /home/ubuntu/osgcloud/spec_ssh_keys/spec_ssh /home/ubuntu/.ssh/id_rsa cp /home/ubuntu/osgcloud/spec_ssh_keys/spec_ssh.pub /home/ubuntu/.ssh/id_rsa.pub cat /home/ubuntu/osgcloud/spec_ssh_keys/spec_ssh.pub >> /home/ubuntu/.ssh/authorized_keys Copy the keys into CBTOOL credentials directory:: cp /home/ubuntu/.ssh/id_rsa /home/ubuntu/osgcloud/cbtool/credentials/cbtool_rsa cp /home/ubuntu/.ssh/id_rsa.pub /home/ubuntu/osgcloud/cbtool/credentials/cbtool_rsa.pub Ensure that the permissions of these keys is restrictive:: chmod 400 /home/ubuntu/osgcloud/cbtool/credentials/cbtool_rsa chmod 400 /home/ubuntu/osgcloud/cbtool/credentials/cbtool_rsa.pub 8. Now, we are ready to install CBTOOL:: cd /home/ubuntu/osgcloud/ ./cbtool/install -r orchestrator Here is the output:: ubuntu@cbtool-spec:~/osgcloud/cbtool$ ./install -r orchestrator Installing dependencies for Cloud Rapid Experimentation Analysis and Toolkit (cbtool) on this node......... File "/home/ubuntu/osgcloud/cbtool//configs/templates//PUBLIC_dependencies.txt" opened and loaded.... File "/home/ubuntu/osgcloud/cbtool//configs/templates//IBM_dependencies.txt" IGNORED.... File "/home/ubuntu/osgcloud/cbtool//configs/templates//SPEC_dependencies.txt" IGNORED.... No package repository specified. Will ignore any repository URL that has the keyword REPO_ADDR... No python pip repository specified. #####This node will be prepared as an Orchestration Node. The full set of dependencies will be installed. ##### (0) Checking passwordless sudo for the user "ubuntu" by executing the command "sudo -S ls < /dev/null"... RESULT: ANY >= ANY OK. (1) Checking "repo" version by executing the command "ls -la /tmp/repoupdated"... RESULT: NOT OK. ACTION: Please install/configure "repo" by issuing the following command: "sudo mv -f /tmp/*.list /etc/apt/sources.list.d/; sudo apt-get update; touch /tmp/repoupdated; source /home/ubuntu/osgcloud/cbtool/scripts//common/cb_bootstrap.sh; service_stop_disable iptables; service_stop_disable ipfw;" (1) Installing "repo" by executing the command "sudo mv -f /tmp/*.list /etc/apt/sources.list.d/; sudo apt-get update; touch /tmp/repoupdated; source /home/ubuntu/osgcloud/cbtool/scripts//common/cb_bootstrap.sh; service_stop_disable iptables; service_stop_disable ipfw;"... RESULT: NOT OK. There was an error while installing "repo".: Error while executing the command line "sudo mv -f /tmp/*.list /etc/apt/sources.list.d/; sudo apt-get update; touch /tmp/repoupdated; source /home/ubuntu/osgcloud/cbtool/scripts//common/cb_bootstrap.sh; service_stop_disable iptables; service_stop_disable ipfw;" (returncode = 2747) :sudo: unable to resolve host cbtool-spec mv: cannot stat ‘/tmp/*.list’: No such file or directory sudo: unable to resolve host cbtool-spec /bin/sh: 1: source: not found /bin/sh: 1: service_stop_disable: not found /bin/sh: 1: service_stop_disable: not found (2) Checking "ifconfig" version by executing the command "ifconfig"... RESULT: ANY >= ANY OK. (3) Checking "ip" version by executing the command "ip -V"... RESULT: ANY >= ANY OK. (4) Checking "git" version by executing the command "git --version | cut -d ' ' -f 3"... RESULT: 1.9.1 >= 1.6.0 OK. (5) Checking "wget" version by executing the command "wget -V | head -n 1 | cut -d ' ' -f 3"... RESULT: 1.15 >= 1.00 OK. (6) Checking "pip" version by executing the command "pip --version | cut -d ' ' -f 2"... RESULT: NOT OK. ACTION: Please install/configure "pip" by issuing the following command: "sudo apt-get -y install python-pip;" (6) Installing "pip" by executing the command "sudo apt-get -y install python-pip;"... RESULT: DONE OK. (7) Checking "gcc" version by executing the command "gcc -v 2>&1 | grep -v Configured | grep version | cut -d ' ' -f 3"... RESULT: 4.8.2 >= 4.0 OK. (8) Checking "make" version by executing the command "make -v | head -n1 | cut -d ' ' -f 3"... RESULT: 3.81 >= 3.5 OK. (10) Checking "sshpass" version by executing the command "sshpass -V | grep sshpass | head -n 1 | cut -d ' ' -f 2"... RESULT: NOT OK. ACTION: Please install/configure "sshpass" by issuing the following command: "sudo apt-get -y install sshpass;" (10) Installing "sshpass" by executing the command "sudo apt-get -y install sshpass;"... RESULT: DONE OK. (11) Checking "curl" version by executing the command "curl -V | head -n 1 | cut -d ' ' -f 2"... RESULT: 7.35.0 >= 7.0 OK. (12) Checking "screen" version by executing the command "screen -v | grep version"... RESULT: 4.01.00206 >= 4.0 OK. (13) Checking "rsync" version by executing the command "rsync --version | grep version"... RESULT: 3.1.031 >= 2.6 OK. (14) Checking "ncftp" version by executing the command "ncftp -h 2>&1 | grep Program | cut -d ' ' -f 5 | sed -e 's/\//./g'"... RESULT: NOT OK. ACTION: Please install/configure "ncftp" by issuing the following command: "sudo apt-get -y install ncftp;" (14) Installing "ncftp" by executing the command "sudo apt-get -y install ncftp;"... RESULT: DONE OK. (15) Checking "lftp" version by executing the command "lftp --version | grep Version | cut -d " " -f 4"... RESULT: NOT OK. ACTION: Please install/configure "lftp" by issuing the following command: "sudo apt-get -y install lftp;" (15) Installing "lftp" by executing the command "sudo apt-get -y install lftp;"... RESULT: DONE OK. (16) Checking "netcat" version by executing the command "netcat -v -w 1 localhost -z 22"... RESULT: ANY >= ANY OK. (17) Checking "nmap" version by executing the command "nmap -V | grep version | cut -d ' ' -f 3"... RESULT: NOT OK. ACTION: Please install/configure "nmap" by issuing the following command: "sudo apt-get -y install nmap;" (17) Installing "nmap" by executing the command "sudo apt-get -y install nmap;"... RESULT: DONE OK. (18) Checking "openvpn" version by executing the command "openvpn --version | grep built | cut -d ' ' -f 2"... RESULT: NOT OK. ACTION: Please install/configure "openvpn" by issuing the following command: "sudo apt-get -y install openvpn;sudo ln -s /usr/sbin/openvpn /usr/local/bin/openvpn" (18) Installing "openvpn" by executing the command "sudo apt-get -y install openvpn;sudo ln -s /usr/sbin/openvpn /usr/local/bin/openvpn"... RESULT: DONE OK. (19) Checking "gmond" version by executing the command "gmond --version | cut -d ' ' -f 2"... RESULT: NOT OK. ACTION: Please install/configure "gmond" by issuing the following command: "sudo apt-get -y install ganglia-monitor;sudo ln -s /usr/sbin/gmond /usr/local/bin/gmond; sudo bash -c "echo 'manual' > /etc/init/ganglia-monitor.override"" (19) Installing "gmond" by executing the command "sudo apt-get -y install ganglia-monitor;sudo ln -s /usr/sbin/gmond /usr/local/bin/gmond; sudo bash -c "echo 'manual' > /etc/init/ganglia-monitor.override""... RESULT: DONE OK. (20) Checking "chef-client" version by executing the command "knife -v | cut -d ' ' -f 2"... There are 1 dependencies missing: None of the urls indicated to install "chef-client" (https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chef_11.10.4-1.ubuntu.12.04_amd64.deb,) seem to be functional. Please add the missing dependency(ies) and re-run install again. Keep rerunning the install command until there are no issues. Here is what a successful output looks like:: ./install -r orchestrator ubuntu@cbtool-spec:~/osgcloud/cbtool$ sudo ./install -r orchestrator sudo: unable to resolve host cbtool-spec Installing dependencies for Cloud Rapid Experimentation Analysis and Toolkit (cbtool) on this node......... File "/home/ubuntu/osgcloud/cbtool//configs/templates//PUBLIC_dependencies.txt" opened and loaded.... File "/home/ubuntu/osgcloud/cbtool//configs/templates//IBM_dependencies.txt" IGNORED.... File "/home/ubuntu/osgcloud/cbtool//configs/templates//SPEC_dependencies.txt" IGNORED.... No package repository specified. Will ignore any repository URL that has the keyword REPO_ADDR... No python pip repository specified. #####This node will be prepared as an Orchestration Node. The full set of dependencies will be installed. ##### (0) Checking passwordless sudo for the user "root" by executing the command "sudo -S ls < /dev/null"... RESULT: ANY >= ANY OK. (1) Checking "repo" version by executing the command "ls -la /tmp/repoupdated"... RESULT: ANY >= ANY OK. (2) Checking "ifconfig" version by executing the command "ifconfig"... RESULT: ANY >= ANY OK. (3) Checking "ip" version by executing the command "ip -V"... RESULT: ANY >= ANY OK. (4) Checking "git" version by executing the command "git --version | cut -d ' ' -f 3"... RESULT: 1.9.1 >= 1.6.0 OK. (5) Checking "wget" version by executing the command "wget -V | head -n 1 | cut -d ' ' -f 3"... RESULT: 1.15 >= 1.00 OK. (6) Checking "pip" version by executing the command "pip --version | cut -d ' ' -f 2"... RESULT: 1.5.4 >= 1.0 OK. (7) Checking "gcc" version by executing the command "gcc -v 2>&1 | grep -v Configured | grep version | cut -d ' ' -f 3"... RESULT: 4.8.2 >= 4.0 OK. (8) Checking "make" version by executing the command "make -v | head -n1 | cut -d ' ' -f 3"... RESULT: 3.81 >= 3.5 OK. (10) Checking "sshpass" version by executing the command "sshpass -V | grep sshpass | head -n 1 | cut -d ' ' -f 2"... RESULT: 1.05 >= 1.0 OK. (11) Checking "curl" version by executing the command "curl -V | head -n 1 | cut -d ' ' -f 2"... RESULT: 7.35.0 >= 7.0 OK. (12) Checking "screen" version by executing the command "screen -v | grep version"... RESULT: 4.01.00206 >= 4.0 OK. (13) Checking "rsync" version by executing the command "rsync --version | grep version"... RESULT: 3.1.031 >= 2.6 OK. (14) Checking "ncftp" version by executing the command "ncftp -h 2>&1 | grep Program | cut -d ' ' -f 5 | sed -e 's/\//./g'"... RESULT: 3.2.5.474 >= 3.2.3 OK. (15) Checking "lftp" version by executing the command "lftp --version | grep Version | cut -d " " -f 4"... RESULT: 4.4.13 >= 4.0 OK. (16) Checking "netcat" version by executing the command "netcat -v -w 1 localhost -z 22"... RESULT: ANY >= ANY OK. (17) Checking "nmap" version by executing the command "nmap -V | grep version | cut -d ' ' -f 3"... RESULT: 6.40 >= 4.0 OK. (18) Checking "openvpn" version by executing the command "openvpn --version | grep built | cut -d ' ' -f 2"... RESULT: 2.3.2 >= 2.2.0 OK. (19) Checking "gmond" version by executing the command "gmond --version | cut -d ' ' -f 2"... RESULT: 3.6.0 >= 3.0 OK. (20) Checking "chef-client" version by executing the command "knife -v | cut -d ' ' -f 2"... RESULT: 11.10.4 >= 11.4.0 OK. (21) Checking "rsyslog" version by executing the command "rsyslogd -v | grep compiled | cut -d ' ' -f 2 | sed 's/,//g'"... RESULT: 7.4.4 >= 4.6.0 OK. (23) Checking "apache" version by executing the command "sudo apachectl -v | grep version | cut -d '/' -f 2 | cut -d ' ' -f 1"... RESULT: 2.4.7 >= 2.0 OK. (24) Checking "redis" version by executing the command "redis-server -v | sed 's/[^0-9]*//g'"... RESULT: 284000000000341644405760659 >= 2.6.0 OK. (25) Checking "mongodb" version by executing the command " mongod --version"... RESULT: 2.4.93190011.82652021959325620573864029 >= 2.4.0 OK. (27) Checking "python-devel" version by executing the command "python -c "from distutils import sysconfig as s; print s.get_config_vars()['INCLUDEPY']""... RESULT: ANY >= ANY OK. (28) Checking "python-setuptools" version by executing the command "python -c "import setuptools; from setuptools import sandbox""... RESULT: ANY >= ANY OK. (29) Checking "python-prettytable" version by executing the command "python -c "import prettytable; print str(prettytable.__version__).strip()""... RESULT: 0.7.2 >= 0.6 OK. (30) Checking "python-daemon" version by executing the command "python -c "import daemon; print str(daemon._version).strip()""... RESULT: 1.5.5 >= 1.5.1 OK. (31) Checking "python-twisted" version by executing the command "python -c "import twisted; from twisted.web.wsgi import WSGIResource; from twisted.internet import reactor; from twisted.web.static import File; from twisted.web.resource import Resource; from twisted.web.server import Site; from twisted.web import wsgi; print str(twisted.__version__).strip()""... RESULT: 13.2.0 >= 8.0.0 OK. (32) Checking "python-webob" version by executing the command "python -c "import webob; from webob import Request, Response, exc""... RESULT: ANY >= ANY OK. (33) Checking "python-beaker" version by executing the command "python -c "import beaker; from beaker.middleware import SessionMiddleware""... RESULT: ANY >= ANY OK. (34) Checking "pyredis" version by executing the command "python -c "import redis; print str(redis.VERSION).replace('(','').replace(')','').replace(', ','.').strip()""... RESULT: 2.10.3 >= 2.6.0 OK. (35) Checking "pymongo" version by executing the command "python -c "import pymongo; print str(pymongo.version).strip().replace('+','')""... RESULT: 2.8 >= 2.5 OK. (36) Checking "pylibvirt" version by executing the command "python -c "import libvirt; print str(libvirt.getVersion()).strip()""... RESULT: 1002002 >= 9003 OK. (37) Checking "pypureomapi" version by executing the command "python -c "import pypureomapi; print str(pypureomapi.__version__).strip()""... RESULT: 0.3 >= 0.3 OK. (38) Checking "pyhtml" version by executing the command "python -c "import HTML; print str(HTML.__version__).strip()""... RESULT: 0.04 >= 0.04 OK. (39) Checking "gmetad-python" version by executing the command "ls -la /home/ubuntu/osgcloud/cbtool/3rd_party/monitor-core/gmetad-python/gmetad.py"... RESULT: ANY >= ANY OK. (40) Checking "bootstrap" version by executing the command "ls -la /home/ubuntu/osgcloud/cbtool/3rd_party/bootstrap/package.json"... RESULT: ANY >= ANY OK. (41) Checking "bootstrap-wizard" version by executing the command "ls -la /home/ubuntu/osgcloud/cbtool/3rd_party/Bootstrap-Wizard/README.md"... RESULT: ANY >= ANY OK. (42) Checking "streamprox" version by executing the command "ls -la /home/ubuntu/osgcloud/cbtool/3rd_party/StreamProx/README.md"... RESULT: ANY >= ANY OK. (43) Checking "d3" version by executing the command "ls -la /home/ubuntu/osgcloud/cbtool/3rd_party/d3/component.json"... RESULT: ANY >= ANY OK. (44) Checking "novaclient" version by executing the command "python -c "import novaclient; from novaclient.v1_1 import client""... RESULT: ANY >= ANY OK. (45) Checking "softlayer" version by executing the command "python -c "import SoftLayer; print "SoftLayer.__version__".replace('v','')""... RESULT: 3.3.1 >= 3.1 OK. (47) Checking "boto" version by executing the command "python -c "import boto; print str(boto.__version__).strip().replace('-dev','')""... RESULT: 2.36.0 >= 2.1.8 OK. (48) Checking "libcloud" version by executing the command "python -c "import libcloud; print str(libcloud.__version__).replace('-dev','').strip()""... RESULT: 0.16.0 >= 0.11.0 OK. (50) Checking "R" version by executing the command "R --version | grep version | grep -v GNU"... RESULT: 3.0.220130925 >= 2.1 OK. (49) Checking "iptables" version by executing the command "iptables -v 2>&1 | grep v | cut -d ' ' -f 2 | sed 's/v//g' | sed 's/://g'"... RESULT: 1.4.21 >= 1.2 OK. (51) Checking "sshkey" version by executing the command "ls /home/ubuntu/osgcloud/cbtool/credentials//cbtool_rsa"... RESULT: ANY >= ANY OK. (52) Checking "sshd" version by executing the command "sudo cat /etc/ssh/sshd_config | grep -v ^# | grep UseDNS | grep no"... RESULT: NOT OK. ACTION: Please install/configure "sshd" by issuing the following command: "sed -i 's/.*UseDNS.*/UseDNS no/g' /etc/ssh/sshd_config; sed -i 's/.*GSSAPIAuthentication.*/GSSAPIAuthentication no/g' /etc/ssh/sshd_config;" (52) Installing "sshd" by executing the command "sed -i 's/.*UseDNS.*/UseDNS no/g' /etc/ssh/sshd_config; sed -i 's/.*GSSAPIAuthentication.*/GSSAPIAuthentication no/g' /etc/ssh/sshd_config;"... RESULT: DONE OK. All dependencies are in place Checking for a "private" configuration file for user "root" in /home/ubuntu/osgcloud/cbtool//configs/root_cloud_definitions.txt) Copying /home/ubuntu/osgcloud/cbtool//configs/cloud_definitions.txt to /home/ubuntu/osgcloud/cbtool//configs/root_cloud_definitions.txt... Please re-run configure again 9. Check if your redis server is running by executing the following command:: sudo netstat -tulpn | grep 6379 tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 11701/redis-server If redis is listening on :bash:`127.0.0.1`, please do the following:: sudo service redis-server restart 10. Then, lets start CBTOOL:: cd /home/ubuntu/osgcloud/cbtool ./cb --soft_reset You should see an output like this:: ubuntu@cbtool-spec:~/osgcloud/cbtool$ ./cb --soft_reset Cbtool version is "7b33da7" Parsing "cloud definitions" file..... "/home/ubuntu/osgcloud/cbtool/lib/auxiliary//../..//configs/cloud_definitions.txt" opened and parsed successfully. Checking "Object Store".....An Object Store of the kind "Redis" (shared) on node 9.47.240.196, TCP port 6379, database id "0" seems to be running. Checking "Log Store".....A Log Store of the kind "rsyslog" (private) on node 9.47.240.196, UDP port 5114 seems to be running. Checking "Metric Store".....A Metric Store of the kind "MongoDB" (shared) on node 9.47.240.196, TCP port 27017, database id "metrics" seems to be running. Executing "hard" reset: (killing all running toolkit processes and flushing stores) before starting the experiment...... Killing all processes... done Flushing Object Store... done Flushing Metric Store... done Flushing Log Store... done Checking for a running API service daemon.....API Service daemon was successfully started. The process id is 21498 (http://9.47.240.196:7070). Checking for a running GUI service daemon.....GUI Service daemon was successfully started. The process id is 21522, listening on port 8080. Full url is "http://9.47.240.196:8080". The "sim" cloud named "MYSIMCLOUD" was successfully attached to this experiment. The experiment identifier is EXP-02-03-2015-07-08-02-PM-UTC status: VMC 1D4C79C0-E126-5680-B375-0C6DC0BD60B1 was successfully registered on SimCloud "MYSIMCLOUD". status: VMC EAEBC719-8DD7-523D-948C-644640C2C9F0 was successfully registered on SimCloud "MYSIMCLOUD". status: VMC FBEB4F2B-AAF9-58FA-A23A-D68FC8F161E7 was successfully registered on SimCloud "MYSIMCLOUD". status: VMC A75CBDB2-5541-5478-8227-B74BA9ABC862 was successfully registered on SimCloud "MYSIMCLOUD". status: Attribute "collect_from_host" was set to "false". Skipping Host OS performance monitor daemon startup All VMCs successfully attached to this experiment. (MYSIMCLOUD) Follow the instructions on :ref:`simulated` page to run a 'simulated mode' of the benchmark. The details of the 'simulated mode' are also described in that page. 11. Check the version of the mongo installed. The SPEC Cloud IaaS 2016 Benchmark kit does not ship with the mongo server. It is installed as part of CBTOOL installation. The following mongo version have been tested with CBTOOL shipped in the kit:: $mongo --version MongoDB shell version: 2.4.9 12. Check the redis version installed. CBTOOL shipped with the benchmark has been tested with the following redis version:: $redis-server -v Redis server v=2.8.4 If during subsequent installation of the benchmark, a new redis version is found not to work, the tester should install redis with the above version. 13. Check python package versions. The following commands are helpful. These commands assume connectivity to Ubuntu and Python respositories. Install Python package manager, namely, pip:: sudo apt-get install python-pip List python packages:: sudo pip list Install a python package:: sudo pip install PYTHONPACKAGE (replace PYTHONPACKAGE with the name of package being installed) Install a python package with a version:: sudo pip install PYTHONPACKAGE==0.1 Remove a python package:: sudo pip uninstall PYTHONPACKAGE The pip packages installed on the benchmark harness machine and their version should resemble this list:: sudo pip list apache-libcloud (0.17.0) apt-xapian-index (0.45) Babel (1.3) backports.ssl-match-hostname (3.4.0.2) Beaker (1.6.3) boto (2.38.0) chardet (2.0.1) click (4.0) cliff (1.12.0) cmd2 (0.6.8) colorama (0.2.5) docutils (0.12) HTML.py (0.4) html5lib (0.999) iso8601 (0.1.10) libvirt-python (1.2.2) lockfile (0.8) msgpack-python (0.4.6) netaddr (0.7.14) netifaces (0.10.4) oslo.config (1.11.0) oslo.i18n (1.6.0) oslo.serialization (1.5.0) oslo.utils (1.5.0) PAM (0.4.2) pbr (0.11.0) pip (7.1.2) prettytable (0.7.2) pssh (2.2.2) pycrypto (2.6.1) pymongo (2.7.2) pyOpenSSL (0.13) pyparsing (2.0.3) pypureomapi (0.3) pyserial (2.6) python-apt (0.9.3.5ubuntu1) python-daemon (1.5.5) python-debian (0.1.21-nmu2ubuntu2) python-keystoneclient (1.4.0) python-neutronclient (2.5.0) python-novaclient (2.25.0) pytz (2015.4) PyYAML (3.11) redis (2.10.3) requests (2.7.0) ruamel.base (1.0.0) ruamel.ordereddict (0.4.9) ruamel.yaml (0.10.7) setuptools (3.3) simplejson (3.6.5) six (1.9.0) SoftLayer (4.0.2) ssh-import-id (3.21) stevedore (1.4.0) Twisted-Core (13.2.0) Twisted-Web (13.2.0) urllib3 (1.7.1) WebOb (1.3.1) wheel (0.24.0) zope.interface (4.0.5) If there is an issue installing pyOpenSSL package, please make sure that you have installed libssl-dev package:: sudo apt-get install libssl-dev