def server_list(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) vhList = [] if lName: if tName and token: serverList = nova.server_list(token, daobase.getTenantOSIDByName(tName)) for s in serverList: s.setdefault( 'flavorInfo', nova.flavor_detail(token, daobase.getTenantOSIDByName(tName), s['flavor']['id'])) return render_to_response('vh/server/server_list.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def floating_ip_associate(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: try: ip = request.GET['ip'] ip = int(ip) except: ip = '' try: server = request.GET['server'] except: server = '' serverList = nova.server_list(token, daobase.getTenantOSIDByName(tName)) floatingIpList = nova.get_floating_ip_list(token, daobase.getTenantOSIDByName(tName)) for i in floatingIpList: if i['instance_id']: floatingIpList.remove(i) return render_to_response('vh/access/floatingIp_associate.html', locals(), RequestContext(request)) return redirect('/virtualHost/access/list/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def floating_ip_associate(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: try: ip = request.GET['ip'] ip = int(ip) except: ip = '' try: server = request.GET['server'] except: server = '' serverList = nova.server_list(token, daobase.getTenantOSIDByName(tName)) floatingIpList = nova.get_floating_ip_list( token, daobase.getTenantOSIDByName(tName)) for i in floatingIpList: if i['instance_id']: floatingIpList.remove(i) return render_to_response('vh/access/floatingIp_associate.html', locals(), RequestContext(request)) return redirect('/virtualHost/access/list/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def folder_delete_submit(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if(request.method == 'POST'): container = request.POST['containerName'] path = request.POST['folderPath'] if path: folder_all = request.POST['folderPath'] + '/' + request.POST['folderName'] else: folder_all = request.POST['folderName'] l1, l2 = swift.get_fileList(token, daobase.getTenantOSIDByName(tName), container, folder_all) if (len(l1) + len(l2)) > 0: status = 404 reason = 'not empty' else: status, reason = swift.folder_delete(token, daobase.getTenantOSIDByName(tName), container, folder_all) if(status == 204): messages.add_message(request, messages.SUCCESS, status, 'SUCCESS') messages.add_message(request, messages.SUCCESS, 'delete successful', 'SUCCESS') else: messages.add_message(request, messages.ERROR, status, 'ERROR') messages.add_message(request, messages.ERROR, reason, 'ERROR') return redirect('/cloudStorage/display/%s' % (container + '/' + path)) else: return redirect('/cloudStorage/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/cloudStorage/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def server_creat(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: sourceTypeList = [{ 'key': 'Image', 'value': 'Image' }, { 'key': 'Snapshot', 'value': 'Snapshot' }] imageList = glance.get_image_list(token) snapshotList = glance.get_server_snapshot_list(token) flavorList = nova.get_flavor_list( token, daobase.getTenantOSIDByName(tName)) keypairList = nova.get_keypair_list( token, daobase.getTenantOSIDByName(tName)) securityGroupList = nova.get_security_group_list( token, daobase.getTenantOSIDByName(tName)) return render_to_response('vh/server/server_create.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def server_creat_submit(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if (request.method == 'POST'): serverNmae = request.POST['serverName'] if (request.POST['sourceType'] == 'Image'): imageURL = 'http://192.168.0.50:9292/v2/images/' + request.POST[ 'sourceImageSelect'] if (request.POST['sourceType'] == 'Snapshot'): imageURL = 'http://192.168.0.50:9292/v2/images/' + request.POST[ 'sourceSnapshotSelect'] flavorURL = "http://192.168.0.51:8774/v2/%s/flavor/%s" % ( daobase.getTenantOSIDByName(tName), request.POST['sourceFlavorSelect']) metadata = {} # print imageURL # print flavorURL code, message = nova.server_create( token, daobase.getTenantOSIDByName(tName), serverNmae, imageURL, flavorURL, metadata) securityGropURL = "http://192.168.0.51:8774/v2/%s/os-security-groups/%s" % ( daobase.getTenantOSIDByName(tName), request.POST['sourceSecurityGropSelect']) # print 'securityGroup' # print securityGropURL # print 'sourceKeypairSelect' # print request.POST['sourceKeypairSelect'] # nova.server_create(token, daobase.getTenantOSIDByName(tName), server_name, imageRef, flavorRef, metadata) if (code == 200): messages.add_message(request, messages.SUCCESS, code, 'SUCCESS') messages.add_message(request, messages.SUCCESS, message, 'SUCCESS') else: messages.add_message(request, messages.ERROR, code, 'ERROR') messages.add_message(request, messages.ERROR, message, 'ERROR') return redirect('/virtualHost/server/list/') else: return redirect('/virtualHost/server/create/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def algorithm_select(request, path): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: current_path = path + '/' temp = path + '/' parrent_path = [] while(temp.find('/') > -1): if(len(parrent_path) > 0): parrent_path.append({'k':parrent_path[len(parrent_path) - 1]['k'] + temp[:temp.find('/') + 1], 'v':temp[:temp.find('/')]}) else: parrent_path.append({'k':'/dataProcessing/algorithm/' + current_path[:current_path.find('/') + 1], 'v':temp[:temp.find('/')]}) # print parrent_path temp = temp[temp.find('/') + 1:] # print temp # print path i = path.find('/') if(i > -1): container_name = path[:i] path = path[i + 1:] else: container_name = path path = '' # print container_name # print path files = request.session.get('col_algo', False) if files: fileList = files.split(';') fileList.remove('') else: fileList = [] count = len(fileList) folder_list, file_list, = swift.get_fileList(token, daobase.getTenantOSIDByName(tName), container_name, path) container_list = swift.get_containerList(token, daobase.getTenantOSIDByName(tName)) container_metadata = swift.get_ContainerMetadata(token, daobase.getTenantOSIDByName(tName), container_name) return render_to_response('dp/collection_file_selecta.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def displsy(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: metadata = swift.get_metadata(token, daobase.getTenantOSIDByName(tName)) container_list = swift.get_containerList(token, daobase.getTenantOSIDByName(tName)) return render_to_response('cs/display.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/cloudStorage/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def floating_ip_associate_submit(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if (request.method == 'POST'): ip = request.POST['ip'] server = request.POST['server'] status, reason = nova.floating_ip_associate( token, daobase.getTenantOSIDByName(tName), ip, server) if (status == 202): messages.add_message(request, messages.SUCCESS, status, 'SUCCESS') messages.add_message(request, messages.SUCCESS, 'associate successful', 'SUCCESS') else: messages.add_message(request, messages.ERROR, status, 'ERROR') messages.add_message(request, messages.ERROR, reason, 'ERROR') return redirect('/virtualHost/access/list/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def floating_ip_deallocate(request, id): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: status, reason = nova.floating_ip_deallocate( token, daobase.getTenantOSIDByName(tName), id) if (status == 202): messages.add_message(request, messages.SUCCESS, status, 'SUCCESS') messages.add_message(request, messages.SUCCESS, 'deallocate successful', 'SUCCESS') else: messages.add_message(request, messages.ERROR, status, 'ERROR') messages.add_message(request, messages.ERROR, reason, 'ERROR') return redirect('/virtualHost/access/list/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def data_process_launch(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: files = request.session.get('col_cart', False) if files: fileList = files.split(';') fileList.remove('') else: fileList = [] count = len(fileList) files = request.session.get('col_algo', False) if files: fileList = files.split(';') fileList.remove('') else: fileList = [] counta = len(fileList) project = tName flavorList = nova.get_flavor_list(token, daobase.getTenantOSIDByName(tName)) return render_to_response('dp/process_launch.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/dataProcessing/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def folder_create_submit(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if request.method == 'POST': container = request.POST['container'] path = request.POST['folderPath'] folder_full = path[len(container) + 1:] + request.POST['folderName'] # print type(folder_full) # print folder_full status, reason = swift.folder_create(token, daobase.getTenantOSIDByName(tName), container, folder_full) if status == 201: messages.add_message(request, messages.SUCCESS, status, 'SUCCESS') messages.add_message(request, messages.SUCCESS, reason, 'SUCCESS') else: messages.add_message(request, messages.ERROR, status, 'ERROR') messages.add_message(request, messages.ERROR, reason, 'ERROR') return redirect('/cloudStorage/display/%s' % (path)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/cloudStorage/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def floating_ip_unassociate(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: try: ip = request.GET['ip'] except: ip = False try: server = request.GET['server'] except: server = False if(ip and server): status, reason = nova.floating_ip_unassociate(token, daobase.getTenantOSIDByName(tName), ip, server) if(status == 202): messages.add_message(request, messages.SUCCESS, status, 'SUCCESS') messages.add_message(request, messages.SUCCESS, 'unassociate successful', 'SUCCESS') else: messages.add_message(request, messages.ERROR, status, 'ERROR') messages.add_message(request, messages.ERROR, reason, 'ERROR') return redirect('/virtualHost/access/list/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def volume_create_snapshot_submit(request, id): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if (request.method == 'POST'): s_name = request.POST['snapshotName'] s_desc = request.POST['snapshotDesc'] status, reason = nova.volume_create_snapshot( token, daobase.getTenantOSIDByName(tName), s_name, s_desc, id) if (status == 200): messages.add_message(request, messages.SUCCESS, status, 'SUCCESS') messages.add_message(request, messages.SUCCESS, 'create successful', 'SUCCESS') else: messages.add_message(request, messages.ERROR, status, 'ERROR') messages.add_message(request, messages.ERROR, reason, 'ERROR') return redirect('/virtualHost/snapshot/list/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def server_list(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) vhList = [] if lName: if tName and token: serverList = nova.server_list(token, daobase.getTenantOSIDByName(tName)) for s in serverList: s.setdefault('flavorInfo', nova.flavor_detail(token, daobase.getTenantOSIDByName(tName), s['flavor']['id'])) return render_to_response('vh/server/server_list.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def container(request, path): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: current_path = path + '/' temp = path + '/' parrent_path = [] while(temp.find('/') > -1): if(len(parrent_path) > 0): parrent_path.append({'k':parrent_path[len(parrent_path) - 1]['k'] + temp[:temp.find('/') + 1], 'v':temp[:temp.find('/')]}) else: parrent_path.append({'k':'/cloudStorage/display/' + current_path[:current_path.find('/') + 1], 'v':temp[:temp.find('/')]}) # print parrent_path temp = temp[temp.find('/') + 1:] # print temp # print path i = path.find('/') if(i > -1): container_name = path[:i] path = path[i + 1:] else: container_name = path path = '' # print container_name # print path folder_list, file_list, = swift.get_fileList(token, daobase.getTenantOSIDByName(tName), container_name, path) container_list = swift.get_containerList(token, daobase.getTenantOSIDByName(tName)) container_metadata = swift.get_ContainerMetadata(token, daobase.getTenantOSIDByName(tName), container_name) return render_to_response('cs/display_container.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/cloudStorage/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def server_creat_submit(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if (request.method == 'POST'): serverNmae = request.POST['serverName'] if (request.POST['sourceType'] == 'Image'): imageURL = 'http://192.168.0.50:9292/v2/images/' + request.POST['sourceImageSelect'] if (request.POST['sourceType'] == 'Snapshot'): imageURL = 'http://192.168.0.50:9292/v2/images/' + request.POST['sourceSnapshotSelect'] flavorURL = "http://192.168.0.51:8774/v2/%s/flavor/%s" % ( daobase.getTenantOSIDByName(tName), request.POST['sourceFlavorSelect']) metadata = {} # print imageURL # print flavorURL code, message = nova.server_create(token, daobase.getTenantOSIDByName(tName), serverNmae, imageURL, flavorURL, metadata) securityGropURL = "http://192.168.0.51:8774/v2/%s/os-security-groups/%s" % ( daobase.getTenantOSIDByName(tName), request.POST['sourceSecurityGropSelect']) # print 'securityGroup' # print securityGropURL # print 'sourceKeypairSelect' # print request.POST['sourceKeypairSelect'] # nova.server_create(token, daobase.getTenantOSIDByName(tName), server_name, imageRef, flavorRef, metadata) if(code == 200): messages.add_message(request, messages.SUCCESS, code, 'SUCCESS') messages.add_message(request, messages.SUCCESS, message, 'SUCCESS') else: messages.add_message(request, messages.ERROR, code, 'ERROR') messages.add_message(request, messages.ERROR, message, 'ERROR') return redirect('/virtualHost/server/list/') else: return redirect('/virtualHost/server/create/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def tenant_select(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: master = daozo.getMasterOfAccount(lName) if tName and token: currentTenant = tName currentToken = token else: currrentTenant = None currentToken = None projectList = [] res = daozo.getTenantList(lName) if master: for i in range(len(res)): url_s = '/cloudStorage/project/select/submit/?s=' + res[i][0] tenant = { 'name':res[i][0], 'role':res[i][1], 'desc':res[i][2], 'time':res[i][3], 'url_s':url_s, } projectList.append(tenant) else: for i in range(len(res)): url_s = '/cloudStorage/project/select/submit/?s=' + res[i][0] tenant = { 'name':res[i][0], 'role':res[i][1], 'desc':res[i][2], 'time':res[i][3], 'url_s':url_s, } projectList.append(tenant) metadata = swift.get_metadata(token, daobase.getTenantOSIDByName(tName)) container_list = swift.get_containerList(token, daobase.getTenantOSIDByName(tName)) return render_to_response('cs/project_select.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def server_creat(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: sourceTypeList = [{'key':'Image', 'value':'Image'}, {'key':'Snapshot', 'value':'Snapshot'}] imageList = glance.get_image_list(token) snapshotList = glance.get_server_snapshot_list(token) flavorList = nova.get_flavor_list(token, daobase.getTenantOSIDByName(tName)) keypairList = nova.get_keypair_list(token, daobase.getTenantOSIDByName(tName)) securityGroupList = nova.get_security_group_list(token, daobase.getTenantOSIDByName(tName)) return render_to_response('vh/server/server_create.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def data_process_status(request, id): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: dpDetail = daozo.data_processing_detail(id) try: status = dpDetail['status'] except: messages.add_message(request, messages.ERROR, 'select a data processing.') return redirect('/dataProcessing/history/') else: if status == 'building': serverList = nova.server_list(token, daobase.getTenantOSIDByName(tName)) for s in serverList: if s['name'].find(daobase.getDataProcessingServerNameByID(int(id)))>-1: s.setdefault('flavorInfo', nova.flavor_detail(token, daobase.getTenantOSIDByName(tName), s['flavor']['id'])) else: serverList.remove(s) return render_to_response('dp/_step_building.html', locals(), RequestContext(request)) if status == 'setting': return render_to_response('dp/_step_setting.html', locals(), RequestContext(request)) if status == 'running': return render_to_response('dp/_step_running.html', locals(), RequestContext(request)) if status == 'releasing': return render_to_response('dp/_step_releasing.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/dataProcessing/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def folder_create(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: path = request.GET['p'] i = path.find('/') if(i > -1): container_name = path[:i] else: container_name = path container_list = swift.get_containerList(token, daobase.getTenantOSIDByName(tName)) container_metadata = swift.get_ContainerMetadata(token, daobase.getTenantOSIDByName(tName), container_name) return render_to_response('cs/folder_create.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/cloudStorage/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def security_list(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: securityGroupList = nova.get_security_group_list(token, daobase.getTenantOSIDByName(tName)) return render_to_response('vh/security/security_list.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def volume_detail(request, id): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: volumeDetail = nova.volume_detail(token, daobase.getTenantOSIDByName(tName), id) return render_to_response('vh/volume/volume_detail.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def floating_ip_allocate(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: floatingIpPoolList = nova.get_floating_ip_pool(token, daobase.getTenantOSIDByName(tName)) return render_to_response('vh/access/floatingIp_allocate.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def summary(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if request.method == 'POST': t1 = request.POST['sDate1'] t2 = request.POST['sDate2'] # print t1 # year = t1[:t1.find('-')] # print year # left = t1[len(year) + 1:] # print left # month = t1[len(year) + 1:][:t1[len(year) + 1:].find('-')] # print month # date = t1[len(year) + 1:][t1[len(year) + 1:].find('-') + 1:] # print date start = datetime.datetime( int(t1[:t1.find('-')]), int(t1[len(t1[:t1.find('-')]) + 1:][:t1[len(t1[:t1.find('-')]) + 1:].find('-')]), int(t1[len(t1[:t1.find('-')]) + 1:][t1[len(t1[:t1.find('-')]) + 1:].find('-') + 1:]), 0, 0, 0, 0).isoformat() end = datetime.datetime( int(t2[:t2.find('-')]), int(t2[len(t2[:t2.find('-')]) + 1:][:t2[len(t2[:t2.find('-')]) + 1:].find('-')]), int(t2[len(t2[:t2.find('-')]) + 1:][t2[len(t2[:t2.find('-')]) + 1:].find('-') + 1:]), 23, 59, 59, 999999.99).isoformat() else: now = datetime.datetime.now() start = datetime.datetime(now.year, now.month, 1, 0, 0, 0, 0).isoformat() end = now.isoformat() projectUsage, serverUsageList = nova.tenant_usage( token, daobase.getTenantOSIDByName(tName), start, end) return render_to_response('vh/summary/summary.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def tenant_select_submit(request): lName = request.session.get('name', False) lPass = request.session.get('pass', False) if lName and lPass: tenant_name = request.GET['s'] tenant_id = daobase.getTenantOSIDByName(tenant_name) token, mes = tokenApi.get_tenant_token(lName, lPass, tenant_id) request.session['tenant'] = tenant_name request.session['token'] = token currentTenant = tenant_name currentToken = token messages.add_message(request, messages.INFO, 'peoject changed', 'INFO') return redirect('/cloudStorage/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def container_create_submit(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: status, reason = swift.container_create(token, daobase.getTenantOSIDByName(tName), request.POST['containerName']) messages.add_message(request, messages.INFO, status, 'INFO') messages.add_message(request, messages.INFO, reason, 'INFO') return redirect('/cloudStorage/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/cloudStorage/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def security_list(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: securityGroupList = nova.get_security_group_list( token, daobase.getTenantOSIDByName(tName)) return render_to_response('vh/security/security_list.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def volume_detail(request, id): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: volumeDetail = nova.volume_detail( token, daobase.getTenantOSIDByName(tName), id) return render_to_response('vh/volume/volume_detail.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def floating_ip_allocate(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: floatingIpPoolList = nova.get_floating_ip_pool( token, daobase.getTenantOSIDByName(tName)) return render_to_response('vh/access/floatingIp_allocate.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def floating_ip_deallocate(request, id): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: status, reason = nova.floating_ip_deallocate(token, daobase.getTenantOSIDByName(tName), id) if(status == 202): messages.add_message(request, messages.SUCCESS, status, 'SUCCESS') messages.add_message(request, messages.SUCCESS, 'deallocate successful', 'SUCCESS') else: messages.add_message(request, messages.ERROR, status, 'ERROR') messages.add_message(request, messages.ERROR, reason, 'ERROR') return redirect('/virtualHost/access/list/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def floating_ip_allocate_submit(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if (request.method == 'POST'): pool = request.POST['sourcePool'] status, reason = nova.floating_ip_allocate(token, daobase.getTenantOSIDByName(tName), pool) if(status == 200): messages.add_message(request, messages.SUCCESS, status, 'SUCCESS') messages.add_message(request, messages.SUCCESS, 'allocate successful', 'SUCCESS') else: messages.add_message(request, messages.ERROR, status, 'ERROR') messages.add_message(request, messages.ERROR, reason, 'ERROR') return redirect('/virtualHost/access/list/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def algorithm_set(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: container_list = swift.get_containerList(token, daobase.getTenantOSIDByName(tName)) algos = request.session.get('col_algo', False) if algos: fileList = algos.split(';') fileList.remove('') else: fileList = [] count = len(fileList) return render_to_response('dp/collection_container_selecta.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/dataProcessing/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def container_delete_submit(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if(request.method == 'POST'): status, reason = swift.container_delete(token, daobase.getTenantOSIDByName(tName), request.POST['containerName']) if(status == 204): messages.add_message(request, messages.SUCCESS, status, 'SUCCESS') messages.add_message(request, messages.SUCCESS, 'delete successful', 'SUCCESS') else: messages.add_message(request, messages.ERROR, status, 'ERROR') messages.add_message(request, messages.ERROR, reason, 'ERROR') return redirect('/cloudStorage/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/cloudStorage/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def summary(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if request.method == 'POST': t1 = request.POST['sDate1'] t2 = request.POST['sDate2'] # print t1 # year = t1[:t1.find('-')] # print year # left = t1[len(year) + 1:] # print left # month = t1[len(year) + 1:][:t1[len(year) + 1:].find('-')] # print month # date = t1[len(year) + 1:][t1[len(year) + 1:].find('-') + 1:] # print date start = datetime.datetime(int(t1[:t1.find('-')]), int(t1[len(t1[:t1.find('-')]) + 1:][:t1[len(t1[:t1.find('-')]) + 1:].find('-')]), int(t1[len(t1[:t1.find('-')]) + 1:][t1[len(t1[:t1.find('-')]) + 1:].find('-') + 1:]), 0, 0, 0, 0).isoformat() end = datetime.datetime(int(t2[:t2.find('-')]), int(t2[len(t2[:t2.find('-')]) + 1:][:t2[len(t2[:t2.find('-')]) + 1:].find('-')]), int(t2[len(t2[:t2.find('-')]) + 1:][t2[len(t2[:t2.find('-')]) + 1:].find('-') + 1:]), 23, 59, 59, 999999.99).isoformat() else: now = datetime.datetime.now() start = datetime.datetime(now.year, now.month, 1, 0, 0, 0, 0).isoformat() end = now.isoformat() projectUsage, serverUsageList = nova.tenant_usage(token, daobase.getTenantOSIDByName(tName), start, end) return render_to_response('vh/summary/summary.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def server_create_snapshot_submit(request, id): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: if (request.method == 'POST'): s_name = request.POST['snapshotName'] status, reason = nova.server_create_image(token, daobase.getTenantOSIDByName(tName), id, s_name) if(status == 202): messages.add_message(request, messages.SUCCESS, status, 'SUCCESS') messages.add_message(request, messages.SUCCESS, 'create successful', 'SUCCESS') else: messages.add_message(request, messages.ERROR, status, 'ERROR') messages.add_message(request, messages.ERROR, reason, 'ERROR') return redirect('/virtualHost/snapshot/list/') else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/virtualHost/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')
def data_process_launch_submit(request): lName = request.session.get('name', False) tName = request.session.get('tenant', False) token = request.session.get('token', False) if lName: if tName and token: files = request.session.get('col_cart', False) if files: fileList = files.split(';') fileList.remove('') else: fileList = [] algos = request.session.get('col_algo', False) if algos: algoList = algos.split(';') algoList.remove('') else: algoList = [] output = request.POST['processOutput'] processName = request.POST['processName'] image = "http://192.168.0.50:9292/v2/images/be5823fe-d2bd-4de1-af40-7d09733fab5c" flavorURL = "http://192.168.0.51:8774/v2/%s/flavor/%s" % ( daobase.getTenantOSIDByName(tName), request.POST['serverFlavor']) serverCount = request.POST['serverCount'] serverLabel = request.POST['serverLabel'] serverMeta = 'defaultServerMeta' hadoopMeta = 'defaultHadoopMeta' if(algos and files): flag = daozo.data_processing_launch(processName, tName, lName, algos, files, output, serverLabel, int(serverCount), flavorURL, serverMeta, hadoopMeta) else: messages.add_message(request, messages.ERROR, 'please check datas and algos.') flag = False if flag: processid = daobase.getDataProcessingIDByName(processName) hadoopController.hadoop(token, daobase.getTenantOSIDByName(tName), processid, processName, int(serverCount), serverLabel, image, flavorURL, files, algos, output, serverMeta, hadoopMeta) try: del request.session['col_cart'] del request.session['col_algo'] messages.add_message(request, messages.SUCCESS, 'data processing launch successful.') return redirect('/dataProcessing/monitor/%s/' % (processid)) except: messages.add_message(request, messages.ERROR, 'data processing launch failedddd.') return redirect('/dataProcessing/launch/') else: count = len(fileList) counta = len(algoList) project = tName flavorList = nova.get_flavor_list(token, daobase.getTenantOSIDByName(tName)) messages.add_message(request, messages.ERROR, 'something wrong.') return render_to_response('dp/process_launch.html', locals(), RequestContext(request)) else: messages.add_message(request, messages.ERROR, 'select your project.') return redirect('/dataProcessing/project/select/') else: messages.add_message(request, messages.WARNING, 'Please login first.', 'WARNING') return redirect('/login/')