Merge lp:~1chb1n/charms/trusty/odl-controller/next.1601-test-update1 into lp:~openstack-charmers-archive/charms/trusty/odl-controller/next

Proposed by Ryan Beisner
Status: Merged
Merged at revision: 14
Proposed branch: lp:~1chb1n/charms/trusty/odl-controller/next.1601-test-update1
Merge into: lp:~openstack-charmers-archive/charms/trusty/odl-controller/next
Diff against target: 187 lines (+163/-0)
5 files modified
tests/019-basic-trusty-mitaka (+11/-0)
tests/020-basic-wily-liberty (+9/-0)
tests/021-basic-xenial-mitaka (+9/-0)
tests/README (+113/-0)
tests/tests.yaml (+21/-0)
To merge this branch: bzr merge lp:~1chb1n/charms/trusty/odl-controller/next.1601-test-update1
Reviewer Review Type Date Requested Status
Liam Young (community) Approve
Review via email: mp+282064@code.launchpad.net

Description of the change

Cosmetic updates to tests/dir and Makefile to standardize *os-charms, prep for 16.01. No changes to test code, hooks or charmhelpers.

To post a comment you must log in.
Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_lint_check #16874 odl-controller-next for 1chb1n mp282064
    LINT OK: passed

Build: http://10.245.162.77:8080/job/charm_lint_check/16874/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_unit_test #15765 odl-controller-next for 1chb1n mp282064
    UNIT OK: passed

Build: http://10.245.162.77:8080/job/charm_unit_test/15765/

14. By Ryan Beisner

Re-number amulet test file names; add missing combos as not-executable for now.

15. By Ryan Beisner

Update tests/README

16. By Ryan Beisner

Update bundletester testplan yaml file

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_lint_check #16897 odl-controller-next for 1chb1n mp282064
    LINT OK: passed

Build: http://10.245.162.77:8080/job/charm_lint_check/16897/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_unit_test #15789 odl-controller-next for 1chb1n mp282064
    UNIT OK: passed

Build: http://10.245.162.77:8080/job/charm_unit_test/15789/

Revision history for this message
Liam Young (gnuoy) wrote :

