510d6b8fc3348d1e8f0c0a6972c5f45de3ff88c7
[so/adapters/so-cnf-adapter.git] /
1 package org.onap.so.adapters.cnf.service.statuscheck;
2
3 import org.onap.so.adapters.cnf.client.MulticloudClient;
4 import org.onap.so.adapters.cnf.model.CheckInstanceRequest;
5 import org.onap.so.adapters.cnf.model.InstanceRequest;
6 import org.onap.so.adapters.cnf.model.statuscheck.K8sRbInstanceStatus;
7 import org.onap.so.adapters.cnf.model.statuscheck.StatusCheckInstanceResponse;
8 import org.onap.so.adapters.cnf.model.statuscheck.StatusCheckResponse;
9 import org.onap.so.client.exception.BadResponseException;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
12 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Service;
14
15 import java.util.ArrayList;
16 import java.util.List;
17
18 @Service
19 public class SimpleStatusCheckService {
20
21     private final Logger log = LoggerFactory.getLogger(SimpleStatusCheckService.class);
22     private final MulticloudClient instanceApi;
23
24     @Autowired
25     public SimpleStatusCheckService(MulticloudClient instanceApi) {
26         this.instanceApi = instanceApi;
27     }
28
29     public StatusCheckResponse statusCheck(CheckInstanceRequest instanceIds) throws BadResponseException {
30         log.info("CnfAdapterService statusCheck called");
31         StatusCheckResponse result = new StatusCheckResponse();
32
33         List<StatusCheckInstanceResponse> simpleStatuses = new ArrayList<>();
34         for (InstanceRequest instanceRequest : instanceIds.getInstances()) {
35             String instanceId = instanceRequest.getInstanceId();
36             StatusCheckInstanceResponse statusCheck = getStatusCheck(instanceId);
37             simpleStatuses.add(statusCheck);
38         }
39
40         result.setInstanceResponse(simpleStatuses);
41         return result;
42     }
43
44     private StatusCheckInstanceResponse getStatusCheck(String instanceId) throws BadResponseException {
45         log.debug("SIMPLE STATUS CHECK - START");
46         K8sRbInstanceStatus instanceStatus = instanceApi.getInstanceStatus(instanceId);
47         boolean isInstanceReady = instanceStatus.isReady();
48         log.info("Get status for instanceId: {}", instanceId);
49         log.info("Instance status: {}", instanceStatus);
50         StatusCheckInstanceResponse result = new StatusCheckInstanceResponse(instanceId, null, isInstanceReady);
51         log.debug("SIMPLE STATUS CHECK - END SUCCESS");
52
53         return result;
54     }
55
56 }