Fix shared-db-relation-departed error when departing a cluster

func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/399
Change-Id: Ie86fca7289a0b04686841e78019b76a270a5b411
Closes-Bug: #1881596
Co-Authored-By: Dmitrii Shcherbakov <dmitrii.shcherbakov@canonical.com>
This commit is contained in:
Aurelien Lourot 2020-08-28 13:23:25 +02:00
parent 389679b8bb
commit 84bc5577c8
8 changed files with 37 additions and 39 deletions

View File

@ -3,6 +3,7 @@
# choices of *requirements.txt files for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
#
setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85
# Build requirements
charm-tools>=2.4.4
# importlib-resources 1.1.0 removed Python 3.5 support

View File

@ -477,8 +477,13 @@ class MySQLRouterCharm(charms_openstack.charm.OpenStackCharm):
:returns: This function is called for its side effect
:rtype: None
"""
# This is a suborndinate relationship there is only ever one
unit = sending_interface.all_joined_units[0]
try:
# This is a subordinate relationship there is only ever one
unit = sending_interface.all_joined_units[0]
except IndexError:
# NOTE(lourot): this happens when the unit is departing, see
# lp:1881596. Let's just silently give up:
return
for prefix in receiving_interface.get_prefixes():

View File

@ -4,5 +4,6 @@
# https://github.com/openstack-charmers/release-tools
#
# Functional Test Requirements (let Zaza's dependencies solve all dependencies here!)
setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85
git+https://github.com/openstack-charmers/zaza.git#egg=zaza
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack

View File

@ -1,16 +0,0 @@
applications:
keystone:
num_units: 3
options:
vip: {{TEST_VIP00}}
nova-cloud-controller:
num_units: 3
options:
vip: {{TEST_VIP01}}
keystone-hacluster:
charm: cs:~openstack-charmers-next/hacluster
nova-hacluster:
charm: cs:~openstack-charmers-next/hacluster
relations:
- ["keystone:ha", "keystone-hacluster:ha"]
- ["nova-cloud-controller:ha", "nova-hacluster:ha"]

View File

@ -0,0 +1 @@
full-ha.yaml.j2

View File

@ -0,0 +1,16 @@
applications:
keystone:
num_units: 3
options:
vip: {{TEST_VIP00}}
nova-cloud-controller:
num_units: 3
options:
vip: {{TEST_VIP01}}
keystone-hacluster:
charm: cs:~openstack-charmers-next/hacluster
nova-hacluster:
charm: cs:~openstack-charmers-next/hacluster
relations:
- ["keystone:ha", "keystone-hacluster:ha"]
- ["nova-cloud-controller:ha", "nova-hacluster:ha"]

View File

@ -1,16 +0,0 @@
applications:
keystone:
num_units: 3
options:
vip: {{TEST_VIP00}}
nova-cloud-controller:
num_units: 3
options:
vip: {{TEST_VIP01}}
keystone-hacluster:
charm: cs:~openstack-charmers-next/hacluster
nova-hacluster:
charm: cs:~openstack-charmers-next/hacluster
relations:
- ["keystone:ha", "keystone-hacluster:ha"]
- ["nova-cloud-controller:ha", "nova-hacluster:ha"]

View File

@ -0,0 +1 @@
full-ha.yaml.j2

View File

@ -1,7 +1,7 @@
charm_name: mysql-router
configure:
- zaza.openstack.charm_tests.keystone.setup.add_demo_user
- full_model:
- full_model_ha:
- zaza.openstack.charm_tests.vault.setup.auto_initialize
- zaza.openstack.charm_tests.glance.setup.add_lts_image
- zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network
@ -10,16 +10,20 @@ configure:
- zaza.openstack.charm_tests.keystone.setup.add_demo_user
tests:
- zaza.openstack.charm_tests.keystone.tests.AuthenticationAuthorizationTest
- full_model:
- full_model_ha:
- zaza.openstack.charm_tests.keystone.tests.AuthenticationAuthorizationTest
- zaza.openstack.charm_tests.hacluster.tests.HaclusterScalebackTest
dev_bundles:
- groovy
- full_model: groovy-full-ha
- full_model_ha: groovy-full-ha
gate_bundles:
- full_model: focal-full-ha
- full_model_ha: focal-full-ha
smoke_bundles:
- focal
tests_options:
hacluster:
principle-app-name: keystone
hacluster-charm-name: hacluster
force_deploy:
- groovy
- groovy-full-ha

View File

@ -3,8 +3,9 @@
# choices of *requirements.txt files for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
#
setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85
# Lint and unit test requirements
flake8>=2.2.4,<=2.4.1
flake8>=2.2.4
stestr>=2.2.0
requests>=2.18.4
charms.reactive