Updates for pike b1

Resync charm helpers for pike support.

Add amulet tests, but leave disabled for now.

Change-Id: Ia89fcbbe28ce86b4ef7a5962ff7ea5382f61660b
This commit is contained in:
James Page 2017-05-24 13:50:56 +01:00
parent c8b14d75a6
commit 73c620b6ed
12 changed files with 130 additions and 2 deletions

View File

@ -193,6 +193,13 @@ define service {{
nrpe_check_file = self._get_check_filename() nrpe_check_file = self._get_check_filename()
with open(nrpe_check_file, 'w') as nrpe_check_config: with open(nrpe_check_file, 'w') as nrpe_check_config:
nrpe_check_config.write("# check {}\n".format(self.shortname)) nrpe_check_config.write("# check {}\n".format(self.shortname))
if nagios_servicegroups:
nrpe_check_config.write(
"# The following header was added automatically by juju\n")
nrpe_check_config.write(
"# Modifying it will affect nagios monitoring and alerting\n")
nrpe_check_config.write(
"# servicegroups: {}\n".format(nagios_servicegroups))
nrpe_check_config.write("command[{}]={}\n".format( nrpe_check_config.write("command[{}]={}\n".format(
self.command, self.check_cmd)) self.command, self.check_cmd))

View File

@ -262,7 +262,8 @@ class OpenStackAmuletDeployment(AmuletDeployment):
# Must be ordered by OpenStack release (not by Ubuntu release): # Must be ordered by OpenStack release (not by Ubuntu release):
(self.trusty_icehouse, self.trusty_kilo, self.trusty_liberty, (self.trusty_icehouse, self.trusty_kilo, self.trusty_liberty,
self.trusty_mitaka, self.xenial_mitaka, self.xenial_newton, 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 = { releases = {
('trusty', None): self.trusty_icehouse, ('trusty', None): self.trusty_icehouse,
@ -272,8 +273,10 @@ class OpenStackAmuletDeployment(AmuletDeployment):
('xenial', None): self.xenial_mitaka, ('xenial', None): self.xenial_mitaka,
('xenial', 'cloud:xenial-newton'): self.xenial_newton, ('xenial', 'cloud:xenial-newton'): self.xenial_newton,
('xenial', 'cloud:xenial-ocata'): self.xenial_ocata, ('xenial', 'cloud:xenial-ocata'): self.xenial_ocata,
('xenial', 'cloud:xenial-pike'): self.xenial_pike,
('yakkety', None): self.yakkety_newton, ('yakkety', None): self.yakkety_newton,
('zesty', None): self.zesty_ocata, ('zesty', None): self.zesty_ocata,
('artful', None): self.artful_pike,
} }
return releases[(self.series, self.openstack)] return releases[(self.series, self.openstack)]
@ -287,6 +290,7 @@ class OpenStackAmuletDeployment(AmuletDeployment):
('xenial', 'mitaka'), ('xenial', 'mitaka'),
('yakkety', 'newton'), ('yakkety', 'newton'),
('zesty', 'ocata'), ('zesty', 'ocata'),
('artful', 'pike'),
]) ])
if self.openstack: if self.openstack:
os_origin = self.openstack.split(':')[1] os_origin = self.openstack.split(':')[1]

View File

@ -1393,6 +1393,10 @@ class NeutronAPIContext(OSContextGenerator):
'rel_key': 'enable-l3ha', 'rel_key': 'enable-l3ha',
'default': False, 'default': False,
}, },
'dns_domain': {
'rel_key': 'dns-domain',
'default': None,
},
} }
ctxt = self.get_neutron_options({}) ctxt = self.get_neutron_options({})
for rid in relation_ids('neutron-plugin-api'): for rid in relation_ids('neutron-plugin-api'):

View File

