def tenant_usage(): if not session.get('logged_in'): return redirect(url_for('login')) token = session.get('token') if token != None: tenant_list = get_tenant_list(token, hostname, keystone_port) # get tenant list tenant_admin_id = get_tenant_id(token, hostname, keystone_port, 'admin') # get id tenant admin tenant_usage = {} all_tenant_usage = [] for tenant in range(len(tenant_list['tenants'])): tenant_usage['name'] = tenant_list['tenants'][tenant]['name'] tenant_usage['id'] = tenant_list['tenants'][tenant]['id'] tenant_usage_detail = get_tenant_usage( tenant_admin_id, tenant_list['tenants'][tenant]['id'], token, hostname, nova_port) # get instance in tenant if 'server_usages' in tenant_usage_detail['tenant_usage']: instances = len( tenant_usage_detail['tenant_usage']['server_usages']) vcpus_used = 0 rams_used = 0 disks_used = 0 for instance in range(instances): rams_used = rams_used + tenant_usage_detail[ 'tenant_usage']['server_usages'][instance]['memory_mb'] vcpus_used = vcpus_used + tenant_usage_detail[ 'tenant_usage']['server_usages'][instance]['vcpus'] disks_used = disks_used + tenant_usage_detail[ 'tenant_usage']['server_usages'][instance]['local_gb'] tenant_usage['tenant_usage'] = { "instances": instances, "rams_used": rams_used, "disks_used": disks_used, "vcpus_used": vcpus_used } else: instances = 0 vcpus_used = 0 rams_used = 0 disks_used = 0 tenant_usage['tenant_usage'] = { "instances": instances, "rams_used": rams_used, "disks_used": disks_used, "vcpus_used": vcpus_used } all_tenant_usage.append(tenant_usage.copy()) return render_template("tenant.html", all_tenant_usage=all_tenant_usage) else: error = 'Time Out' return redirect(url_for('login', error=error)) return render_template("tenant.html")
def services(): if not session.get('logged_in'): return redirect(url_for('login')) token = session.get('token') id_tenant_admin = get_tenant_id(token, hostname, keystone_port, 'admin') nova_service = check_nova_service(token=token, tenant_id=id_tenant_admin, username=username, password=password, hostname=hostname, keystone_port=keystone_port) neutron_agents = check_neutron_service(token=token, tenant_id=id_tenant_admin, username=username, password=password, hostname=hostname, keystone_port=keystone_port) print nova_service return render_template("services.html", nova_service=nova_service, neutron_agents=neutron_agents)
def show_instance(): if not session.get('logged_in'): return redirect(url_for('login')) token = session.get('token') if token != None: id_tenant_admin = get_tenant_id(token, hostname, keystone_port, 'admin') instances_list = get_server_list(id_tenant_admin, token, hostname, nova_port) return render_template("instances.html", instances_list=instances_list, network_public_name=network_public_name) else: error = 'Time Out' return redirect(url_for('login', error=error))
def tenant_usage(): if not session.get('logged_in'): return redirect(url_for('login')) token = session.get('token') if token != None: tenant_list = get_tenant_list(token, hostname, keystone_port) # get tenant list tenant_admin_id = get_tenant_id(token, hostname, keystone_port, 'admin') # get id tenant admin tenant_usage = {} all_tenant_usage = [] for tenant in range(len(tenant_list['tenants'])): tenant_usage['name'] = tenant_list['tenants'][tenant]['name'] tenant_usage['id'] = tenant_list['tenants'][tenant]['id'] tenant_usage_detail = get_tenant_usage(tenant_admin_id, tenant_list['tenants'][tenant]['id'], token,hostname, nova_port) # get instance in tenant if 'server_usages' in tenant_usage_detail['tenant_usage']: instances = len(tenant_usage_detail['tenant_usage']['server_usages']) vcpus_used = 0 rams_used = 0 disks_used = 0 for instance in range(instances): rams_used = rams_used + tenant_usage_detail['tenant_usage']['server_usages'][instance]['memory_mb'] vcpus_used = vcpus_used + tenant_usage_detail['tenant_usage']['server_usages'][instance]['vcpus'] disks_used = disks_used + tenant_usage_detail['tenant_usage']['server_usages'][instance]['local_gb'] tenant_usage['tenant_usage'] = {"instances": instances, "rams_used": rams_used, "disks_used": disks_used, "vcpus_used": vcpus_used} else: instances = 0 vcpus_used = 0 rams_used = 0 disks_used = 0 tenant_usage['tenant_usage'] = {"instances": instances, "rams_used": rams_used, "disks_used": disks_used, "vcpus_used": vcpus_used} all_tenant_usage.append(tenant_usage.copy()) return render_template("tenant.html", all_tenant_usage=all_tenant_usage) else: error = 'Time Out' return redirect(url_for('login', error=error)) return render_template("tenant.html")
def index(): all = True alert = None if not session.get('logged_in'): return redirect(url_for('login')) token = session.get('token') if token != None: if request.method=='POST': email = request.form.get('email') node = request.args.get('node') cpu_used = int(request.args.get('cpu_used')) cpu_total = int(request.args.get('cpu_total')) ram_used =int(request.args.get('ram_used')) ram_total = int(request.args.get('ram_total')) hdd_free = int(request.args.get('hdd_free')) hdd_total = int(request.args.get('hdd_total')) instances = int(request.args.get('instances')) if node == "all": volumes = int(request.args.get('volumes')) else: volumes = 0 alert = reports(node,cpu_used,cpu_total,ram_total,ram_used, hdd_total,hdd_free,instances,volumes,email,mail_server, mail_server_port,sender,password_sender) id_tenant_admin = get_tenant_id(token, hostname, keystone_port, 'admin') # get ID of tenant Admin ports = get_ports(token, hostname, neutron_port) # get all ports details networks_list = get_network(token, hostname, neutron_port) # get all network list for net in range(len(networks_list['networks'])): if networks_list['networks'][net]['name'] == network_public_name: global network_public_id network_public_id = networks_list['networks'][net]['id'] if request.args.get('show') == 'all': # display all compute list compute_list = [] list_node = get_compute_list(id_tenant_admin, token, hostname, nova_port) for i in range(len(list_node['hypervisors'])): ip_used =0 info = get_compute_list(id_tenant_admin, token, hostname, nova_port, str(list_node['hypervisors'][i]['id'])) compute_name = list_node['hypervisors'][i]['hypervisor_hostname'] for ip in range(len(ports['ports'])): if ports['ports'][ip]['network_id'] == network_public_id and ports['ports'][ip]['binding:host_id'] == compute_name: # if network in instance match with network public ip_used = ip_used + 1 info['ip_used'] = ip_used compute_list.append(info) print compute_list return render_template("index.html", compute_list=compute_list, total=False,alert =alert) else: ip_used = 0 for ip in range(len(ports['ports'])): if ports['ports'][ip][ 'network_id'] == network_public_id: # if network in instance match with network public ip_used = ip_used + 1 volumes = get_volumes_list(id_tenant_admin, token, hostname, cinder_port) compute_list = get_compute_statistics(id_tenant_admin, token, hostname, nova_port) return render_template("index.html", compute_list=compute_list, ip_used=ip_used, volumes=volumes,total=True,alert = alert) else: error = 'Time Out' return redirect(url_for('login', error=error)) return render_template('index.html')
def index(): all = True alert = None if not session.get('logged_in'): return redirect(url_for('login')) token = session.get('token') if token != None: if request.method == 'POST': email = request.form.get('email') node = request.args.get('node') cpu_used = int(request.args.get('cpu_used')) cpu_total = int(request.args.get('cpu_total')) ram_used = int(request.args.get('ram_used')) ram_total = int(request.args.get('ram_total')) hdd_free = int(request.args.get('hdd_free')) hdd_total = int(request.args.get('hdd_total')) instances = int(request.args.get('instances')) if node == "all": volumes = int(request.args.get('volumes')) else: volumes = 0 alert = reports(node, cpu_used, cpu_total, ram_total, ram_used, hdd_total, hdd_free, instances, volumes, email, mail_server, mail_server_port, sender, password_sender) id_tenant_admin = get_tenant_id(token, hostname, keystone_port, 'admin') # get ID of tenant Admin ports = get_ports(token, hostname, neutron_port) # get all ports details networks_list = get_network(token, hostname, neutron_port) # get all network list for net in range(len(networks_list['networks'])): if networks_list['networks'][net]['name'] == network_public_name: global network_public_id network_public_id = networks_list['networks'][net]['id'] if request.args.get('show') == 'all': # display all compute list compute_list = [] list_node = get_compute_list(id_tenant_admin, token, hostname, nova_port) for i in range(len(list_node['hypervisors'])): ip_used = 0 info = get_compute_list(id_tenant_admin, token, hostname, nova_port, str(list_node['hypervisors'][i]['id'])) compute_name = list_node['hypervisors'][i][ 'hypervisor_hostname'] for ip in range(len(ports['ports'])): if ports['ports'][ip][ 'network_id'] == network_public_id and ports[ 'ports'][ip][ 'binding:host_id'] == compute_name: # if network in instance match with network public ip_used = ip_used + 1 info['ip_used'] = ip_used compute_list.append(info) print compute_list return render_template("index.html", compute_list=compute_list, total=False, alert=alert) else: ip_used = 0 for ip in range(len(ports['ports'])): if ports['ports'][ip][ 'network_id'] == network_public_id: # if network in instance match with network public ip_used = ip_used + 1 volumes = get_volumes_list(id_tenant_admin, token, hostname, cinder_port) compute_list = get_compute_statistics(id_tenant_admin, token, hostname, nova_port) return render_template("index.html", compute_list=compute_list, ip_used=ip_used, volumes=volumes, total=True, alert=alert) else: error = 'Time Out' return redirect(url_for('login', error=error)) return render_template('index.html')