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, })
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, }, )
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, })
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
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, })