@ -111,6 +111,8 @@ OPENSTACK_RELEASES = (
'newton', 'newton',
'ocata', 'ocata',
'pike', 'pike',
'queens',
'rocky',
) )
UBUNTU_OPENSTACK_RELEASE = OrderedDict([ UBUNTU_OPENSTACK_RELEASE = OrderedDict([
@ -126,6 +128,7 @@ UBUNTU_OPENSTACK_RELEASE = OrderedDict([
('xenial', 'mitaka'), ('xenial', 'mitaka'),
('yakkety', 'newton'), ('yakkety', 'newton'),
('zesty', 'ocata'), ('zesty', 'ocata'),
('artful', 'pike'),
]) ])
@ -142,6 +145,7 @@ OPENSTACK_CODENAMES = OrderedDict([
('2016.1', 'mitaka'), ('2016.1', 'mitaka'),
('2016.2', 'newton'), ('2016.2', 'newton'),
('2017.1', 'ocata'), ('2017.1', 'ocata'),
('2017.2', 'pike'),
]) ])
# The ugly duckling - must list releases oldest to newest # 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']), ['2.8.0', '2.9.0', '2.10.0']),
('ocata', ('ocata',
['2.11.0', '2.12.0', '2.13.0']), ['2.11.0', '2.12.0', '2.13.0']),
('pike',
['2.13.0']),
]) ])
# >= Liberty version->codename mapping # >= Liberty version->codename mapping
@ -179,54 +185,81 @@ PACKAGE_CODENAMES = {
('13', 'mitaka'), ('13', 'mitaka'),
('14', 'newton'), ('14', 'newton'),
('15', 'ocata'), ('15', 'ocata'),
('16', 'pike'),
('17', 'queens'),
('18', 'rocky'),
]), ]),
'neutron-common': OrderedDict([ 'neutron-common': OrderedDict([
('7', 'liberty'), ('7', 'liberty'),
('8', 'mitaka'), ('8', 'mitaka'),
('9', 'newton'), ('9', 'newton'),
('10', 'ocata'), ('10', 'ocata'),
('11', 'pike'),
('12', 'queens'),
('13', 'rocky'),
]), ]),
'cinder-common': OrderedDict([ 'cinder-common': OrderedDict([
('7', 'liberty'), ('7', 'liberty'),
('8', 'mitaka'), ('8', 'mitaka'),
('9', 'newton'), ('9', 'newton'),
('10', 'ocata'), ('10', 'ocata'),
('11', 'pike'),
('12', 'queens'),
('13', 'rocky'),
]), ]),
'keystone': OrderedDict([ 'keystone': OrderedDict([
('8', 'liberty'), ('8', 'liberty'),
('9', 'mitaka'), ('9', 'mitaka'),
('10', 'newton'), ('10', 'newton'),
('11', 'ocata'), ('11', 'ocata'),
('12', 'pike'),
('13', 'queens'),
('14', 'rocky'),
]), ]),
'horizon-common': OrderedDict([ 'horizon-common': OrderedDict([
('8', 'liberty'), ('8', 'liberty'),
('9', 'mitaka'), ('9', 'mitaka'),
('10', 'newton'), ('10', 'newton'),
('11', 'ocata'), ('11', 'ocata'),
('12', 'pike'),
('13', 'queens'),
('14', 'rocky'),
]), ]),
'ceilometer-common': OrderedDict([ 'ceilometer-common': OrderedDict([
('5', 'liberty'), ('5', 'liberty'),
('6', 'mitaka'), ('6', 'mitaka'),
('7', 'newton'), ('7', 'newton'),
('8', 'ocata'), ('8', 'ocata'),
('9', 'pike'),
('10', 'queens'),
('11', 'rocky'),
]), ]),
'heat-common': OrderedDict([ 'heat-common': OrderedDict([
('5', 'liberty'), ('5', 'liberty'),
('6', 'mitaka'), ('6', 'mitaka'),
('7', 'newton'), ('7', 'newton'),
('8', 'ocata'), ('8', 'ocata'),
('9', 'pike'),
('10', 'queens'),
('11', 'rocky'),
]), ]),
'glance-common': OrderedDict([ 'glance-common': OrderedDict([
('11', 'liberty'), ('11', 'liberty'),
('12', 'mitaka'), ('12', 'mitaka'),
('13', 'newton'), ('13', 'newton'),
('14', 'ocata'), ('14', 'ocata'),
('15', 'pike'),
('16', 'queens'),
('17', 'rocky'),
]), ]),
'openstack-dashboard': OrderedDict([ 'openstack-dashboard': OrderedDict([
('8', 'liberty'), ('8', 'liberty'),
('9', 'mitaka'), ('9', 'mitaka'),
('10', 'newton'), ('10', 'newton'),
('11', 'ocata'), ('11', 'ocata'),
('12', 'pike'),
('13', 'queens'),
('14', 'rocky'),
]), ]),
} }
@ -579,6 +612,12 @@ def configure_installation_source(rel):
'ocata': 'xenial-updates/ocata', 'ocata': 'xenial-updates/ocata',
'ocata/updates': 'xenial-updates/ocata', 'ocata/updates': 'xenial-updates/ocata',
'ocata/proposed': 'xenial-proposed/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: try:

View File

