diff options
author | Nauman Ahad <Nauman_Ahad@dell.com> | 2016-01-18 12:13:19 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-01-18 12:13:19 +0000 |
commit | 559b51c45a93621a96c6c29332fdcc768578eb71 (patch) | |
tree | 41b680a29e8b735f660c9e5c18e2b1c5ebcc4ad3 | |
parent | 499c791fe98cea785f3215c65b2a1b2211c27267 (diff) | |
parent | 254ebb0efff73faa2285cf9f1ce70298a9787cb0 (diff) |
Merge "bug fix: make installer specific changes for baremetal. cater for fuel"
-rw-r--r-- | benchmarks/playbooks/iperf.yaml | 6 | ||||
-rw-r--r-- | data/hosts | 4 | ||||
-rw-r--r-- | data/my_key.pem | 50 | ||||
-rw-r--r-- | docs/how-to-use-docs/01-introduction.rst | 30 | ||||
-rw-r--r-- | docs/how-to-use-docs/index.rst | 1 | ||||
-rw-r--r-- | docs/user_guides/framework/index.rst | 10 | ||||
-rw-r--r-- | docs/user_guides/framework/installation.rst | 137 | ||||
-rw-r--r-- | func/driver.py | 3 |
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' @@ -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----- -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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) |