Beispiel #1
0
def get_logs(username, password, project_name, service_name):
    cip = database_update.machine_ip(username, password, project_name, service_name)
    if cip == '-':
        return 'no such project or service'
    cli = Client(base_url=cip, version=config.c_version)
    full_name = username + config.split_mark + project_name + config.split_mark + service_name

    if container_exists(cli, full_name):
        logs = cli.logs(container=full_name)
        return logs
    else:
        return 'no such container'
Beispiel #2
0
def get_port(username, password, project_name, service_name):
    cip = database_update.machine_ip(username, password, project_name, service_name)
    if cip == '-':
        return 'no such project or service'

    cli = Client(base_url=cip, version=config.c_version)
    full_name = username + config.split_mark + project_name + config.split_mark + service_name

    if container_exists(cli, full_name):
        detail = cli.inspect_container(full_name)
        return detail['NetworkSettings']['Ports']
    else:
        return 'no such container'
Beispiel #3
0
def destroy_project(username, password, project_name):
    # if os.path.exists('%s/%s/%s' % (config.project_path, username, project_name)):
    #     shutil.rmtree('%s/%s/%s' % (config.project_path, username, project_name))

    data = database_update.service_list(username, password, project_name)

    if data:
        for service_name in data:
            url = str(database_update.machine_ip(username, password, project_name, service_name))
            if url == '-':
                continue
            cli = Client(base_url=url, version=config.c_version)
            full_name = username + config.split_mark + project_name + config.split_mark + service_name
            if container_exists(cli, full_name):
                cli.stop(container=full_name)
                cli.remove_container(container=full_name)

    database_update.delete_project(username, password, project_name)
    database_update.delete_service(username, password, project_name)

    return True, 'Destroy project: %s success' % project_name
Beispiel #4
0
def service_list(username, password, project_name):
    name_list = database_update.service_list(username, password, project_name)
    if name_list == None:
        return '-'

    srv_list = []
    for service_name in name_list:
        url = database_update.machine_ip(username, password, project_name, service_name)
        cli = Client(base_url=url, version=config.c_version)
        full_name = username + config.split_mark + project_name + config.split_mark + service_name
        if not container_exists(cli, full_name):
            print 'no container: %s in hosts' % full_name
            continue

        srv_dict = {}
        srv_dict['name'] = service_name
        srv_dict['ip'] = str(url).split(":")[0]
        srv_dict['status'] = get_status(username, password, project_name, service_name)
        ports = get_port(username, password, project_name, service_name)
        if ports == None:
            srv_dict['port'] = '-'
            srv_dict['shell'] = '-'
        elif not len(ports):
            srv_dict['port'] = '-'
            srv_dict['shell'] = '-'
        else:
            expose_port = []
            for key in ports:
                if not ports[key] == None:
                    if key == '4200/tcp':
                        srv_dict['shell'] = ports[key][0]['HostPort']
                    else:
                        expose_port.append(ports[key][0]['HostPort'])
                else:
                    expose_port.append('-')
            srv_dict['port'] = expose_port
        srv_list.append(srv_dict)
    return srv_list
Beispiel #5
0
from orchestration.database import database_update

#print database_update.machine_ip('wangwy', 'wangwy', 'cdh', 'slave1')
#print database_update.machine_ip('wangwy', 'wangwy', 'cdh', 'master')
#print database_update.machine_ip('wangwy', 'wangwy', 'cdh', 'cloudera_manager')

print database_update.machine_ip('mongo', 'mongo', 'test', 'web')