diff --git a/deploy-board/deploy_board/webapp/env_views.py b/deploy-board/deploy_board/webapp/env_views.py index eea12b6e89..3b44e998aa 100644 --- a/deploy-board/deploy_board/webapp/env_views.py +++ b/deploy-board/deploy_board/webapp/env_views.py @@ -446,7 +446,7 @@ def get(self, request, name, stage=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) + provisioning_hosts = deduplicate_hosts(environ_hosts_helper.get_hosts(request, name, stage)) response = render(request, 'environs/env_landing.html', { "envs": envs, @@ -589,6 +589,17 @@ def get(self, request, name, stage=None): return response + +def deduplicate_hosts(hosts): + results = [] + seen = set() + for h in hosts: + host_id = h['hostId'] + if host_id not in seen: + seen.add(host_id) + results.append(h) + return results + def _get_asg_suspended_processes(request, env): try: cluster_name = get_cluster_name(request, env.get('envName'), env.get('stageName'), env=env)