Merge lp:~james-page/charms/trusty/rabbitmq-server/tox-switchover into lp:~openstack-charmers-archive/charms/trusty/rabbitmq-server/next

Proposed by James Page
Status: Merged
Merged at revision: 131
Proposed branch: lp:~james-page/charms/trusty/rabbitmq-server/tox-switchover
Merge into: lp:~openstack-charmers-archive/charms/trusty/rabbitmq-server/next
Diff against target: 252 lines (+77/-53)
8 files modified
.bzrignore (+2/-0)
.testr.conf (+8/-0)
Makefile (+6/-17)
requirements.txt (+12/-0)
test-requirements.txt (+8/-5)
tox.ini (+29/-0)
unit_tests/__init__.py (+3/-0)
unit_tests/test_rabbitmq_server_relations.py (+9/-31)
To merge this branch: bzr merge lp:~james-page/charms/trusty/rabbitmq-server/tox-switchover
Reviewer Review Type Date Requested Status
Ryan Beisner (community) Approve
Liam Young (community) Approve
Review via email: mp+286139@code.launchpad.net
To post a comment you must log in.
133. By James Page

Further makefile tidy

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

LGTM but I'd like to make sure that the osci initiated tests work

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

charm_unit_test #566 rabbitmq-server-next for james-page mp286139
    UNIT FAIL: unit-test missing

UNIT Results (max last 2 lines):
INFO:root:Search string not found in makefile target commands.
ERROR:root:No make target was executed.

Full unit test output: http://paste.ubuntu.com/15089617/
Build: http://10.245.162.36:8080/job/charm_unit_test/566/

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

charm_lint_check #655 rabbitmq-server-next for james-page mp286139
    LINT FAIL: lint-test missing

LINT Results (max last 2 lines):
INFO:root:Search string not found in makefile target commands.
ERROR:root:No make target was executed.

Full lint test output: http://paste.ubuntu.com/15089618/
Build: http://10.245.162.36:8080/job/charm_lint_check/655/

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

charm_amulet_test #262 rabbitmq-server-next for james-page mp286139
    AMULET FAIL: amulet-test failed

AMULET Results (max last 2 lines):
2016-02-16 11:36:04,819 publish_amqp_message_by_unit DEBUG: Publishing message...
ERROR:root:Make target returned non-zero.

Full amulet test output: http://paste.ubuntu.com/15090573/
Build: http://10.245.162.36:8080/job/charm_amulet_test/262/

Revision history for this message
Ryan Beisner (1chb1n) wrote :

FYI, adjusting automation to be tox aware, will re-trigger unit and lint.

RE: amulet, one of the rmq units never reached "ready" state, will also retrigger.

rabbitmq-server/2 maintenance executing 1.25.3 6 5671/tcp,5672/tcp 172.17.104.67 (config-changed) Random wait for restart to avoid collisions

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

charm_unit_test #567 rabbitmq-server-next for james-page mp286139
    UNIT OK: passed

Build: http://10.245.162.36:8080/job/charm_unit_test/567/

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

charm_lint_check #657 rabbitmq-server-next for james-page mp286139
    LINT OK: passed

Build: http://10.245.162.36:8080/job/charm_lint_check/657/

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

charm_amulet_test #263 rabbitmq-server-next for james-page mp286139
    AMULET FAIL: amulet-test failed

AMULET Results (max last 2 lines):
2016-02-16 15:11:51,342 connect_amqp_by_unit DEBUG: Connecting to amqp on 172.17.105.185:5672 (rabbitmq-server/0) as testuser1...
ERROR:root:Make target returned non-zero.

Full amulet test output: http://paste.ubuntu.com/15092486/
Build: http://10.245.162.36:8080/job/charm_amulet_test/263/

Revision history for this message
Ryan Beisner (1chb1n) wrote :

I think your test is hitting this. It's definitely unrelated to the proposed changes.

