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

Proposed by Ryan Beisner
Status: Merged
Merged at revision: 133
Proposed branch: lp:~1chb1n/charms/trusty/swift-proxy/next.1601-test-update1
Merge into: lp:~openstack-charmers-archive/charms/trusty/swift-proxy/next
Diff against target: 247 lines (+119/-61)
6 files modified
Makefile (+1/-0)
tests/019-basic-trusty-mitaka (+11/-0)
tests/019-basic-vivid-kilo (+0/-9)
tests/021-basic-xenial-mitaka (+9/-0)
tests/README (+96/-51)
tests/tests.yaml (+2/-1)
To merge this branch: bzr merge lp:~1chb1n/charms/trusty/swift-proxy/next.1601-test-update1
Reviewer Review Type Date Requested Status
Liam Young (community) Approve
Review via email: mp+282076@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_unit_test #15758 swift-proxy-next for 1chb1n mp282076
    UNIT OK: passed

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

133. By Ryan Beisner

remove amulet tests for unsupported releases

134. By Ryan Beisner

Move 00-setup to prevent extra, unnecessary bootstrap in test runs.

135. By Ryan Beisner

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

136. By Ryan Beisner

Update tests/README

137. By Ryan Beisner

Update bundletester testplan yaml file

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

charm_unit_test #15790 swift-proxy-next for 1chb1n mp282076
    UNIT OK: passed

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

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