@ -191,6 +191,7 @@ def service_pause(service_name, init_dir="/etc/init", initd_dir="/etc/init.d",
upstart_file = os.path.join(init_dir, "{}.conf".format(service_name)) upstart_file = os.path.join(init_dir, "{}.conf".format(service_name))
sysv_file = os.path.join(initd_dir, service_name) sysv_file = os.path.join(initd_dir, service_name)
if init_is_systemd(): if init_is_systemd():
service('disable', service_name)
service('mask', service_name) service('mask', service_name)
elif os.path.exists(upstart_file): elif os.path.exists(upstart_file):
override_path = os.path.join( override_path = os.path.join(
@ -225,6 +226,7 @@ def service_resume(service_name, init_dir="/etc/init",
sysv_file = os.path.join(initd_dir, service_name) sysv_file = os.path.join(initd_dir, service_name)
if init_is_systemd(): if init_is_systemd():
service('unmask', service_name) service('unmask', service_name)
service('enable', service_name)
elif os.path.exists(upstart_file): elif os.path.exists(upstart_file):
override_path = os.path.join( override_path = os.path.join(
init_dir, '{}.override'.format(service_name)) init_dir, '{}.override'.format(service_name))

View File

@ -19,6 +19,7 @@ UBUNTU_RELEASES = (
'xenial', 'xenial',
'yakkety', 'yakkety',
'zesty', 'zesty',
'artful',
) )

View File

@ -113,6 +113,22 @@ CLOUD_ARCHIVE_POCKETS = {
'ocata/proposed': 'xenial-proposed/ocata', 'ocata/proposed': 'xenial-proposed/ocata',
'xenial-ocata/proposed': 'xenial-proposed/ocata', 'xenial-ocata/proposed': 'xenial-proposed/ocata',
'xenial-ocata/newton': '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. APT_NO_LOCK = 100 # The return code for "couldn't acquire lock" in APT.

View File

@ -262,7 +262,8 @@ class OpenStackAmuletDeployment(AmuletDeployment):
# Must be ordered by OpenStack release (not by Ubuntu release): # Must be ordered by OpenStack release (not by Ubuntu release):
(self.trusty_icehouse, self.trusty_kilo, self.trusty_liberty, (self.trusty_icehouse, self.trusty_kilo, self.trusty_liberty,
self.trusty_mitaka, self.xenial_mitaka, self.xenial_newton, 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 = { releases = {
('trusty', None): self.trusty_icehouse, ('trusty', None): self.trusty_icehouse,
@ -272,8 +273,10 @@ class OpenStackAmuletDeployment(AmuletDeployment):
('xenial', None): self.xenial_mitaka, ('xenial', None): self.xenial_mitaka,
('xenial', 'cloud:xenial-newton'): self.xenial_newton, ('xenial', 'cloud:xenial-newton'): self.xenial_newton,
('xenial', 'cloud:xenial-ocata'): self.xenial_ocata, ('xenial', 'cloud:xenial-ocata'): self.xenial_ocata,
('xenial', 'cloud:xenial-pike'): self.xenial_pike,
('yakkety', None): self.yakkety_newton, ('yakkety', None): self.yakkety_newton,
('zesty', None): self.zesty_ocata, ('zesty', None): self.zesty_ocata,
('artful', None): self.artful_pike,
} }
return releases[(self.series, self.openstack)] return releases[(self.series, self.openstack)]
@ -287,6 +290,7 @@ class OpenStackAmuletDeployment(AmuletDeployment):
('xenial', 'mitaka'), ('xenial', 'mitaka'),
('yakkety', 'newton'), ('yakkety', 'newton'),
('zesty', 'ocata'), ('zesty', 'ocata'),
('artful', 'pike'),
]) ])
if self.openstack: if self.openstack:
os_origin = self.openstack.split(':')[1] os_origin = self.openstack.split(':')[1]

View File

@ -191,6 +191,7 @@ def service_pause(service_name, init_dir="/etc/init", initd_dir="/etc/init.d",
upstart_file = os.path.join(init_dir, "{}.conf".format(service_name)) upstart_file = os.path.join(init_dir, "{}.conf".format(service_name))
sysv_file = os.path.join(initd_dir, service_name) sysv_file = os.path.join(initd_dir, service_name)
if init_is_systemd(): if init_is_systemd():
service('disable', service_name)
service('mask', service_name) service('mask', service_name)
elif os.path.exists(upstart_file): elif os.path.exists(upstart_file):
override_path = os.path.join( override_path = os.path.join(
@ -225,6 +226,7 @@ def service_resume(service_name, init_dir="/etc/init",
sysv_file = os.path.join(initd_dir, service_name) sysv_file = os.path.join(initd_dir, service_name)
if init_is_systemd(): if init_is_systemd():
service('unmask', service_name) service('unmask', service_name)
service('enable', service_name)
elif os.path.exists(upstart_file): elif os.path.exists(upstart_file):
override_path = os.path.join( override_path = os.path.join(
init_dir, '{}.override'.format(service_name)) init_dir, '{}.override'.format(service_name))

View File

@ -19,6 +19,7 @@ UBUNTU_RELEASES = (
'xenial', 'xenial',
'yakkety', 'yakkety',
'zesty', 'zesty',
'artful',
) )

View File

@ -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 swift-storage deployment on artful-pike."""
from basic_deployment import SwiftStorageBasicDeployment
if __name__ == '__main__':
deployment = SwiftStorageBasicDeployment(series='artful')
deployment.run_tests()

View File

@ -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 swift-storage deployment on xenial-pike."""
from basic_deployment import SwiftStorageBasicDeployment
if __name__ == '__main__':
deployment = SwiftStorageBasicDeployment(series='xenial',
openstack='cloud:xenial-pike',
source='cloud:xenial-updates/pike')
deployment.run_tests()