Example #1
0
    def get(self, request, group_name):
        asg_cluster = autoscaling_groups_helper.get_group_info(request, group_name)
        appNames = baseimages_helper.get_image_names(request, 'AWS')
        appNames = sorted(appNames)
        is_cmp = False
        if asg_cluster:
            asg_vm_info = asg_cluster.get("launchInfo")
            curr_image = None
            if asg_vm_info:
                curr_image = baseimages_helper.get_by_provider_name(request, asg_vm_info["imageId"])
                if asg_vm_info.get("subnets"):
                    asg_vm_info["subnetArrays"] = asg_vm_info["subnets"].split(',')
            group_info = asg_cluster.get("groupInfo")
            group_info = get_group_config_internal(group_info)
            #Directly search the cluster name. As long as there exists a cluster, treat this as cmp and hide
            #Launch Configuration
            basic_cluster_info = clusters_helper.get_cluster(request, group_name)
            if basic_cluster_info:
                is_cmp = True
        else:
            asg_vm_info = None
            group_info = None
            curr_image = None

        pas_config = autoscaling_groups_helper.get_pas_config(request, group_name)
        return render(request, 'groups/asg_config.html', {
            "asg_vm_config": asg_vm_info,
            "app_names": appNames,
            "curr_image": curr_image,
            "group_config": group_info,
            "group_name": group_name,
            "pas_config": pas_config,
            "is_cmp": is_cmp
        })
Example #2
0
    def get(self, request, group_name):
        asg_cluster = autoscaling_groups_helper.get_group_info(request, group_name)
        appNames = baseimages_helper.get_image_names(request, 'AWS')
        appNames = sorted(appNames)
        is_cmp = False
        if asg_cluster:
            asg_vm_info = asg_cluster.get("launchInfo")
            curr_image = None
            if asg_vm_info:
                curr_image = baseimages_helper.get_by_provider_name(request, asg_vm_info["imageId"])
                if asg_vm_info.get("subnets"):
                    asg_vm_info["subnetArrays"] = asg_vm_info["subnets"].split(',')
            group_info = asg_cluster.get("groupInfo")
            group_info = get_group_config_internal(group_info)
            envs = environs_helper.get_all_envs_by_group(request, group_name)
            for env in envs:
                basic_cluster_info = clusters_helper.get_cluster(request, env.get('clusterName'))
                if basic_cluster_info:
                    is_cmp = True
        else:
            asg_vm_info = None
            group_info = None
            curr_image = None

        pas_config = autoscaling_groups_helper.get_pas_config(request, group_name)
        return render(request, 'groups/asg_config.html', {
            "asg_vm_config": asg_vm_info,
            "app_names": appNames,
            "curr_image": curr_image,
            "group_config": group_info,
            "group_name": group_name,
            "pas_config": pas_config,
            "is_cmp": is_cmp
        })
Example #3
0
    def get(self, request, group_name):
        asg_cluster = autoscaling_groups_helper.get_group_info(request, group_name)
        appNames = baseimages_helper.get_image_names(request, 'AWS')
        appNames = sorted(appNames)
        is_cmp = False
        if asg_cluster:
            asg_vm_info = asg_cluster.get("launchInfo")
            curr_image = None
            if asg_vm_info:
                curr_image = baseimages_helper.get_by_provider_name(request, asg_vm_info["imageId"])
                if asg_vm_info.get("subnets"):
                    asg_vm_info["subnetArrays"] = asg_vm_info["subnets"].split(',')
            group_info = asg_cluster.get("groupInfo")
            group_info = get_group_config_internal(group_info)
            #Directly search the cluster name. As long as there exists a cluster, treat this as cmp and hide
            #Launch Configuration
            basic_cluster_info = clusters_helper.get_cluster(request, group_name)
            if basic_cluster_info:
                is_cmp = True
        else:
            asg_vm_info = None
            group_info = None
            curr_image = None

        pas_config = autoscaling_groups_helper.get_pas_config(request, group_name)
        return render(request, 'groups/asg_config.html', {
            "asg_vm_config": asg_vm_info,
            "app_names": appNames,
            "curr_image": curr_image,
            "group_config": group_info,
            "group_name": group_name,
            "pas_config": pas_config,
            "is_cmp": is_cmp
        })