Approved

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added file 'tests/019-basic-trusty-mitaka'
--- tests/019-basic-trusty-mitaka 1970-01-01 00:00:00 +0000
+++ tests/019-basic-trusty-mitaka 2016-01-08 21:46:09 +0000
@@ -0,0 +1,11 @@
1#!/usr/bin/python
2
3"""Amulet tests on a basic odl controller deployment on trusty-liberty."""
4
5from basic_deployment import ODLControllerBasicDeployment
6
7if __name__ == '__main__':
8 deployment = ODLControllerBasicDeployment(series='trusty',
9 openstack='cloud:trusty-liberty',
10 source='cloud:trusty-updates/liberty')
11 deployment.run_tests()
012
=== added file 'tests/020-basic-wily-liberty'
--- tests/020-basic-wily-liberty 1970-01-01 00:00:00 +0000
+++ tests/020-basic-wily-liberty 2016-01-08 21:46:09 +0000
@@ -0,0 +1,9 @@
1#!/usr/bin/python
2
3"""Amulet tests on a basic odl controller deployment on wily-liberty."""
4
5from basic_deployment import ODLControllerBasicDeployment
6
7if __name__ == '__main__':
8 deployment = ODLControllerBasicDeployment(series='wily')
9 deployment.run_tests()
010
=== added file 'tests/021-basic-xenial-mitaka'
--- tests/021-basic-xenial-mitaka 1970-01-01 00:00:00 +0000
+++ tests/021-basic-xenial-mitaka 2016-01-08 21:46:09 +0000
@@ -0,0 +1,9 @@
1#!/usr/bin/python
2
3"""Amulet tests on a basic odl controller deployment on xenial-mitaka."""
4
5from basic_deployment import ODLControllerBasicDeployment
6
7if __name__ == '__main__':
8 deployment = ODLControllerBasicDeployment(series='xenial')
9 deployment.run_tests()
010
=== added file 'tests/README'
--- tests/README 1970-01-01 00:00:00 +0000
+++ tests/README 2016-01-08 21:46:09 +0000
@@ -0,0 +1,113 @@
1This directory provides Amulet tests to verify basic deployment functionality
2from the perspective of this charm, its requirements and its features, as
3exercised in a subset of the full OpenStack deployment test bundle topology.
4
5Reference: lp:openstack-charm-testing for full test bundles.
6
7A single topology and configuration is defined and deployed, once for each of
8the defined Ubuntu:OpenStack release combos. The ongoing goal is for this
9charm to always possess tests and combo definitions for all currently-supported
10release combinations of U:OS.
11
12test_* methods are called in lexical sort order, as with most runners. However,
13each individual test method should be idempotent and expected to pass regardless
14of run order or Ubuntu:OpenStack combo. When writing or modifying tests,
15ensure that every individual test is not dependent on another test_ method.
16
17Test naming convention, purely for code organization purposes:
18 1xx service and endpoint checks
19 2xx relation checks
20 3xx config checks
21 4xx functional checks
22 9xx restarts, config changes, actions and other final checks
23
24In order to run tests, charm-tools and juju must be installed:
25 sudo add-apt-repository ppa:juju/stable
26 sudo apt-get update
27 sudo apt-get install charm-tools juju juju-deployer amulet
28
29Alternatively, tests may be exercised with proposed or development versions
30of juju and related tools:
31
32 # juju proposed version
33 sudo add-apt-repository ppa:juju/proposed
34 sudo apt-get update
35 sudo apt-get install charm-tools juju juju-deployer
36
37 # juju development version
38 sudo add-apt-repository ppa:juju/devel
39 sudo apt-get update
40 sudo apt-get install charm-tools juju juju-deployer
41
42Some tests may need to download files. If a web proxy server is required in
43the environment, the AMULET_HTTP_PROXY environment variable must be set and
44passed into the juju test command. This is unrelated to juju's http proxy
45settings or behavior.
46
47The following examples demonstrate different ways that tests can be executed.
48All examples are run from the charm's root directory.
49
50 * To run all +x tests in the tests directory:
51
52 bzr branch lp:charms/trusty/foo
53 cd foo
54 make functional_test
55
56 * To run the tests against a specific release combo as defined in tests/:
57
58 bzr branch lp:charms/trusty/foo
59 cd foo
60 juju test -v -p AMULET_HTTP_PROXY 015-basic-trusty-icehouse
61
62 * To run tests and keep the juju environment deployed after a failure:
63
64 bzr branch lp:charms/trusty/foo
65 cd foo
66 juju test --set-e -v -p AMULET_HTTP_PROXY 015-basic-trusty-icehouse
67
68 * To re-run a test module against an already deployed environment (one
69 that was deployed by a previous call to 'juju test --set-e'):
70
71 ./tests/015-basic-trusty-icehouse
72
73 * Even with --set-e, `juju test` will tear down the deployment when all
74 tests pass. The following work flow may be more effective when
75 iterating on test writing.
76
77 bzr branch lp:charms/trusty/foo
78 cd foo
79 ./tests/setup/00-setup
80 juju bootstrap
81 ./tests/015-basic-trusty-icehouse
82 # make some changes, run tests again
83 ./tests/015-basic-trusty-icehouse
84 # make some changes, run tests again
85 ./tests/015-basic-trusty-icehouse
86
87 * There may be test definitions in the tests/ dir which are not set +x
88 executable. This is generally true for deprecated releases, or for
89 upcoming releases which are not yet validated and enabled. To enable
90 and run these tests:
91 bzr branch lp:charms/trusty/foo
92 cd foo
93 ls tests
94 chmod +x tests/017-basic-trusty-kilo
95 ./tests/setup/00-setup
96 juju bootstrap
97 ./tests/017-basic-trusty-kilo
98
99
100Additional notes:
101
102 * Use DEBUG to turn on debug logging, use ERROR otherwise.
103 u = OpenStackAmuletUtils(ERROR)
104 u = OpenStackAmuletUtils(DEBUG)
105
106 * To interact with the deployed environment:
107 export OS_USERNAME=admin
108 export OS_PASSWORD=openstack
109 export OS_TENANT_NAME=admin
110 export OS_REGION_NAME=RegionOne
111 export OS_AUTH_URL=${OS_AUTH_PROTOCOL:-http}://`juju-deployer -e trusty -f keystone`:5000/v2.0
112 keystone user-list
113 glance image-list
0114
=== added file 'tests/tests.yaml'
--- tests/tests.yaml 1970-01-01 00:00:00 +0000
+++ tests/tests.yaml 2016-01-08 21:46:09 +0000
@@ -0,0 +1,21 @@
1bootstrap: true
2reset: false
3virtualenv: true
4makefile:
5 - lint
6 - test
7sources:
8 - ppa:juju/stable
9packages:
10 - amulet
11 - distro-info-data
12 - python-ceilometerclient
13 - python-cinderclient
14 - python-distro-info
15 - python-glanceclient
16 - python-heatclient
17 - python-keystoneclient
18 - python-neutronclient
19 - python-novaclient
20 - python-pika
21 - python-swiftclient

Subscribers

People subscribed via source and target branches