From a2ad32a98e7a3f32214d3ecd7ca9730e3602d11f Mon Sep 17 00:00:00 2001 From: elinuxhenrik Date: Wed, 18 Mar 2020 10:04:13 +0100 Subject: [PATCH] Renamed things to fit with namechange of RicSynchronizationTask Change-Id: I6de98e23eac06b8a54a8dc706904b3650a5014ee Issue-ID: NONRTRIC-117 Signed-off-by: elinuxhenrik --- policy-agent/docs/api.yaml | 19 ++++------ .../policyagent/clients/A1ClientFactory.java | 2 +- .../policyagent/controllers/PolicyController.java | 4 +-- .../controllers/ServiceRegistrationInfo.java | 2 +- .../policyagent/controllers/ServiceStatus.java | 2 +- .../policyagent/tasks/RicSynchronizationTask.java | 14 ++++---- .../org/oransc/policyagent/ApplicationTest.java | 2 +- .../policyagent/tasks/RicSupervisionTest.java | 40 +++++++++++----------- 8 files changed, 40 insertions(+), 45 deletions(-) diff --git a/policy-agent/docs/api.yaml b/policy-agent/docs/api.yaml index a2f1b57c..bd1ba686 100644 --- a/policy-agent/docs/api.yaml +++ b/policy-agent/docs/api.yaml @@ -425,7 +425,7 @@ paths: - name: type in: query description: type - required: true + required: false type: string responses: '200': @@ -444,10 +444,6 @@ paths: description: RIC or policy type is not found schema: type: string - '405': - description: Change is not allowed - schema: - type: string '423': description: RIC is locked schema: @@ -762,7 +758,7 @@ paths: post: tags: - Service registry and supervision - summary: Keep the policies alive for a service + summary: Heartbeat from a serice operationId: keepAliveServiceUsingPOST consumes: - application/json @@ -776,7 +772,7 @@ paths: type: string responses: '200': - description: Policies timeout supervision refreshed + description: 'Service supervision timer refreshed, OK' schema: type: string '201': @@ -874,11 +870,11 @@ definitions: properties: callbackUrl: type: string - description: callback for notifying of RIC recovery + description: callback for notifying of RIC synchronization keepAliveIntervalSeconds: type: integer format: int64 - description: keep alive interval for policies owned by the service. 0 means no timeout supervision. Polcies that are not refreshed within this time are removed + description: 'keep alive interval for the service. This is a heartbeat supervision of the service, which in regular intevals must invoke a ''keepAlive'' REST call. When a service does not invoke this call within the given time, it is considered unavailble. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means no timeout supervision.' serviceName: type: string description: identity of the service @@ -888,7 +884,7 @@ definitions: properties: callbackUrl: type: string - description: callback for notifying of RIC recovery + description: callback for notifying of RIC synchronization keepAliveIntervalSeconds: type: integer format: int64 @@ -896,9 +892,8 @@ definitions: serviceName: type: string description: identity of the service - timeSincePingSeconds: + timeSinceLastActivitySeconds: type: integer format: int64 description: time since last invocation by the service title: ServiceStatus - diff --git a/policy-agent/src/main/java/org/oransc/policyagent/clients/A1ClientFactory.java b/policy-agent/src/main/java/org/oransc/policyagent/clients/A1ClientFactory.java index 8f9169dd..0efec60a 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/clients/A1ClientFactory.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/clients/A1ClientFactory.java @@ -97,7 +97,7 @@ public class A1ClientFactory { .onErrorResume(notUsed -> fetchVersion(createClient(ric, A1ProtocolType.SDNC_OSC))) // .onErrorResume(notUsed -> fetchVersion(createClient(ric, A1ProtocolType.SDNC_ONAP))) // .doOnNext(ric::setProtocolVersion) - .doOnNext(version -> logger.debug("Recover ric: {}, protocol version:{}", ric.name(), version)) // + .doOnNext(version -> logger.debug("Established protocol version:{} for Ric: {}", version, ric.name())) // .doOnError(notUsed -> logger.warn("Could not get protocol version from RIC: {}", ric.name())); // } else { return Mono.just(ric.getProtocolVersion()); diff --git a/policy-agent/src/main/java/org/oransc/policyagent/controllers/PolicyController.java b/policy-agent/src/main/java/org/oransc/policyagent/controllers/PolicyController.java index bc3aa81c..0ef1679c 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/controllers/PolicyController.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/controllers/PolicyController.java @@ -182,7 +182,7 @@ public class PolicyController { policy = policies.getPolicy(id); keepServiceAlive(policy.ownerServiceName()); if (policy.ric().getState() != Ric.RicState.IDLE) { - return Mono.just(new ResponseEntity<>("Busy, recovering", HttpStatus.LOCKED)); + return Mono.just(new ResponseEntity<>("Busy, synchronizing", HttpStatus.LOCKED)); } Ric ric = policy.ric(); return ric.getLock().lock(LockType.SHARED) // // @@ -242,7 +242,7 @@ public class PolicyController { } return ric == null || type == null ? Mono.just(new ResponseEntity<>(HttpStatus.NOT_FOUND)) - : Mono.just(new ResponseEntity<>(HttpStatus.LOCKED)); // Recovering + : Mono.just(new ResponseEntity<>(HttpStatus.LOCKED)); // Synchronizing } @SuppressWarnings({"unchecked"}) diff --git a/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceRegistrationInfo.java b/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceRegistrationInfo.java index e532a362..1194e250 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceRegistrationInfo.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceRegistrationInfo.java @@ -45,7 +45,7 @@ public class ServiceRegistrationInfo { @SerializedName("keepAliveIntervalSeconds") public long keepAliveIntervalSeconds = 0; - @ApiModelProperty(value = "callback for notifying of RIC recovery", required = false, allowEmptyValue = true) + @ApiModelProperty(value = "callback for notifying of RIC synchronization", required = false, allowEmptyValue = true) @SerializedName("callbackUrl") public String callbackUrl = ""; diff --git a/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceStatus.java b/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceStatus.java index 8f4daac1..42be5744 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceStatus.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/controllers/ServiceStatus.java @@ -38,7 +38,7 @@ public class ServiceStatus { @ApiModelProperty(value = "time since last invocation by the service") public final long timeSinceLastActivitySeconds; - @ApiModelProperty(value = "callback for notifying of RIC recovery") + @ApiModelProperty(value = "callback for notifying of RIC synchronization") public String callbackUrl; ServiceStatus(String name, long keepAliveIntervalSeconds, long timeSincePingSeconds, String callbackUrl) { diff --git a/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSynchronizationTask.java b/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSynchronizationTask.java index a42135ef..6110c58c 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSynchronizationTask.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/tasks/RicSynchronizationTask.java @@ -95,11 +95,11 @@ public class RicSynchronizationTask { } private Flux startSynchronization(Ric ric, A1Client a1Client) { - Flux recoverTypes = synchronizePolicyTypes(ric, a1Client); + Flux synchronizedTypes = synchronizePolicyTypes(ric, a1Client); Flux policiesDeletedInRic = a1Client.deleteAllPolicies(); Flux policiesRecreatedInRic = recreateAllPoliciesInRic(ric, a1Client); - return Flux.concat(recoverTypes, policiesDeletedInRic, policiesRecreatedInRic); + return Flux.concat(synchronizedTypes, policiesDeletedInRic, policiesRecreatedInRic); } private void onSynchronizationComplete(Ric ric) { @@ -129,19 +129,19 @@ public class RicSynchronizationTask { // If synchronization fails, try to remove all instances deleteAllPoliciesInRepository(ric); - Flux recoverTypes = this.a1ClientFactory.createA1Client(ric) // + Flux synchronizedTypes = this.a1ClientFactory.createA1Client(ric) // .flatMapMany(a1Client -> synchronizePolicyTypes(ric, a1Client)); Flux deletePoliciesInRic = this.a1ClientFactory.createA1Client(ric) // .flatMapMany(A1Client::deleteAllPolicies) // .doOnComplete(() -> deleteAllPoliciesInRepository(ric)); - Flux.concat(recoverTypes, deletePoliciesInRic) // - .subscribe(x -> logger.debug("Brute recover: {}", x), // - throwable -> onRecoveryError(ric, throwable), // + Flux.concat(synchronizedTypes, deletePoliciesInRic) // + .subscribe(x -> logger.debug("Brute recovery of failed synchronization: {}", x), // + throwable -> onSynchronizationRecoveryError(ric, throwable), // () -> onSynchronizationComplete(ric)); } - private void onRecoveryError(Ric ric, Throwable t) { + private void onSynchronizationRecoveryError(Ric ric, Throwable t) { logger.warn("Synchronization failure recovery failed for ric: {}, reason: {}", ric.name(), t.getMessage()); ric.setState(RicState.UNDEFINED); } diff --git a/policy-agent/src/test/java/org/oransc/policyagent/ApplicationTest.java b/policy-agent/src/test/java/org/oransc/policyagent/ApplicationTest.java index 5b6c5ba2..2308fcf1 100644 --- a/policy-agent/src/test/java/org/oransc/policyagent/ApplicationTest.java +++ b/policy-agent/src/test/java/org/oransc/policyagent/ApplicationTest.java @@ -212,7 +212,7 @@ public class ApplicationTest { } @Test - public void testRecovery() throws Exception { + public void testSynchronization() throws Exception { addRic("ric").setState(Ric.RicState.UNDEFINED); String ricName = "ric"; Policy policy2 = addPolicy("policyId2", "typeName", "service", ricName); diff --git a/policy-agent/src/test/java/org/oransc/policyagent/tasks/RicSupervisionTest.java b/policy-agent/src/test/java/org/oransc/policyagent/tasks/RicSupervisionTest.java index 8d3dd942..7aef0c08 100644 --- a/policy-agent/src/test/java/org/oransc/policyagent/tasks/RicSupervisionTest.java +++ b/policy-agent/src/test/java/org/oransc/policyagent/tasks/RicSupervisionTest.java @@ -95,7 +95,7 @@ public class RicSupervisionTest { private A1ClientFactory a1ClientFactory; @Mock - private RicSynchronizationTask recoveryTaskMock; + private RicSynchronizationTask synchronizationTaskMock; private final PolicyTypes types = new PolicyTypes(); private Policies policies = new Policies(); @@ -121,7 +121,7 @@ public class RicSupervisionTest { } @Test - public void whenRicIdleAndNoChangedPoliciesOrPolicyTypes_thenNoRecovery() { + public void whenRicIdleAndNoChangedPoliciesOrPolicyTypes_thenNoSynchronization() { RIC_1.setState(RicState.IDLE); RIC_1.addSupportedPolicyType(POLICY_TYPE_1); rics.put(RIC_1); @@ -142,24 +142,24 @@ public class RicSupervisionTest { } @Test - public void whenRicUndefined_thenRecovery() { + public void whenRicUndefined_thenSynchronization() { RIC_1.setState(RicState.UNDEFINED); rics.put(RIC_1); RicSupervision supervisorUnderTest = spy(new RicSupervision(rics, policies, a1ClientFactory, types, null)); - doReturn(recoveryTaskMock).when(supervisorUnderTest).createSynchronizationTask(); + doReturn(synchronizationTaskMock).when(supervisorUnderTest).createSynchronizationTask(); supervisorUnderTest.checkAllRics(); verify(supervisorUnderTest).checkAllRics(); verify(supervisorUnderTest).createSynchronizationTask(); - verify(recoveryTaskMock).run(RIC_1); + verify(synchronizationTaskMock).run(RIC_1); verifyNoMoreInteractions(supervisorUnderTest); } @Test - public void whenRicRecovering_thenNoRecovery() { + public void whenRicSynchronizing_thenNoSynchronization() { RIC_1.setState(RicState.SYNCHRONIZING); rics.put(RIC_1); @@ -172,7 +172,7 @@ public class RicSupervisionTest { } @Test - public void whenRicIdleAndErrorGettingPolicyIdentities_thenNoRecovery() { + public void whenRicIdleAndErrorGettingPolicyIdentities_thenNoSynchronization() { RIC_1.setState(RicState.IDLE); RIC_1.addSupportedPolicyType(POLICY_TYPE_1); rics.put(RIC_1); @@ -187,7 +187,7 @@ public class RicSupervisionTest { } @Test - public void whenRicIdleAndNotSameAmountOfPolicies_thenRecovery() { + public void whenRicIdleAndNotSameAmountOfPolicies_thenSynchronization() { RIC_1.setState(RicState.IDLE); rics.put(RIC_1); @@ -198,18 +198,18 @@ public class RicSupervisionTest { RicSupervision supervisorUnderTest = spy(new RicSupervision(rics, policies, a1ClientFactory, types, null)); - doReturn(recoveryTaskMock).when(supervisorUnderTest).createSynchronizationTask(); + doReturn(synchronizationTaskMock).when(supervisorUnderTest).createSynchronizationTask(); supervisorUnderTest.checkAllRics(); verify(supervisorUnderTest).checkAllRics(); verify(supervisorUnderTest).createSynchronizationTask(); - verify(recoveryTaskMock).run(RIC_1); + verify(synchronizationTaskMock).run(RIC_1); verifyNoMoreInteractions(supervisorUnderTest); } @Test - public void whenRicIdleAndSameAmountOfPoliciesButNotSamePolicies_thenRecovery() { + public void whenRicIdleAndSameAmountOfPoliciesButNotSamePolicies_thenSynchronization() { RIC_1.setState(RicState.IDLE); rics.put(RIC_1); @@ -220,18 +220,18 @@ public class RicSupervisionTest { RicSupervision supervisorUnderTest = spy(new RicSupervision(rics, policies, a1ClientFactory, types, null)); - doReturn(recoveryTaskMock).when(supervisorUnderTest).createSynchronizationTask(); + doReturn(synchronizationTaskMock).when(supervisorUnderTest).createSynchronizationTask(); supervisorUnderTest.checkAllRics(); verify(supervisorUnderTest).checkAllRics(); verify(supervisorUnderTest).createSynchronizationTask(); - verify(recoveryTaskMock).run(RIC_1); + verify(synchronizationTaskMock).run(RIC_1); verifyNoMoreInteractions(supervisorUnderTest); } @Test - public void whenRicIdleAndErrorGettingPolicyTypes_thenNoRecovery() { + public void whenRicIdleAndErrorGettingPolicyTypes_thenNoSynchronization() { RIC_1.setState(RicState.IDLE); RIC_1.addSupportedPolicyType(POLICY_TYPE_1); rics.put(RIC_1); @@ -247,7 +247,7 @@ public class RicSupervisionTest { } @Test - public void whenRicIdleAndNotSameAmountOfPolicyTypes_thenRecovery() { + public void whenRicIdleAndNotSameAmountOfPolicyTypes_thenSynchronization() { RIC_1.setState(RicState.IDLE); RIC_1.addSupportedPolicyType(POLICY_TYPE_1); rics.put(RIC_1); @@ -259,18 +259,18 @@ public class RicSupervisionTest { RicSupervision supervisorUnderTest = spy(new RicSupervision(rics, policies, a1ClientFactory, types, null)); - doReturn(recoveryTaskMock).when(supervisorUnderTest).createSynchronizationTask(); + doReturn(synchronizationTaskMock).when(supervisorUnderTest).createSynchronizationTask(); supervisorUnderTest.checkAllRics(); verify(supervisorUnderTest).checkAllRics(); verify(supervisorUnderTest).createSynchronizationTask(); - verify(recoveryTaskMock).run(RIC_1); + verify(synchronizationTaskMock).run(RIC_1); verifyNoMoreInteractions(supervisorUnderTest); } @Test - public void whenRicIdleAndSameAmountOfPolicyTypesButNotSameTypes_thenRecovery() { + public void whenRicIdleAndSameAmountOfPolicyTypesButNotSameTypes_thenSynchronization() { PolicyType policyType2 = ImmutablePolicyType.builder() // .name("policyType2") // .schema("") // @@ -286,13 +286,13 @@ public class RicSupervisionTest { RicSupervision supervisorUnderTest = spy(new RicSupervision(rics, policies, a1ClientFactory, types, null)); - doReturn(recoveryTaskMock).when(supervisorUnderTest).createSynchronizationTask(); + doReturn(synchronizationTaskMock).when(supervisorUnderTest).createSynchronizationTask(); supervisorUnderTest.checkAllRics(); verify(supervisorUnderTest).checkAllRics(); verify(supervisorUnderTest).createSynchronizationTask(); - verify(recoveryTaskMock).run(RIC_1); + verify(synchronizationTaskMock).run(RIC_1); verifyNoMoreInteractions(supervisorUnderTest); } -- 2.16.6