Exemple #1
0
    def get(self, request, group_name):
        asg_status = groups_helper.get_autoscaling_status(request, group_name)

        return render(request, 'groups/asg_config.html', {
            "asg_status": asg_status,
            "group_name": group_name,
        })
Exemple #2
0
def get_health_check_activities(request, group_name):
    index = int(request.GET.get('page_index', '1'))
    size = int(request.GET.get('page_size', DEFAULT_PAGE_SIZE))
    health_checks = groups_helper.get_health_check_activities(
        request, group_name, index, size)
    asg_status = groups_helper.get_autoscaling_status(request, group_name)
    scaling_down_event_enabled = groups_helper.get_scaling_down_event_status(
        request, group_name)

    for check in health_checks:
        env_id = check.get('env_id')
        env = environs_helper.get(request, env_id)
        check['env_name'] = env.get('envName')
        check['stage_name'] = env.get('stageName')

    return render(
        request, 'groups/health_check_activities.html', {
            "group_name": group_name,
            "health_checks": health_checks,
            "asg_status": asg_status,
            "scaling_down_event_enabled": scaling_down_event_enabled,
            "pageIndex": index,
            "pageSize": DEFAULT_PAGE_SIZE,
            "disablePrevious": index <= 1,
            "disableNext": len(health_checks) < DEFAULT_PAGE_SIZE
        })
def get_health_check_activities(request, group_name):
    index = int(request.GET.get("page_index", "1"))
    size = int(request.GET.get("page_size", DEFAULT_PAGE_SIZE))
    health_checks = groups_helper.get_health_check_activities(request, group_name, index, size)
    asg_status = groups_helper.get_autoscaling_status(request, group_name)
    scaling_down_event_enabled = groups_helper.get_scaling_down_event_status(request, group_name)

    for check in health_checks:
        env_id = check.get("env_id")
        env = environs_helper.get(request, env_id)
        check["env_name"] = env.get("envName")
        check["stage_name"] = env.get("stageName")

    return render(
        request,
        "groups/health_check_activities.html",
        {
            "group_name": group_name,
            "health_checks": health_checks,
            "asg_status": asg_status,
            "scaling_down_event_enabled": scaling_down_event_enabled,
            "pageIndex": index,
            "pageSize": DEFAULT_PAGE_SIZE,
            "disablePrevious": index <= 1,
            "disableNext": len(health_checks) < DEFAULT_PAGE_SIZE,
        },
    )
Exemple #4
0
    def get(self, request, group_name):
        asg_status = groups_helper.get_autoscaling_status(request, group_name)

        return render(request, 'groups/asg_config.html', {
            "asg_status": asg_status,
            "group_name": group_name,
        })
Exemple #5
0
    def get(self, request, group_name):
        asg_status = groups_helper.get_autoscaling_status(request, group_name)
        group_size_datum = \
            autoscaling_metrics_helper.get_asg_size_metric(request, group_name,
                                                           settings.DEFAULT_START_TIME)
        spot_group_name = "{}-spot".format(group_name)
        alarm_infos = groups_helper.get_alarms(request, group_name)
        spot_alarm_infos = groups_helper.get_alarms(request, spot_group_name)
        enable_policy = False
        if alarm_infos and len(alarm_infos) > 0:
            enable_policy = True

        removeIdx = []
        if alarm_infos:
            alarm_infos = sorted(alarm_infos, key=lambda info: info["metricSource"])
            for idx in xrange(len(alarm_infos)):
                alarm_info = alarm_infos[idx]
                alarm_infos[idx]["actionType2"] = "UNKNOWN"
                alarm_infos[idx]["threshold2"] = -1
                if spot_alarm_infos:
                    alarm_infos[idx]["spotActionType"] = spot_alarm_infos[idx]["actionType"]
                    alarm_infos[idx]["spotThreshold"] = spot_alarm_infos[idx]["threshold"]
                    alarm_infos[idx]["spotActionType2"] = "UNKNOWN"
                    alarm_infos[idx]["spotThreshold2"] = -1
                else:
                    alarm_infos[idx]["spotActionType"] = "UNKNOWN"
                    alarm_infos[idx]["spotThreshold"] = -1
                    alarm_infos[idx]["spotActionType2"] = "UNKNOWN"
                    alarm_infos[idx]["spotThreshold2"] = -1

                metric_name = alarm_info["metricSource"]
                if idx > 0 and metric_name == alarm_infos[idx - 1]["metricSource"]:
                    alarm_infos[idx - 1]["actionType2"] = alarm_info["actionType"]
                    alarm_infos[idx - 1]["threshold2"] = alarm_info["threshold"]
                    if spot_alarm_infos:
                        alarm_infos[idx - 1]["spotActionType2"] = spot_alarm_infos[idx]["actionType"]
                        alarm_infos[idx - 1]["spotThreshold2"] = spot_alarm_infos[idx]["threshold"]
                    removeIdx.append(idx)
                else:
                    alarm_info["metric_datum"] = \
                        autoscaling_metrics_helper.get_metric_data(request, group_name,
                                                                   metric_name,
                                                                   settings.DEFAULT_START_TIME)

        for offset, idx in enumerate(removeIdx):
            idx -= offset
            del alarm_infos[idx]

        envs = environs_helper.get_all_envs_by_group(request, group_name)
        scaling_down_event_enabled = groups_helper.get_scaling_down_event_status(request, group_name)
        return render(request, 'groups/group_details.html', {
            "asg_status": asg_status,
            "group_name": group_name,
            "enable_policy": enable_policy,
            "alarm_infos": alarm_infos,
            "spot_alarm_infos": spot_alarm_infos,
            "group_size_datum": group_size_datum,
            "scaling_down_event_enabled": scaling_down_event_enabled,
            "envs": envs,
        })
