Esempio n. 1
0
    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)
Esempio n. 2
0
    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
Esempio n. 3
0
    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)
Esempio n. 4
0
    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
Esempio n. 5
0
 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
Esempio n. 6
0
 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
Esempio n. 7
0
    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        
Esempio n. 8
0
    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
Esempio n. 9
0
    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)
Esempio n. 10
0
    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)
Esempio n. 11
0
    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 = []
Esempio n. 12
0
    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
Esempio n. 13
0
    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
Esempio n. 14
0
    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')
Esempio n. 15
0
# 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}
Esempio n. 16
0
 def delete(self, request, obj_id):
     data_handler = DataHandler() 
     data_handler.delete_alarm(obj_id)
Esempio n. 17
0
 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)