Merge "Add yoga bundles and release-tool syncs"
This commit is contained in:
commit
2fc7b07b3f
|
@ -1413,7 +1413,8 @@ def incomplete_relation_data(configs, required_interfaces):
|
|||
for i in incomplete_relations}
|
||||
|
||||
|
||||
def do_action_openstack_upgrade(package, upgrade_callback, configs):
|
||||
def do_action_openstack_upgrade(package, upgrade_callback, configs,
|
||||
force_upgrade=False):
|
||||
"""Perform action-managed OpenStack upgrade.
|
||||
|
||||
Upgrades packages to the configured openstack-origin version and sets
|
||||
|
@ -1427,12 +1428,13 @@ def do_action_openstack_upgrade(package, upgrade_callback, configs):
|
|||
@param package: package name for determining if upgrade available
|
||||
@param upgrade_callback: function callback to charm's upgrade function
|
||||
@param configs: templating object derived from OSConfigRenderer class
|
||||
@param force_upgrade: perform dist-upgrade regardless of new openstack
|
||||
|
||||
@return: True if upgrade successful; False if upgrade failed or skipped
|
||||
"""
|
||||
ret = False
|
||||
|
||||
if openstack_upgrade_available(package):
|
||||
if openstack_upgrade_available(package) or force_upgrade:
|
||||
if config('action-managed-upgrade'):
|
||||
juju_log('Upgrading OpenStack release')
|
||||
|
||||
|
@ -2599,6 +2601,23 @@ def get_subordinate_release_packages(os_release, package_type='deb'):
|
|||
return SubordinatePackages(install, purge)
|
||||
|
||||
|
||||
def get_subordinate_services():
|
||||
"""Iterate over subordinate relations and get service information.
|
||||
|
||||
In a similar fashion as with get_subordinate_release_packages(),
|
||||
principle charms can retrieve a list of services advertised by their
|
||||
subordinate charms. This is useful to know about subordinate services when
|
||||
pausing, resuming or upgrading a principle unit.
|
||||
|
||||
:returns: Name of all services advertised by all subordinates
|
||||
:rtype: Set[str]
|
||||
"""
|
||||
services = set()
|
||||
for rdata in container_scoped_relation_get('services'):
|
||||
services |= set(json.loads(rdata or '[]'))
|
||||
return services
|
||||
|
||||
|
||||
os_restart_on_change = partial(
|
||||
pausable_restart_on_change,
|
||||
can_restart_now_f=deferred_events.check_and_record_restart_request,
|
||||
|
|
|
@ -294,7 +294,6 @@ class BasePool(object):
|
|||
# NOTE: Do not perform initialization steps that require live data from
|
||||
# a running cluster here. The *Pool classes may be used for validation.
|
||||
self.service = service
|
||||
self.nautilus_or_later = cmp_pkgrevno('ceph-common', '14.2.0') >= 0
|
||||
self.op = op or {}
|
||||
|
||||
if op:
|
||||
|
@ -341,7 +340,8 @@ class BasePool(object):
|
|||
Do not add calls for a specific pool type here, those should go into
|
||||
one of the pool specific classes.
|
||||
"""
|
||||
if self.nautilus_or_later:
|
||||
nautilus_or_later = cmp_pkgrevno('ceph-common', '14.2.0') >= 0
|
||||
if nautilus_or_later:
|
||||
# Ensure we set the expected pool ratio
|
||||
update_pool(
|
||||
client=self.service,
|
||||
|
@ -660,8 +660,9 @@ class ReplicatedPool(BasePool):
|
|||
else:
|
||||
self.pg_num = self.get_pgs(self.replicas, self.percent_data)
|
||||
|
||||
nautilus_or_later = cmp_pkgrevno('ceph-common', '14.2.0') >= 0
|
||||
# Create it
|
||||
if self.nautilus_or_later:
|
||||
if nautilus_or_later:
|
||||
cmd = [
|
||||
'ceph', '--id', self.service, 'osd', 'pool', 'create',
|
||||
'--pg-num-min={}'.format(
|
||||
|
@ -745,9 +746,9 @@ class ErasurePool(BasePool):
|
|||
k = int(erasure_profile['k'])
|
||||
m = int(erasure_profile['m'])
|
||||
pgs = self.get_pgs(k + m, self.percent_data)
|
||||
self.nautilus_or_later = cmp_pkgrevno('ceph-common', '14.2.0') >= 0
|
||||
nautilus_or_later = cmp_pkgrevno('ceph-common', '14.2.0') >= 0
|
||||
# Create it
|
||||
if self.nautilus_or_later:
|
||||
if nautilus_or_later:
|
||||
cmd = [
|
||||
'ceph', '--id', self.service, 'osd', 'pool', 'create',
|
||||
'--pg-num-min={}'.format(
|
||||
|
|
|
@ -29,6 +29,7 @@ UBUNTU_RELEASES = (
|
|||
'groovy',
|
||||
'hirsute',
|
||||
'impish',
|
||||
'jammy',
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -275,6 +275,7 @@ UBUNTU_OPENSTACK_RELEASE = OrderedDict([
|
|||
('groovy', 'victoria'),
|
||||
('hirsute', 'wallaby'),
|
||||
('impish', 'xena'),
|
||||
('jammy', 'yoga'),
|
||||
])
|
||||
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@ tags:
|
|||
- amqp
|
||||
- misc
|
||||
series:
|
||||
- xenial
|
||||
- bionic
|
||||
- focal
|
||||
- groovy
|
||||
|
|
29
osci.yaml
29
osci.yaml
|
@ -1,29 +1,23 @@
|
|||
- project:
|
||||
templates:
|
||||
- charm-unit-jobs
|
||||
- charm-yoga-unit-jobs
|
||||
check:
|
||||
jobs:
|
||||
- rabbit-xenial
|
||||
- rabbit-bionic
|
||||
- rabbit-focal
|
||||
- rabbit-groovy
|
||||
- rabbit-hirsute
|
||||
- rabbit-impish:
|
||||
voting: false
|
||||
- rabbit-jammy:
|
||||
voting: false
|
||||
vars:
|
||||
needs_charm_build: false
|
||||
|
||||
- job:
|
||||
name: rabbit-xenial
|
||||
name: rabbit-bionic
|
||||
parent: func-target
|
||||
dependencies: &smoke-jobs
|
||||
- rabbit-focal
|
||||
vars:
|
||||
tox_extra_args: xenial-mitaka
|
||||
- job:
|
||||
name: rabbit-bionic
|
||||
parent: func-target
|
||||
dependencies: *smoke-jobs
|
||||
vars:
|
||||
tox_extra_args: bionic-queens
|
||||
- job:
|
||||
|
@ -31,18 +25,11 @@
|
|||
parent: func-target
|
||||
dependencies: &lint-jobs
|
||||
- osci-lint
|
||||
- tox-py35
|
||||
- tox-py36
|
||||
- tox-py37
|
||||
- tox-py38
|
||||
- tox-py39
|
||||
vars:
|
||||
tox_extra_args: focal-ussuri
|
||||
- job:
|
||||
name: rabbit-groovy
|
||||
parent: func-target
|
||||
dependencies: *smoke-jobs
|
||||
vars:
|
||||
tox_extra_args: groovy-victoria
|
||||
- job:
|
||||
name: rabbit-hirsute
|
||||
parent: func-target
|
||||
|
@ -55,3 +42,9 @@
|
|||
dependencies: *smoke-jobs
|
||||
vars:
|
||||
tox_extra_args: impish-xena
|
||||
- job:
|
||||
name: rabbit-jammy
|
||||
parent: func-target
|
||||
dependencies: *smoke-jobs
|
||||
vars:
|
||||
tox_extra_args: jammy-yoga
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
variables:
|
||||
openstack-origin: &openstack-origin cloud:focal-yoga
|
||||
|
||||
series: focal
|
||||
|
||||
comment:
|
||||
- 'machines section to decide order of deployment. database sooner = faster'
|
||||
machines:
|
||||
'0':
|
||||
constraints: mem=3072M
|
||||
'1':
|
||||
constraints: mem=3072M
|
||||
'2':
|
||||
constraints: mem=3072M
|
||||
'3':
|
||||
'4':
|
||||
'5':
|
||||
'6':
|
||||
'7':
|
||||
'8':
|
||||
series: bionic # nagios not supported on focal yet
|
||||
|
||||
|
||||
applications:
|
||||
|
||||
keystone-mysql-router:
|
||||
charm: cs:~openstack-charmers-next/mysql-router
|
||||
cinder-mysql-router:
|
||||
charm: cs:~openstack-charmers-next/mysql-router
|
||||
|
||||
mysql-innodb-cluster:
|
||||
charm: cs:~openstack-charmers-next/mysql-innodb-cluster
|
||||
num_units: 3
|
||||
options:
|
||||
source: *openstack-origin
|
||||
to:
|
||||
- '0'
|
||||
- '1'
|
||||
- '2'
|
||||
|
||||
rabbitmq-server:
|
||||
charm: "../../../rabbitmq-server"
|
||||
num_units: 3
|
||||
constraints:
|
||||
cpu-cores=2
|
||||
options:
|
||||
min-cluster-size: 3
|
||||
max-cluster-tries: 6
|
||||
ssl: "off"
|
||||
management_plugin: "False"
|
||||
stats_cron_schedule: "*/1 * * * *"
|
||||
source: *openstack-origin
|
||||
to:
|
||||
- '3'
|
||||
- '4'
|
||||
- '5'
|
||||
|
||||
cinder:
|
||||
charm: cs:~openstack-charmers-next/cinder
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '6'
|
||||
|
||||
keystone:
|
||||
charm: cs:~openstack-charmers-next/keystone
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
admin-password: openstack
|
||||
to:
|
||||
- '7'
|
||||
|
||||
nagios:
|
||||
charm: cs:nagios
|
||||
series: bionic # not supported on focal yet
|
||||
num_units: 1
|
||||
to:
|
||||
- '8'
|
||||
|
||||
nrpe:
|
||||
charm: cs:nrpe
|
||||
|
||||
relations:
|
||||
|
||||
- - 'cinder:amqp'
|
||||
- 'rabbitmq-server:amqp'
|
||||
- - 'cinder:shared-db'
|
||||
- 'cinder-mysql-router:shared-db'
|
||||
- - 'cinder-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
- - 'cinder:identity-service'
|
||||
- 'keystone:identity-service'
|
||||
- - 'keystone:shared-db'
|
||||
- 'keystone-mysql-router:shared-db'
|
||||
- - 'keystone-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
- - 'nrpe:nrpe-external-master'
|
||||
- 'rabbitmq-server:nrpe-external-master'
|
||||
- - 'nrpe:monitors'
|
||||
- 'nagios:monitors'
|
|
@ -0,0 +1,102 @@
|
|||
variables:
|
||||
openstack-origin: &openstack-origin distro
|
||||
|
||||
series: jammy
|
||||
|
||||
comment:
|
||||
- 'machines section to decide order of deployment. database sooner = faster'
|
||||
machines:
|
||||
'0':
|
||||
constraints: mem=3072M
|
||||
'1':
|
||||
constraints: mem=3072M
|
||||
'2':
|
||||
constraints: mem=3072M
|
||||
'3':
|
||||
'4':
|
||||
'5':
|
||||
'6':
|
||||
'7':
|
||||
'8':
|
||||
series: bionic # nagios not supported on focal+ yet
|
||||
|
||||
|
||||
applications:
|
||||
|
||||
keystone-mysql-router:
|
||||
charm: cs:~openstack-charmers-next/mysql-router
|
||||
cinder-mysql-router:
|
||||
charm: cs:~openstack-charmers-next/mysql-router
|
||||
|
||||
mysql-innodb-cluster:
|
||||
charm: cs:~openstack-charmers-next/mysql-innodb-cluster
|
||||
num_units: 3
|
||||
options:
|
||||
source: *openstack-origin
|
||||
to:
|
||||
- '0'
|
||||
- '1'
|
||||
- '2'
|
||||
|
||||
rabbitmq-server:
|
||||
charm: "../../../rabbitmq-server"
|
||||
num_units: 3
|
||||
constraints:
|
||||
cpu-cores=2
|
||||
options:
|
||||
min-cluster-size: 3
|
||||
max-cluster-tries: 6
|
||||
ssl: "off"
|
||||
management_plugin: "False"
|
||||
stats_cron_schedule: "*/1 * * * *"
|
||||
source: *openstack-origin
|
||||
to:
|
||||
- '3'
|
||||
- '4'
|
||||
- '5'
|
||||
|
||||
cinder:
|
||||
charm: cs:~openstack-charmers-next/cinder
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
to:
|
||||
- '6'
|
||||
|
||||
keystone:
|
||||
charm: cs:~openstack-charmers-next/keystone
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
admin-password: openstack
|
||||
to:
|
||||
- '7'
|
||||
|
||||
nagios:
|
||||
charm: cs:nagios
|
||||
series: bionic # not supported on focal+ yet
|
||||
num_units: 1
|
||||
to:
|
||||
- '8'
|
||||
|
||||
nrpe:
|
||||
charm: cs:nrpe
|
||||
|
||||
relations:
|
||||
|
||||
- - 'cinder:amqp'
|
||||
- 'rabbitmq-server:amqp'
|
||||
- - 'cinder:shared-db'
|
||||
- 'cinder-mysql-router:shared-db'
|
||||
- - 'cinder-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
- - 'cinder:identity-service'
|
||||
- 'keystone:identity-service'
|
||||
- - 'keystone:shared-db'
|
||||
- 'keystone-mysql-router:shared-db'
|
||||
- - 'keystone-mysql-router:db-router'
|
||||
- 'mysql-innodb-cluster:db-router'
|
||||
- - 'nrpe:nrpe-external-master'
|
||||
- 'rabbitmq-server:nrpe-external-master'
|
||||
- - 'nrpe:monitors'
|
||||
- 'nagios:monitors'
|
|
@ -1,46 +0,0 @@
|
|||
series: xenial
|
||||
|
||||
relations:
|
||||
- - cinder:amqp
|
||||
- rabbitmq-server:amqp
|
||||
- - cinder:shared-db
|
||||
- percona-cluster:shared-db
|
||||
- - cinder:identity-service
|
||||
- keystone:identity-service
|
||||
- - keystone:shared-db
|
||||
- percona-cluster:shared-db
|
||||
- - nrpe:nrpe-external-master
|
||||
- rabbitmq-server:nrpe-external-master
|
||||
- - nrpe:monitors
|
||||
- nagios:monitors
|
||||
|
||||
applications:
|
||||
rabbitmq-server:
|
||||
charm: "../../../rabbitmq-server"
|
||||
num_units: 3
|
||||
constraints:
|
||||
cpu-cores=2
|
||||
options:
|
||||
min-cluster-size: 3
|
||||
max-cluster-tries: 6
|
||||
ssl: "off"
|
||||
management_plugin: "False"
|
||||
stats_cron_schedule: "*/1 * * * *"
|
||||
cinder:
|
||||
charm: cs:~openstack-charmers-next/cinder
|
||||
num_units: 1
|
||||
percona-cluster:
|
||||
charm: cs:~openstack-charmers-next/percona-cluster
|
||||
num_units: 1
|
||||
options:
|
||||
max-connections: 1000
|
||||
keystone:
|
||||
charm: cs:~openstack-charmers-next/keystone
|
||||
num_units: 1
|
||||
options:
|
||||
admin-password: openstack
|
||||
nagios:
|
||||
charm: cs:nagios
|
||||
num_units: 1
|
||||
nrpe:
|
||||
charm: cs:nrpe
|
|
@ -1,53 +0,0 @@
|
|||
variables:
|
||||
openstack-origin: &openstack-origin cloud:xenial-ocata
|
||||
|
||||
series: xenial
|
||||
|
||||
relations:
|
||||
- - cinder:amqp
|
||||
- rabbitmq-server:amqp
|
||||
- - cinder:shared-db
|
||||
- percona-cluster:shared-db
|
||||
- - cinder:identity-service
|
||||
- keystone:identity-service
|
||||
- - keystone:shared-db
|
||||
- percona-cluster:shared-db
|
||||
- - nrpe:nrpe-external-master
|
||||
- rabbitmq-server:nrpe-external-master
|
||||
- - nrpe:monitors
|
||||
- nagios:monitors
|
||||
|
||||
applications:
|
||||
rabbitmq-server:
|
||||
charm: "../../../rabbitmq-server"
|
||||
num_units: 3
|
||||
constraints:
|
||||
cpu-cores=2
|
||||
options:
|
||||
min-cluster-size: 3
|
||||
max-cluster-tries: 6
|
||||
ssl: "off"
|
||||
management_plugin: "False"
|
||||
stats_cron_schedule: "*/1 * * * *"
|
||||
cinder:
|
||||
charm: cs:~openstack-charmers-next/cinder
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
percona-cluster:
|
||||
charm: cs:~openstack-charmers-next/percona-cluster
|
||||
num_units: 1
|
||||
options:
|
||||
source: *openstack-origin
|
||||
max-connections: 1000
|
||||
keystone:
|
||||
charm: cs:~openstack-charmers-next/keystone
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
admin-password: openstack
|
||||
nagios:
|
||||
charm: cs:nagios
|
||||
num_units: 1
|
||||
nrpe:
|
||||
charm: cs:nrpe
|
|
@ -1,53 +0,0 @@
|
|||
variables:
|
||||
openstack-origin: &openstack-origin cloud:xenial-pike
|
||||
|
||||
series: xenial
|
||||
|
||||
relations:
|
||||
- - cinder:amqp
|
||||
- rabbitmq-server:amqp
|
||||
- - cinder:shared-db
|
||||
- percona-cluster:shared-db
|
||||
- - cinder:identity-service
|
||||
- keystone:identity-service
|
||||
- - keystone:shared-db
|
||||
- percona-cluster:shared-db
|
||||
- - nrpe:nrpe-external-master
|
||||
- rabbitmq-server:nrpe-external-master
|
||||
- - nrpe:monitors
|
||||
- nagios:monitors
|
||||
|
||||
applications:
|
||||
rabbitmq-server:
|
||||
charm: "../../../rabbitmq-server"
|
||||
num_units: 3
|
||||
constraints:
|
||||
cpu-cores=2
|
||||
options:
|
||||
min-cluster-size: 3
|
||||
max-cluster-tries: 6
|
||||
ssl: "off"
|
||||
management_plugin: "False"
|
||||
stats_cron_schedule: "*/1 * * * *"
|
||||
cinder:
|
||||
charm: cs:~openstack-charmers-next/cinder
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
percona-cluster:
|
||||
charm: cs:~openstack-charmers-next/percona-cluster
|
||||
num_units: 1
|
||||
options:
|
||||
source: *openstack-origin
|
||||
max-connections: 1000
|
||||
keystone:
|
||||
charm: cs:~openstack-charmers-next/keystone
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
admin-password: openstack
|
||||
nagios:
|
||||
charm: cs:nagios
|
||||
num_units: 1
|
||||
nrpe:
|
||||
charm: cs:nrpe
|
|
@ -1,53 +0,0 @@
|
|||
variables:
|
||||
openstack-origin: &openstack-origin cloud:xenial-queens
|
||||
|
||||
series: xenial
|
||||
|
||||
relations:
|
||||
- - cinder:amqp
|
||||
- rabbitmq-server:amqp
|
||||
- - cinder:shared-db
|
||||
- percona-cluster:shared-db
|
||||
- - cinder:identity-service
|
||||
- keystone:identity-service
|
||||
- - keystone:shared-db
|
||||
- percona-cluster:shared-db
|
||||
- - nrpe:nrpe-external-master
|
||||
- rabbitmq-server:nrpe-external-master
|
||||
- - nrpe:monitors
|
||||
- nagios:monitors
|
||||
|
||||
applications:
|
||||
rabbitmq-server:
|
||||
charm: "../../../rabbitmq-server"
|
||||
num_units: 3
|
||||
constraints:
|
||||
cpu-cores=2
|
||||
options:
|
||||
min-cluster-size: 3
|
||||
max-cluster-tries: 6
|
||||
ssl: "off"
|
||||
management_plugin: "False"
|
||||
stats_cron_schedule: "*/1 * * * *"
|
||||
cinder:
|
||||
charm: cs:~openstack-charmers-next/cinder
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
percona-cluster:
|
||||
charm: cs:~openstack-charmers-next/percona-cluster
|
||||
num_units: 1
|
||||
options:
|
||||
source: *openstack-origin
|
||||
max-connections: 1000
|
||||
keystone:
|
||||
charm: cs:~openstack-charmers-next/keystone
|
||||
num_units: 1
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
admin-password: openstack
|
||||
nagios:
|
||||
charm: cs:nagios
|
||||
num_units: 1
|
||||
nrpe:
|
||||
charm: cs:nrpe
|
|
@ -4,24 +4,21 @@ smoke_bundles:
|
|||
- focal-ussuri
|
||||
|
||||
gate_bundles:
|
||||
- xenial-mitaka
|
||||
- bionic-queens
|
||||
- bionic-stein
|
||||
- bionic-ussuri
|
||||
- focal-ussuri
|
||||
- focal-victoria
|
||||
- focal-wallaby
|
||||
- focal-xena
|
||||
- hirsute-wallaby
|
||||
- impish-xena
|
||||
|
||||
dev_bundles:
|
||||
- xenial-ocata
|
||||
- xenial-pike
|
||||
- xenial-queens
|
||||
- bionic-rocky
|
||||
- bionic-stein
|
||||
- bionic-train
|
||||
- bionic-ussuri
|
||||
- focal-victoria
|
||||
- groovy-victoria
|
||||
- focal-xena
|
||||
- impish-xena
|
||||
- focal-yoga
|
||||
- jammy-yoga
|
||||
|
||||
tests:
|
||||
- zaza.openstack.charm_tests.rabbitmq_server.tests.RabbitMQDeferredRestartTest
|
||||
|
@ -29,8 +26,7 @@ tests:
|
|||
|
||||
tests_options:
|
||||
force_deploy:
|
||||
# the nrpe charm doesn't support groovy and is in the bundle; it needs to
|
||||
# be force installed.
|
||||
- groovy-victoria
|
||||
# nrpe charm doesn't support hirsute->jammy and needs to be force installed
|
||||
- hirsute-wallaby
|
||||
- impish-xena
|
||||
- jammy-yoga
|
||||
|
|
5
tox.ini
5
tox.ini
|
@ -61,6 +61,11 @@ basepython = python3.8
|
|||
deps = -r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
|
||||
[testenv:py39]
|
||||
basepython = python3.9
|
||||
deps = -r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
|
||||
[testenv:py3]
|
||||
basepython = python3
|
||||
deps = -r{toxinidir}/requirements.txt
|
||||
|
|
Loading…
Reference in New Issue