Git Product home page Git Product logo

raceway's Introduction

Raceway

Raceway is an application to manage OpenStack Rally benchmark runs. Interaction with Raceway is driven through a REST API which feeds a frontend GUI and a CLI (whenever that gets written).

Requirements

  • OpenStack Rally
  • MySQL

OpenStack Rally should be installed with the following steps. This makes sure you are running the latest version.

$ wget https://github.com/openstack/rally/archive/master.zip
$ unzip master.zip
$ cd rally-master
$ ./install_rally.sh --system ../rally --overwrite --verbose --dbtype mysql --db-host localhost --db-user rally --db-password rally --db-name rally

If you have a different version of Python installed, use the example below and replace 'python2.7' with your version of Python.

$ ./install_rally.sh --target ../rally --overwrite --verbose --dbtype mysql --db-host localhost --db-user rally --db-password rally --db-name rally --python `which python2.7`

Installation

Simply put the Raceway binary in your path with the public directory. Running make build gets all dependencies and builds the binary while also checking for race conditions.

Usage

$ git clone [email protected]:briandowns/raceway.git
$ cd raceway
$ make build
$ ./raceway -config </path/to/config/file>

Web UI

An incomplete web UI is provided to be able to view the generated HTML or JSON from the task runs.

REST API

Method Resource Description
GET /api/v1/deployments Retrieve a list of Rally deployments
GET /api/v1/deployments/{name} Retrieve the details of a given deployment
POST /api/v1/deployments Create a new deployment
GET /api/v1/scenarios Retrieve a list of scenarios
GET /api/v1/scenarios/{name} Retrieve the details of a given scenario
POST /api/v1/scenarios Create a new scenario
GET /api/v1/tasks Retrieve a list of tasks
POST /api/v1/tasks Create a new task
GET /api/v1/tasks/start Start a given task
GET /api/v1/tasks/results/{task_uuid} Retrieve the results of a given task
GET /api/v1/tasks/running Retrieve a list of running tasks
GET /api/v1/schedules Retrieve a list of schedules
POST /api/v1/schedules Create a new schedule
DELETE /api/v1/schedules/delete/{schedule_id} Delete a given schedule

CLI

Not written yet. This will basically interact with the REST API though so getting it written shouldn't be difficult.

Contributing

  • Fork the repo
  • Create a new branch
  • Commit changes
  • Write tests if applicable
  • Create Pull Request

TODO

  • CLI client
  • Endpoint authentication
  • Proper web UI: Polymer, Bootstrap, Angular?

raceway's People

Contributors

briandowns avatar kevkha avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.