def cma_ajax_get_table_images(request): """ Ajax view for fetching images list. """ if request.method == 'GET': rest_data = prep_data({'images_public': ('admin_cm/system_image/get_list/', {'access': image_access['public']}), 'images_private': ('admin_cm/system_image/get_list/', {'access': image_access['private']}), 'images_group': ('admin_cm/system_image/get_list/', {'access': image_access['group']})}, request.session) for item in rest_data['images_public']: item['size'] = unicode(filesizeformatmb(item['size'])) item['type'] = 'public' item['stateName'] = image_states_reversed[item['state']] list_images = [{'name': unicode(_('Public:')), 'items': rest_data['images_public']}] for item in rest_data['images_private']: item['size'] = unicode(filesizeformatmb(item['size'])) item['type'] = 'private' item['stateName'] = image_states_reversed[item['state']] list_images.append({'name': unicode(_('Private:')), 'items': rest_data['images_private']}) for group in rest_data['images_group']: for item in group['images']: item['size'] = unicode(filesizeformatmb(item['size'])) item['type'] = 'group' item['stateName'] = image_states_reversed[item['state']] list_images.append({'name': unicode(_('Group:')) + ' ' + group['name'], 'items': group['images']}) return messages_ajax.success(list_images)
def cma_ajax_get_cm_data(request): """ Ajax view for fetching CM data (quotas etc.). """ if request.method == "GET": rest_data = prep_data( {"cm_data": "admin_cm/cluster/get_data/", "nodes": "admin_cm/node/get_list/"}, request.session ) data = rest_data["cm_data"] total_cpu = 0 total_mem = 0 free_cpu = 0 free_mem = 0 for node in rest_data["nodes"]: node["stateName"] = unicode(node_states[node["state"]]) if node["state"] == 1: free_cpu += node["cpu_free"] free_mem += node["memory_free"] total_cpu += node["cpu_total"] total_mem += node["memory_total"] data["free_cpu"] = free_cpu data["free_mem"] = filesizeformatmb(free_mem) data["total_cpu"] = total_cpu data["total_mem"] = filesizeformatmb(total_mem) data["stateName"] = unicode(cm_states[data["state"]]) return messages_ajax.success(data)
def cma_ajax_get_cm_data(request): """ Ajax view for fetching CM data (quotas etc.). """ if request.method == 'GET': rest_data = prep_data( { 'cm_data': 'admin_cm/cluster/get_data/', 'nodes': 'admin_cm/node/get_list/' }, request.session) data = rest_data['cm_data'] total_cpu = 0 total_mem = 0 free_cpu = 0 free_mem = 0 for node in rest_data['nodes']: node['stateName'] = unicode(node_states[node['state']]) if node['state'] == 1: free_cpu += node['cpu_free'] free_mem += node['memory_free'] total_cpu += node['cpu_total'] total_mem += node['memory_total'] data['free_cpu'] = free_cpu data['free_mem'] = filesizeformatmb(free_mem) data['total_cpu'] = total_cpu data['total_mem'] = filesizeformatmb(total_mem) data['stateName'] = unicode(cm_states[data['state']]) return messages_ajax.success(data)
def cma_ajax_get_cm_data(request): """ Ajax view for fetching CM data (quotas etc.). """ if request.method == 'GET': rest_data = prep_data({'cm_data': 'admin_cm/cluster/get_data/', 'nodes': 'admin_cm/node/get_list/' }, request.session) data = rest_data['cm_data'] total_cpu = 0 total_mem = 0 free_cpu = 0 free_mem = 0 for node in rest_data['nodes']: node['stateName'] = unicode(node_states[node['state']]) if node['state'] == 1: free_cpu += node['cpu_free'] free_mem += node['memory_free'] total_cpu += node['cpu_total'] total_mem += node['memory_total'] data['free_cpu'] = free_cpu data['free_mem'] = filesizeformatmb(free_mem) data['total_cpu'] = total_cpu data['total_mem'] = filesizeformatmb(total_mem) data['stateName'] = unicode(cm_states[data['state']]) return messages_ajax.success(data)
def acc_ajax_get_user_quotas(request): """ Ajax view for fetching users' quotas. """ if request.method == 'GET': quota = prep_data('user/user/check_quota/', request.session) quota['memory'] = filesizeformatmb(quota['memory']) quota['used_memory'] = filesizeformatmb(quota['used_memory']) quota['storage'] = filesizeformatmb(quota['storage']) quota['used_storage'] = filesizeformatmb(quota['used_storage']) return messages_ajax.success(quota)
def acc_ajax_get_user_quotas(request): """ Ajax view for fetching users' quotas. """ if request.method == 'GET': quota = prep_data('user/user/check_quota/', request.session) quota['memory'] = filesizeformatmb(quota['memory']) quota['used_memory'] = filesizeformatmb(quota['used_memory']) quota['storage'] = filesizeformatmb(quota['storage']) quota['used_storage'] = filesizeformatmb(quota['used_storage']) return messages_ajax.success(quota)
def cma_ajax_get_table_nodes(request): """ Ajax view fetching node list. """ if request.method == 'GET': nodes = prep_data('admin_cm/node/get_list/', request.session) for item in nodes: item['stateName'] = unicode(node_states[item['state']]) item['memory_free'] = filesizeformatmb(item['memory_free']) item['memory_total'] = filesizeformatmb(item['memory_total']) item['description'] = item['comment'] return messages_ajax.success(nodes)
def img_ajax_get_group_table(request): """ Ajax view for fetching group images list. """ if request.method == 'GET': rest_data = prep_data( { 'own_groups': 'user/group/list_own_groups/', 'group_images': ('user/system_image/get_list/', { 'access': image_access['group'] }), }, request.session) leader = parsing.parse_own_groups(rest_data) group_list = [] for group in rest_data['group_images']: group_images_list = [] for item in group['images']: item['stateName'] = unicode( image_states_reversed[item['state']]) item['size'] = filesizeformatmb(item['size']) item['mine'] = True if item['user_id'] == request.session[ 'user'].user_id else False item['myGroup'] = True if item['group_id'] in leader else False group_images_list.append(item) group_list.append({ 'name': group['name'], 'items': group_images_list, 'group_id': group['group_id'] }) return messages_ajax.success(group_list)
def parse_disks(data, select_flag=True): """ Returns list of the disks' names. @parameter{data,dict} @parameter{select_flag,boolean} @returns{list} disks' names. """ disks_list = [] all_disabled = True for disk in data['disks']: if disk['state'] == image_states['ok']: label = '%s (%s)' % (disk['name'], filesizeformatmb(disk['size'])) if disk['vm_id'] == "": disks_list.append([disk['storage_image_id'], label]) all_disabled = False else: disks_list.append([disk['storage_image_id'], {'label': label, 'disabled': True}]) if disks_list == []: if select_flag == True: disks_list.append((-1, {'label': _('None available'), 'disabled': True})) else: disks_list.append((-1, _('None available'))) else: if select_flag == False and all_disabled: disks_list.insert(0, [-1, _('None available')]) return disks_list
def img_ajax_get_group_table(request): """ Ajax view for fetching group images list. """ if request.method == "GET": rest_data = prep_data( { "own_groups": "user/group/list_own_groups/", "group_images": ("user/system_image/get_list/", {"access": image_access["group"]}), }, request.session, ) leader = parsing.parse_own_groups(rest_data) group_list = [] for group in rest_data["group_images"]: group_images_list = [] for item in group["images"]: item["stateName"] = unicode(image_states_reversed[item["state"]]) item["size"] = filesizeformatmb(item["size"]) item["mine"] = True if item["user_id"] == request.session["user"].user_id else False item["myGroup"] = True if item["group_id"] in leader else False group_images_list.append(item) group_list.append({"name": group["name"], "items": group_images_list, "group_id": group["group_id"]}) return messages_ajax.success(group_list)
def cma_ajax_get_user_data(request, user_id): """ Ajax view for fetching user data and quotas. """ if request.method == 'GET': rest_data = prep_data({'user': ('admin_cm/user/get_by_id/', {'user_id': user_id}), 'quota': ('admin_cm/user/check_quota/', {'user_id': user_id}), }, request.session) quota = rest_data['quota'] quota['memory'] = filesizeformatmb(quota['memory']) quota['used_memory'] = filesizeformatmb(quota['used_memory']) quota['storage'] = filesizeformatmb(quota['storage']) quota['used_storage'] = filesizeformatmb(quota['used_storage']) rest_data['user']['quota'] = quota return messages_ajax.success(rest_data['user'])
def img_ajax_get_private_table(request): """ Ajax view for fetching user's private images list. """ if request.method == 'GET': rest_data = prep_data( { 'images_private': ('user/system_image/get_list/', { 'access': image_access['private'] }), 'images_group': ('user/system_image/get_list/', { 'access': image_access['group'] }) }, request.session) for item in rest_data['images_private']: item['stateName'] = image_states_reversed[item['state']] item['type'] = 'private' item['size'] = filesizeformatmb(item['size']) group_list = [{ 'name': unicode(_('Private')), 'items': rest_data['images_private'] }] for group in rest_data['images_group']: group_images_list = [] for item in group['images']: if item['user_id'] == request.session['user'].user_id: item['stateName'] = image_states_reversed[item['state']] item['size'] = unicode(filesizeformatmb(item['size'])) item['type'] = 'group' group_images_list.append(item) group_list.append({ 'name': unicode(_('Shared to group')) + ' ' + group['name'], 'items': group_images_list, 'group_id': group['group_id'] }) return messages_ajax.success(group_list)
def res_ajax_get_iso_table(request): """ Ajax view returning iso images list. """ if request.method == 'GET': rest_data = prep_data('user/iso_image/get_list/', request.session) for item in rest_data: item['size'] = filesizeformatmb(item['size']) return messages_ajax.success(rest_data)
def res_ajax_get_iso_table(request): """ Ajax view returning iso images list. """ if request.method == 'GET': rest_data = prep_data('user/iso_image/get_list/', request.session) for item in rest_data: item['size'] = filesizeformatmb(item['size']) return messages_ajax.success(rest_data)
def cma_ajax_get_table_iso(request): """ Ajax view for fetching ISO images list. """ if request.method == 'GET': iso = prep_data('admin_cm/iso_image/get_list/', request.session) for item in iso: item['size'] = filesizeformatmb(item['size']) return messages_ajax.success(iso)
def cma_ajax_get_table_disks(request): """ Ajax view for fetching disks list. """ if request.method == 'GET': disks = prep_data('admin_cm/storage_image/get_list/', request.session) for item in disks: item['size'] = filesizeformatmb(item['size']) return messages_ajax.success(disks)
def cma_ajax_get_table_disks(request): """ Ajax view for fetching disks list. """ if request.method == 'GET': disks = prep_data('admin_cm/storage_image/get_list/', request.session) for item in disks: item['size'] = filesizeformatmb(item['size']) return messages_ajax.success(disks)
def cma_ajax_get_table_iso(request): """ Ajax view for fetching ISO images list. """ if request.method == 'GET': iso = prep_data('admin_cm/iso_image/get_list/', request.session) for item in iso: item['size'] = filesizeformatmb(item['size']) return messages_ajax.success(iso)
def res_ajax_get_disk_table(request): """ Ajax view for fetching disk list. """ if request.method == 'GET': rest_data = prep_data({'disks': 'user/storage_image/get_list/', 'disk_controllers': 'user/storage_image/get_disk_controllers/'}, request.session) for item in rest_data['disks']: item['size'] = filesizeformatmb(item['size']) item['bus'] = get_dict_from_list(rest_data['disk_controllers'], item['disk_controller'])['name'] return messages_ajax.success(rest_data['disks'])
def cma_ajax_get_table_templates(request): """ Ajax view fetching template list. """ if request.method == 'GET': templates = prep_data('admin_cm/template/get_list/', request.session) for item in templates: item['ec2name'] = ec2names_reversed[item['ec2name']] item['memory'] = filesizeformatmb(item['memory']) return messages_ajax.success(templates)
def cma_ajax_get_table_templates(request): """ Ajax view fetching template list. """ if request.method == 'GET': templates = prep_data('admin_cm/template/get_list/', request.session) for item in templates: item['ec2name'] = ec2names_reversed[item['ec2name']] item['memory'] = filesizeformatmb(item['memory']) return messages_ajax.success(templates)
def cma_ajax_get_table_storages(request): """ Ajax view returning storages list. """ if request.method == 'GET': storages = prep_data('admin_cm/storage/get_list/', request.session) for item in storages: item['stateName'] = unicode(storage_states[item['state']]) item['capacity'] = filesizeformatmb(item['capacity']) return messages_ajax.success(storages)
def cma_ajax_get_table_storages(request): """ Ajax view returning storages list. """ if request.method == 'GET': storages = prep_data('admin_cm/storage/get_list/', request.session) for item in storages: item['stateName'] = unicode(storage_states[item['state']]) item['capacity'] = filesizeformatmb(item['capacity']) return messages_ajax.success(storages)
def img_ajax_get_public_table(request): """ Ajax view for fetching public images list. """ if request.method == "GET": rest_data = prep_data(("user/system_image/get_list/", {"access": image_access["public"]}), request.session) for item in rest_data: item["stateName"] = image_states_reversed[item["state"]] item["size"] = filesizeformatmb(item["size"]) return messages_ajax.success(rest_data)
def vms_ajax_get_template_list(request): """ Ajax view fetching template list. """ if request.method == 'GET': rest_data = prep_data('user/template/get_list/', request.session) for item in rest_data: item['memory'] = filesizeformatmb(item['memory']) if item['ec2name'] != 0: item['ec2fullname'] = ec2names_reversed[item['ec2name']] return messages_ajax.success(rest_data)
def img_ajax_get_private_table(request): """ Ajax view for fetching user's private images list. """ if request.method == "GET": rest_data = prep_data( { "images_private": ("user/system_image/get_list/", {"access": image_access["private"]}), "images_group": ("user/system_image/get_list/", {"access": image_access["group"]}), }, request.session, ) for item in rest_data["images_private"]: item["stateName"] = image_states_reversed[item["state"]] item["type"] = "private" item["size"] = filesizeformatmb(item["size"]) group_list = [{"name": unicode(_("Private")), "items": rest_data["images_private"]}] for group in rest_data["images_group"]: group_images_list = [] for item in group["images"]: if item["user_id"] == request.session["user"].user_id: item["stateName"] = image_states_reversed[item["state"]] item["size"] = unicode(filesizeformatmb(item["size"])) item["type"] = "group" group_images_list.append(item) group_list.append( { "name": unicode(_("Shared to group")) + " " + group["name"], "items": group_images_list, "group_id": group["group_id"], } ) return messages_ajax.success(group_list)
def img_ajax_get_public_table(request): """ Ajax view for fetching public images list. """ if request.method == 'GET': rest_data = prep_data(('user/system_image/get_list/', { 'access': image_access['public'] }), request.session) for item in rest_data: item['stateName'] = image_states_reversed[item['state']] item['size'] = filesizeformatmb(item['size']) return messages_ajax.success(rest_data)
def cma_ajax_get_user_data(request, user_id): """ Ajax view for fetching user data and quotas. """ if request.method == 'GET': rest_data = prep_data( { 'user': ('admin_cm/user/get_by_id/', { 'user_id': user_id }), 'quota': ('admin_cm/user/check_quota/', { 'user_id': user_id }), }, request.session) quota = rest_data['quota'] quota['memory'] = filesizeformatmb(quota['memory']) quota['used_memory'] = filesizeformatmb(quota['used_memory']) quota['storage'] = filesizeformatmb(quota['storage']) quota['used_storage'] = filesizeformatmb(quota['used_storage']) rest_data['user']['quota'] = quota return messages_ajax.success(rest_data['user'])
def res_ajax_get_disk_table(request): """ Ajax view for fetching disk list. """ if request.method == 'GET': rest_data = prep_data( { 'disks': 'user/storage_image/get_list/', 'disk_controllers': 'user/storage_image/get_disk_controllers/' }, request.session) for item in rest_data['disks']: item['size'] = filesizeformatmb(item['size']) item['bus'] = get_dict_from_list(rest_data['disk_controllers'], item['disk_controller'])['name'] return messages_ajax.success(rest_data['disks'])
def parse_iso(data): """ Returns list of the ISO images' names. @parameter{data} @returns{list} ISO images' names. """ iso_list = [] for iso in data['iso']: if iso['state'] == image_states['ok']: label = '%s (%s)' % (iso['name'], filesizeformatmb(iso['size'])) iso_list.append([iso['iso_image_id'], label]) if iso_list == []: iso_list.insert(0, (-1, _('None available'))) else: iso_list.insert(0, [-1, _('None')]) return iso_list
def parse_iso(data): """ Returns list of the ISO images' names. @parameter{data} @returns{list} ISO images' names. """ iso_list = [] for iso in data['iso']: if iso['state'] == image_states['ok']: label = '%s (%s)' % (iso['name'], filesizeformatmb(iso['size'])) iso_list.append([iso['iso_image_id'], label]) if iso_list == []: iso_list.insert(0, (-1, _('None available'))) else: iso_list.insert(0, [-1, _('None')]) return iso_list
def parse_disks(data, select_flag=True): """ Returns list of the disks' names. @parameter{data,dict} @parameter{select_flag,boolean} @returns{list} disks' names. """ disks_list = [] all_disabled = True for disk in data['disks']: if disk['state'] == image_states['ok']: label = '%s (%s)' % (disk['name'], filesizeformatmb(disk['size'])) if disk['vm_id'] == "": disks_list.append([disk['storage_image_id'], label]) all_disabled = False else: disks_list.append([ disk['storage_image_id'], { 'label': label, 'disabled': True } ]) if disks_list == []: if select_flag == True: disks_list.append((-1, { 'label': _('None available'), 'disabled': True })) else: disks_list.append((-1, _('None available'))) else: if select_flag == False and all_disabled: disks_list.insert(0, [-1, _('None available')]) return disks_list
def img_ajax_get_all_table(request, img_type): """ Ajax view fetching image list. all = ALL private = My images public = Public 1 ... x = Group """ if request.method == 'GET': rest_data = prep_data( { 'images_private': ('user/system_image/get_list/', { 'access': image_access['private'] }), 'images_public': ('user/system_image/get_list/', { 'access': image_access['public'] }), 'images_group': ('user/system_image/get_list/', { 'access': image_access['group'] }) }, request.session) list_images = [] if img_type == 'private' or img_type == 'all': for item in rest_data['images_private']: if item['state'] != image_states['ok']: continue item['stateName'] = image_states_reversed[item['state']] item['type'] = _('private') item['size'] = filesizeformatmb(item['size']) list_images.append(item) if img_type == 'public' or img_type == 'all': for item in rest_data['images_public']: if item['state'] != image_states['ok']: continue item['stateName'] = image_states_reversed[item['state']] item['type'] = _('public') item['size'] = filesizeformatmb(item['size']) list_images.append(item) if img_type == 'all': for group in rest_data['images_group']: for item in group['images']: if item['state'] != image_states['ok']: continue item['stateName'] = image_states_reversed[item['state']] item['size'] = unicode(filesizeformatmb(item['size'])) item['type'] = _('group ') + group['name'] list_images.append(item) if img_type != 'public' and img_type != 'private' and img_type != 'all': for group in rest_data['images_group']: if (img_type == str(group['group_id'])): for item in group['images']: if item['state'] != image_states['ok']: continue item['stateName'] = image_states_reversed[ item['state']] item['size'] = unicode(filesizeformatmb(item['size'])) item['type'] = _('group ') + group['name'] list_images.append(item) if img_type == 'private': for group in rest_data['images_group']: for item in group['images']: if img_type == 'private' and item[ 'user_id'] == request.session['user'].user_id: if item['state'] != image_states['ok']: continue item['stateName'] = image_states_reversed[ item['state']] item['size'] = unicode(filesizeformatmb(item['size'])) item['type'] = _('group ') + group['name'] list_images.append(item) return messages_ajax.success(list_images)
def img_ajax_get_all_table(request, img_type): """ Ajax view fetching image list. all = ALL private = My images public = Public 1 ... x = Group """ if request.method == "GET": rest_data = prep_data( { "images_private": ("user/system_image/get_list/", {"access": image_access["private"]}), "images_public": ("user/system_image/get_list/", {"access": image_access["public"]}), "images_group": ("user/system_image/get_list/", {"access": image_access["group"]}), }, request.session, ) list_images = [] if img_type == "private" or img_type == "all": for item in rest_data["images_private"]: if item["state"] != image_states["ok"]: continue item["stateName"] = image_states_reversed[item["state"]] item["type"] = _("private") item["size"] = filesizeformatmb(item["size"]) list_images.append(item) if img_type == "public" or img_type == "all": for item in rest_data["images_public"]: if item["state"] != image_states["ok"]: continue item["stateName"] = image_states_reversed[item["state"]] item["type"] = _("public") item["size"] = filesizeformatmb(item["size"]) list_images.append(item) if img_type == "all": for group in rest_data["images_group"]: for item in group["images"]: if item["state"] != image_states["ok"]: continue item["stateName"] = image_states_reversed[item["state"]] item["size"] = unicode(filesizeformatmb(item["size"])) item["type"] = _("group ") + group["name"] list_images.append(item) if img_type != "public" and img_type != "private" and img_type != "all": for group in rest_data["images_group"]: if img_type == str(group["group_id"]): for item in group["images"]: if item["state"] != image_states["ok"]: continue item["stateName"] = image_states_reversed[item["state"]] item["size"] = unicode(filesizeformatmb(item["size"])) item["type"] = _("group ") + group["name"] list_images.append(item) if img_type == "private": for group in rest_data["images_group"]: for item in group["images"]: if img_type == "private" and item["user_id"] == request.session["user"].user_id: if item["state"] != image_states["ok"]: continue item["stateName"] = image_states_reversed[item["state"]] item["size"] = unicode(filesizeformatmb(item["size"])) item["type"] = _("group ") + group["name"] list_images.append(item) return messages_ajax.success(list_images)