https://bugs.launchpad.net/charms/+source/rabbitmq-server/+bug/1546255

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file '.bzrignore'
--- .bzrignore 2015-01-23 08:23:05 +0000
+++ .bzrignore 2016-02-16 07:58:06 +0000
@@ -2,3 +2,5 @@
2revision2revision
3.coverage3.coverage
4.venv4.venv
5.tox
6.testrepository
57
=== added file '.testr.conf'
--- .testr.conf 1970-01-01 00:00:00 +0000
+++ .testr.conf 2016-02-16 07:58:06 +0000
@@ -0,0 +1,8 @@
1[DEFAULT]
2test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
3 OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
4 OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
5 ${PYTHON:-python} -m subunit.run discover -t ./ ./unit_tests $LISTOPT $IDOPTION
6
7test_id_option=--load-list $IDFILE
8test_list_option=--list
09
=== modified file 'Makefile'
--- Makefile 2015-10-21 13:36:00 +0000
+++ Makefile 2016-02-16 07:58:06 +0000
@@ -5,20 +5,11 @@
5TEST_PREFIX := PYTHONPATH=$(HOOKS_DIR)5TEST_PREFIX := PYTHONPATH=$(HOOKS_DIR)
66
7clean:7clean:
8 rm -f .coverage8 rm -f .coverage .testrepository
9 find . -name '*.pyc' -delete9 find . -name '*.pyc' -delete
10 rm -rf .venv10
11 (which dh_clean && dh_clean) || true11lint:
1212 tox -e pep8
13.venv:
14 sudo apt-get install -y gcc python-dev python-virtualenv python-apt
15 virtualenv .venv --system-site-packages
16 .venv/bin/pip install -I -r test-requirements.txt
17
18lint: .venv
19 @.venv/bin/flake8 --exclude hooks/charmhelpers,tests/charmhelpers hooks \
20 unit_tests tests
21 @charm proof
2213
23bin/charm_helpers_sync.py:14bin/charm_helpers_sync.py:
24 @mkdir -p bin15 @mkdir -p bin
@@ -33,10 +24,8 @@
33 bzr push lp:charms/rabbitmq-server24 bzr push lp:charms/rabbitmq-server
34 bzr push lp:charms/trusty/rabbitmq-server25 bzr push lp:charms/trusty/rabbitmq-server
3526
36test: .venv27test:
37 @echo Starting tests...28 tox -e py27
38 env CHARM_DIR=$(CHARM_DIR) $(TEST_PREFIX) .venv/bin/nosetests \
39 -v --nologcapture --with-coverage unit_tests/
4029
41functional_test:30functional_test:
42 @echo Starting amulet tests...31 @echo Starting amulet tests...
4332
=== added file 'requirements.txt'
--- requirements.txt 1970-01-01 00:00:00 +0000
+++ requirements.txt 2016-02-16 07:58:06 +0000
@@ -0,0 +1,12 @@
1# The order of packages is significant, because pip processes them in the order
2# of appearance. Changing the order has an impact on the overall integration
3# process, which may cause wedges in the gate later.
4PyYAML>=3.1.0
5simplejson>=2.2.0
6netifaces>=0.10.4
7netaddr>=0.7.12,!=0.7.16
8Jinja2>=2.6 # BSD License (3 clause)
9six>=1.9.0
10dnspython>=1.12.0
11psutil>=1.1.1,<2.0.0
12python-neutronclient>=2.6.0
013
=== modified file 'test-requirements.txt'
--- test-requirements.txt 2015-01-23 09:01:50 +0000
+++ test-requirements.txt 2016-02-16 07:58:06 +0000
@@ -1,5 +1,8 @@
1nose1# The order of packages is significant, because pip processes them in the order
2testtools2# of appearance. Changing the order has an impact on the overall integration
3mock3# process, which may cause wedges in the gate later.
4coverage4coverage>=3.6
5flake85mock>=1.2
6flake8>=2.2.4,<=2.4.1
7os-testr>=0.4.1
8charm-tools
69
=== added file 'tox.ini'
--- tox.ini 1970-01-01 00:00:00 +0000
+++ tox.ini 2016-02-16 07:58:06 +0000
@@ -0,0 +1,29 @@
1[tox]
2envlist = pep8,py27
3skipsdist = True
4
5[testenv]
6setenv = VIRTUAL_ENV={envdir}
7 PYTHONHASHSEED=0
8install_command =
9 pip install --allow-unverified python-apt {opts} {packages}
10commands = ostestr {posargs}
11
12[testenv:py27]
13basepython = python2.7
14deps = -r{toxinidir}/requirements.txt
15 -r{toxinidir}/test-requirements.txt
16
17[testenv:pep8]
18basepython = python2.7
19deps = -r{toxinidir}/requirements.txt
20 -r{toxinidir}/test-requirements.txt
21commands = flake8 {posargs} hooks unit_tests tests
22 charm proof
23
24[testenv:venv]
25commands = {posargs}
26
27[flake8]
28ignore = E402,E226
29exclude = hooks/charmhelpers
030
=== modified file 'unit_tests/__init__.py'
--- unit_tests/__init__.py 2014-10-08 15:57:57 +0000
+++ unit_tests/__init__.py 2016-02-16 07:58:06 +0000
@@ -0,0 +1,3 @@
1import sys
2
3sys.path.append('hooks/')
04
=== modified file 'unit_tests/test_rabbitmq_server_relations.py'
--- unit_tests/test_rabbitmq_server_relations.py 2015-10-19 03:33:39 +0000
+++ unit_tests/test_rabbitmq_server_relations.py 2016-02-16 07:58:06 +0000
@@ -1,6 +1,6 @@
1import os1import os
2from testtools import TestCase2from testtools import TestCase
3from mock import patch, MagicMock3from mock import patch
44
5os.environ['JUJU_UNIT_NAME'] = 'UNIT_TEST/0' # noqa - needed for import5os.environ['JUJU_UNIT_NAME'] = 'UNIT_TEST/0' # noqa - needed for import
6import rabbitmq_server_relations6import rabbitmq_server_relations
@@ -11,31 +11,11 @@
11 self.fake_repo = {}11 self.fake_repo = {}
12 super(RelationUtil, self).setUp()12 super(RelationUtil, self).setUp()
1313
14 def _apt_cache(self):
15 """Used for mocking out apt_pkg.Cache"""
16 # mocks out the apt cache
17 def cache_get(package):
18 pkg = MagicMock()
19 if package in self.fake_repo \
20 and 'pkg_vers' in self.fake_repo[package]:
21 pkg.name = package
22 pkg.current_ver.ver_str = self.fake_repo[package]['pkg_vers']
23 elif (package in self.fake_repo and
24 'pkg_vers' not in self.fake_repo[package]):
25 pkg.name = package
26 pkg.current_ver = None
27 else:
28 raise KeyError
29 return pkg
30 cache = MagicMock()
31 cache.__getitem__.side_effect = cache_get
32 return cache
33
34 @patch('rabbitmq_server_relations.peer_store_and_set')14 @patch('rabbitmq_server_relations.peer_store_and_set')
35 @patch('rabbitmq_server_relations.get_ipv6_addr')15 @patch('rabbitmq_server_relations.get_ipv6_addr')
36 @patch('rabbitmq_server_relations.config')16 @patch('rabbitmq_server_relations.config')
37 @patch('rabbitmq_server_relations.relation_set')17 @patch('rabbitmq_server_relations.relation_set')
38 @patch('apt_pkg.Cache')18 @patch('rabbitmq_server_relations.cmp_pkgrevno')
39 @patch('rabbitmq_server_relations.is_clustered')19 @patch('rabbitmq_server_relations.is_clustered')
40 @patch('rabbitmq_server_relations.ssl_utils.configure_client_ssl')20 @patch('rabbitmq_server_relations.ssl_utils.configure_client_ssl')
41 @patch('rabbitmq_server_relations.unit_get')21 @patch('rabbitmq_server_relations.unit_get')
@@ -44,7 +24,7 @@
44 def test_amqp_changed_compare_versions_ha_queues(24 def test_amqp_changed_compare_versions_ha_queues(
45 self,25 self,
46 is_elected_leader, relation_get, unit_get, configure_client_ssl,26 is_elected_leader, relation_get, unit_get, configure_client_ssl,
47 is_clustered, apt_cache, relation_set, mock_config,27 is_clustered, cmp_pkgrevno, relation_set, mock_config,
48 mock_get_ipv6_addr, mock_peer_store_and_set):28 mock_get_ipv6_addr, mock_peer_store_and_set):
49 """29 """
50 Compare version above and below 3.0.1.30 Compare version above and below 3.0.1.
@@ -64,9 +44,8 @@
64 is_elected_leader.return_value = True44 is_elected_leader.return_value = True
65 relation_get.return_value = {}45 relation_get.return_value = {}
66 is_clustered.return_value = False46 is_clustered.return_value = False
67 apt_cache.return_value = self._apt_cache()47 cmp_pkgrevno.return_value = -1
6848
69 self.fake_repo = {'rabbitmq-server': {'pkg_vers': '3.0'}}
70 rabbitmq_server_relations.amqp_changed(None, None)49 rabbitmq_server_relations.amqp_changed(None, None)
71 mock_peer_store_and_set.assert_called_with(50 mock_peer_store_and_set.assert_called_with(
72 relation_settings={'private-address': '10.1.2.3',51 relation_settings={'private-address': '10.1.2.3',
@@ -74,7 +53,7 @@
74 'ha_queues': True},53 'ha_queues': True},
75 relation_id=None)54 relation_id=None)
7655
77 self.fake_repo = {'rabbitmq-server': {'pkg_vers': '3.0.2'}}56 cmp_pkgrevno.return_value = 1
78 rabbitmq_server_relations.amqp_changed(None, None)57 rabbitmq_server_relations.amqp_changed(None, None)
79 mock_peer_store_and_set.assert_called_with(58 mock_peer_store_and_set.assert_called_with(
80 relation_settings={'private-address': '10.1.2.3',59 relation_settings={'private-address': '10.1.2.3',
@@ -85,7 +64,7 @@
85 @patch('rabbitmq_server_relations.get_ipv6_addr')64 @patch('rabbitmq_server_relations.get_ipv6_addr')
86 @patch('rabbitmq_server_relations.config')65 @patch('rabbitmq_server_relations.config')
87 @patch('rabbitmq_server_relations.relation_set')66 @patch('rabbitmq_server_relations.relation_set')
88 @patch('apt_pkg.Cache')67 @patch('rabbitmq_server_relations.cmp_pkgrevno')
89 @patch('rabbitmq_server_relations.is_clustered')68 @patch('rabbitmq_server_relations.is_clustered')
90 @patch('rabbitmq_server_relations.ssl_utils.configure_client_ssl')69 @patch('rabbitmq_server_relations.ssl_utils.configure_client_ssl')
91 @patch('rabbitmq_server_relations.unit_get')70 @patch('rabbitmq_server_relations.unit_get')
@@ -94,7 +73,7 @@
94 def test_amqp_changed_compare_versions_ha_queues_prefer_ipv6(73 def test_amqp_changed_compare_versions_ha_queues_prefer_ipv6(
95 self,74 self,
96 is_elected_leader, relation_get, unit_get, configure_client_ssl,75 is_elected_leader, relation_get, unit_get, configure_client_ssl,
97 is_clustered, apt_cache, relation_set, mock_config,76 is_clustered, cmp_pkgrevno, relation_set, mock_config,
98 mock_get_ipv6_addr, mock_peer_store_and_set):77 mock_get_ipv6_addr, mock_peer_store_and_set):
99 """78 """
100 Compare version above and below 3.0.1.79 Compare version above and below 3.0.1.
@@ -115,16 +94,15 @@
115 is_elected_leader.return_value = True94 is_elected_leader.return_value = True
116 relation_get.return_value = {}95 relation_get.return_value = {}
117 is_clustered.return_value = False96 is_clustered.return_value = False
118 apt_cache.return_value = self._apt_cache()97 cmp_pkgrevno.return_value = -1
11998
120 self.fake_repo = {'rabbitmq-server': {'pkg_vers': '3.0'}}
121 rabbitmq_server_relations.amqp_changed(None, None)99 rabbitmq_server_relations.amqp_changed(None, None)
122 mock_peer_store_and_set.assert_called_with(100 mock_peer_store_and_set.assert_called_with(
123 relation_settings={'private-address': ipv6_addr,101 relation_settings={'private-address': ipv6_addr,
124 'ha_queues': True},102 'ha_queues': True},
125 relation_id=None)103 relation_id=None)
126104
127 self.fake_repo = {'rabbitmq-server': {'pkg_vers': '3.0.2'}}105 cmp_pkgrevno.return_value = 1
128 rabbitmq_server_relations.amqp_changed(None, None)106 rabbitmq_server_relations.amqp_changed(None, None)
129 mock_peer_store_and_set.assert_called_with(107 mock_peer_store_and_set.assert_called_with(
130 relation_settings={'private-address': ipv6_addr},108 relation_settings={'private-address': ipv6_addr},

Subscribers

People subscribed via source and target branches