Merge "Clean up README in ci-scripts/ directory"
This commit is contained in:
commit
b357c6999c
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user