From f4e10e0af09675127f82008aedbd6388f08be39f Mon Sep 17 00:00:00 2001 From: James Page Date: Fri, 12 May 2017 07:49:14 +0200 Subject: [PATCH] Updates for pike b1 Resync charmhelpers for pike version support. Add pike tests but leave disabled until all charms support pike. Change-Id: I2b0ba853512f0e1f982ac02dd52c8be5796b8383 --- .../contrib/openstack/amulet/deployment.py | 6 ++- .../charmhelpers/contrib/openstack/context.py | 4 ++ hooks/charmhelpers/contrib/openstack/utils.py | 39 +++++++++++++++++++ .../charmhelpers/core/host_factory/ubuntu.py | 1 + hooks/charmhelpers/fetch/ubuntu.py | 16 ++++++++ .../contrib/openstack/amulet/deployment.py | 6 ++- .../charmhelpers/core/host_factory/ubuntu.py | 1 + tests/gate-basic-artful-pike | 23 +++++++++++ tests/gate-basic-xenial-pike | 25 ++++++++++++ 9 files changed, 119 insertions(+), 2 deletions(-) create mode 100644 tests/gate-basic-artful-pike create mode 100644 tests/gate-basic-xenial-pike 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): # Must be ordered by OpenStack release (not by Ubuntu release): (self.trusty_icehouse, self.trusty_kilo, self.trusty_liberty, self.trusty_mitaka, self.xenial_mitaka, self.xenial_newton, - self.yakkety_newton, self.xenial_ocata, self.zesty_ocata) = range(9) + self.yakkety_newton, self.xenial_ocata, self.zesty_ocata, + self.xenial_pike, self.artful_pike) = range(11) releases = { ('trusty', None): self.trusty_icehouse, @@ -272,8 +273,10 @@ class OpenStackAmuletDeployment(AmuletDeployment): ('xenial', None): self.xenial_mitaka, ('xenial', 'cloud:xenial-newton'): self.xenial_newton, ('xenial', 'cloud:xenial-ocata'): self.xenial_ocata, + ('xenial', 'cloud:xenial-pike'): self.xenial_pike, ('yakkety', None): self.yakkety_newton, ('zesty', None): self.zesty_ocata, + ('artful', None): self.artful_pike, } return releases[(self.series, self.openstack)] @@ -287,6 +290,7 @@ class OpenStackAmuletDeployment(AmuletDeployment): ('xenial', 'mitaka'), ('yakkety', 'newton'), ('zesty', 'ocata'), + ('artful', 'pike'), ]) if self.openstack: 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): 'rel_key': 'enable-l3ha', 'default': False, }, + 'dns_domain': { + 'rel_key': 'dns-domain', + 'default': None, + }, } ctxt = self.get_neutron_options({}) 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 = ( 'newton', 'ocata', 'pike', + 'queens', + 'rocky', ) UBUNTU_OPENSTACK_RELEASE = OrderedDict([ @@ -126,6 +128,7 @@ UBUNTU_OPENSTACK_RELEASE = OrderedDict([ ('xenial', 'mitaka'), ('yakkety', 'newton'), ('zesty', 'ocata'), + ('artful', 'pike'), ]) @@ -142,6 +145,7 @@ OPENSTACK_CODENAMES = OrderedDict([ ('2016.1', 'mitaka'), ('2016.2', 'newton'), ('2017.1', 'ocata'), + ('2017.2', 'pike'), ]) # The ugly duckling - must list releases oldest to newest @@ -170,6 +174,8 @@ SWIFT_CODENAMES = OrderedDict([ ['2.8.0', '2.9.0', '2.10.0']), ('ocata', ['2.11.0', '2.12.0', '2.13.0']), + ('pike', + ['2.13.0']), ]) # >= Liberty version->codename mapping @@ -179,54 +185,81 @@ PACKAGE_CODENAMES = { ('13', 'mitaka'), ('14', 'newton'), ('15', 'ocata'), + ('16', 'pike'), + ('17', 'queens'), + ('18', 'rocky'), ]), 'neutron-common': OrderedDict([ ('7', 'liberty'), ('8', 'mitaka'), ('9', 'newton'), ('10', 'ocata'), + ('11', 'pike'), + ('12', 'queens'), + ('13', 'rocky'), ]), 'cinder-common': OrderedDict([ ('7', 'liberty'), ('8', 'mitaka'), ('9', 'newton'), ('10', 'ocata'), + ('11', 'pike'), + ('12', 'queens'), + ('13', 'rocky'), ]), 'keystone': OrderedDict([ ('8', 'liberty'), ('9', 'mitaka'), ('10', 'newton'), ('11', 'ocata'), + ('12', 'pike'), + ('13', 'queens'), + ('14', 'rocky'), ]), 'horizon-common': OrderedDict([ ('8', 'liberty'), ('9', 'mitaka'), ('10', 'newton'), ('11', 'ocata'), + ('12', 'pike'), + ('13', 'queens'), + ('14', 'rocky'), ]), 'ceilometer-common': OrderedDict([ ('5', 'liberty'), ('6', 'mitaka'), ('7', 'newton'), ('8', 'ocata'), + ('9', 'pike'), + ('10', 'queens'), + ('11', 'rocky'), ]), 'heat-common': OrderedDict([ ('5', 'liberty'), ('6', 'mitaka'), ('7', 'newton'), ('8', 'ocata'), + ('9', 'pike'), + ('10', 'queens'), + ('11', 'rocky'), ]), 'glance-common': OrderedDict([ ('11', 'liberty'), ('12', 'mitaka'), ('13', 'newton'), ('14', 'ocata'), + ('15', 'pike'), + ('16', 'queens'), + ('17', 'rocky'), ]), 'openstack-dashboard': OrderedDict([ ('8', 'liberty'), ('9', 'mitaka'), ('10', 'newton'), ('11', 'ocata'), + ('12', 'pike'), + ('13', 'queens'), + ('14', 'rocky'), ]), } @@ -579,6 +612,12 @@ def configure_installation_source(rel): 'ocata': 'xenial-updates/ocata', 'ocata/updates': 'xenial-updates/ocata', 'ocata/proposed': 'xenial-proposed/ocata', + 'pike': 'xenial-updates/pike', + 'pike/updates': 'xenial-updates/pike', + 'pike/proposed': 'xenial-proposed/pike', + 'queens': 'xenial-updates/queens', + 'queens/updates': 'xenial-updates/queens', + 'queens/proposed': 'xenial-proposed/queens', } 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 = ( 'xenial', 'yakkety', 'zesty', + 'artful', ) 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 = { 'ocata/proposed': 'xenial-proposed/ocata', 'xenial-ocata/proposed': 'xenial-proposed/ocata', 'xenial-ocata/newton': 'xenial-proposed/ocata', + # Pike + 'pike': 'xenial-updates/pike', + 'xenial-pike': 'xenial-updates/pike', + 'xenial-pike/updates': 'xenial-updates/pike', + 'xenial-updates/pike': 'xenial-updates/pike', + 'pike/proposed': 'xenial-proposed/pike', + 'xenial-pike/proposed': 'xenial-proposed/pike', + 'xenial-pike/newton': 'xenial-proposed/pike', + # Queens + 'queens': 'xenial-updates/queens', + 'xenial-queens': 'xenial-updates/queens', + 'xenial-queens/updates': 'xenial-updates/queens', + 'xenial-updates/queens': 'xenial-updates/queens', + 'queens/proposed': 'xenial-proposed/queens', + 'xenial-queens/proposed': 'xenial-proposed/queens', + 'xenial-queens/newton': 'xenial-proposed/queens', } APT_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): # Must be ordered by OpenStack release (not by Ubuntu release): (self.trusty_icehouse, self.trusty_kilo, self.trusty_liberty, self.trusty_mitaka, self.xenial_mitaka, self.xenial_newton, - self.yakkety_newton, self.xenial_ocata, self.zesty_ocata) = range(9) + self.yakkety_newton, self.xenial_ocata, self.zesty_ocata, + self.xenial_pike, self.artful_pike) = range(11) releases = { ('trusty', None): self.trusty_icehouse, @@ -272,8 +273,10 @@ class OpenStackAmuletDeployment(AmuletDeployment): ('xenial', None): self.xenial_mitaka, ('xenial', 'cloud:xenial-newton'): self.xenial_newton, ('xenial', 'cloud:xenial-ocata'): self.xenial_ocata, + ('xenial', 'cloud:xenial-pike'): self.xenial_pike, ('yakkety', None): self.yakkety_newton, ('zesty', None): self.zesty_ocata, + ('artful', None): self.artful_pike, } return releases[(self.series, self.openstack)] @@ -287,6 +290,7 @@ class OpenStackAmuletDeployment(AmuletDeployment): ('xenial', 'mitaka'), ('yakkety', 'newton'), ('zesty', 'ocata'), + ('artful', 'pike'), ]) if self.openstack: 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 = ( 'xenial', 'yakkety', 'zesty', + 'artful', ) 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 @@ +#!/usr/bin/env python +# +# Copyright 2016 Canonical Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Amulet tests on a basic cinder-backup deployment on artful-pike.""" + +from basic_deployment import CinderBackupBasicDeployment + +if __name__ == '__main__': + deployment = CinderBackupBasicDeployment(series='artful') + 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 @@ +#!/usr/bin/env python +# +# Copyright 2016 Canonical Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Amulet tests on a basic cinder backup deployment on xenial-pike.""" + +from basic_deployment import CinderBackupBasicDeployment + +if __name__ == '__main__': + deployment = CinderBackupBasicDeployment(series='xenial', + openstack='cloud:xenial-pike', + source='cloud:xenial-updates/pike') + deployment.run_tests()