def get(self, request): data_handler = DataHandler() times_begin = request.GET.get('timestamp_begin') times_end = request.GET.get('timestamp_end') json_graf = data_handler.cpu_util_flavors(times_begin, times_end) return HttpResponse(json_graf)
def get_alarms_history_data(self): period = tables.TIME alarms_obj = [] data_handler = DataHandler() ts = time.time() timestamp_begin = datetime.datetime.fromtimestamp(ts - (period)).strftime('%Y-%m-%d %H:%M:%S') timestamp_end = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S') alarms_dict = data_handler.alarms_history(timestamp_begin, timestamp_end) for data in alarms_dict: alarm_name = data['alarm_name'] for data_history in data['history']: timestamp = self.format_timestamp(data_history['timestamp']) resource_id = data['resource_id'] if (resource_id is None): resource_id = 'All' detail_str = json.loads(data_history['detail']) alarm = alarms_hist(timestamp, alarm_name, resource_id, 'Current State: ' + detail_str['state']) alarms_obj.append(alarm) return alarms_obj
def __init__(self, request, *args, **kwargs): super(AddAlarmForm, self).__init__(request, *args, **kwargs) data_handler = DataHandler() projects_choices = [] vms_info = data_handler.instances_by_project() for project in vms_info: values = (project, _(project)) projects_choices.append(values) data = 'data-project-' + project instances_choices = [] sorted_vms_info_project = sorted(vms_info[project].items(), key=itemgetter(1)) for instance in sorted_vms_info_project: values = (instance[0], _(vms_info[project][instance[0]])) instances_choices.append(values) self.fields[project] = forms.ChoiceField(choices=instances_choices, widget=forms.SelectWidget( attrs={'class': 'switched', 'data-switch-on': 'project', data: _('Instances')})) choices = ([('all_projects', _("All Projects"))] + projects_choices) self.fields['projects'].choices = choices self.fields['send_mail'] = forms.BooleanField(label= _("Send the owner an email when the alarm is activated"), required=False) self.fields['email_admin'] = forms.BooleanField(label=_("Send me, administrator, a copy too"), required=False)
def handle(self, request, data): data_handler = DataHandler() project = data['projects'] if(project != 'all_projects'): if(data_handler.add_alarm(data['name'], data['resource'], data['threshold'], data['operator'], data['period'], data['evalperiod'], data['send_mail'], data['email_admin'], data[project]) is not None): messages.success(request, _('Alarm has been created successfully.')) return True else: if(data_handler.add_alarm(data['name'], data['resource'], data['threshold'], data['operator'], data['period'], data['evalperiod'], data['send_mail'], data['email_admin']) is not None): messages.success(request, _('Alarm has been created successfully.')) return True return False
def get_hosts_data(self): hosts_data = [] data_handler = DataHandler() for host in data_handler.get_computenodes_names(): host_obj = api.telemetry.HostMessages(host.host_name, host.zone) hosts_data.append(host_obj) return hosts_data
def get_upgrades_data(self): upgrade_list = [] data_handler = DataHandler() data = data_handler.host_metrics('admin') for h in data.keys(): host = dataUpgrade(h, data[h]['Total'][0], data[h]['Em uso'][0], data[h]['Percentual'][0], data[h]['Total'][1], data[h]['Em uso'][1], data[h]['Percentual'][1], data[h]['Total'][2], data[h]['Em uso'][2], data[h]['Percentual'][2]) upgrade_list.append(host) return upgrade_list
def get_alarms_list_data(self): alarms_obj = [] data_handler = DataHandler() alarms_dict = data_handler.alarm_description() for ids in alarms_dict.keys(): alarm_id = ids alarm_name = alarms_dict[ids][0] enabled = alarms_dict[ids][1] description = alarms_dict[ids][2] alarm = alarms_list(ids, alarm_name, enabled, description) alarms_obj.append(alarm) return alarms_obj
def get_status_data(self): hosts_list = tables.HOSTS host_status = [] data_handler = DataHandler() if self.host_migration_data is None: self.host_migration_data = data_handler.suggestion(hosts_list) data = self.host_migration_data['Hosts'] for k in data.keys(): if data[k] is True: row = dataStatus(k, "Shut Off") else: row = dataStatus(k, "Keep On") host_status.append(row) return host_status
def get(self, request): data_handler = DataHandler() times_begin = request.GET.get('timestamp_begin') times_end = request.GET.get('timestamp_end') meter = request.GET.get('meter') json_graf = None if(meter == 'cpu'): json_graf = data_handler.hosts_aggregation_cpu(timestamp_begin=times_begin, timestamp_end=times_end) elif(meter == 'memory'): json_graf = data_handler.hosts_aggregation_memory(timestamp_begin=times_begin, timestamp_end=times_end) elif(meter == 'disk'): json_graf = data_handler.hosts_aggregation_disk(timestamp_begin=times_begin, timestamp_end=times_end) elif(meter == 'network'): json_graf = data_handler.hosts_aggregation_network(timestamp_begin=times_begin, timestamp_end=times_end) return HttpResponse(json_graf)
def get(self,request): times_begin = request.GET.get('timestamp_begin') times_end = request.GET.get('timestamp_end') r_id = request.GET.get('resource_id') meter = request.GET.get('meter') data_handler = DataHandler() json_graf = None if meter == "cpu": json_graf = json.dumps(data_handler.points_reduction_vm(timestamp_begin=times_begin, timestamp_end=times_end,resource_id=r_id)) if meter == "network": network_incoming_bytes_rate = data_handler.points_reduction_vm_network_incoming(timestamp_begin=times_begin, timestamp_end=times_end,resource_id=r_id); network_outgoing_bytes_rate = data_handler.points_reduction_vm_network_outgoing(timestamp_begin=times_begin, timestamp_end=times_end,resource_id=r_id); json_graf = json.dumps({'network_incoming': network_incoming_bytes_rate, 'network_outgoing': network_outgoing_bytes_rate}) return HttpResponse(json_graf)
def handle(self, data_table, request, obj_ids): global HOSTS_ALL hosts_obj = [] data_handler = DataHandler(); if HOSTS_ALL: for host in HOSTS_ALL: hosts_obj.append(self.table.get_object_by_id(host)) else: for row in data_table.get_rows(): hosts_obj.append(self.table.get_object_by_id(row.cells['host'].data)) for host in hosts_obj: for n in range(len(host.server)): project = host.project[n] host_name = host.endhost[n] instance = host.server[n] data_handler.migrate_to_host(project, host_name, instance) HOSTS_ALL = []
def get_cpu_data(self): cpu_data = [] data_handler = DataHandler() if self.benchmark_data is None: self.benchmark_data = data_handler.get_benchmark_bd() lista = self.benchmark_data if len(lista) > 0: for dic in lista: row = benchCpu(dic['host'], dic['cpu_average'], dic['cpu_median'], dic['cpu_min'], dic['cpu_max'], dic['cpu_first_quarter'], dic['cpu_second_quarter'], dic['cpu_third_quarter'], dic['cpu_fourth_quarter']) cpu_data.append(row) else: return cpu_data return cpu_data
def get_migration_data(self): hosts_list = tables.HOSTS hosts = {} migration = [] flag = False data_handler = DataHandler() if self.host_migration_data is None: self.host_migration_data = data_handler.suggestion(hosts_list) data = self.host_migration_data['Migracoes'] for k in data.keys(): for vm in data[k]: if data[k][vm] is not None: flag = True if k not in hosts: hosts[k] = {'server': [], 'name': [], 'endhost': [], 'project': []} hosts[k]['server'].append(vm) hosts[k]['name'].append(data[k][vm][1]) hosts[k]['endhost'].append(data[k][vm][0]) hosts[k]['project'].append(data[k][vm][2]) if flag: row = dataMigration(k, hosts[k]['server'], hosts[k]['name'], hosts[k]['endhost'], hosts[k]['project']) migration.append(row) flag = False if hosts_list is not []: hosts_list = [] tables.HOSTS = [] return migration
def get(self, request, *args, **kwargs): data_handler = DataHandler() HOSTS = ast.literal_eval(data_handler.get_config().get('Openstack', 'computenodes')) template_name = 'admin/graphs/host.html' times_begin = request.GET.get('timestamp_begin') times_end = request.GET.get('timestamp_end') meter = request.GET.get('meter') json_graf = None if(meter == 'cpu'): json_graf = data_handler.points_reduction_by_server_cpu(timestamp_begin=times_begin, timestamp_end=times_end,hosts=HOSTS) elif(meter == 'disk'): json_graf = data_handler.points_reduction_by_server_disk(timestamp_begin=times_begin, timestamp_end=times_end,hosts=HOSTS) elif(meter == 'memory'): json_graf = data_handler.points_reduction_by_server_memory(timestamp_begin=times_begin, timestamp_end=times_end,hosts=HOSTS) elif(meter == 'network'): json_graf = data_handler.points_reduction_by_server_network(timestamp_begin=times_begin, timestamp_end=times_end,hosts=HOSTS) return HttpResponse(json.dumps(json_graf), content_type='application/json')
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from django import template from django.utils.translation import ugettext_lazy as _ # noqa from openstack_dashboard.api.telemetry_api.telemetry_data import DataHandler import ast from horizon import tabs from openstack_dashboard.dashboards.admin.availability import tables data_handler = DataHandler() HOSTS = ast.literal_eval(data_handler.get_config().get('Openstack', 'computenodes')) class HostTab(tabs.Tab): name = _("Host") slug = "host" template_name = ("admin/availability/host.html") def get_context_data(self, request, *args, **kwargs): context_temp = {'name':'hosts','children':[]} for h in HOSTS: host = {'ip':h} context_temp['children'].append(host) host_list = context_temp['children'] context = {'hosts_list': host_list}
def delete(self, request, obj_id): data_handler = DataHandler() data_handler.delete_alarm(obj_id)
def get(self, request): project_name = request.GET.get('project') data_handler = DataHandler() json_graf = data_handler.vcpus_for_aggregate(project_name) print "resposta de Vcpus: " + str(json_graf) return HttpResponse(json_graf)