summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Page <james.page@ubuntu.com>2017-05-12 07:49:14 +0200
committerJames Page <james.page@ubuntu.com>2017-05-12 07:49:14 +0200
commitf4e10e0af09675127f82008aedbd6388f08be39f (patch)
treeb7ec75dd6fc4666da84b8d270e91ccb1425cd436
parentd05b43970b5c8fc4abfca596a5a2770fe949e9ba (diff)
Updates for pike b1
Resync charmhelpers for pike version support. Add pike tests but leave disabled until all charms support pike. Change-Id: I2b0ba853512f0e1f982ac02dd52c8be5796b8383
Notes
Notes (review): Verified+1: Canonical CI <uosci-testing-bot@ubuntu.com> Code-Review+2: Ryan Beisner <ryan.beisner@canonical.com> Workflow+1: Ryan Beisner <ryan.beisner@canonical.com> Verified+2: Jenkins Submitted-by: Jenkins Submitted-at: Thu, 18 May 2017 17:18:25 +0000 Reviewed-on: https://review.openstack.org/464129 Project: openstack/charm-cinder-backup Branch: refs/heads/master
-rw-r--r--hooks/charmhelpers/contrib/openstack/amulet/deployment.py6
-rw-r--r--hooks/charmhelpers/contrib/openstack/context.py4
-rw-r--r--hooks/charmhelpers/contrib/openstack/utils.py39
-rw-r--r--hooks/charmhelpers/core/host_factory/ubuntu.py1
-rw-r--r--hooks/charmhelpers/fetch/ubuntu.py16
-rw-r--r--tests/charmhelpers/contrib/openstack/amulet/deployment.py6
-rw-r--r--tests/charmhelpers/core/host_factory/ubuntu.py1
-rw-r--r--tests/gate-basic-artful-pike23
-rw-r--r--tests/gate-basic-xenial-pike25
9 files changed, 119 insertions, 2 deletions
diff --git a/hooks/charmhelpers/contrib/openstack/amulet/deployment.py b/hooks/charmhelpers/contrib/openstack/amulet/deployment.py
index 5c1ce45..5c041d2 100644
--- a/hooks/charmhelpers/contrib/openstack/amulet/deployment.py
+++ b/hooks/charmhelpers/contrib/openstack/amulet/deployment.py
@@ -262,7 +262,8 @@ class OpenStackAmuletDeployment(AmuletDeployment):
262 # Must be ordered by OpenStack release (not by Ubuntu release): 262 # Must be ordered by OpenStack release (not by Ubuntu release):
263 (self.trusty_icehouse, self.trusty_kilo, self.trusty_liberty, 263 (self.trusty_icehouse, self.trusty_kilo, self.trusty_liberty,
264 self.trusty_mitaka, self.xenial_mitaka, self.xenial_newton, 264 self.trusty_mitaka, self.xenial_mitaka, self.xenial_newton,
265 self.yakkety_newton, self.xenial_ocata, self.zesty_ocata) = range(9) 265 self.yakkety_newton, self.xenial_ocata, self.zesty_ocata,
266 self.xenial_pike, self.artful_pike) = range(11)
266 267
267 releases = { 268 releases = {
268 ('trusty', None): self.trusty_icehouse, 269 ('trusty', None): self.trusty_icehouse,
@@ -272,8 +273,10 @@ class OpenStackAmuletDeployment(AmuletDeployment):
272 ('xenial', None): self.xenial_mitaka, 273 ('xenial', None): self.xenial_mitaka,
273 ('xenial', 'cloud:xenial-newton'): self.xenial_newton, 274 ('xenial', 'cloud:xenial-newton'): self.xenial_newton,
274 ('xenial', 'cloud:xenial-ocata'): self.xenial_ocata, 275 ('xenial', 'cloud:xenial-ocata'): self.xenial_ocata,
276 ('xenial', 'cloud:xenial-pike'): self.xenial_pike,
275 ('yakkety', None): self.yakkety_newton, 277 ('yakkety', None): self.yakkety_newton,
276 ('zesty', None): self.zesty_ocata, 278 ('zesty', None): self.zesty_ocata,
279 ('artful', None): self.artful_pike,
277 } 280 }
278 return releases[(self.series, self.openstack)] 281 return releases[(self.series, self.openstack)]
279 282
@@ -287,6 +290,7 @@ class OpenStackAmuletDeployment(AmuletDeployment):
287 ('xenial', 'mitaka'), 290 ('xenial', 'mitaka'),
288 ('yakkety', 'newton'), 291 ('yakkety', 'newton'),
289 ('zesty', 'ocata'), 292 ('zesty', 'ocata'),
293 ('artful', 'pike'),
290 ]) 294 ])
291 if self.openstack: 295 if self.openstack:
292 os_origin = self.openstack.split(':')[1] 296 os_origin = self.openstack.split(':')[1]
diff --git a/hooks/charmhelpers/contrib/openstack/context.py b/hooks/charmhelpers/contrib/openstack/context.py
index 2adf2cb..ea93159 100644
--- a/hooks/charmhelpers/contrib/openstack/context.py
+++ b/hooks/charmhelpers/contrib/openstack/context.py
@@ -1393,6 +1393,10 @@ class NeutronAPIContext(OSContextGenerator):
1393 'rel_key': 'enable-l3ha', 1393 'rel_key': 'enable-l3ha',
1394 'default': False, 1394 'default': False,
1395 }, 1395 },
1396 'dns_domain': {
1397 'rel_key': 'dns-domain',
1398 'default': None,
1399 },
1396 } 1400 }
1397 ctxt = self.get_neutron_options({}) 1401 ctxt = self.get_neutron_options({})
1398 for rid in relation_ids('neutron-plugin-api'): 1402 for rid in relation_ids('neutron-plugin-api'):
diff --git a/hooks/charmhelpers/contrib/openstack/utils.py b/hooks/charmhelpers/contrib/openstack/utils.py
index e13450c..161c786 100644
--- a/hooks/charmhelpers/contrib/openstack/utils.py
+++ b/hooks/charmhelpers/contrib/openstack/utils.py
@@ -111,6 +111,8 @@ OPENSTACK_RELEASES = (
111 'newton', 111 'newton',
112 'ocata', 112 'ocata',
113 'pike', 113 'pike',
114 'queens',
115 'rocky',
114) 116)
115 117
116UBUNTU_OPENSTACK_RELEASE = OrderedDict([ 118UBUNTU_OPENSTACK_RELEASE = OrderedDict([
@@ -126,6 +128,7 @@ UBUNTU_OPENSTACK_RELEASE = OrderedDict([
126 ('xenial', 'mitaka'), 128 ('xenial', 'mitaka'),
127 ('yakkety', 'newton'), 129 ('yakkety', 'newton'),
128 ('zesty', 'ocata'), 130 ('zesty', 'ocata'),
131 ('artful', 'pike'),
129]) 132])
130 133
131 134
@@ -142,6 +145,7 @@ OPENSTACK_CODENAMES = OrderedDict([
142 ('2016.1', 'mitaka'), 145 ('2016.1', 'mitaka'),
143 ('2016.2', 'newton'), 146 ('2016.2', 'newton'),
144 ('2017.1', 'ocata'), 147 ('2017.1', 'ocata'),
148 ('2017.2', 'pike'),
145]) 149])
146 150
147# The ugly duckling - must list releases oldest to newest 151# The ugly duckling - must list releases oldest to newest
@@ -170,6 +174,8 @@ SWIFT_CODENAMES = OrderedDict([
170 ['2.8.0', '2.9.0', '2.10.0']), 174 ['2.8.0', '2.9.0', '2.10.0']),
171 ('ocata', 175 ('ocata',
172 ['2.11.0', '2.12.0', '2.13.0']), 176 ['2.11.0', '2.12.0', '2.13.0']),
177 ('pike',
178 ['2.13.0']),
173]) 179])
174 180
175# >= Liberty version->codename mapping 181# >= Liberty version->codename mapping
@@ -179,54 +185,81 @@ PACKAGE_CODENAMES = {
179 ('13', 'mitaka'), 185 ('13', 'mitaka'),
180 ('14', 'newton'), 186 ('14', 'newton'),
181 ('15', 'ocata'), 187 ('15', 'ocata'),
188 ('16', 'pike'),
189 ('17', 'queens'),
190 ('18', 'rocky'),
182 ]), 191 ]),
183 'neutron-common': OrderedDict([ 192 'neutron-common': OrderedDict([
184 ('7', 'liberty'), 193 ('7', 'liberty'),
185 ('8', 'mitaka'), 194 ('8', 'mitaka'),
186 ('9', 'newton'), 195 ('9', 'newton'),
187 ('10', 'ocata'), 196 ('10', 'ocata'),
197 ('11', 'pike'),
198 ('12', 'queens'),
199 ('13', 'rocky'),
188 ]), 200 ]),
189 'cinder-common': OrderedDict([ 201 'cinder-common': OrderedDict([
190 ('7', 'liberty'), 202 ('7', 'liberty'),
191 ('8', 'mitaka'), 203 ('8', 'mitaka'),
192 ('9', 'newton'), 204 ('9', 'newton'),
193 ('10', 'ocata'), 205 ('10', 'ocata'),
206 ('11', 'pike'),
207 ('12', 'queens'),
208 ('13', 'rocky'),
194 ]), 209 ]),
195 'keystone': OrderedDict([ 210 'keystone': OrderedDict([
196 ('8', 'liberty'), 211 ('8', 'liberty'),
197 ('9', 'mitaka'), 212 ('9', 'mitaka'),
198 ('10', 'newton'), 213 ('10', 'newton'),
199 ('11', 'ocata'), 214 ('11', 'ocata'),
215 ('12', 'pike'),
216 ('13', 'queens'),
217 ('14', 'rocky'),
200 ]), 218 ]),
201 'horizon-common': OrderedDict([ 219 'horizon-common': OrderedDict([
202 ('8', 'liberty'), 220 ('8', 'liberty'),
203 ('9', 'mitaka'), 221 ('9', 'mitaka'),
204 ('10', 'newton'), 222 ('10', 'newton'),
205 ('11', 'ocata'), 223 ('11', 'ocata'),
224 ('12', 'pike'),
225 ('13', 'queens'),
226 ('14', 'rocky'),
206 ]), 227 ]),
207 'ceilometer-common': OrderedDict([ 228 'ceilometer-common': OrderedDict([
208 ('5', 'liberty'), 229 ('5', 'liberty'),
209 ('6', 'mitaka'), 230 ('6', 'mitaka'),
210 ('7', 'newton'), 231 ('7', 'newton'),
211 ('8', 'ocata'), 232 ('8', 'ocata'),
233 ('9', 'pike'),
234 ('10', 'queens'),
235 ('11', 'rocky'),
212 ]), 236 ]),
213 'heat-common': OrderedDict([ 237 'heat-common': OrderedDict([
214 ('5', 'liberty'), 238 ('5', 'liberty'),
215 ('6', 'mitaka'), 239 ('6', 'mitaka'),
216 ('7', 'newton'), 240 ('7', 'newton'),
217 ('8', 'ocata'), 241 ('8', 'ocata'),
242 ('9', 'pike'),
243 ('10', 'queens'),
244 ('11', 'rocky'),
218 ]), 245 ]),
219 'glance-common': OrderedDict([ 246 'glance-common': OrderedDict([
220 ('11', 'liberty'), 247 ('11', 'liberty'),
221 ('12', 'mitaka'), 248 ('12', 'mitaka'),
222 ('13', 'newton'), 249 ('13', 'newton'),
223 ('14', 'ocata'), 250 ('14', 'ocata'),
251 ('15', 'pike'),
252 ('16', 'queens'),
253 ('17', 'rocky'),
224 ]), 254 ]),
225 'openstack-dashboard': OrderedDict([ 255 'openstack-dashboard': OrderedDict([
226 ('8', 'liberty'), 256 ('8', 'liberty'),
227 ('9', 'mitaka'), 257 ('9', 'mitaka'),
228 ('10', 'newton'), 258 ('10', 'newton'),
229 ('11', 'ocata'), 259 ('11', 'ocata'),
260 ('12', 'pike'),
261 ('13', 'queens'),
262 ('14', 'rocky'),
230 ]), 263 ]),
231} 264}
232 265
@@ -579,6 +612,12 @@ def configure_installation_source(rel):
579 'ocata': 'xenial-updates/ocata', 612 'ocata': 'xenial-updates/ocata',
580 'ocata/updates': 'xenial-updates/ocata', 613 'ocata/updates': 'xenial-updates/ocata',
581 'ocata/proposed': 'xenial-proposed/ocata', 614 'ocata/proposed': 'xenial-proposed/ocata',
615 'pike': 'xenial-updates/pike',
616 'pike/updates': 'xenial-updates/pike',
617 'pike/proposed': 'xenial-proposed/pike',
618 'queens': 'xenial-updates/queens',
619 'queens/updates': 'xenial-updates/queens',
620 'queens/proposed': 'xenial-proposed/queens',
582 } 621 }
583 622
584 try: 623 try:
diff --git a/hooks/charmhelpers/core/host_factory/ubuntu.py b/hooks/charmhelpers/core/host_factory/ubuntu.py
index 0448288..d8dc378 100644
--- a/hooks/charmhelpers/core/host_factory/ubuntu.py
+++ b/hooks/charmhelpers/core/host_factory/ubuntu.py
@@ -19,6 +19,7 @@ UBUNTU_RELEASES = (
19 'xenial', 19 'xenial',
20 'yakkety', 20 'yakkety',
21 'zesty', 21 'zesty',
22 'artful',
22) 23)
23 24
24 25
diff --git a/hooks/charmhelpers/fetch/ubuntu.py b/hooks/charmhelpers/fetch/ubuntu.py
index 82ac80f..7bc6cc7 100644
--- a/hooks/charmhelpers/fetch/ubuntu.py
+++ b/hooks/charmhelpers/fetch/ubuntu.py
@@ -113,6 +113,22 @@ CLOUD_ARCHIVE_POCKETS = {
113 'ocata/proposed': 'xenial-proposed/ocata', 113 'ocata/proposed': 'xenial-proposed/ocata',
114 'xenial-ocata/proposed': 'xenial-proposed/ocata', 114 'xenial-ocata/proposed': 'xenial-proposed/ocata',
115 'xenial-ocata/newton': 'xenial-proposed/ocata', 115 'xenial-ocata/newton': 'xenial-proposed/ocata',
116 # Pike
117 'pike': 'xenial-updates/pike',
118 'xenial-pike': 'xenial-updates/pike',
119 'xenial-pike/updates': 'xenial-updates/pike',
120 'xenial-updates/pike': 'xenial-updates/pike',
121 'pike/proposed': 'xenial-proposed/pike',
122 'xenial-pike/proposed': 'xenial-proposed/pike',
123 'xenial-pike/newton': 'xenial-proposed/pike',
124 # Queens
125 'queens': 'xenial-updates/queens',
126 'xenial-queens': 'xenial-updates/queens',
127 'xenial-queens/updates': 'xenial-updates/queens',
128 'xenial-updates/queens': 'xenial-updates/queens',
129 'queens/proposed': 'xenial-proposed/queens',
130 'xenial-queens/proposed': 'xenial-proposed/queens',
131 'xenial-queens/newton': 'xenial-proposed/queens',
116} 132}
117 133
118APT_NO_LOCK = 100 # The return code for "couldn't acquire lock" in APT. 134APT_NO_LOCK = 100 # The return code for "couldn't acquire lock" in APT.
diff --git a/tests/charmhelpers/contrib/openstack/amulet/deployment.py b/tests/charmhelpers/contrib/openstack/amulet/deployment.py
index 5c1ce45..5c041d2 100644
--- a/tests/charmhelpers/contrib/openstack/amulet/deployment.py
+++ b/tests/charmhelpers/contrib/openstack/amulet/deployment.py
@@ -262,7 +262,8 @@ class OpenStackAmuletDeployment(AmuletDeployment):
262 # Must be ordered by OpenStack release (not by Ubuntu release): 262 # Must be ordered by OpenStack release (not by Ubuntu release):
263 (self.trusty_icehouse, self.trusty_kilo, self.trusty_liberty, 263 (self.trusty_icehouse, self.trusty_kilo, self.trusty_liberty,
264 self.trusty_mitaka, self.xenial_mitaka, self.xenial_newton, 264 self.trusty_mitaka, self.xenial_mitaka, self.xenial_newton,
265 self.yakkety_newton, self.xenial_ocata, self.zesty_ocata) = range(9) 265 self.yakkety_newton, self.xenial_ocata, self.zesty_ocata,
266 self.xenial_pike, self.artful_pike) = range(11)
266 267
267 releases = { 268 releases = {
268 ('trusty', None): self.trusty_icehouse, 269 ('trusty', None): self.trusty_icehouse,
@@ -272,8 +273,10 @@ class OpenStackAmuletDeployment(AmuletDeployment):
272 ('xenial', None): self.xenial_mitaka, 273 ('xenial', None): self.xenial_mitaka,
273 ('xenial', 'cloud:xenial-newton'): self.xenial_newton, 274 ('xenial', 'cloud:xenial-newton'): self.xenial_newton,
274 ('xenial', 'cloud:xenial-ocata'): self.xenial_ocata, 275 ('xenial', 'cloud:xenial-ocata'): self.xenial_ocata,
276 ('xenial', 'cloud:xenial-pike'): self.xenial_pike,
275 ('yakkety', None): self.yakkety_newton, 277 ('yakkety', None): self.yakkety_newton,
276 ('zesty', None): self.zesty_ocata, 278 ('zesty', None): self.zesty_ocata,
279 ('artful', None): self.artful_pike,
277 } 280 }
278 return releases[(self.series, self.openstack)] 281 return releases[(self.series, self.openstack)]
279 282
@@ -287,6 +290,7 @@ class OpenStackAmuletDeployment(AmuletDeployment):
287 ('xenial', 'mitaka'), 290 ('xenial', 'mitaka'),
288 ('yakkety', 'newton'), 291 ('yakkety', 'newton'),
289 ('zesty', 'ocata'), 292 ('zesty', 'ocata'),
293 ('artful', 'pike'),
290 ]) 294 ])
291 if self.openstack: 295 if self.openstack:
292 os_origin = self.openstack.split(':')[1] 296 os_origin = self.openstack.split(':')[1]
diff --git a/tests/charmhelpers/core/host_factory/ubuntu.py b/tests/charmhelpers/core/host_factory/ubuntu.py
index 0448288..d8dc378 100644
--- a/tests/charmhelpers/core/host_factory/ubuntu.py
+++ b/tests/charmhelpers/core/host_factory/ubuntu.py
@@ -19,6 +19,7 @@ UBUNTU_RELEASES = (
19 'xenial', 19 'xenial',
20 'yakkety', 20 'yakkety',
21 'zesty', 21 'zesty',
22 'artful',
22) 23)
23 24
24 25
diff --git a/tests/gate-basic-artful-pike b/tests/gate-basic-artful-pike
new file mode 100644
index 0000000..51b37d2
--- /dev/null
+++ b/tests/gate-basic-artful-pike
@@ -0,0 +1,23 @@
1#!/usr/bin/env python
2#
3# Copyright 2016 Canonical Ltd
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17"""Amulet tests on a basic cinder-backup deployment on artful-pike."""
18
19from basic_deployment import CinderBackupBasicDeployment
20
21if __name__ == '__main__':
22 deployment = CinderBackupBasicDeployment(series='artful')
23 deployment.run_tests()
diff --git a/tests/gate-basic-xenial-pike b/tests/gate-basic-xenial-pike
new file mode 100644
index 0000000..d3457e1
--- /dev/null
+++ b/tests/gate-basic-xenial-pike
@@ -0,0 +1,25 @@
1#!/usr/bin/env python
2#
3# Copyright 2016 Canonical Ltd
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17"""Amulet tests on a basic cinder backup deployment on xenial-pike."""
18
19from basic_deployment import CinderBackupBasicDeployment
20
21if __name__ == '__main__':
22 deployment = CinderBackupBasicDeployment(series='xenial',
23 openstack='cloud:xenial-pike',
24 source='cloud:xenial-updates/pike')
25 deployment.run_tests()