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 openrc for your OpenStack cloud is present at /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.

  1. 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.
  1. SSH into your VM, get the latest package list, and install unzip and git packages. Make sure that DNS is configured correctly in this VM (/etc/hosts file):

    ssh -i YOURKEY ubuntu@[YOURVMIPADDR]
    sudo apt-get update
    sudo apt-get install git -y
    sudo apt-get install unzip -y
    
  2. Add your machine hostname and IP address to /etc/hosts file. If more than one interface is configured in the system as indicated by the output of ifconfig -a, add the IP address and hostname to /etc/hosts which will be accessible from a browser.:

    vi /etc/hosts
    IPADDR HOSTNAME
    
  3. 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: The git instructions are provided again for your reference:

git clone --recursive https://[YOUR SPEC USERNAME]@git.spec.org/repos/osgcloud
Enter your pro.spec.org username and password

Development only: Checkout the latest benchmark harness code. Assuming, the benchmark harness was downloaded into /home/ubuntu/osgcloud:

cd /home/ubuntu/osgcloud/
git pull

cd /home/ubuntu/osgcloud/cbtool
git pull origin master
  1. Prepare the keys to be used with CBTOOL and instances

Generate your own ssh key:

ssh-keygen [press ENTER for all options]

The above command will create the following directory if it does not exist and add id_rsa and id_rsa.pub keys into it. Add this key to the 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 /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
  1. 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
  1. 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 127.0.0.1, please do the following:

sudo service redis-server restart
  1. Then, lets start CBTOOL:

    cd /home/ubuntu/osgcloud/cbtool
    ./cb --hard_reset
    

You should see an output like this:

ubuntu@cbtool-spec:~/osgcloud/cbtool$ ./cb --hard_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 Running Benchmark with a Simulated Cloud page to run a ‘simulated mode’ of the benchmark. The details of the ‘simulated mode’ are also described in that page.

  1. 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
    
  2. 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.
  1. 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

This Page