Adding status messages in charms - Ticket:[SOL-949]

This commit is contained in:
Bilal Baqar 2016-04-08 01:35:38 -07:00
commit c9cefc745c
4 changed files with 19 additions and 3 deletions

View File

@ -6,12 +6,13 @@
# in this file.
import sys
from charmhelpers.core.host import service_running
from charmhelpers.core.hookenv import (
Hooks,
UnregisteredHookError,
log,
config,
status_set
)
from charmhelpers.fetch import (
@ -45,8 +46,10 @@ def install():
'''
Install hook is run when the charm is first deployed on a node.
'''
status_set('maintenance', 'Executing pre-install')
load_iptables()
configure_sources(update=True)
status_set('maintenance', 'Installing apt packages')
pkgs = determine_packages()
for pkg in pkgs:
apt_install(pkg, options=['--force-yes'], fatal=True)
@ -88,6 +91,7 @@ def config_changed():
charm_config.changed('install_keys') or
charm_config.changed('iovisor-build')):
stop_pg()
status_set('maintenance', 'Upgrading apt packages')
configure_sources(update=True)
pkgs = determine_packages()
for pkg in pkgs:
@ -113,6 +117,14 @@ def stop():
stop_pg()
@hooks.hook('update-status')
def update_status():
if service_running('plumgrid'):
status_set('active', 'Unit is ready')
else:
status_set('blocked', 'plumgrid service not running')
def main():
try:
hooks.execute(sys.argv)

View File

@ -16,7 +16,8 @@ from charmhelpers.contrib.openstack import templating
from charmhelpers.core.hookenv import (
log,
config,
unit_get
unit_get,
status_set
)
from charmhelpers.contrib.network.ip import (
get_iface_from_addr,
@ -160,6 +161,7 @@ def restart_pg():
raise ValueError("plumgrid service couldn't be started")
else:
raise ValueError("libvirt-bin service couldn't be started")
status_set('active', 'Unit is ready')
def stop_pg():

1
hooks/update-status Symbolic link
View File

@ -0,0 +1 @@
pg_gw_hooks.py

View File

@ -1 +1,2 @@
$template ls_json,"{{'{'}}{{'%'}}timestamp:::date-rfc3339,jsonf:@timestamp%,%source:::jsonf:@source_host%,%msg:::json%}":syslogtag,isequal,"pg:" @{{ opsvm_ip }}:6000;ls_json
$template ls_json,"{{'{'}}{{'%'}}timestamp:::date-rfc3339,jsonf:@timestamp%,%source:::jsonf:@source_host%,%msg:::json%}"
:syslogtag,isequal,"pg:" @{{ opsvm_ip }}:6000;ls_json