Standalone command line program to build docker image & run tempest without RefStack

Registered by Raymond Wong

Create a new standalone command line program that can be run without the need of installing/running RefStack.
The program will provide 2 actions: (1) build docker image and (2) run the image to execute tempest test.
The docker image needs to be built once and can be used multiple times to execute multiple tests.
It is ok to require internet access when building the images, but internet access should not be required when running the tests.
The program will also get input about the target cloud from openrc.sh and ask for other necessary information that is needed by tempest.config but not available from openrc.sh.
Upon completion of the tests, the program should provide access to the test result so that it can eventually be posted to RefStack.org.

Blueprint information

Status:
Complete
Approver:
davidlenwell
Priority:
High
Drafter:
Raymond Wong
Direction:
Approved
Assignee:
Rob Hirschfeld
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Catherine Diep

Related branches

Sprints

Whiteboard

The design of the code is for users to just download only 2 files (tcup_driver.py & tcuprc.sh) from github to where they can run Docker. Then do,

(1) execute "sudo ./tcup_driver.py build"
 This will build a reusable/portable docker image with Tempest already setup and ready to use.
 This step needs to be executed once, and the image can be used multiple times, or even be moved to other Docker hosts for execution.
 If this command is called again, it will just build a new image from cache without re-executing the steps.

(2) source "openrc.sh" (obtained from the target cloud) and source "tcprc.sh"
 The "tcprc.sh" script will utilize all information from "openrc.sh" and prompt users for other information that is required by tempest.config but not available in "openrc.sh"
 Users can insert the values to "tcprc.sh" or they will be prompted when sourcing.
 This script saves all the required information as environment variables that the next step can use.

(3) execute "sudo -E ./tcup_driver.py run"
 This will execute the actual Tempest test in a new Docker container with the Docker image that was built in step (1).
 Upon completion of the Tempest test, the test results (in subunit data format) will be extracted from the container and saved locally automatically. This data could be uploaded to RefStack.org eventually.
 This step can be run multiple times to perform different tests and possibly against different clouds without the need of re-building the image.
 This step also does not require any internet access. Only access to the target cloud is needed.

-- Raymond Wong (2014/04/01)

Gerrit topic: https://review.openstack.org/#q,topic:bp/standalone-tcup-driver,n,z

Addressed by: https://review.openstack.org/84320
    TCUP driver without RefStack app server.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.