def install_component(namenode, resourcemanager): '''Install only if nn and rm have sent their FQDNs.''' if namenode.namenodes() and resourcemanager.resourcemanagers(): set_state('components.installed') options = layer.options('apache-bigtop-base') components = options.get("bigtop_component_list") hookenv.status_set('maintenance', 'installing {}'.format(components)) nn_fqdn = namenode.namenodes()[0] rm_fqdn = resourcemanager.resourcemanagers()[0] bigtop = Bigtop() hosts = {'namenode': nn_fqdn, 'resourcemanager': rm_fqdn} bigtop.install_component(RM=rm_fqdn, NN=nn_fqdn) for component in components.split(): try: for port in get_layer_opts().exposed_ports(component): hookenv.open_port(port) except AttributeError: hookenv.log("Not opening ports for component {}".format(component)) hookenv.status_set('active', 'ready') else: hookenv.status_set('waiting', 'waiting for namenode and resource manager to become ready')
def install_component(namenode, resourcemanager): '''Install only if nn and rm have sent their FQDNs.''' if namenode.namenodes() and resourcemanager.resourcemanagers(): set_state('components.installed') options = layer.options('apache-bigtop-base') components = options.get("bigtop_component_list") hookenv.status_set('maintenance', 'installing {}'.format(components)) nn_fqdn = namenode.namenodes()[0] rm_fqdn = resourcemanager.resourcemanagers()[0] bigtop = Bigtop() hosts = {'namenode': nn_fqdn, 'resourcemanager': rm_fqdn} bigtop.install_component(RM=rm_fqdn, NN=nn_fqdn) for component in components.split(): try: for port in get_layer_opts().exposed_ports(component): hookenv.open_port(port) except AttributeError: hookenv.log( "Not opening ports for component {}".format(component)) hookenv.status_set('active', 'ready') else: hookenv.status_set( 'waiting', 'waiting for namenode and resource manager to become ready')