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:
parent
c8b14d75a6
commit
73c620b6ed
@ -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))
|
||||||
|
|
||||||
|
@ -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]
|
||||||
|
@ -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'):
|
||||||
|
@ -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:
|
||||||
|
@ -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))
|
||||||
|
@ -19,6 +19,7 @@ UBUNTU_RELEASES = (
|
|||||||
'xenial',
|
'xenial',
|
||||||
'yakkety',
|
'yakkety',
|
||||||
'zesty',
|
'zesty',
|
||||||
|
'artful',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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]
|
||||||
|
@ -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))
|
||||||
|
@ -19,6 +19,7 @@ UBUNTU_RELEASES = (
|
|||||||
'xenial',
|
'xenial',
|
||||||
'yakkety',
|
'yakkety',
|
||||||
'zesty',
|
'zesty',
|
||||||
|
'artful',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
23
tests/gate-basic-artful-pike
Normal file
23
tests/gate-basic-artful-pike
Normal 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()
|
25
tests/gate-basic-xenial-pike
Normal file
25
tests/gate-basic-xenial-pike
Normal 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()
|
Loading…
Reference in New Issue
Block a user