EXPOSE 8081
ADD /config/application.yaml /opt/app/policy-agent/config/
-ADD /target/policy-agent-1.0.0-SNAPSHOT.jar /opt/app/policy-agent/
+ADD target/policy-agent-1.0.0-SNAPSHOT.jar /opt/app/policy-agent/
RUN chmod -R 777 /opt/app/policy-agent/config/
org.onap.dcaegen2.collectors.datafile: WARN
file: /var/log/policy-agent/application.log
app:
- filepath: /opt/app/policy-agent/config/application_configuration.json
+ filepath: src/test/resources/test_application_configuration.json
+
server:
port : 8081
+++ /dev/null
-{
- "config": {
- "//description": "Application configuration",
- "ric": [
- {
- "name": "ric1",
- "baseUrl": "http://localhost:8080/",
- "managedElementIds": [
- "kista_1",
- "kista_2"
- ]
- }
- ]
- }
-}
\ No newline at end of file
package org.oransc.policyagent.controllers;
-import java.util.Collection;
-import java.util.Vector;
-
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import java.util.Collection;
+import java.util.Vector;
+
import org.oransc.policyagent.configuration.ApplicationConfig;
import org.oransc.policyagent.exceptions.ServiceException;
import org.oransc.policyagent.repository.ImmutablePolicy;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-
@RestController
@Api(value = "Policy Management API")
public class PolicyController {
package org.oransc.policyagent.controllers;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+
import java.time.Duration;
import java.util.Collection;
import java.util.Vector;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-
import org.oransc.policyagent.exceptions.ServiceException;
import org.oransc.policyagent.repository.Service;
import org.oransc.policyagent.repository.Services;
import org.oransc.policyagent.clients.A1Client;
import org.oransc.policyagent.repository.Policies;
import org.oransc.policyagent.repository.Ric;
-import org.oransc.policyagent.repository.Rics;
import org.oransc.policyagent.repository.Ric.RicState;
+import org.oransc.policyagent.repository.Rics;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
private Mono<Ric> checkActive(Ric ric) {
logger.debug("Handling active ric {}", ric);
a1Client.getPolicyIdentities(ric.getConfig().baseUrl()) //
- .filter(policyId -> !policies.containsPolicy(policyId)) //
- .doOnNext(policyId -> logger.debug("Deleting policy {}", policyId))
- .flatMap(policyId -> a1Client.deletePolicy(ric.getConfig().baseUrl(), policyId)) //
- .subscribe();
+ .filter(policyId -> !policies.containsPolicy(policyId)) //
+ .doOnNext(policyId -> logger.debug("Deleting policy {}", policyId))
+ .flatMap(policyId -> a1Client.deletePolicy(ric.getConfig().baseUrl(), policyId)) //
+ .subscribe();
return Mono.just(ric);
}
private Mono<Ric> checkNotReachable(Ric ric) {
logger.debug("Handling not reachable ric {}", ric);
a1Client.getPolicyIdentities(ric.getConfig().baseUrl()) //
- .filter(policyId -> !policies.containsPolicy(policyId)) //
- .doOnNext(policyId -> logger.debug("Deleting policy {}", policyId))
- .flatMap(policyId -> a1Client.deletePolicy(ric.getConfig().baseUrl(), policyId)) //
- .subscribe(null, null, () -> ric.setState(RicState.ACTIVE));
+ .filter(policyId -> !policies.containsPolicy(policyId)) //
+ .doOnNext(policyId -> logger.debug("Deleting policy {}", policyId))
+ .flatMap(policyId -> a1Client.deletePolicy(ric.getConfig().baseUrl(), policyId)) //
+ .subscribe(null, null, () -> ric.setState(RicState.ACTIVE));
return Mono.just(ric);
}
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
package org.oransc.policyagent.tasks;
-import static org.mockito.ArgumentMatchers.anyString;
import static org.awaitility.Awaitility.await;
+import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import org.oransc.policyagent.repository.Policy;
import org.oransc.policyagent.repository.PolicyType;
import org.oransc.policyagent.repository.Ric;
-import org.oransc.policyagent.repository.Rics;
import org.oransc.policyagent.repository.Ric.RicState;
+import org.oransc.policyagent.repository.Rics;
+
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import static org.oransc.policyagent.repository.Ric.RicState.NOT_REACHABLE;
import java.util.Vector;
+
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.junit.runner.RunWith;
import org.oransc.policyagent.repository.PolicyTypes;
import org.oransc.policyagent.repository.Ric;
import org.oransc.policyagent.repository.Rics;
+
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;