Beispiel #1
0
def cluster_clean(message):
	handler = message.get('handler')
	if handler is None:
		return ''
	body = handler.request.body
	cfg = json.loads(body)
	id_ = cfg.get('id')
	cluster_type = cfg.get('type')
	uinfo = session.info(handler)
	if uinfo is None:
		return ''
	uid = uinfo.get('id')
	connector = config.MysqlConnector()
	if connector is None:
		return ''
	result = connector.select_one('u_cluster', '`uid` = %s and `id` = %s' % (uid, id_))
	connector.close()
	if result is None:
		return ''
	desc = result.get('desc')
	if desc is None:
		return ''
	desc = base64.b64decode(desc)
	data = {}
	data['id'] = id_
	data['desc'] = desc
	send(config.GetCleanModule(cluster_type), data)
Beispiel #2
0
def hs_install(message):
	handler = message.get('handler')
	if handler is None:
		return ''
	body = handler.request.body
	cfg = json.loads(body)
	uinfo = session.info(handler)
	if uinfo is None:
		return ''
	uid = uinfo.get('id')
	connector = config.MysqlConnector()
	if connector is None:
		return ''
	db_result = []
	for k, v in cfg.items():
		result = connector.select_one('u_machine', '`uid` = %s and `id` = %s' % (uid, k))
		if result is not None:
			result['keys'] = ','.join(v)
			db_result.append(result)
	connector.close()
	data = {}
	data['uid'] = uid
	data['name'] = 'Unknown' # fill it
	data['desc'] = db_result
	send('modules.hs.install.main', data)
Beispiel #3
0
def cfg_dns(message):
	handler = message.get('handler')
	if handler is None:
		return ''
	uinfo = session.info(handler)
	if uinfo is None:
		return ''
	connector = config.MysqlConnector()
	if connector is None:
		return ''
	db_result = connector.select('u_machine', '`uid` = %s' % uinfo.get('id', 0))
	connector.close()
	data = json.dumps(db_result)
	msg = {}
	msg['desc'] = data
	send('modules.ipconfig.clean.main', msg)
	send('modules.ipconfig.install.main', msg)
Beispiel #4
0
def hosts(message):
	handler = message.get('handler')
	if handler is None:
		return ''
	uinfo = session.info(handler)
	if uinfo is None:
		return ''
	connector = config.MysqlConnector()
	if connector is None:
		return ''
	db_result = connector.select('u_machine', '`uid` = %s' % uinfo.get('id', 0))
	connector.close()
	for _ in db_result:
		os_ = _.get('os')
		if os_ is not None:
			_['os_'] = config.GetOSType(os_)
		_['roles_'] = '' # TODO
	return json.dumps(db_result)
Beispiel #5
0
def clusters(message):
	handler = message.get('handler')
	if handler is None:
		return ''
	uinfo = session.info(handler)
	if uinfo is None:
		return ''
	connector = config.MysqlConnector()
	if connector is None:
		return ''
	db_result = connector.select('u_cluster', '`uid` = %s' % uinfo.get('id', 0))
	connector.close()
	for _ in db_result:
		type_ = _.get('type')
		if type_ is not None:
			_['type_'] = config.GetClusterType(type_)
		status = _.get('status')
		if status is not None:
			_['status_'] = config.GetMachineStatus(status)
	return json.dumps(db_result)
Beispiel #6
0
def host_add(message):
	handler = message.get('handler')
	if handler is None:
		return ''
	data = handler.request.body
	obj = json.loads(data)
	uinfo = session.info(handler)
	if uinfo is None:
		return ''
	do = {'uid': uinfo.get('id', 0),
		'name': obj.get('name', ''),
		'in_ipaddr': obj.get('in_ipaddr', ''),
		'ex_ipaddr': obj.get('ex_ipaddr', ''),
		'hostname': obj.get('hostname', ''),
		'os': obj.get('os', ''),
		'uname': obj.get('username', ''),
		'passwd': obj.get('password', '')}
	connector = config.MysqlConnector()
	if connector is None:
		return ''
	connector.insert('u_machine', do)
	connector.close()