diff --git a/src/reactive/keystone_ldap_handlers.py b/src/reactive/keystone_ldap_handlers.py index 4aec1b3..fcfb232 100644 --- a/src/reactive/keystone_ldap_handlers.py +++ b/src/reactive/keystone_ldap_handlers.py @@ -41,6 +41,13 @@ def clear_domain_name_configured(*args): reactive.remove_state('domain-name-configured') +@reactive.when('domain-backend.connected') +@reactive.when('domain-name-configured') +@reactive.when('config.complete') +def config_changed(domain): + keystone_ldap.render_config(domain.trigger_restart) + + @reactive.when_not('always.run') def check_configuration(): '''Validate required configuration options at set state''' diff --git a/unit_tests/test_keystone_ldap_handlers.py b/unit_tests/test_keystone_ldap_handlers.py index ba9ecfe..d86ed93 100644 --- a/unit_tests/test_keystone_ldap_handlers.py +++ b/unit_tests/test_keystone_ldap_handlers.py @@ -33,6 +33,9 @@ class TestRegisteredHooks(test_utils.TestRegisteredHooks): 'configure_domain_name': ('domain-backend.connected', 'config.complete'), 'clear_domain_name_configured': ('domain-name-configured', ), + 'config_changed': ('domain-backend.connected', + 'config.complete', + 'domain-name-configured'), }, 'when_not': { 'check_configuration': ('always.run', ),