openstack-helm/doc/source/testing.rst
Steve Wilkerson 780afe54e4 Add docs detailing testing and gating requirements
Adds basic expectations and explanations of openstack-helms
testing and gating approaches. This will continue to be expanded
upon but serves to provide a base on which to build

Change-Id: I689446b7124c4e11a92c73ef04e95d1840c6dc0a
2017-07-05 10:11:46 -05:00

2.0 KiB

Testing

Helm Tests

Every OpenStack-Helm chart should include any required Helm tests necessary to provide a sanity check for the OpenStack service. Information on using the Helm testing framework can be found in the Helm repository. Currently, the Rally testing framework is used to provide these checks for the core services. The Keystone Helm test template can be used as a reference, and can be found here.

Testing Expectations

Any templates for Helm tests submitted should follow the philosophies applied in the other templates. These include: use of overrides where appropriate, use of endpoint lookups and other common functionality in helm-toolkit, and mounting any required scripting templates via the configmap-bin template for the service chart. If Rally tests are not appropriate or adequate for a service chart, any additional tests should be documented appropriately and adhere to the same expectations.

Running Tests

Any Helm tests associated with a chart can be run by executing:

helm test <helm-release-name>

The output of the Helm tests can be seen by looking at the logs of the pod created by the Helm tests. These logs can be viewed with:

kubectl logs <test-pod-name> -n <namespace>

Additional information on Helm tests for OpenStack-Helm and how to execute these tests locally via the scripts used in the gate can be found in the gates directory.

Adding Tests

All tests should be added to the gates during development, and are required for any new service charts prior to merging. All Helm tests are added to the gates in the basic_launch.sh file.