Getting Started

Development Environment with Vagrant

Cue is comprised of three main components cue-api, cue-worker and cue-manage. The Cue project includes a Vagrant configuration which deploys the Cue service and related scenario tests as part of a DevStack installation. This configuration allows new developers to get up and running quickly and efficiently.

This guide will walk you through setting up a Vagrant VM with devstack and Cue installed.

Development Environment

The Vagrant configuration allows the deployment of Cue service into DevStack. This environment provides a developer with a quick and easy way to run Cue with latest changes locally, run integration and scenario tests.

Deploying Cue Through Vagrant

  1. Clone the Cue repo from GitHub
$ git clone https://github.com/openstack/cue.git
  1. Startup Vagrant VM
$ cd cue/contrib/vagrant
$ vagrant up ubuntu
  1. SSH into Vagrant VM
$ vagrant ssh ubuntu
  1. Install Devstack
$ cd devstack
$ ./stack.sh

You are now in the Vagrant VM with DevStack installed/configured with Cue API, and Cue Worker.

Unit and Functional Testing

Unit are located in: cue/cue/tests/unit

Functional tests are located in: cue/cue/tests/functional

To run all unit and function tests, execute ‘tox’ from Cue project folder:

$ cd cue
$ tox

Integration Tests

Integration tests verify Cue through calling the REST API directly. These tests make use of the Tempest framework and are located in: cue/tests/integration

To run all integration tests, ssh into the Vagrant VM with DevStack/Cue installation (above) and run the following script:

$ ./cue/tests/integration/run_tests.sh

Scenario Tests

Scenario tests verify Cue through the Python Cue Client. These tests make use of Rally Benchmark framework and are located in: cue/rally-jobs

To run all scenario tests, ssh into the Vagrant VM with DevStack/Cue installation (above) and run the following script:

$ rally task start --task ~/cue/rally-jobs/rabbitmq-scenarios.yaml