diff --git a/src/reactive/designate_handlers.py b/src/reactive/designate_handlers.py index 15e5006..35a1b9c 100644 --- a/src/reactive/designate_handlers.py +++ b/src/reactive/designate_handlers.py @@ -59,6 +59,7 @@ def check_dns_slaves(): reactive.remove_state('dns-slaves-config-valid') +@reactive.when_not('is-update-status-hook') @reactive.when_any('dns-slaves-config-valid', 'dns-backend.available') def set_dns_config_available(*args): @@ -83,6 +84,7 @@ def install_packages(): reactive.remove_state('pool-manager-cache.synched') +@reactive.when_not('is-update-status-hook') @reactive.when('amqp.connected') def setup_amqp_req(amqp): """Send request for rabbit access and vhost""" @@ -105,6 +107,7 @@ def config_rendered(): reactive.set_state('config.rendered') +@reactive.when_not('is-update-status-hook') @reactive.when_none('charm.paused') @reactive.when('config.rendered', 'base-config.rendered') def start_designate_services(): @@ -132,6 +135,7 @@ def setup_database(database): reactive.set_state('shared-db.setup') +@reactive.when_not('is-update-status-hook') @reactive.when('identity-service.connected') def maybe_setup_endpoint(keystone): """When the keystone interface connects, register this unit in the keystone @@ -146,6 +150,7 @@ def maybe_setup_endpoint(keystone): keystone.register_endpoints(*args) +@reactive.when_not('is-update-status-hook') @reactive.when('cluster.connected') def expose_rndc_address(cluster): rndc_address = ip.get_relation_ip('dns-backend') @@ -190,6 +195,7 @@ def sync_pool_manager_cache(*args): reactive.set_state('pool-manager-cache.synched') +@reactive.when_not('is-update-status-hook') @reactive.when('db.synched') @reactive.when('pool-manager-cache.synched') @reactive.when(*COMPLETE_INTERFACE_STATES) @@ -232,6 +238,7 @@ def _render_sink_configs(instance, interfaces_list): instance.render_with_interfaces(interfaces_list, configs=configs) +@reactive.when_not('is-update-status-hook') @reactive.when('ha.connected') def cluster_connected(hacluster): """Configure HA resources in corosync""" @@ -239,6 +246,7 @@ def cluster_connected(hacluster): instance.configure_ha_resources(hacluster) +@reactive.when_not('is-update-status-hook') @reactive.when('dnsaas.connected') def expose_endpoint(endpoint): with charm.provide_charm_instance() as instance: diff --git a/unit_tests/test_designate_handlers.py b/unit_tests/test_designate_handlers.py index ba66f04..b6ab0c7 100644 --- a/unit_tests/test_designate_handlers.py +++ b/unit_tests/test_designate_handlers.py @@ -46,7 +46,7 @@ class TestRegisteredHooks(test_utils.TestRegisteredHooks): 'configure_nrpe': ('base-config.rendered', ), }, 'when_not': { - 'setup_amqp_req': ('amqp.requested-access', ), + 'setup_amqp_req': ('is-update-status-hook', ), 'setup_database': ('shared-db.setup', ), 'config_rendered': ('config.rendered', ), 'install_packages': ('installed', ), @@ -58,6 +58,13 @@ class TestRegisteredHooks(test_utils.TestRegisteredHooks): 'dont-set-assess-status', ), 'reset_shared_db': ('shared-db.connected', ), 'configure_nrpe': ('is-update-status-hook', ), + 'set_dns_config_available': ('is-update-status-hook', ), + 'start_designate_services': ('is-update-status-hook', ), + 'maybe_setup_endpoint': ('is-update-status-hook', ), + 'expose_endpoint': ('is-update-status-hook', ), + 'configure_designate_full': ('is-update-status-hook', ), + 'expose_rndc_address': ('is-update-status-hook', ), + 'cluster_connected': ('is-update-status-hook', ), }, 'when_any': { 'set_dns_config_available': (