def main(): from common import contrail_test_init inputs = contrail_test_init.ContrailTestInit(sys.argv[1]) host = sys.argv[2] if len(sys.argv) > 2 else None role = sys.argv[3] if len(sys.argv) > 3 else None service = sys.argv[4] if len(sys.argv) > 4 else None contrail_status(inputs, host, role, service)
def main(): from common import contrail_test_init inputs = contrail_test_init.ContrailTestInit(sys.argv[1]) host = sys.argv[2] if len(sys.argv) > 2 else None role = sys.argv[3] if len(sys.argv) > 3 else None service = sys.argv[4] if len(sys.argv) > 4 else None logger = contrail_logging.getLogger('contrail_status') contrail_status(inputs, host, role, service, logger=logger)
def contrail_status(inputs=None, host=None, role=None, service=None, debug=False, detail=False, timeout=30, keyfile=None, certfile=None, cacert=None, logger=None, refresh=False): status_dict = dict() if not inputs: from common import contrail_test_init params = os.environ.get('TEST_CONFIG_FILE') or\ '/contrail-test/contrail_test_input.yaml' inputs = contrail_test_init.ContrailTestInit(params) logger = logger or inputs.logger certfile = certfile or inputs.introspect_certfile keyfile = keyfile or inputs.introspect_keyfile cacert = cacert or inputs.introspect_cafile if host: host = [host] if not isinstance(host, list) else host if role: role = [role] if not isinstance(role, list) else role if service: service = [service] if not isinstance(service, list) else service for node in host or inputs.host_ips: if refresh: inputs.refresh_containers(node) containers = inputs.get_active_containers(node) logger.info(node) status_dict[node] = dict() if service: for svc in service: desc = None status = get_container_status( inputs.get_container_name(node, svc), containers) if status == 'active': status, desc = get_svc_uve_info(node, svc, debug, detail, timeout, keyfile, certfile, cacert) status_dict[node][svc] = {'status': status, 'description': desc} logger.info(' %s:%s%s'%(svc, status, ' (%s)'% desc if desc else '')) else: for r in role or inputs.get_roles(node): logger.info(' '+r) if r not in CONTRAIL_PODS_SERVICES_MAP: logger.error('role '+r+' is not yet supported') continue for svc in CONTRAIL_PODS_SERVICES_MAP[r]: desc = None if inputs.deployer == 'helm' and svc == 'config-rabbitmq': continue status = get_container_status( inputs.get_container_name(node, svc), containers) if status == 'active': status, desc = get_svc_uve_info(node, svc, debug, detail, timeout, keyfile, certfile, cacert) status_dict[node][svc] = {'status': status, 'description': desc} logger.info(' %s:%s%s'%(svc, status, ' (%s)'% desc if desc else '')) return status_dict