Merge lp:~james-page/charm-helpers/lp1531102 into lp:charm-helpers

Proposed by James Page
Status: Merged
Merged at revision: 512
Proposed branch: lp:~james-page/charm-helpers/lp1531102
Merge into: lp:charm-helpers
Diff against target: 141 lines (+41/-36)
2 files modified
charmhelpers/contrib/openstack/utils.py (+27/-25)
tests/contrib/openstack/test_openstack_utils.py (+14/-11)
To merge this branch: bzr merge lp:~james-page/charm-helpers/lp1531102
Reviewer Review Type Date Requested Status
Liam Young (community) Approve
Review via email: mp+281589@code.launchpad.net

Description of the change

Update >= liberty version detection to deal with patch release, tidy swift version code and fixup unit tests.

To post a comment you must log in.
Revision history for this message
Liam Young (gnuoy) wrote :

approve

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'charmhelpers/contrib/openstack/utils.py'
--- charmhelpers/contrib/openstack/utils.py 2015-12-14 14:32:10 +0000
+++ charmhelpers/contrib/openstack/utils.py 2016-01-05 09:22:01 +0000
@@ -131,40 +131,40 @@
131# >= Liberty version->codename mapping131# >= Liberty version->codename mapping
132PACKAGE_CODENAMES = {132PACKAGE_CODENAMES = {
133 'nova-common': OrderedDict([133 'nova-common': OrderedDict([
134 ('12.0.0', 'liberty'),134 ('12.0', 'liberty'),
135 ('13.0.0', 'mitaka'),135 ('13.0', 'mitaka'),
136 ]),136 ]),
137 'neutron-common': OrderedDict([137 'neutron-common': OrderedDict([
138 ('7.0.0', 'liberty'),138 ('7.0', 'liberty'),
139 ('8.0.0', 'mitaka'),139 ('8.0', 'mitaka'),
140 ]),140 ]),
141 'cinder-common': OrderedDict([141 'cinder-common': OrderedDict([
142 ('7.0.0', 'liberty'),142 ('7.0', 'liberty'),
143 ('8.0.0', 'mitaka'),143 ('8.0', 'mitaka'),
144 ]),144 ]),
145 'keystone': OrderedDict([145 'keystone': OrderedDict([
146 ('8.0.0', 'liberty'),146 ('8.0', 'liberty'),
147 ('9.0.0', 'mitaka'),147 ('9.0', 'mitaka'),
148 ]),148 ]),
149 'horizon-common': OrderedDict([149 'horizon-common': OrderedDict([
150 ('8.0.0', 'liberty'),150 ('8.0', 'liberty'),
151 ('9.0.0', 'mitaka'),151 ('9.0', 'mitaka'),
152 ]),152 ]),
153 'ceilometer-common': OrderedDict([153 'ceilometer-common': OrderedDict([
154 ('5.0.0', 'liberty'),154 ('5.0', 'liberty'),
155 ('6.0.0', 'mitaka'),155 ('6.0', 'mitaka'),
156 ]),156 ]),
157 'heat-common': OrderedDict([157 'heat-common': OrderedDict([
158 ('5.0.0', 'liberty'),158 ('5.0', 'liberty'),
159 ('6.0.0', 'mitaka'),159 ('6.0', 'mitaka'),
160 ]),160 ]),
161 'glance-common': OrderedDict([161 'glance-common': OrderedDict([
162 ('11.0.0', 'liberty'),162 ('11.0', 'liberty'),
163 ('12.0.0', 'mitaka'),163 ('12.0', 'mitaka'),
164 ]),164 ]),
165 'openstack-dashboard': OrderedDict([165 'openstack-dashboard': OrderedDict([
166 ('8.0.0', 'liberty'),166 ('8.0', 'liberty'),
167 ('9.0.0', 'mitaka'),167 ('9.0', 'mitaka'),
168 ]),168 ]),
169}169}
170170
@@ -251,7 +251,14 @@
251 error_out(e)251 error_out(e)
252252
253 vers = apt.upstream_version(pkg.current_ver.ver_str)253 vers = apt.upstream_version(pkg.current_ver.ver_str)
254 match = re.match('^(\d+)\.(\d+)\.(\d+)', vers)254 if 'swift' in pkg.name:
255 # Fully x.y.z match for swift versions
256 match = re.match('^(\d+)\.(\d+)\.(\d+)', vers)
257 else:
258 # x.y match only for 20XX.X
259 # and ignore patch level for other packages
260 match = re.match('^(\d+)\.(\d+)', vers)
261
255 if match:262 if match:
256 vers = match.group(0)263 vers = match.group(0)
257264
@@ -263,13 +270,8 @@
263 # < Liberty co-ordinated project versions270 # < Liberty co-ordinated project versions
264 try:271 try:
265 if 'swift' in pkg.name:272 if 'swift' in pkg.name:
266 swift_vers = vers[:5]273 return SWIFT_CODENAMES[vers]
267 if swift_vers not in SWIFT_CODENAMES:
268 # Deal with 1.10.0 upward
269 swift_vers = vers[:6]
270 return SWIFT_CODENAMES[swift_vers]
271 else:274 else:
272 vers = vers[:6]
273 return OPENSTACK_CODENAMES[vers]275 return OPENSTACK_CODENAMES[vers]
274 except KeyError:276 except KeyError:
275 if not fatal:277 if not fatal:
276278
=== modified file 'tests/contrib/openstack/test_openstack_utils.py'
--- tests/contrib/openstack/test_openstack_utils.py 2015-12-14 14:32:10 +0000
+++ tests/contrib/openstack/test_openstack_utils.py 2016-01-05 09:22:01 +0000
@@ -26,11 +26,13 @@
26}26}
2727
28FAKE_REPO = {28FAKE_REPO = {
29 # liberty patch release
29 'neutron-common': {30 'neutron-common': {
30 'pkg_vers': '2:7.0.0-0ubuntu1',31 'pkg_vers': '2:7.0.1-0ubuntu1',
31 'os_release': 'liberty',32 'os_release': 'liberty',
32 'os_version': '2015.2'33 'os_version': '2015.2'
33 },34 },
35 # liberty release version
34 'nova-common': {36 'nova-common': {
35 'pkg_vers': '2:12.0.0~b1-0ubuntu1',37 'pkg_vers': '2:12.0.0~b1-0ubuntu1',
36 'os_release': 'liberty',38 'os_release': 'liberty',
@@ -51,17 +53,18 @@
51 'os_release': 'grizzly',53 'os_release': 'grizzly',
52 'os_version': '2013.1'54 'os_version': '2013.1'
53 },55 },
54 'swift-proxy': {56 # Exercise swift version detection
55 'pkg_vers': '1.7.7-0ubuntu1',57 'swift-storage': {
58 'pkg_vers': '1.8.0-0ubuntu1',
56 'os_release': 'grizzly',59 'os_release': 'grizzly',
57 'os_version': '1.7.7'60 'os_version': '1.8.0'
58 },61 },
59 'swift-proxy': {62 'swift-proxy': {
60 'pkg_vers': '1.9.0-0ubuntu1',63 'pkg_vers': '1.13.1-0ubuntu1',
61 'os_release': 'havana',64 'os_release': 'icehouse',
62 'os_version': '1.9.0'65 'os_version': '1.13.1'
63 },66 },
64 'swift-proxy': {67 'swift-common': {
65 'pkg_vers': '1.10.0~rc1-0ubuntu1',68 'pkg_vers': '1.10.0~rc1-0ubuntu1',
66 'os_release': 'havana',69 'os_release': 'havana',
67 'os_version': '1.10.0'70 'os_version': '1.10.0'

Subscribers

People subscribed via source and target branches