Example #4
0
    def get(self, request, group_name):
        autoscaling_summary = autoscaling_groups_helper.get_autoscaling_summary(request, group_name)
        asg_status = autoscaling_summary.get("status", "UNKNOWN")
        enable_spot = autoscaling_summary.get("enableSpot", False)
        envs = environs_helper.get_all_envs_by_group(request, group_name)
        disabled_actions = autoscaling_groups_helper.get_disabled_asg_actions(request, group_name)
        pas_config = autoscaling_groups_helper.get_pas_config(request, group_name)

        if "Terminate" in disabled_actions:
            scaling_down_event_enabled = False
        else:
            scaling_down_event_enabled = True
        group_info = autoscaling_groups_helper.get_group_info(request, group_name)
        if group_info:
            launch_config = group_info.get('launchInfo')
            curr_image = baseimages_helper.get_by_provider_name(request, launch_config["imageId"])
        else:
            launch_config = None
            curr_image = None
        return render(request, 'groups/group_details.html', {
            "asg_status": asg_status,
            "enable_spot": enable_spot,
            "group_name": group_name,
            "scaling_down_event_enabled": scaling_down_event_enabled,
            "envs": envs,
            "group_info": group_info,
            "launch_config": launch_config,
            "pas_enabled": pas_config['pas_state'] if pas_config else False,
            "disallow_autoscaling": _disallow_autoscaling(curr_image),
        })
Example #5
0
def get_launch_config(request, group_name):
    try:
        group_info = autoscaling_groups_helper.get_group_info(request, group_name)
        launch_config = group_info.get("launchInfo")

        if launch_config and launch_config.get("subnets"):
            launch_config["subnetArrays"] = launch_config["subnets"].split(',')
        appNames = baseimages_helper.get_image_names(request, 'AWS')
        appNames = sorted(appNames)
        curr_image = baseimages_helper.get_by_provider_name(request, launch_config["imageId"])
        html = render_to_string('groups/launch_config.tmpl', {
            "group_name": group_name,
            "app_names": appNames,
            "config": launch_config,
            "curr_image": curr_image,
            "csrf_token": get_token(request),
        })
    except:
        log.error(traceback.format_exc())
        raise
    return HttpResponse(json.dumps(html), content_type="application/json")
Example #6
0
def get_launch_config(request, group_name):
    try:
        group_info = autoscaling_groups_helper.get_group_info(request, group_name)
        launch_config = group_info.get("launchInfo")

        if launch_config and launch_config.get("subnets"):
            launch_config["subnetArrays"] = launch_config["subnets"].split(',')
        appNames = baseimages_helper.get_image_names(request, 'AWS')
        appNames = sorted(appNames)
        curr_image = baseimages_helper.get_by_provider_name(request, launch_config["imageId"])
        html = render_to_string('groups/launch_config.tmpl', {
            "group_name": group_name,
            "app_names": appNames,
            "config": launch_config,
            "curr_image": curr_image,
            "csrf_token": get_token(request),
        })
    except:
        log.error(traceback.format_exc())
        raise
    return HttpResponse(json.dumps(html), content_type="application/json")
Example #7
0
    def get(self, request, group_name):
        asg_cluster = autoscaling_groups_helper.get_group_info(
            request, group_name)
        appNames = baseimages_helper.get_image_names(request, 'AWS')
        appNames = sorted(appNames)
        is_cmp = False
        if asg_cluster:
            asg_vm_info = asg_cluster.get("launchInfo")
            curr_image = None
            if asg_vm_info:
                curr_image = baseimages_helper.get_by_provider_name(
                    request, asg_vm_info["imageId"])
                if asg_vm_info.get("subnets"):
                    asg_vm_info["subnetArrays"] = asg_vm_info["subnets"].split(
                        ',')
            group_info = asg_cluster.get("groupInfo")
            group_info = get_group_config_internal(group_info)
            envs = environs_helper.get_all_envs_by_group(request, group_name)
            for env in envs:
                basic_cluster_info = clusters_helper.get_cluster(
                    request, env.get('clusterName'))
                if basic_cluster_info:
                    is_cmp = True
        else:
            asg_vm_info = None
            group_info = None
            curr_image = None

        pas_config = autoscaling_groups_helper.get_pas_config(
            request, group_name)
        return render(
            request, 'groups/asg_config.html', {
                "asg_vm_config": asg_vm_info,
                "app_names": appNames,
                "curr_image": curr_image,
                "group_config": group_info,
                "group_name": group_name,
                "pas_config": pas_config,
                "is_cmp": is_cmp
            })