From 4e9d4756a2003859d668e7233fc3e38e0c72c390 Mon Sep 17 00:00:00 2001 From: David Ames Date: Mon, 19 Jul 2021 10:32:39 -0700 Subject: [PATCH] Clear shared-db.setup when departing shared-db When shared-db is rejoined the charm will reconfigure the DB IFF DB related flags are cleared. Change-Id: Ieb575d6aa220f10c519425f1e1a6f59e29c512f1 Closes-Bug: #1887265 --- src/reactive/designate_handlers.py | 12 ++++++++++++ unit_tests/test_designate_handlers.py | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/reactive/designate_handlers.py b/src/reactive/designate_handlers.py index 459044a..0247544 100644 --- a/src/reactive/designate_handlers.py +++ b/src/reactive/designate_handlers.py @@ -242,3 +242,15 @@ def local_pools_updated(): "Pools updated locally, restarting pool manager", level=hookenv.DEBUG) host.service_restart('designate-pool-manager') + + +@reactive.when('shared-db.setup') +@reactive.when_not('shared-db.connected') +def reset_shared_db(): + """Clear flags on shared-db departed. + + When shared-db is rejoined the charm will reconfigure the DB IFF these + flags have been cleared. See LP Bug#1887265 + """ + reactive.remove_state('shared-db.setup') + reactive.remove_state('db.synched') diff --git a/unit_tests/test_designate_handlers.py b/unit_tests/test_designate_handlers.py index e0524b0..4fd4299 100644 --- a/unit_tests/test_designate_handlers.py +++ b/unit_tests/test_designate_handlers.py @@ -39,6 +39,7 @@ class TestRegisteredHooks(test_utils.TestRegisteredHooks): 'expose_endpoint': ('dnsaas.connected', ), 'remote_pools_updated': ( 'leadership.changed.pool-yaml-hash', ), + 'reset_shared_db': ('shared-db.setup', ), }, 'when_not': { 'setup_amqp_req': ('amqp.requested-access', ), @@ -50,6 +51,7 @@ class TestRegisteredHooks(test_utils.TestRegisteredHooks): 'create_servers_and_domains': ('domains.created', ), 'run_assess_status_on_every_hook': ( 'dont-set-assess-status', ), + 'reset_shared_db': ('shared-db.connected', ), }, 'when_any': { 'set_dns_config_available': (