Exemplo n.º 1
0
def attachVolume():
	jsonpFunc = str(request.args.get('jsonp_callback'))
	cid = int(request.args.get('vmid'))
	clientDetails=query_db('select * from clients where cid=?',[cid], one=True);
	attach={'status':1}
	if clientDetails:
		vmid=clientDetails[1];
		mid=clientDetails[4];
		count=clientDetails[5]+1;
		machineDetails=query_db('select * from machines where mid=?',[mid], one=True);
		targetMachine=machineDetails[1];
		vmname=clientDetails[2];
	else:
		attach={'status':0}
	if attach['status']!=0:
		volumeid = int(request.args.get('volumeid'))
		volumeDetails=query_db('select * from volumes where volumeid=?',[volumeid]);
		if volumeDetails:
			volumeDetails=volumeDetails[0];
			status=volumeDetails[1];
			volname=volumeDetails[2];
			cid=clientDetails[0];
			size=volumeDetails[4];

			retVal=col.attachVolume(targetMachine,volumeDetails,vmid,count)
			if retVal!=-1:
       	        		db = get_db()
        			db.execute('''update volumes set status="attached",vmid=?,volxml=? where volumeid=?''',[cid,retVal,volumeid]);
				db.commit()
        			db.execute('''update clients set count=? where cid=?''',[count,cid]);
				db.commit()
				attach={'status':1}
			else:
				attach={'status':0}
		else:
			attach={'status':0}

	else:
		attach={'status':0}
	if jsonpFunc!='None':
		ast=jsonpFunc+'('+json.dumps(attach)+')'
		print ast
		return ast
	return jsonify(attach);
Exemplo n.º 2
0
def attachVolume():

	cid = int(request.args.get('vmid'))
	clientDetails=query_db('select * from clients where cid=?',[cid], one=True);
	if clientDetails:
		vmid=clientDetails[1];
		mid=clientDetails[4];
		count=clientDetails[5]+1;
		machineDetails=query_db('select * from machines where mid=?',[mid], one=True);
		targetMachine=machineDetails[1];
		vmname=clientDetails[2];
	else:
		return jsonify({'status':0})

	volumeid = int(request.args.get('volumeid'))
	volumeDetails=query_db('select * from volumes where volumeid=?',[volumeid]);
	if volumeDetails:
		volumeDetails=volumeDetails[0];
		status=volumeDetails[1];
		volname=volumeDetails[2];
		cid=clientDetails[0];
		size=volumeDetails[4];
		if status=="available":
			retVal=col.attachVolume(targetMachine,volumeDetails,vmid,count)
			if retVal!=-1:
       	        		db = get_db()
        			db.execute('''update volumes set status="attached",vmid=?,volxml=? where volumeid=?''',[cid,retVal,volumeid]);
				db.commit()
        			db.execute('''update clients set count=? where cid=?''',[count,cid]);
				db.commit()
				return jsonify({'status':1})
			else:
				return jsonify({'status':0})
		else:
			return jsonify({'status':0})

	else:
		return jsonify({'status':0})