aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNauman Ahad <Nauman_Ahad@dell.com>2016-01-18 12:13:19 +0000
committerGerrit Code Review <gerrit@172.30.200.206>2016-01-18 12:13:19 +0000
commit559b51c45a93621a96c6c29332fdcc768578eb71 (patch)
tree41b680a29e8b735f660c9e5c18e2b1c5ebcc4ad3
parent499c791fe98cea785f3215c65b2a1b2211c27267 (diff)
parent254ebb0efff73faa2285cf9f1ce70298a9787cb0 (diff)
Merge "bug fix: make installer specific changes for baremetal. cater for fuel"
-rw-r--r--benchmarks/playbooks/iperf.yaml6
-rw-r--r--data/hosts4
-rw-r--r--data/my_key.pem50
-rw-r--r--docs/how-to-use-docs/01-introduction.rst30
-rw-r--r--docs/how-to-use-docs/index.rst1
-rw-r--r--docs/user_guides/framework/index.rst10
-rw-r--r--docs/user_guides/framework/installation.rst137
-rw-r--r--func/driver.py3
8 files changed, 210 insertions, 31 deletions
diff --git a/benchmarks/playbooks/iperf.yaml b/benchmarks/playbooks/iperf.yaml
index feef9369..fdf22c94 100644
--- a/benchmarks/playbooks/iperf.yaml
+++ b/benchmarks/playbooks/iperf.yaml
@@ -17,6 +17,9 @@
set_fact:
rolename: "{{role}}"
when: role is defined
+ - name: installertype
+ set_fact:
+ installertype: "{{installer}}"
- name: Get Hostname
shell: echo $HOSTNAME
register: hostID
@@ -43,10 +46,11 @@
shell: iptables -L INPUT --line-number | grep DROP | awk '{print $1}'
register: iptable_entry
ignore_errors: yes
+ when: installertype == 'fuel'
- name: Removing entry number
shell: iptables -D INPUT {{iptable_entry.stdout}}
ignore_errors: yes
- when: iptable_entry != ''
+ when: iptable_entry != '' and installertype == 'fuel'
- name: Installing IPERF when Ubuntu
shell: apt-get install iperf3 -y
when: ansible_os_family == "Debian" and rolename == '1-server'
diff --git a/data/hosts b/data/hosts
index 72c74dc5..30ea3988 100644
--- a/data/hosts
+++ b/data/hosts
@@ -1,4 +1,4 @@
[2-host]
-172.18.0.124
+172.18.0.119
[1-server]
-172.18.0.125
+172.18.0.118
diff --git a/data/my_key.pem b/data/my_key.pem
index 12b24cfb..58e5a389 100644
--- a/data/my_key.pem
+++ b/data/my_key.pem
@@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAvB9etuZBjTwUhlAydqFP7LGSnGGhsleyDF4CUP/9cf+DpNBu
-xwe3hSupsTOHM4qcmZykD5dso3IlGJDVFWsdHoDGgAvtGae4Fl+XW5mTLNo91A+X
-0b7yWOV4ul2PapLOVzfy/a2FdV72eVr4iR+/iLg6L3jyZNQXYAH9Xz4jzZfe/hEX
-BcHkXBcezH3O0RgN/62c72UjYY9Pq/m/P0YF8kh6hT7M+XzG7fgbTB7bl7tSJqvg
-doA7AoekzPNN2o7hzcoi4SfzI9byCny3+ac9cXmNqXNjwyw6C05ga56Hq4tU53zy
-/waytanzr6KdFP3nBKNg3VjEJ8aQQfkgBrHOiwIDAQABAoIBADNVMAgifoKmgUdB
-PPPoAqIotkPb1D6Q9XGweVtW7vabbXWcto2yyl4ZUv2afOsQiLjV6GKkxC05aWvx
-oWNtzg1TwFaSaolUncPlI60IFAPqLXLfKmM+gmzFeRMJkqfXFVzxVGnqXn9vgTwO
-GcF5G0+YTbBEhYgD47j78gJ6N1TTAy4+mLI0ZISHa1wavj77hjySXajbIbusKU+F
-aQhdquK5k1f5RkxBHjMbgyIvSuJJZgp5TEcV+sVzsmeKD9hnzpbhW51rxGOE765l
-rBY1qh3EdEZpEd+hKltseDdqDKlv3Fc+rVJR8pLVucwMTvlh+McA2gTD/RCQq7Vp
-vjbjV3ECgYEA6jl1bsybz//I6mT7yvAx83CVkSuMQvSDIO+Uij3KXPHumuu8a1fd
-8gdVWfHWko2uV49+BxP90sjvoYhvkX0OkhBR2Ks628xLvEMA8R3an+GuLG1wRZM0
-fq1yt8rNb4ym98UANFfSAkoaRCnYCqJLYguGVVBDVaFGexg+XQdMOmkCgYEAzZyv
-mWGS5NXB1Kus/A1O38PHoj514M0MHHljuYLavRSAGB9vI0Q1FActsiPOgRqYWQBn
-4wcd9XtdoxvLl8wey8H+iAqd8dxI3sfSbzyLokA8f50FlyQzMp5kzd0m3sfyqv50
-mwXBG/H94CP5Oaei0DNAykAU7uHr4xZExCmXGtMCgYAt4OVct51Jh7uuFeuwG45d
-Nc9GKTaHIufQer0ouuO5gvYOyGAW0pY5wy/3t0QlXrUol4XDEypjsFIn3Nals843
-1BSEET4tMX4gOSulDwj0yjrYnvMf3a6ppYXT9Fh7IhzOaXsZxZ3wLt2oPl3/7zw+
-zy0X5unZiwaIM/57MGPBCQKBgQCLDnQINOBm2VZc4bp9QPbeCQej58BLSAHv4/0Z
-ArGy/QFgzymX3VJUeEJkXykTUYxFbSvVdAPD+Sor3OmFgSw2u73L/foyD7xMxzG/
-v1/kXLNNz0FvpbDmhA9C11Wph+rL0InGKk8e+jur8khkwMYxLuiboFlH8g1ZqL7b
-OBGUtwKBgAim9NkXnFFn+MqWQKjyar2INrVmn7eNrDqolOlC/FfroPFY0W2CCjAn
-OCIJafmdH5rKhAXThUStk7Vx+iyzlwVsCnuA5XNK36aXCwWVzqHB0lPMoGxya8g4
-QMjriDVfVM/3ddKisqG8LxFs+NT76Jo/2oGKaQNAMwwlR7ZwdCtL
+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
+xHoHSXRLgF3YBTgjoUXLZns/+bu8J63ZbfbYg1jTTkQcEccLCXyKu+3JAoGBAN4F
+qqhsLLnh1Fo9XbJIAGUKzirWEnbGRtDV66b5j90MVMHanZ0NHpJN5/xM44ymuvMY
+Un/oi+BZdm2wtb5wB3+vj4tRR2MpIHiWh9ELSHcGI3bJkR+9oEeDUfRVB3VNcmxv
+mhmONTp+B4v1SghDivYWmo86C3ysXLi/1klnZ7P7AoGBAM2T+X7CoUQhlv/0siDJ
+oTUxHjf8lrUAdoEAROz9l3wUKpSaFZwem7fdw14jU9ucmJUektnlrplptPoiVWG1
+cx61/uVevbTDwtqYMSJAqObKK0yxDYkVlKDPkuz0eJg7MfrJrfZg786un6li2i1/
+4lC6e1Lg5fNzolgVDirqzVSBAoGAR1ekzffsq1JQzSp46CfQ0KcXNpaRWk8+RC7p
+ST9aJhqnRZ99FBE6KKMWD3GZkQGmgyTmpalRASdeMcMds3MGRdZhFtBoUwnNIFKm
+k9q/T1fOn4YHtx5U2YXuGMgV3HClewiliN60ZfZHcIbCYkNp7Me4pJtvQ4GTTd5+
++hlbLm8CgYEAsQA3/qFgS9/QF+IZ/7fgv5wMuGJOF607sM43O8Fxz1KFAYLQaL8T
+jIrFCNvqmNHf8bYPBWt0/jo6+rov8avWUvffeqrEuKIgqW0068HUyeU9rKdYNgw7
+XjU0R0K16I9GQjYQph2IZlJaWBXuRZKrO7Nhqw/ck6ANzhKcJ114suA=
-----END RSA PRIVATE KEY-----
diff --git a/docs/how-to-use-docs/01-introduction.rst b/docs/how-to-use-docs/01-introduction.rst
new file mode 100644
index 00000000..74587e81
--- /dev/null
+++ b/docs/how-to-use-docs/01-introduction.rst
@@ -0,0 +1,30 @@
+============
+Introduction
+============
+
+**Welcome to QTIP's documentation !**
+
+.. _QTIP: https://wiki.opnfv.org/yardstick
+
+QTIP_ is an OPNFV Project.
+
+QTIP aims to benchmark OPNFV platforms through a "Bottom up" approach, testing bare-metal components first.
+
+The overall problem this project tries to solve is the general characterization of an OPNFV platform. It will focus on general performance questions that are common to the platform itself, or applicable to multiple OPNFV use cases. QTIP will provide the capability to quantify a platform's performance behavior in a standardized, rigorous, and open way, and a well-documented methodology to reproduce the results by anyone interested.
+
+The chapter :doc:`02-methodology` describes the methodology implemented by the
+QTIP Project for NFVI performance benchmarking. The chapter
+:doc:`03-list-of-testcases` includes a list of available Yardstick test cases.
+
+The *QTIP* framework is deployed in the Dell OPNFV community lab. It is
+infrastructure and application independent.
+
+.. _Pharos: https://wiki.opnfv.org/pharos
+.. seealso:: Pharos_ for information on OPNFV community labs.
+
+Contact QTIP
+=================
+
+Feedback? `Contact us`_
+
+.. _Contact us: opnfv-users@lists.opnfv.org
diff --git a/docs/how-to-use-docs/index.rst b/docs/how-to-use-docs/index.rst
index 36710b32..bbe991b0 100644
--- a/docs/how-to-use-docs/index.rst
+++ b/docs/how-to-use-docs/index.rst
@@ -19,6 +19,7 @@ Contents:
:maxdepth: 4
documentation-example.rst
+ 01-introduction.rst
Indices and tables
==================
diff --git a/docs/user_guides/framework/index.rst b/docs/user_guides/framework/index.rst
index b4817d1b..c9a255ad 100644
--- a/docs/user_guides/framework/index.rst
+++ b/docs/user_guides/framework/index.rst
@@ -1 +1,9 @@
-.. populate before the deadline
+=================================
+QTIP Framework Documentation
+=================================
+
+.. toctree::
+ :numbered:
+ :maxdepth: 2
+
+ installation
diff --git a/docs/user_guides/framework/installation.rst b/docs/user_guides/framework/installation.rst
index ebe23471..c1aa8d9b 100644
--- a/docs/user_guides/framework/installation.rst
+++ b/docs/user_guides/framework/installation.rst
@@ -1 +1,136 @@
-.. Populate this before the deadline
+..
+ TODO As things will change, then this document has to be revised before the
+ next release. Steps:
+ 1. Verify that the instructions below are correct and have not been changed.
+ 2. Add everything that is currently missing and should be included in this document.
+ 3. Make sure each title has a paragraph or an introductory sentence under it.
+ 4. Make sure each sentence is grammatically correct and easily understandable.
+ 5. Remove this comment section.
+
+Installation
+==============
+
+QTIP currently supports by using a Docker image or by pulling the repo from the upstream
+repository found at https://git.opnfv.org/qtip. Detailed steps about setting up QTIP using both of these options
+can be found below.
+
+To use QTIP you should have access to an OpenStack environment,
+with at least Nova, Neutron, Glance, Keystone and Heat installed.
+
+The steps needed to run QTIP are:
+
+Running QTIP by pulling the upstream code
+-----------------------------------------
+
+.. _install-dependencies:
+
+Setting QTIP framework on Ubuntu 14.04
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Install dependencies:
+::
+
+ sudo apt-get install python-dev
+ sudo apt-get install python-pip
+ sudo apt-get install build-essential
+ sudo apt-get install git wget
+ sudo pip install python-heatclient python-glanceclient python-neutronclient
+
+
+Download source code and install python dependencies:
+::
+
+ git clone https://git.opnfv.org/qtip
+ cd qtip
+
+Installing QTIP using Docker
+---------------------------------
+
+QTIP has a Docker images on the docker hub which can be pull after docker has been installed.
+
+Installing Docker
+^^^^^^^^^^^^^^^^^
+The first step is to install docker:
+::
+
+ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
+
+
+Add an entry for your Ubuntu operating system
+::
+
+ Open the /etc/apt/sources.list.d/docker.list file in your favorite editor.
+
+If the file doesn’t exist, create it.
+
+Remove any existing entries.
+
+Add an entry for your Ubuntu operating system.
+
+On Ubuntu Trusty 14.04 (LTS)
+::
+
+ deb https://apt.dockerproject.org/repo ubuntu-trusty main
+
+Update the package manager
+::
+
+ sudo apt-get update
+
+Install Docker:
+::
+
+ sudo apt-get install docker-engine
+
+Starting Docker Daemon:
+::
+
+ sudo service docker start
+
+Pulling opnfv/qtip docker image from docker hub:
+::
+
+ sudo docker pull opnfv/qtip
+
+Verify that opnfv/qtip has been downloaded. It should be listed as an image by running the following command.
+::
+
+ sudo docker images
+
+Run the Docker instance:
+::
+
+ docker run opnfv/qtip -i -t bash
+
+Now you are in the container and QTIP can be found in the /repos/qtip and can be navigated to using the following command.
+
+::
+
+ cd repos/qtip
+
+
+OpenStack parameters and credentials
+------------------------------------
+
+
+Environment variables
+^^^^^^^^^^^^^^^^^^^^^
+Before running QTIP it is necessary to export OpenStack environment variables
+from the OpenStack *openrc* file. This can be done by running the following command.
+::
+
+ source get_env_info.sh -n {INSTALLER_TYPE} -i {INSTALLER_IP}
+ source opnfv-creds.sh
+
+This provides a ``opnfv-creds.sh`` file which can be sources to get the environment variables.
+For running QTIP manually, it is also necessary to export the installer type. ::
+
+ export INSTALLER_TYPE="{installer-type}"
+
+QTIP default key pair
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+QTIP uses a SSH key pair to connect to the guest image. This key pair can
+be found in the ``data/`` directory.
+
+Examples
+--------
+QTIP Has been made with the intention of requiring minimal interaction from the user.
diff --git a/func/driver.py b/func/driver.py
index 0dc0a6e1..7ccbb0c0 100644
--- a/func/driver.py
+++ b/func/driver.py
@@ -29,7 +29,7 @@ class Driver:
self.dic_json['Dest_dir'] = str(result_dir)
self.dic_json['ip1']=''
self.dic_json['ip2']=''
-
+ self.dic_json['installer']=str(os.environ['INSTALLER_TYPE'])
for k,v in benchmark_detail:
self.dic_json[k]=v
for k, v in roles:
@@ -46,5 +46,6 @@ class Driver:
self.dic_json['privateip'+str(index)] = 'NONE'
index= index+1
dic_json = json.dumps(dict(self.dic_json.items()))
+ print dic_json
run_play = 'ansible-playbook -s ./benchmarks/playbooks/{0} --private-key=./data/QtipKey -i ./data/hosts --extra-vars \'{1}\' -v '.format(benchmark_name, dic_json)
status = os.system(run_play)