charm_lint_check #16908 swift-proxy-next for 1chb1n mp282076
    LINT OK: passed

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

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
=== modified file 'Makefile'
--- Makefile 2015-10-06 15:11:21 +0000
+++ Makefile 2016-01-08 21:48:06 +0000
@@ -12,6 +12,7 @@
1212
13functional_test:13functional_test:
14 @echo Starting Amulet tests...14 @echo Starting Amulet tests...
15 @tests/setup/00-setup
15 @juju test -v -p AMULET_HTTP_PROXY,AMULET_OS_VIP --timeout 270016 @juju test -v -p AMULET_HTTP_PROXY,AMULET_OS_VIP --timeout 2700
1617
17bin/charm_helpers_sync.py:18bin/charm_helpers_sync.py:
1819
=== renamed file 'tests/020-basic-trusty-liberty' => 'tests/018-basic-trusty-liberty'
=== 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:48:06 +0000
@@ -0,0 +1,11 @@
1#!/usr/bin/python
2
3"""Amulet tests on a basic swift-proxy deployment on trusty-liberty."""
4
5from basic_deployment import SwiftProxyBasicDeployment
6
7if __name__ == '__main__':
8 deployment = SwiftProxyBasicDeployment(series='trusty',
9 openstack='cloud:trusty-liberty',
10 source='cloud:trusty-updates/liberty')
11 deployment.run_tests()
012
=== removed file 'tests/019-basic-vivid-kilo'
--- tests/019-basic-vivid-kilo 2015-08-21 16:48:47 +0000
+++ tests/019-basic-vivid-kilo 1970-01-01 00:00:00 +0000
@@ -1,9 +0,0 @@
1#!/usr/bin/python
2
3"""Amulet tests on a basic swift-proxy deployment on vivid-kilo."""
4
5from basic_deployment import SwiftProxyBasicDeployment
6
7if __name__ == '__main__':
8 deployment = SwiftProxyBasicDeployment(series='vivid')
9 deployment.run_tests()
100
=== renamed file 'tests/021-basic-wily-liberty' => 'tests/020-basic-wily-liberty'
=== 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:48:06 +0000
@@ -0,0 +1,9 @@
1#!/usr/bin/python
2
3"""Amulet tests on a basic swift-proxy deployment on xenial-mitaka."""
4
5from basic_deployment import SwiftProxyBasicDeployment
6
7if __name__ == '__main__':
8 deployment = SwiftProxyBasicDeployment(series='xenial')
9 deployment.run_tests()
010
=== modified file 'tests/README'
--- tests/README 2015-08-21 16:48:47 +0000
+++ tests/README 2016-01-08 21:48:06 +0000
@@ -1,68 +1,113 @@
1This directory provides Amulet tests that focus on verification of swift-proxy1This directory provides Amulet tests to verify basic deployment functionality
2deployments.2from the perspective of this charm, its requirements and its features, as
33exercised in a subset of the full OpenStack deployment test bundle topology.
4test_* methods are called in lexical sort order, although each individual test4
5should be idempotent, and expected to pass regardless of run order.5Reference: lp:openstack-charm-testing for full test bundles.
66
7Test name convention to ensure desired test order: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:
8 1xx service and endpoint checks18 1xx service and endpoint checks
9 2xx relation checks19 2xx relation checks
10 3xx config checks20 3xx config checks
11 4xx functional checks21 4xx functional checks
12 9xx restarts and other final checks22 9xx restarts, config changes, actions and other final checks
1323
14In order to run tests, you'll need charm-tools installed (in addition to24In order to run tests, charm-tools and juju must be installed:
15juju, of course):
16 sudo add-apt-repository ppa:juju/stable25 sudo add-apt-repository ppa:juju/stable
17 sudo apt-get update26 sudo apt-get update
18 sudo apt-get install charm-tools27 sudo apt-get install charm-tools juju juju-deployer amulet
1928
20If you use a web proxy server to access the web, you'll need to set the29Alternatively, tests may be exercised with proposed or development versions
21AMULET_HTTP_PROXY environment variable to the http URL of the proxy server.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.
2246
23The following examples demonstrate different ways that tests can be executed.47The following examples demonstrate different ways that tests can be executed.
24All examples are run from the charm's root directory.48All examples are run from the charm's root directory.
2549
26 * To run all tests (starting with 00-setup):50 * To run all +x tests in the tests directory:
2751
28 make test52 bzr branch lp:charms/trusty/foo
2953 cd foo
30 * To run a specific test module (or modules):54 make functional_test
3155
32 juju test -v -p AMULET_HTTP_PROXY 15-basic-trusty-icehouse56 * To run the tests against a specific release combo as defined in tests/:
3357
34 * To run a specific test module (or modules), and keep the environment58 bzr branch lp:charms/trusty/foo
35 deployed after a failure:59 cd foo
3660 juju test -v -p AMULET_HTTP_PROXY 015-basic-trusty-icehouse
37 juju test --set-e -v -p AMULET_HTTP_PROXY 15-basic-trusty-icehouse61
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
3867
39 * To re-run a test module against an already deployed environment (one68 * To re-run a test module against an already deployed environment (one
40 that was deployed by a previous call to 'juju test --set-e'):69 that was deployed by a previous call to 'juju test --set-e'):
4170
42 ./tests/15-basic-trusty-icehouse71 ./tests/015-basic-trusty-icehouse
4372
44For debugging and test development purposes, all code should be idempotent.73 * Even with --set-e, `juju test` will tear down the deployment when all
45In other words, the code should have the ability to be re-run without changing74 tests pass. The following work flow may be more effective when
46the results beyond the initial run. This enables editing and re-running of a75 iterating on test writing.
47test module against an already deployed environment, as described above.76
4877 bzr branch lp:charms/trusty/foo
49Manual debugging tips:78 cd foo
5079 ./tests/setup/00-setup
51 * Set the following env vars before using the OpenStack CLI as admin:80 juju bootstrap
52 export OS_AUTH_URL=http://`juju-deployer -f keystone 2>&1 | tail -n 1`:5000/v2.081 ./tests/015-basic-trusty-icehouse
53 export OS_TENANT_NAME=admin82 # 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:
54 export OS_USERNAME=admin107 export OS_USERNAME=admin
55 export OS_PASSWORD=openstack108 export OS_PASSWORD=openstack
56 export OS_REGION_NAME=RegionOne109 export OS_TENANT_NAME=admin
57110 export OS_REGION_NAME=RegionOne
58 * Set the following env vars before using the OpenStack CLI as demoUser:111 export OS_AUTH_URL=${OS_AUTH_PROTOCOL:-http}://`juju-deployer -e trusty -f keystone`:5000/v2.0
59 export OS_AUTH_URL=http://`juju-deployer -f keystone 2>&1 | tail -n 1`:5000/v2.0112 keystone user-list
60 export OS_TENANT_NAME=demoTenant113 glance image-list
61 export OS_USERNAME=demoUser
62 export OS_PASSWORD=password
63 export OS_REGION_NAME=RegionOne
64
65 * Sample swift command:
66 swift -A $OS_AUTH_URL --os-tenant-name services --os-username swift \
67 --os-password password list
68 (where tenant/user names and password are in swift-proxy's nova.conf file)
69114
=== added directory 'tests/setup'
=== renamed file 'tests/00-setup' => 'tests/setup/00-setup'
=== modified file 'tests/tests.yaml'
--- tests/tests.yaml 2015-10-05 16:03:31 +0000
+++ tests/tests.yaml 2016-01-08 21:48:06 +0000
@@ -1,5 +1,5 @@
1bootstrap: true1bootstrap: true
2reset: true2reset: false
3virtualenv: true3virtualenv: true
4makefile:4makefile:
5 - lint5 - lint
@@ -9,6 +9,7 @@
9packages:9packages:
10 - amulet10 - amulet
11 - distro-info-data11 - distro-info-data
12 - python-ceilometerclient
12 - python-cinderclient13 - python-cinderclient
13 - python-distro-info14 - python-distro-info
14 - python-glanceclient15 - python-glanceclient

Subscribers

People subscribed via source and target branches