def get_status(self, _show_errors=True): result = [] load_balancer = self._get_load_balancer_handle() for host in load_balancer.get_instance_health(): host_id = host.instance_id host_instance = _get_ec2_instances([host_id], self.region, aws_credentials=self.aws_credentials) dns_name = host_instance[0].public_dns_name try: model_data = self._get_model_versions_for_host(dns_name) except: if _show_errors: _logger.error("Can not connect to %s" % dns_name) model_data = None result.append( { "id": host_id, "dns_name": dns_name, "models": model_data, "state": host.state, "reason": host.reason_code, } ) return result
def _get_all_hosts(self): load_balancer_handle = self._get_load_balancer_handle() host_ids = [i.id for i in load_balancer_handle.instances] return _get_ec2_instances(host_ids, self.region, self.aws_credentials)