def get(self, request, name, stage, hostname): agents = agents_helper.get_agents_by_host(request, hostname) env = environs_helper.get_env_by_stage(request, name, stage) host = environ_hosts_helper.get_host_by_env_and_hostname( request, name, stage, hostname) show_terminate = False asg = '' if host and host.get('hostId'): if host.get('state') != 'PENDING_TERMINATE' and host.get( 'state') != 'TERMINATING' and host.get( 'state') != 'TERMINATED': show_terminate = True cluster_provider = clusters_helper.get_cluster_provider( request, name, stage) if cluster_provider == 'null': cluster_provider = None # TODO deprecated it if host and host.get('groupName'): group_info = groups_helper.get_group_info(request, host.get('groupName')) if group_info and group_info["asgStatus"] == "ENABLED": asg = host.get('groupName') # gather the env name and stage info agent_wrappers = [] for agent in agents: agent_wrapper = {} agent_wrapper["agent"] = agent envId = agent['envId'] agent_env = environs_helper.get(request, envId) agent_wrapper["env"] = env agent_wrapper["error"] = "" if agent.get('lastErrno', 0) != 0: agent_wrapper["error"] = agents_helper.get_agent_error( request, agent_env['envName'], agent_env['stageName'], hostname) agent_wrappers.append(agent_wrapper) return render( request, 'hosts/host_details.html', { 'env_name': name, 'stage_name': stage, 'hostname': hostname, 'host': host, 'agent_wrappers': agent_wrappers, 'show_terminate': show_terminate, 'cluster_provider': cluster_provider, 'asg_group': asg, 'pinterest': IS_PINTEREST, })
def get(self, request, name, stage, hostname): agents = agents_helper.get_agents_by_host(request, hostname) env = environs_helper.get_env_by_stage(request, name, stage) host = environ_hosts_helper.get_host_by_env_and_hostname(request, name, stage, hostname) show_terminate = False asg = '' if host and host.get('hostId'): if host.get('state') != 'PENDING_TERMINATE' and host.get('state') != 'TERMINATING' and host.get('state') != 'TERMINATED': show_terminate = True cluster_provider = clusters_helper.get_cluster_provider(request, name, stage) if cluster_provider == 'null': cluster_provider = None # TODO deprecated it if host and host.get('groupName'): group_info = groups_helper.get_group_info(request, host.get('groupName')) if group_info and group_info["asgStatus"] == "ENABLED": asg = host.get('groupName') # gather the env name and stage info agent_wrappers = [] for agent in agents: agent_wrapper = {} agent_wrapper["agent"] = agent envId = agent['envId'] agent_env = environs_helper.get(request, envId) agent_wrapper["env"] = env agent_wrapper["error"] = "" if agent.get('lastErrno', 0) != 0: agent_wrapper["error"] = agents_helper.get_agent_error(request, agent_env['envName'], agent_env['stageName'], hostname) agent_wrappers.append(agent_wrapper) return render(request, 'hosts/host_details.html', { 'env_name': name, 'stage_name': stage, 'hostname': hostname, 'host': host, 'agent_wrappers': agent_wrappers, 'show_terminate': show_terminate, 'cluster_provider': cluster_provider, 'asg_group': asg, 'pinterest': IS_PINTEREST, })
def get_cluster(request, name, stage): envs = environs_helper.get_all_env_stages(request, name) stages, env = common.get_all_stages(envs, stage) provider_list = baseimages_helper.get_all_providers(request) cluster_provider = clusters_helper.get_cluster_provider(request, name, stage) if cluster_provider == 'null': cluster_provider = None basic_cluster_info = clusters_helper.get_cluster(request, name, stage) advanced_cluster_info = clusters_helper.get_advanced_cluster(request, name, stage, cluster_provider) return render(request, 'clusters/clusters.html', { 'env': env, 'stages': stages, 'provider_list': provider_list, 'cluster_provider': cluster_provider, 'basic_cluster_info': basic_cluster_info, 'advanced_cluster_info': advanced_cluster_info, })
def get_basic_cluster(request, name, stage): envs = environs_helper.get_all_env_stages(request, name) stages, env = common.get_all_stages(envs, stage) provider_list = baseimages_helper.get_all_providers(request) cluster_provider = clusters_helper.get_cluster_provider(request, name, stage) basic_cluster_info = clusters_helper.get_cluster(request, name, stage) advanced_cluster_info = clusters_helper.get_advanced_cluster(request, name, stage, cluster_provider) html = render_to_string('clusters/clusters.tmpl', { 'env': env, 'stages': stages, 'provider_list': provider_list, 'cluster_provider': cluster_provider, 'basic_cluster_info': basic_cluster_info, 'advanced_cluster_info': advanced_cluster_info, 'csrf_token': get_token(request), }) return HttpResponse(json.dumps(html), content_type="application/json")
def get_cluster(request, name, stage): envs = environs_helper.get_all_env_stages(request, name) stages, env = common.get_all_stages(envs, stage) provider_list = baseimages_helper.get_all_providers(request) cluster_provider = clusters_helper.get_cluster_provider( request, name, stage) if cluster_provider == 'null': cluster_provider = None basic_cluster_info = clusters_helper.get_cluster(request, name, stage) advanced_cluster_info = clusters_helper.get_advanced_cluster( request, name, stage, cluster_provider) return render( request, 'clusters/clusters.html', { 'env': env, 'stages': stages, 'provider_list': provider_list, 'cluster_provider': cluster_provider, 'basic_cluster_info': basic_cluster_info, 'advanced_cluster_info': advanced_cluster_info, })
def get_basic_cluster(request, name, stage): envs = environs_helper.get_all_env_stages(request, name) stages, env = common.get_all_stages(envs, stage) provider_list = baseimages_helper.get_all_providers(request) cluster_provider = clusters_helper.get_cluster_provider( request, name, stage) basic_cluster_info = clusters_helper.get_cluster(request, name, stage) advanced_cluster_info = clusters_helper.get_advanced_cluster( request, name, stage, cluster_provider) html = render_to_string( 'clusters/clusters.tmpl', { 'env': env, 'stages': stages, 'provider_list': provider_list, 'cluster_provider': cluster_provider, 'basic_cluster_info': basic_cluster_info, 'advanced_cluster_info': advanced_cluster_info, 'csrf_token': get_token(request), }) return HttpResponse(json.dumps(html), content_type="application/json")
def get(self, request, name, stage): if request.is_ajax(): env = environs_helper.get_env_by_stage(request, name, stage) html = render_to_string('configs/env_config.tmpl', { "env": env, "csrf_token": get_token(request), }) return HttpResponse(json.dumps({'html': html}), content_type="application/json") envs = environs_helper.get_all_env_stages(request, name) stages, env = common.get_all_stages(envs, stage) # get capacity to decide if we need to show the remove stage button show_remove = True # if people have already specified host capacity or group capacity but do not have cluster config # show capacity config page; otherwise, show cluster config page show_cluster_config = True hosts = environs_helper.get_env_capacity(request, name, stage, capacity_type="HOST") if hosts: show_remove = False show_cluster_config = False else: groups = environs_helper.get_env_capacity(request, name, stage, capacity_type="GROUP") if groups: show_remove = False cluster_provider = clusters_helper.get_cluster_provider(request, name, stage) if cluster_provider == 'null': show_cluster_config = False return render(request, 'configs/env_config.html', { "env": env, "stages": stages, "show_remove": show_remove, "show_cluster_config": show_cluster_config, "pinterest": IS_PINTEREST, })
def get(self, request, name, stage=None): envs = environs_helper.get_all_env_stages(request, name) if len(envs) == 0: return redirect('/') stages, env = common.get_all_stages(envs, stage) env_promote = environs_helper.get_env_promotes_config( request, name, env['stageName']) stage = env['stageName'] username = request.teletraan_user_id.name request_feedback = check_feedback_eligible(request, username) groups = environs_helper.get_env_capacity(request, name, stage, capacity_type="GROUP") metrics = environs_helper.get_env_metrics_config(request, name, stage) alarms = environs_helper.get_env_alarms_config(request, name, stage) cluster_provider = clusters_helper.get_cluster_provider( request, name, stage) if cluster_provider == 'null': cluster_provider = None if not env['deployId']: capacity_hosts = deploys_helper.get_missing_hosts( request, name, stage) provisioning_hosts = environ_hosts_helper.get_hosts( request, name, stage) response = render( request, 'environs/env_landing.html', { "env": env, "env_promote": env_promote, "stages": stages, "metrics": metrics, "alarms": alarms, "request_feedback": request_feedback, "groups": groups, "capacity_hosts": capacity_hosts, "provisioning_hosts": provisioning_hosts, "cluster_provider": cluster_provider, "pinterest": IS_PINTEREST, }) showMode = 'complete' sortByStatus = 'true' else: # Get deploy progress progress = deploys_helper.update_progress(request, name, stage) showMode = _fetch_param_with_cookie(request, 'showMode', MODE_COOKIE_NAME, 'complete') sortByStatus = _fetch_param_with_cookie(request, 'sortByStatus', STATUS_COOKIE_NAME, 'true') report = agent_report.gen_report(request, env, progress, sortByStatus=sortByStatus) report.showMode = showMode report.sortByStatus = sortByStatus response = render( request, 'environs/env_landing.html', { "env": env, "env_promote": env_promote, "stages": stages, "report": report, "has_deploy": True, "metrics": metrics, "alarms": alarms, "request_feedback": request_feedback, "groups": groups, "cluster_provider": cluster_provider, "pinterest": IS_PINTEREST, }) # save preferences response.set_cookie(ENV_COOKIE_NAME, genEnvCookie(request, name)) response.set_cookie(MODE_COOKIE_NAME, showMode) response.set_cookie(STATUS_COOKIE_NAME, sortByStatus) return response
def get(self, request, name, stage=None): envs = environs_helper.get_all_env_stages(request, name) if len(envs) == 0: return redirect('/') stages, env = common.get_all_stages(envs, stage) env_promote = environs_helper.get_env_promotes_config(request, name, env['stageName']) stage = env['stageName'] username = request.teletraan_user_id.name request_feedback = check_feedback_eligible(request, username) groups = environs_helper.get_env_capacity(request, name, stage, capacity_type="GROUP") metrics = environs_helper.get_env_metrics_config(request, name, stage) alarms = environs_helper.get_env_alarms_config(request, name, stage) cluster_provider = clusters_helper.get_cluster_provider(request, name, stage) if cluster_provider == 'null': cluster_provider = None if not env['deployId']: capacity_hosts = deploys_helper.get_missing_hosts(request, name, stage) provisioning_hosts = environ_hosts_helper.get_hosts(request, name, stage) response = render(request, 'environs/env_landing.html', { "env": env, "env_promote": env_promote, "stages": stages, "metrics": metrics, "alarms": alarms, "request_feedback": request_feedback, "groups": groups, "capacity_hosts": capacity_hosts, "provisioning_hosts": provisioning_hosts, "cluster_provider": cluster_provider, "pinterest": IS_PINTEREST, }) showMode = 'complete' sortByStatus = 'true' else: # Get deploy progress progress = deploys_helper.update_progress(request, name, stage) showMode = _fetch_param_with_cookie( request, 'showMode', MODE_COOKIE_NAME, 'complete') sortByStatus = _fetch_param_with_cookie( request, 'sortByStatus', STATUS_COOKIE_NAME, 'true') report = agent_report.gen_report(request, env, progress, sortByStatus=sortByStatus) report.showMode = showMode report.sortByStatus = sortByStatus response = render(request, 'environs/env_landing.html', { "env": env, "env_promote": env_promote, "stages": stages, "report": report, "has_deploy": True, "metrics": metrics, "alarms": alarms, "request_feedback": request_feedback, "groups": groups, "cluster_provider": cluster_provider, "pinterest": IS_PINTEREST, }) # save preferences response.set_cookie(ENV_COOKIE_NAME, genEnvCookie(request, name)) response.set_cookie(MODE_COOKIE_NAME, showMode) response.set_cookie(STATUS_COOKIE_NAME, sortByStatus) return response