You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2020/02/03 17:03:44 UTC
[incubator-dlab] branch develop updated: [DLAB-1484] Added check
for inactive endpoints
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 <ol...@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-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org