Merge ~blake-rouse/maas:fix-1772679 into maas:master

Proposed by Blake Rouse
Status: Merged
Approved by: Blake Rouse
Approved revision: 992bd25f204c4f28dd1974d8ac50cbf1035778d5
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~blake-rouse/maas:fix-1772679
Merge into: maas:master
Diff against target: 47 lines (+12/-5)
2 files modified
src/provisioningserver/utils/tests/test_version.py (+6/-0)
src/provisioningserver/utils/version.py (+6/-5)
Reviewer Review Type Date Requested Status
MAAS Lander Approve
Newell Jensen (community) Approve
Review via email: mp+346650@code.launchpad.net

Commit message

LP: #1772679 - Fix version handling for +revno on minor version and .g for git revision.

To post a comment you must log in.
Revision history for this message
Newell Jensen (newell-jensen) wrote :

LGTM

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b fix-1772679 lp:~blake-rouse/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 992bd25f204c4f28dd1974d8ac50cbf1035778d5

review: Approve
Revision history for this message
Blake Rouse (blake-rouse) wrote :

I have ran this in the CI, hit no issues. It still running but passed the part where this would cause any issues.

http://162.213.35.104:8080/job/maas-git-manual/240/console

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/src/provisioningserver/utils/tests/test_version.py b/src/provisioningserver/utils/tests/test_version.py
index 0efd3d9..62cc686 100644
--- a/src/provisioningserver/utils/tests/test_version.py
+++ b/src/provisioningserver/utils/tests/test_version.py
@@ -188,6 +188,12 @@ class TestGetVersionTuple(MAASTestCase):
188 2, 3, 5, 0, 5, 0, '1', '2x.x3.x5x~alpha5Y', 'xxx-g1',188 2, 3, 5, 0, 5, 0, '1', '2x.x3.x5x~alpha5Y', 'xxx-g1',
189 'alphaY', False)189 'alphaY', False)
190 }),190 }),
191 ('ci version', {
192 'version': '2.4.0+6981.g011e51b+ci-0ubuntu1',
193 'expected_tuple': (
194 2, 4, 0, 0, 0, 6981, '011e51b', '2.4.0',
195 '6981.g011e51b+ci-0ubuntu1', None, False)
196 }),
191 )197 )
192198
193 def test__returns_expected_tuple(self):199 def test__returns_expected_tuple(self):
diff --git a/src/provisioningserver/utils/version.py b/src/provisioningserver/utils/version.py
index 3f78f08..e4f6afd 100644
--- a/src/provisioningserver/utils/version.py
+++ b/src/provisioningserver/utils/version.py
@@ -135,9 +135,9 @@ def _coerce_to_int(string: str) -> int:
135135
136136
137def get_version_tuple(maas_version: str) -> MAASVersion:137def get_version_tuple(maas_version: str) -> MAASVersion:
138 version_parts = maas_version.split('-', 1)138 version_parts = re.split(r'[-|+]', maas_version, 1)
139 short_version = version_parts[0]139 short_version = version_parts[0]
140 major_minor_point = re.sub(r'~.*', '', short_version).split('.')140 major_minor_point = re.sub(r'~.*', '', short_version).split('.', 2)
141 for i in range(3):141 for i in range(3):
142 try:142 try:
143 major_minor_point[i] = _coerce_to_int(major_minor_point[i])143 major_minor_point[i] = _coerce_to_int(major_minor_point[i])
@@ -167,9 +167,10 @@ def get_version_tuple(maas_version: str) -> MAASVersion:
167 qualifier_type_version = qualifier_types.get(qualifier_type, 0)167 qualifier_type_version = qualifier_types.get(qualifier_type, 0)
168 revno = 0168 revno = 0
169 git_rev = ''169 git_rev = ''
170 # If we find a '-g', that means the extended info indicates a git revision.170 # If we find a '-g' or '.g', that means the extended info indicates a
171 if '-g' in extended_info:171 # git revision.
172 revno, git_rev = extended_info.split('-')[0:2]172 if '-g' in extended_info or '.g' in extended_info:
173 revno, git_rev = re.split(r'[-|.|+]', extended_info)[0:2]
173 # Strip any non-numeric characters from the revno, just in case.174 # Strip any non-numeric characters from the revno, just in case.
174 revno = _coerce_to_int(revno)175 revno = _coerce_to_int(revno)
175 # Remove anything that doesn't look like a hexadecimal character.176 # Remove anything that doesn't look like a hexadecimal character.

Subscribers

People subscribed via source and target branches