From d359e1eede2f42d7c3de86e5daba4eda9b805fcb Mon Sep 17 00:00:00 2001 From: Cory Johns Date: Tue, 24 Mar 2020 16:32:28 -0400 Subject: [PATCH] Convert clear_ready to use triggers (#9) This prevents a window where other handlers might run based on the layer flags after the interface is disconnected but before the clear_ready handler has a chance to run. Part of the fix for LP: #1844103 --- reactive/vault_kv.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/reactive/vault_kv.py b/reactive/vault_kv.py index f8d543e..4396bf6 100644 --- a/reactive/vault_kv.py +++ b/reactive/vault_kv.py @@ -1,11 +1,17 @@ from charmhelpers.core import hookenv, host from charms.reactive import when_all, when_not, set_flag, clear_flag -from charms.reactive import endpoint_from_flag +from charms.reactive import endpoint_from_flag, register_trigger from charms.reactive import data_changed from charms.layer import vault_kv +register_trigger(when_not='vault-kv.connected', + clear_flag='layer.vault-kv.ready') +register_trigger(when_not='vault-kv.connected', + clear_flag='layer.vault-kv.requested') + + @when_all('vault-kv.connected') @when_not('layer.vault-kv.requested') def request_vault_access(): @@ -37,12 +43,6 @@ def check_config_changed(): set_flag('layer.vault-kv.config.changed') -@when_not('vault-kv.connected') -def clear_ready(): - clear_flag('layer.vault-kv.ready') - clear_flag('layer.vault-kv.requested') - - def manage_app_kv_flags(): try: app_kv = vault_kv.VaultAppKV()