A tool to load OpenStack clouds end to end in both control plane and data plane.
Go to file
ahothan 2e107ac060 Add python based force cleanup script
Change-Id: I5e9ce75d2773e83cbb94ae36b708d2b68b9008bc
2016-02-26 00:10:50 -08:00
doc Update doc for web service and other 2016-01-12 08:59:10 -08:00
kb_dib Feature enhancements for storage testing 2016-01-28 17:54:46 -08:00
kb_server enable CORS 2016-02-04 02:03:46 +00:00
kb_web update storage charts 2016-02-05 17:10:40 -08:00
kloudbuster Add python based force cleanup script 2016-02-26 00:10:50 -08:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:28:33 +00:00
.gitignore for minify code 2015-11-04 19:31:59 -08:00
.gitreview Update .gitreview for new Gerrit remote name 2015-08-03 22:33:36 +00:00
.mailmap Initial commit to openstack/kloudbuster 2015-08-03 15:49:39 -07:00
.testr.conf Initial release of VMTP to stackforge 2015-02-09 14:14:00 -08:00
HACKING.rst Initial commit to openstack/kloudbuster 2015-08-03 15:49:39 -07:00
LICENSE Initial release of VMTP to stackforge 2015-02-09 14:14:00 -08:00
MANIFEST.in Initial release of VMTP to stackforge 2015-02-09 14:14:00 -08:00
README.rst Feature commit #4 to support running fio 2016-01-22 15:11:30 -08:00
babel.cfg Initial release of VMTP to stackforge 2015-02-09 14:14:00 -08:00
openstack-common.conf Initial commit to openstack/kloudbuster 2015-08-03 15:49:39 -07:00
requirements-dev.txt Adding support to store CPU info 2015-02-25 16:07:19 -08:00
requirements.txt add support to create html file for storage 2016-02-19 00:54:12 +00:00
setup.cfg add support to create html file for http 2016-02-20 00:34:04 +00:00
setup.py Initial commit to openstack/kloudbuster 2015-08-03 15:49:39 -07:00
test-requirements.txt Add the support for dynamiclly generating the HTML page 2015-09-22 15:45:51 -07:00
tox.ini Add python based force cleanup script 2016-02-26 00:10:50 -08:00

README.rst

Overview

How good is your OpenStack data plane under real heavy load?

KloudBuster is a tool that can load the data plane of any Neutron OpenStack cloud at massive scale and can measure how well the cloud behaves under load.

Features

  • Neutron configuration agnostic (any encapsulation, any overlay, any plugin)

  • Can load the data plane with one OpenStack cloud (single-cloud operations for L3 East-West scale) or 2 OpenStack clouds (dual-cloud operations with one cloud hosting the HTTP servers and the other loading HTTP traffic for L3 North-South scale testing)

  • User can specify any number of tenants, routers, networks (only limited by cloud capacity) and KloudBuster will stage all these resources in a way that makes sense for operational data plane traffic

  • HTTP traffic load:

    • Real HTTP servers (Nginx) running in real Linux images (Ubuntu 14.04)
    • Can specify any number of HTTP servers per tenant
    • High performance and highly scalable HTTP traffic generators to simulate huge number of HTTP users and TCP connections (hundreds of thousands to millions)
    • overall throughput and latency measurement for every single HTTP request (typically millions per run) using the open source HdrHistogram library
  • Traffic shaping to specify on which links traffic should flow

  • Highly efficient and scalable metric aggregation

  • Can support periodic reporting and aggregation of results

  • Automatic cleanup upon termination (by default)

  • Manual cleanup script

  • Web Server mode with Web UI to drive scale test from your browser

  • Web Server mode with REST interface:

    • Allows KloudBuster to be driven by other programs
    • Swagger 2.0 YAML description of the REST interface
  • Aggregated results provide an easy to understand way to assess the scale of the cloud under test

  • KloudBuster VM images built using OpenStack DIB (Disk Image Builder)

  • Verified to work on any OpenStack release starting from IceHouse

Limitations

  • Requires Neutron networking (does not support Nova networking)
  • Only supports HTTP traffic in this version

Contributions and Feedbacks

If you are interested in OpenStack Performance and Scale, contributions and feedbacks are welcome!

The KloudBuster code is still relatively small in size and touches many different areas such as:

  • Backend control plane and data plane (python, C)
  • Frontend RESTful interface
  • REST modeilizatiuon (swagger)
  • Web User Interface (javascript)

If you have any feedbacks or would like to make small or large contributions, simply send an email to openstack-dev@lists.openstack.org with a '[kloudbuster]' tag in the subject.

Licensing

KloudBuster is licensed under the Apache License, Version 2.0 (the "License"). You may not use this tool except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

KloudBuster VM images contain multiple open source license components: