This is an automated email from the ASF dual-hosted git repository. ofuks pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/develop by this push: new aa7816a [DLAB-1484] Added check for inactive endpoints aa7816a is described below commit aa7816a0f7e6a7d5b1a154e12555f7402cc39c37 Author: Oleh Fuks <olegfuk...@gmail.com> AuthorDate: Mon Feb 3 19:03:16 2020 +0200 [DLAB-1484] Added check for inactive endpoints --- .../endpoint/CheckEndpointStatusScheduler.java | 22 ++++++++++++++-------- .../service/impl/EndpointServiceImpl.java | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/endpoint/CheckEndpointStatusScheduler.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/endpoint/CheckEndpointStatusScheduler.java index 2f34688..5707553 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/endpoint/CheckEndpointStatusScheduler.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/endpoint/CheckEndpointStatusScheduler.java @@ -41,20 +41,26 @@ public class CheckEndpointStatusScheduler implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) { UserInfo serviceUser = securityService.getServiceAccountInfo("admin"); - endpointService.getEndpointsWithStatus(EndpointDTO.EndpointStatus.ACTIVE).stream() - .filter(endpoint -> checkUrl(serviceUser, endpoint)) - .peek(e -> log.warn("Failed connecting to endpoint {}, url: \'{}\'", e.getName(), e.getUrl())) - .forEach(e -> endpointService.updateEndpointStatus(e.getName(), EndpointDTO.EndpointStatus.INACTIVE)); + endpointService.getEndpoints().stream() + .filter(endpoint -> checkUrlWithStatus(serviceUser, endpoint)) + .forEach(this::changeStatusToOpposite); } - private boolean checkUrl(UserInfo serviceUser, EndpointDTO endpoint) { + private boolean checkUrlWithStatus(UserInfo serviceUser, EndpointDTO endpoint) { try { endpointService.checkUrl(serviceUser, endpoint.getUrl()); } catch (Exception e) { - return true; + log.warn("Failed connecting to endpoint {}, url: '{}'. {}", endpoint.getName(), endpoint.getUrl(), e.getMessage()); + return endpoint.getStatus() == EndpointDTO.EndpointStatus.ACTIVE; } - return false; + return endpoint.getStatus() == EndpointDTO.EndpointStatus.INACTIVE; } - + private void changeStatusToOpposite(EndpointDTO endpoint) { + if (endpoint.getStatus() == EndpointDTO.EndpointStatus.ACTIVE) { + endpointService.updateEndpointStatus(endpoint.getName(), EndpointDTO.EndpointStatus.INACTIVE); + } else { + endpointService.updateEndpointStatus(endpoint.getName(), EndpointDTO.EndpointStatus.ACTIVE); + } + } } diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EndpointServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EndpointServiceImpl.java index 4880fbc..a4cf90b 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EndpointServiceImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EndpointServiceImpl.java @@ -138,7 +138,7 @@ public class EndpointServiceImpl implements EndpointService { response = provisioningService.get(url + HEALTH_CHECK, userInfo.getAccessToken(), Response.class); cloudProvider = response.readEntity(CloudProvider.class); } catch (Exception e) { - log.error("Cannot connect to url '{}'", url); + log.error("Cannot connect to url '{}'. {}", url, e.getMessage()); throw new DlabException(String.format("Cannot connect to url '%s'", url), e); } if (response.getStatus() != 200) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org