02ad7890f0
Make stack_create test contained Add reverse relation checks Combine rabbit config into dict Move create_or_get_keypair to charmhelpers Move file url to standard library in charmhelpers Update Makefile
77 lines
2.5 KiB
Plaintext
77 lines
2.5 KiB
Plaintext
This directory provides Amulet tests that focus on verification of heat
|
|
deployments.
|
|
|
|
test_* methods are called in lexical sort order.
|
|
|
|
Test name convention to ensure desired test order:
|
|
1xx service and endpoint checks
|
|
2xx relation checks
|
|
3xx config checks
|
|
4xx functional checks
|
|
9xx restarts and other final checks
|
|
|
|
Common uses of heat relations in deployments:
|
|
- [ heat, mysql ]
|
|
- [ heat, keystone ]
|
|
- [ heat, rabbitmq-server ]
|
|
|
|
More detailed relations of heat service in a common deployment:
|
|
relations:
|
|
amqp:
|
|
- rabbitmq-server
|
|
identity-service:
|
|
- keystone
|
|
shared-db:
|
|
- mysql
|
|
|
|
In order to run tests, you'll need charm-tools installed (in addition to
|
|
juju, of course):
|
|
sudo add-apt-repository ppa:juju/stable
|
|
sudo apt-get update
|
|
sudo apt-get install charm-tools
|
|
|
|
If you use a web proxy server to access the web, you'll need to set the
|
|
AMULET_HTTP_PROXY environment variable to the http URL of the proxy server.
|
|
|
|
The following examples demonstrate different ways that tests can be executed.
|
|
All examples are run from the charm's root directory.
|
|
|
|
* To run all tests (starting with 00-setup):
|
|
|
|
make test
|
|
|
|
* To run a specific test module (or modules):
|
|
|
|
juju test -v -p AMULET_HTTP_PROXY 15-basic-trusty-icehouse
|
|
|
|
* To run a specific test module (or modules), and keep the environment
|
|
deployed after a failure:
|
|
|
|
juju test --set-e -v -p AMULET_HTTP_PROXY 15-basic-trusty-icehouse
|
|
|
|
* To re-run a test module against an already deployed environment (one
|
|
that was deployed by a previous call to 'juju test --set-e'):
|
|
|
|
./tests/15-basic-trusty-icehouse
|
|
|
|
For debugging and test development purposes, all code should be idempotent.
|
|
In other words, the code should have the ability to be re-run without changing
|
|
the results beyond the initial run. This enables editing and re-running of a
|
|
test module against an already deployed environment, as described above.
|
|
|
|
Manual debugging tips:
|
|
|
|
* Set the following env vars before using the OpenStack CLI as admin:
|
|
export OS_AUTH_URL=http://`juju-deployer -f keystone 2>&1 | tail -n 1`:5000/v2.0
|
|
export OS_TENANT_NAME=admin
|
|
export OS_USERNAME=admin
|
|
export OS_PASSWORD=openstack
|
|
export OS_REGION_NAME=RegionOne
|
|
|
|
* Set the following env vars before using the OpenStack CLI as demoUser:
|
|
export OS_AUTH_URL=http://`juju-deployer -f keystone 2>&1 | tail -n 1`:5000/v2.0
|
|
export OS_TENANT_NAME=demoTenant
|
|
export OS_USERNAME=demoUser
|
|
export OS_PASSWORD=password
|
|
export OS_REGION_NAME=RegionOne
|