def project_monitor(username, project_name): services = database_update.service_list(username, project_name) rel = [] for service in services: print service[0] container_ll = database_update.container_list(username, project_name, service[0]) if container_ll is None: continue for container in container_ll: if container is None: continue con_monitor = container_monitor(username, project_name, service[0], container[0]) if con_monitor is None: continue rel.append({'container_name': container[0], 'list': con_monitor}) return rel
def get_project_by_name(cls, username, project_name): project = Project(project_name, []) service_list = database_update.service_list(username, project_name) print 'service_list' print service_list if service_list is None: return None for service in service_list: service_name = service[0] print 'service_name' print service_name project.services.append( Service.get_service_by_name(username, project_name, service_name) ) return project
def get_project_by_name(cls, username, project_name): project = Project(project_name, []) service_list = database_update.service_list(username, project_name) print 'service_list' print service_list if service_list is None: return None for service in service_list: service_name = service[0] print 'service_name' print service_name project.services.append( Service.get_service_by_name(username, project_name, service_name)) return project
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
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
def service_list(username, project_name): data = database_update.service_list(username, project_name) return data
# import MySQLdb # from orchestration import config config = {'name': 'hello', 'scale': 2} # if __name__ == '__main__': # ip_list = ['114.212.189.147:2376', '114.212.189.140:2376'] # database_update.create_machine(ip_list) # database_update.create_user('test', '*****@*****.**') # database_update.create_project() database_update.create_project('test', 'project', '*****@*****.**') # print database_update.get_machine() print database_update.project_list('test', 0, 2) print database_update.project_exists('test', 'project') print database_update.project_exists('test', 'projects') database_update.create_service('test', 'project', 'service', config, 2) print database_update.service_list('test', 'project') database_update.create_container('test', 'project', 'service', 'service0', '114.212.189.147:2376') print database_update.container_list('test', 'project', 'service') print database_update.container_ip('test', 'project', 'service', 'service0') # print database_update.delete_container_by_name('test', 'project', 'service', 'service0') print database_update.container_list('test', 'project', 'service') # print database_update.service_list('test', 'project') # print database_update.project_list('test', 0, 2) # database_update.delete_project('test', 'project') print database_update.project_list('test', 0, 10) # db = MySQLdb.connect(config.database_url, config.database_user, config.database_passwd, config.database) # cursor = db.cursor() # cursor.execute("select name from user") #
# import MySQLdb # from orchestration import config config = {'name': 'hello', 'scale': 2} # if __name__ == '__main__': # ip_list = ['114.212.189.147:2376', '114.212.189.140:2376'] # database_update.create_machine(ip_list) # database_update.create_user('test', '*****@*****.**') # database_update.create_project() database_update.create_project('test', 'project', '*****@*****.**') # print database_update.get_machine() print database_update.project_list('test', 0, 2) print database_update.project_exists('test', 'project') print database_update.project_exists('test', 'projects') database_update.create_service('test', 'project', 'service', config, 2) print database_update.service_list('test', 'project') database_update.create_container('test', 'project', 'service', 'service0', '114.212.189.147:2376') print database_update.container_list('test', 'project', 'service') print database_update.container_ip('test', 'project', 'service', 'service0') # print database_update.delete_container_by_name('test', 'project', 'service', 'service0') print database_update.container_list('test', 'project', 'service') # print database_update.service_list('test', 'project') # print database_update.project_list('test', 0, 2) # database_update.delete_project('test', 'project') print database_update.project_list('test', 0, 10) # db = MySQLdb.connect(config.database_url, config.database_user, config.database_passwd, config.database) # cursor = db.cursor() # cursor.execute("select name from user") # # data = cursor.fetchall()
def service_name_list(username, password, project_name): data = database_update.service_list(username, password, project_name) return data