#!/usr/bin/python3 # load environment variables in the beginning # because some modules need variables when import # for example, userManager/model.py # must first init loadenv import tools, env config = env.getenv("CONFIG") tools.loadenv(config) # second init logging # must import logger after initlogging, ugly from log import initlogging initlogging("docklet-master") from log import logger import os import http.server, cgi, json, sys, shutil from socketserver import ThreadingMixIn import nodemgr, vclustermgr, etcdlib, network, imagemgr import userManager import monitor import guest_control, threading external_login = env.getenv('EXTERNAL_LOGIN') if (external_login == 'TRUE'): from userDependence import external_auth class DockletHttpHandler(http.server.BaseHTTPRequestHandler): def response(self, code, output):
#!/usr/bin/python3 # -*- coding: utf-8 -*- import tools, env config = env.getenv("CONFIG") tools.loadenv(config) fs_prefix = env.getenv('FS_PREFIX') import random import distgear master = distgear.PrimaryMaster('docklet-master', logpath=fs_prefix + '/local/log', http_addr='0.0.0.0:9000', pub_addr='0.0.0.0:9001', pull_addr='0.0.0.0:9002') @master.handleEvent('CreateCluster') async def create_cluster(event, master): print('< Create Cluster >') print('para: %s' % str(event.paras)) clustername = event.paras['clustername'] clusterid = event.paras['clusterid'] userid = event.paras['userid'] username = event.paras['username'] authurl = event.paras['authurl'] ip = event.paras['ip'] container = str(userid) + '-' + str(clusterid) + '-' + '0' workers = list(master.get_nodeinfo().keys())