projects
/
osm
/
devops.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge "Update status messages to fix bug 49"
[osm/devops.git]
/
vpe-router
/
reactive
/
vpe_router.py
diff --git
a/vpe-router/reactive/vpe_router.py
b/vpe-router/reactive/vpe_router.py
index
de1e024
..
e2be327
100644
(file)
--- a/
vpe-router/reactive/vpe_router.py
+++ b/
vpe-router/reactive/vpe_router.py
@@
-8,6
+8,7
@@
from charmhelpers.core.hookenv import (
)
from charms.reactive import (
)
from charms.reactive import (
+ hook,
when,
when_not,
helpers,
when,
when_not,
helpers,
@@
-21,15
+22,13
@@
import subprocess
cfg = config()
cfg = config()
-@
when('config.
changed')
+@
hook('config-
changed')
def validate_config():
try:
"""
If the ssh credentials are available, we'll act as a proxy charm.
Otherwise, we execute against the unit we're deployed on to.
"""
def validate_config():
try:
"""
If the ssh credentials are available, we'll act as a proxy charm.
Otherwise, we execute against the unit we're deployed on to.
"""
- status_set('maintenance', 'configuring ssh connection')
- remove_state('vpe.configured')
if all(k in cfg for k in ['pass', 'vpe-router', 'user']):
routerip = cfg['vpe-router']
user = cfg['user']
if all(k in cfg for k in ['pass', 'vpe-router', 'user']):
routerip = cfg['vpe-router']
user = cfg['user']
@@
-40,6
+39,8
@@
def validate_config():
out, err = router.ssh(['whoami'], routerip,
user, passwd)
if out.strip() != user:
out, err = router.ssh(['whoami'], routerip,
user, passwd)
if out.strip() != user:
+ remove_state('vpe.configured')
+ status_set('blocked', 'vpe is not configured')
raise Exception('invalid credentials')
# Set the router's hostname
raise Exception('invalid credentials')
# Set the router's hostname
@@
-57,15
+58,18
@@
def validate_config():
],
routerip,
user, passwd)
],
routerip,
user, passwd)
-
+ set_state('vpe.configured')
+ status_set('active', 'ready!')
+ else:
+ remove_state('vpe.configured')
+ status_set('blocked', 'vpe is not configured')
except subprocess.CalledProcessError as e:
except subprocess.CalledProcessError as e:
+ remove_state('vpe.configured')
+ status_set('blocked', 'validation failed: %s' % e)
log('Command failed: %s (%s)' %
(' '.join(e.cmd), str(e.output)))
raise
log('Command failed: %s (%s)' %
(' '.join(e.cmd), str(e.output)))
raise
- set_state('vpe.configured')
- status_set('active', 'ready!')
-
except Exception as e:
log(repr(e))
remove_state('vpe.configured')
except Exception as e:
log(repr(e))
remove_state('vpe.configured')