Merge "Clean up README in ci-scripts/ directory"

This commit is contained in:
Jenkins 2017-01-03 17:02:39 +00:00 committed by Gerrit Code Review
commit b357c6999c

View File

@ -11,44 +11,48 @@ Table of Contents
CI Structure CI Structure
============ ============
For an example Jenkins configuration see `this job <https://ci.centos.org/view/rdo/view/POC/job/poc-browbeat-tripleo-quickstart-mitaka-delorean-full-deploy-minimal/>`_ For an example Jenkins configuration see `this job
<https://ci.centos.org/view/rdo/view/POC/job/poc-browbeat-tripleo-quickstart-mitaka-delorean-full-deploy-minimal/>`_
If you would like to make your own CI job add your CI script to this directory and invoke it as If you would like to make your own CI job add your CI script to this directory
minimally as possible on the Jenkins end, this will help us keep script changes in the repository and invoke it as minimally as possible on the Jenkins end, this will help us
and better test them before merging. keep script changes in the repository and better test them before merging.
Script Documentation Script Documentation
==================== ====================
Install and Check Install and Check
----------------- -----------------
Currently the main CI script that is run against every commit submitted to the Openstack Gerrit. Currently the main CI script that is run against every commit submitted to the
For each test a fresh Openstack instance is deployed using Openstack Gerrit. For each test a fresh Openstack instance is deployed using
`TripleO Quickstart <https:github.com/openstack/tripleo-quickstart>`_, Browbeat is then installed. `TripleO Quickstart <https:github.com/openstack/tripleo-quickstart>`_, Browbeat
Both of these happen regardless of what was included in the commit. Workload tests are run only if is then installed. Both of these happen regardless of what was included in the
a file diff between the commit and Browbeat master contains the workload name. Success is defined commit. Workload tests are run only if a file diff between the commit and
as all processes in the script exiting with exit code 0, note Browbeat will return zero if a test Browbeat master contains the workload name. Success is defined as all processes
fails its SLA or otherwise fails in a manner that's not total. in the script exiting with exit code 0, note Browbeat will return zero if a
test fails its SLA or otherwise fails in a manner that's not total.
To add an additional workload to the script add the workload name to the tools loop near To add an additional workload to the script add the workload name to the tools
the bottom of the file. loop near the bottom of the file.
:: ::
for tool in rally perfkit shaker <tool name>; do for tool in rally perfkit shaker <tool name>; do
Then add configuration details that run all functions of the added task or plugin to the Then add configuration details that run all functions of the added task or
browbeat-ci.yaml file in ci-scripts/config. plugin to the ``browbeat-ci.yaml`` file in ``ci-scripts/config``.
You can view the output of this job `here <https://ci.centos.org/view/rdo/view/POC/job/poc-browbeat-tripleo-quickstart-mitaka-delorean-full-deploy-minimal/>`_ You can view the output of this job `here
<https://ci.centos.org/view/rdo/view/POC/job/poc-browbeat-tripleo-quickstart-mitaka-delorean-full-deploy-minimal/>`_
Invoking Locally Invoking Locally
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
To run tripleo/install-and-check.sh using your local machine as the driver for a To run ``tripleo/install-and-check.sh`` using your local machine as the driver
TripleO Quickstart / Browbeat deployment create an empty directory to use as your for a TripleO Quickstart / Browbeat deployment create an empty directory to use
workspace and point virthost at a machine running CentOS 7+ or RHEL 7+ with at least 32gb of ram. as your workspace and point virthost at a machine running CentOS 7+ or RHEL 7+
with at least 32GB of RAM.
:: ::
@ -69,8 +73,8 @@ Clone the required repositories
$ git clone https://github.com/openstack/tripleo-quickstart/ $ git clone https://github.com/openstack/tripleo-quickstart/
$ git clone https://github.com/redhat-openstack/ansible-role-tripleo-inventory $ git clone https://github.com/redhat-openstack/ansible-role-tripleo-inventory
Install the Ansible roles from Github into the virtual environment, Install the Ansible roles from Github into the virtual environment, as well as
as well as a few Python packages a few Python packages
:: ::
@ -82,16 +86,18 @@ as well as a few Python packages
$ python setup.py install $ python setup.py install
$ pip install --upgrade ansible netaddr $ pip install --upgrade ansible netaddr
Install the package dependencies, if you're nervous about using root just look inside of Install the package dependencies, if you're nervous about using root just look
quickstart.sh, these are very generic and you might already have all of them installed. inside of ``quickstart.sh``, these are very generic and you might already have
all of them installed.
:: ::
$ sudo bash $WORKSPACE/tripleo-quickstart/quickstart.sh --install-deps $ sudo bash $WORKSPACE/tripleo-quickstart/quickstart.sh --install-deps
Finally invoke the script and settle in, this command will take about two hours to complete Finally invoke the script and settle in, as this command will take about two
and will place all the relevant ssh credentials and other information to access your instance hours to complete and will place all the relevant ssh credentials and other
once the run is complete in the workspace directory. information to access your instance once the run is complete in the workspace
directory.
:: ::
@ -100,32 +106,41 @@ once the run is complete in the workspace directory.
Browbeat as a Quickstart Extra Browbeat as a Quickstart Extra
------------------------------ ------------------------------
`TripleO Quickstart <https:github.com/openstack/tripleo-quickstart>`_ provides an extensible `TripleO Quickstart <https:github.com/openstack/tripleo-quickstart>`_ provides
interface to allow "Extras" to add to to its core functionality of generating an entierly virtual an extensible interface to allow "Extras" to add to to its core functionality
Openstack Deployment using TripleO. The focus of this script is to deploy barmetal clouds in CI of generating an entirely virtual Openstack Deployment using TripleO. The focus
for effective and extensible automated benchmarking. of this script is to deploy baremetal clouds in continuous integration (CI) for
effective and extensible automated benchmarking.
Invoking Locally Invoking Locally
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
Please read `The Extras Documentation <https://review.openstack.org/#/c/346733/22/doc/source/working-with-extras.rst>`_ Please read `The Extras Documentation
for a general background on how TripleO Quickstart Extras operate. Please also reference <https://review.openstack.org/#/c/346733/22/doc/source/working-with-extras.rst>`_
`The Baremetal Environments Documentation <http://images.rdoproject.org/docs/baremetal/>`_ for a general background on how TripleO Quickstart Extras operate. Please also
if you need to configure your job to run on baremetal. reference `The Baremetal Environments Documentation
<http://images.rdoproject.org/docs/baremetal/>`_ if you need to configure your
job to run on baremetal.
Browbeat provides two playbooks for use with Quickstart `quickstart-browbeat.yml` Browbeat provides two playbooks for use with Quickstart
and `baremetal-virt-undercloud-tripleo-browbeat.yml` the first playbook is for deploying ``quickstart-browbeat.yml`` and
an entierly virtual setup on a single baremetal machine. The second playbook creates a ``baremetal-virt-undercloud-tripleo-browbeat.yml`` the first playbook is for
virtual undercloud on a undercloud host machine and deploys a baremetal overcloud as configured deploying an entierly virtual setup on a single baremetal machine. The second
by the users hardware environment. playbook creates a virtual undercloud on a undercloud host machine and deploys a
baremetal overcloud as configured by the users hardware environment.
Dependencies for this script (at least for Fedora 25) are Dependencies for this script (at least for Fedora 25) are
sudo dnf install ansible git python-virtualenv gcc redhat-rpm-config openssl-devel ::
To run virtual TripleO Quickstart CI set the following environmental vars and run `quickstart-virt.sh` $ sudo dnf install ansible git python-virtualenv gcc redhat-rpm-config openssl-devel
this will create a TripleO environment and run a short Browbeat test. Since this is a all virtual setup
it is not suggested for serious benchmarking. To run virtual TripleO Quickstart CI set the following environmental vars and
run `quickstart-virt.sh` this will create a TripleO environment and run a short
Browbeat test. Since this is a all virtual setup it is not suggested for
serious benchmarking.
::
export WORKSPACE={TripleO Quickstart Workspace} export WORKSPACE={TripleO Quickstart Workspace}
export RELEASE={release} export RELEASE={release}
@ -135,9 +150,12 @@ it is not suggested for serious benchmarking.
bash quickstart-virt.sh bash quickstart-virt.sh
To run the baremetal CI follow the requisite steps to setup a hardware environment (this is nontrival) To run the baremetal CI follow the requisite steps to setup a hardware
then create a workspace folder and clone TripleO Quickstart and Browbeat into that workspace. Set the environment (this is nontrival) then create a workspace folder and clone
variables below and then run `microbrow.sh`. TripleO Quickstart and Browbeat into that workspace. Set the variables below
and then run ``microbrow.sh``.
::
export WORKSPACE={TripleO Quickstart Workspace} export WORKSPACE={TripleO Quickstart Workspace}
export HW_ENV={hw-env} export HW_ENV={hw-env}
@ -157,11 +175,15 @@ variables below and then run `microbrow.sh`.
Configurable Options Configurable Options
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
By default a cloud will be setup and a very basic benchmark will be run and all results will be By default a cloud will be setup and a very basic benchmark will be run and all
placed only in the `browbeat/results` folder on the virtual undercloud. If configured to use results will be placed only in the ``browbeat/results`` folder on the virtual
Elasticsearch metadata and benchmarks results will be inserted into Elasticsearch for easier undercloud.
visualization and storage. If Graphana is enabled performance metrics will be gathered from all
cloud nodes and stored into the configured graphite instance to be processed by the Grafana If configured to use Elasticsearch metadata and benchmarks results will be
dashboards created using the given username and password. These dashboards will be automatically inserted into Elasticsearch for easier visualization and storage. If Graphana is
overwritten each run to reflect the number of nodes in your cloud and other changes that enabled performance metrics will be gathered from all cloud nodes and stored
may occur between runs. into the configured graphite instance to be processed by the Grafana dashboards
created using the given username and password.
These dashboards will be automatically overwritten each run to reflect the
number of nodes in your cloud and other changes that may occur between runs.