charm-neutron-api/tests
2016-01-04 16:28:17 -05:00
..
charmhelpers [corey.bryant,r=trivial] Sync charm-helpers. 2016-01-04 16:28:17 -05:00
00-setup update amulet test dependency setup file 2015-10-06 14:11:47 +00:00
014-basic-precise-icehouse auto rename amulet tests 2015-04-16 21:35:58 +00:00
015-basic-trusty-icehouse auto rename amulet tests 2015-04-16 21:35:58 +00:00
016-basic-trusty-juno auto rename amulet tests 2015-04-16 21:35:58 +00:00
017-basic-trusty-kilo amulet tests - enable trusty-kilo and vivid-kilo 2015-04-19 04:03:54 +00:00
019-basic-vivid-kilo update makefile, amulet test dependencies, test definitions, amulet test 2015-08-22 03:57:12 +00:00
020-basic-trusty-liberty enable liberty amulet tests 2015-10-16 13:41:59 +00:00
021-basic-wily-liberty enable liberty amulet tests 2015-10-16 13:41:59 +00:00
050-basic-trusty-icehouse-git [corey.bryant,trivial] Add icehouse git amulet tests back with new branches. 2015-07-09 18:16:48 +00:00
051-basic-trusty-juno-git auto rename amulet tests 2015-04-16 21:35:58 +00:00
052-basic-trusty-kilo-git [corey.bryant,trivial] Add basic-trusty-kilo-git amulet tests. 2015-07-08 13:31:40 -04:00
basic_deployment.py Add tox support 2015-11-02 09:28:57 +00:00
README update makefile, amulet test dependencies, test definitions, amulet test 2015-08-22 03:57:12 +00:00
tests.yaml update bundletester test plan yaml file 2015-10-06 14:11:48 +00:00

This directory provides Amulet tests that focus on verification of
neutron-api deployments.

test_* methods are called in lexical sort order, although each individual test
should be idempotent, and expected to pass regardless of run 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 relation definitions:
  - [ neutron-api, mysql ]
  - [ neutron-api, rabbitmq-server ]
  - [ neutron-api, nova-cloud-controller ]
  - [ neutron-api, neutron-openvswitch ]
  - [ neutron-api, keystone ]
  - [ neutron-api, neutron-gateway ]

Resultant relations of neutron-api service:
    relations:
      amqp:
      - rabbitmq-server
      cluster:
      - neutron-api
      identity-service:
      - keystone
      neutron-api:
      - nova-cloud-controller
      neutron-plugin-api:
      - neutron-openvswitch
      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