Stop checking config if ssh verification fails 55/5655/1
authorAdam Israel <adam.israel@canonical.com>
Mon, 6 Nov 2017 22:19:02 +0000 (17:19 -0500)
committerAdam Israel <adam.israel@canonical.com>
Mon, 6 Nov 2017 22:38:26 +0000 (17:38 -0500)
If the ssh verification fails, don't continue checking the config. This
could potentially lead to a condition where the charm thinks it's ready
when it's not.

Signed-off-by: Adam Israel <adam.israel@canonical.com>
juju-charms/layers/pingpong/reactive/pingpong.py

index 701d9e2..ae18076 100755 (executable)
@@ -26,14 +26,17 @@ cfg = config()
 @when_not('pingpong.configured')
 def not_configured():
     """Check the current configuration.
+
     Check the current values in config to see if we have enough
-    information to continue."""
+    information to continue.
+    """
     config_changed()
 
 
 @when('config.changed', 'sshproxy.configured')
 def config_changed():
     """Verify the configuration.
+
     Verify that the charm has been configured
     """
     status_set('maintenance', 'Verifying configuration data...')
@@ -42,6 +45,7 @@ def config_changed():
         status_set('blocked', 'Unable to verify SSH credentials: {}'.format(
             output
         ))
+        return
     if all(k in cfg for k in ['mode']):
         if cfg['mode'] in ['ping', 'pong']:
             set_flag('pingpong.configured')