Exemple #6
0
 def get(self, request, group_name):
     asg_status = groups_helper.get_autoscaling_status(request, group_name)
     envs = environs_helper.get_all_envs_by_group(request, group_name)
     scaling_down_event_enabled = groups_helper.get_scaling_down_event_status(request, group_name)
     return render(request, 'groups/group_details.html', {
         "asg_status": asg_status,
         "group_name": group_name,
         "scaling_down_event_enabled": scaling_down_event_enabled,
         "envs": envs,
     })
def get_deleted_asg_status(request, group_name):
    try:
        status = groups_helper.get_autoscaling_status(request, group_name)
        if status == "UNKNOWN":
            asg_status = 0
            log.info("{} is removed from autoscaling group.".format(group_name))
        else:
            asg_status = 1
            log.info("Still waiting for deleting {}".format(group_name))
        content = render_to_string("groups/deletion_loading.tmpl", {"group_name": group_name})
        return HttpResponse(json.dumps({"content": content, "status": asg_status}), content_type="application/json")
    except:
        raise
Exemple #8
0
def get_deleted_asg_status(request, group_name):
    try:
        status = groups_helper.get_autoscaling_status(request, group_name)
        if status == "UNKNOWN":
            asg_status = 0
            log.info("{} is removed from autoscaling group.".format(group_name))
        else:
            asg_status = 1
            log.info("Still waiting for deleting {}".format(group_name))
        content = render_to_string("groups/deletion_loading.tmpl",
                                   {"group_name": group_name})
        return HttpResponse(json.dumps({"content": content, "status": asg_status}), content_type="application/json")
    except:
        raise
Exemple #9
0
    def get(self, request, group_name):
        asg_status = groups_helper.get_autoscaling_status(request, group_name)
        group_size_datum = \
            autoscaling_metrics_helper.get_asg_size_metric(request, group_name,
                                                           settings.DEFAULT_START_TIME)
        alarm_infos = groups_helper.get_alarms(request, group_name)
        enable_policy = False
        if alarm_infos and len(alarm_infos) > 0:
            enable_policy = True

        removeIdx = []

        if alarm_infos:
            for idx in xrange(len(alarm_infos)):
                alarm_info = alarm_infos[idx]
                alarm_infos[idx]["actionType2"] = "UNKNOWN"
                alarm_infos[idx]["threshold2"] = -1
                metric_name = alarm_info["metricSource"]
                if idx > 0 and metric_name == alarm_infos[idx -
                                                          1]["metricSource"]:
                    alarm_infos[idx -
                                1]["actionType2"] = alarm_info["actionType"]
                    alarm_infos[idx -
                                1]["threshold2"] = alarm_info["threshold"]
                    removeIdx.append(idx)
                else:
                    alarm_info["metric_datum"] = \
                        autoscaling_metrics_helper.get_metric_data(request, group_name,
                                                                   metric_name,
                                                                   settings.DEFAULT_START_TIME)

        for offset, idx in enumerate(removeIdx):
            idx -= offset
            del alarm_infos[idx]

        envs = environs_helper.get_all_envs_by_group(request, group_name)
        scaling_down_event_enabled = groups_helper.get_scaling_down_event_status(
            request, group_name)
        return render(
            request, 'groups/group_details.html', {
                "asg_status": asg_status,
                "group_name": group_name,
                "enable_policy": enable_policy,
                "alarm_infos": alarm_infos,
                "group_size_datum": group_size_datum,
                "scaling_down_event_enabled": scaling_down_event_enabled,
                "envs": envs,
            })