Move to using REQUIRED_INTERFACES and check for swift-hash.

This commit is contained in:
Corey Bryant 2015-10-09 03:47:26 +00:00
parent 5c1572f6ef
commit e57d8793e5
2 changed files with 15 additions and 6 deletions

View File

@ -17,6 +17,7 @@ from lib.swift_storage_utils import (
setup_storage,
assert_charm_supports_ipv6,
setup_rsync,
REQUIRED_INTERFACES,
)
from lib.misc_utils import pause_aware_restart_on_change
@ -42,6 +43,7 @@ from charmhelpers.payload.execd import execd_preinstall
from charmhelpers.contrib.openstack.utils import (
configure_installation_source,
openstack_upgrade_available,
set_os_workload_status,
)
from charmhelpers.contrib.network.ip import (
get_ipv6_addr
@ -165,7 +167,8 @@ def main():
hooks.execute(sys.argv)
except UnregisteredHookError as e:
log('Unknown hook {} - skipping.'.format(e))
assess_status()
set_os_workload_status(CONFIGS, REQUIRED_INTERFACES,
charm_func=assess_status)
if __name__ == '__main__':

View File

@ -39,7 +39,6 @@ from charmhelpers.core.hookenv import (
ERROR,
unit_private_ip,
relation_ids,
status_set,
)
from charmhelpers.contrib.storage.linux.utils import (
@ -70,6 +69,10 @@ PACKAGES = [
TEMPLATES = 'templates/'
REQUIRED_INTERFACES = {
'proxy': ['swift-storage'],
}
ACCOUNT_SVCS = [
'swift-account', 'swift-account-auditor',
'swift-account-reaper', 'swift-account-replicator'
@ -343,10 +346,13 @@ socket options = SO_KEEPALIVE
f.close()
def assess_status():
def assess_status(configs):
"""Assess status of current unit"""
# Check for required swift-storage relation to swift-proxy
# Verify swift-hash received from swift-proxy
ctxt = SwiftStorageContext()()
if len(relation_ids('swift-storage')) < 1:
status_set('blocked', 'Missing relation: proxy')
return '', ''
elif not ctxt or not ctxt['swift_hash']:
return 'blocked', 'Missing swift-hash from proxy relation'
else:
status_set('active', 'Unit is ready')
return 'active', 'Unit is ready'