Beispiel #1
0
#!/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):
Beispiel #2
0
#!/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())