Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Eliminated a few more xxxAsync calls in Actors. Now, the remaining
xxxAsync calls are necessary so that the callbacks are executed using
the executor specified via the "params".
Issue-ID: POLICY-1625
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: Ia4ff758f71f8bbe014ae5b1a58d8439c0d4ea2ed
|
|
|
|
1) Create the operator, operation & manager classes for gRPC request.
2) Use CompletableFuture to track CDS request flow.
Issue-ID: POLICY-2384
Change-Id: I84e30131a69c2d24c1871ceebced2b69194f619c
Signed-off-by: Ram Krishna Verma <ram_krishna.verma@bell.ca>
|
|
|
|
The ActorService singleton is not needed at this time, so it was
removed.
Issue-ID: POLICY-1625
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I9b4cbb72cedbeb77b39422e71650ab60c9aec7ec
|
|
Changed the key by which the VF Count is stored within the context
so that each Target can have its own VF Count. Also moved VF Count
code from VfModuleCreate to SoOperation, to hide the determination
of the VF Count "key".
Fixed sonar issue about return "null" instead of returning an empty
list - modified the code to use Optional.
Issue-ID: POLICY-2371
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: Ia23eabea0edf6857372e269a2db1a21e741824c6
|
|
Issue-ID: POLICY-2350
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I3e9c9aae474d4b288a162243bc492b301d1044c0
|
|
Issue-ID: POLICY-2385
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I7745e8286dd6f086941b979f16b2328bfa066788
|
|
|
|
Issue-ID: POLICY-2385
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I12a7d55b118baa5f0f849855fbcf0602a1208b52
|
|
The Actor clients receive notifications of operation failures, but
no indication if it's the final failure, thus they do not know if
they should progress on to the "failure" policies.
Issue-ID: POLICY-2385
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: If053ed459e1d790e58eca950a8feeabaf4d67a41
|
|
This was supposed to be two separate commits, but I goofed something.
Added guard query to Operation superclass. Modified VfModuleCreate
to store the VF count, pass it to the guard, and bump it once the
create completes successfully.
Added code to check Actors for proper plug-in to ActorService.
Renamed "operation" property to "operations", to be more consistent
with other parameters (e.g., TopicParameterGroup).
The META-INF/services files for the actors had mixed case, which
did not match the package name of the Actor class, preventing the
ServiceLoader from recognizing them. Also modified the ActorService
to skip any that cannot actually be loaded, for whatever reason
(e.g., not in the classpath).
Issue-ID: POLICY-1625
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: Ifa97744543f2866cc553138ec5ec644b033de780
|
|
Currently, Operator classes refer to Operation classes, and
vice versa, creating a dependency cycle. In addition, there is
a slight problem in that if an operator is reconfigured, any
running operation may get inconsistent configuration data.
Modified the code to create Config objects that are passed to
the operation, instead of passing the Operator to the operations.
This solved both issues.
Replaceed makeOperator() with constructors.
Added parameter type to HttpActors.
Modified guard to get "ONAP" properties from its configuration,
as a default.
Changed setUp() to setUpBasic(), so "throws Exception" could be
removed, thus resolving a sonar issue.
Issue-ID: POLICY-1625
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I21eb8798acfbc636ff1bd8741b21c7278365b6e4
|
|
|
|
Issue-ID: POLICY-2350
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: Ib68c22a1154607563cb8a657b8101757a29b47ef
|
|
Issue-ID: POLICY-2371
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I3faf0276e8039dc43a976d18ff8e704fdbec3d49
|
|
Created common junit superclass, BasicOperation, containing
verifyRequest() method, among others.
Issue-ID: POLICY-2363
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I7ff4428e94bfd301ff4194e1766ef61906714dcf
|
|
|
|
Issue-ID: POLICY-2363
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I21908c9875aa1d2ad3678cb7613b5a3e1fada340
|
|
Used SuperBuilder in operation Params classes.
Added rawResponse to http setOutcome().
Made HttpOperation.operator private.
Issue-ID: POLICY-2371
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: Ie894f2e6ae4a31b69a700e425f9e94c5e8a15daa
|
|
Use Coder.convert() from policy-common.
Passed response to setOutcome().
Changed class names from XxxOperator to XxxOperation.
Modified SDNC junits to invoke start() instead of startOperationAsync().
Changed context obtain() to re-run if the future was canceled.
Added junit support class, BasicBidirectionalTopicOperation.
Modified HttpOperation to allow subsequent requests to be issued.
Some actors, like SO, send an initial HTTP request and then follow
it with HTTP "are you done?" requests.
Issue-ID: POLICY-2363-prop
Change-Id: I12b5c2d4f07254e0cb79fabfe1ccf844b70a0654
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Also modified "target" to sink in various places, and renamed
various uses of "pair" to "bidirectional" (e.g., TopicPairParams
=> BidirectionalTopicParams).
Also replaced MyExec with PseudoExecutor, from policy-common.
As part of this, extracted the logRequest and logResponse methods
from the Http and Topic classes, moving them into the common
OperationPartial class.
Modified A&AI, SDNC junit tests to use PseudoExecutor.
Added support for incomplete responses on Topics, where multiple
responses may be received for one request
Fixed a duplicate entry in actor.aai pom.
As the changes were already big enough, went ahead and also did the
following to support the APPC Actor:
- Reorganized parameter classes and content.
- Modified anyOf, allOf to take functions instead of futures and handle
exceptions thrown by any of the functions. Also added sequence() method.
- Deleted doTask.
- Modified ActorService.config to take a map of maps, not just a map.
- Decided NOT to move anyOf, allOf, and sequence from OperationPartial
to a utility class, because they depend on "params".
Issue-ID: POLICY-2363
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I5a8bae05dfef22fe71c57c58f265b9dac20df5c5
|
|
Issue-ID: POLICY-2363
Change-Id: I5d29d85f6c5f40fb6c8f1bf678d9c718760a7558
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Added A&AI Actor, as well as operators for the "custom query" and
the "tenant" query (on which the custom query depends).
Issue-ID: POLICY-1625
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: Ic9dadc07a6057cb1abb9698da86eb9431fc9ed3e
|
|
Added obtain() to Context
Added startGuardAsync(), in anticipation of adding guards.
Moved logRestXxx() from Util to HttpOperation.
Added actor.test to facilitate testing of actors.
Changed timeoutSec from long to int in various places.
Made a couple of methods public to support junit testing.
Most of the methods required Params to be passed, which indicated a
design issue. Split Operator and Operation so that the Params could
be kept in a field and thus need not be passed to every method.
Basically, renamed OperatorPartial.java to OperationPartial.java and
created a new OperatorPartial.java. Of course, this makes it look to
gerrit like it's all new code, when in fact, most of it is unchanged,
other than removing the Params argument to the method calls. That
accounts for about half of the "lines changed" count.
Issue-ID: POLICY-1625
Change-Id: I9e98c9dadcbed145bf84deb06c9db1c864a3c24a
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Added junits for the remaining code.
Enhancements to facilitate implementation of Operators:
- Added allOf(), anyOf() facilities
- Added AsyncResponseHandler for handling asynchronous I/O via the
HttpClient
- Added logRestRequest() and logRestResponse() for logging REST
requests and responses
- Added HttpActor and HttpOperator, which can be used as superclasses
- Added doTask()
- Lifted data from the event into ControlLoopEventContext
Updates per previous review comments:
- Changed logException() to runFunction().
- Removed the aaiCqResponse field.
- Lifted fields from Policy into ControlLoopOperationParams, eliminating
the need to include Policy in the class.
OperatorPartial depends on the string values in the ControlLoopOperation
being set to one of the string values of PolicyResult. Instead of
passing ControlLoopOperation around, the operators should pass around
an object that uses PolicyResult directly, rather than depending on
the string values being set correctly. Created OperationOutcome for
this purpose.
Stop pipeline when the controller completes.
Use whenComplete() where appropriate.
startOperationAsync() should not block. Modified it to launch the task
in the background via its own thread.
Extracted CallbackManager into its own file.
Replaced actor setOperators() with addOperator()
Renamed add() to wrap(), and modified it to remove the future when it
completes.
Fixed the signature on delayedRemove() and delayedComplete().
Replaced xxxAsync() calls with just xxx() calls, where appropriate to
avoid the extra overhead of submitting it to a work queue.
Renamed handleFailure() to handlePreprocessorFailure().
Updates per WIP review comments
Issue-ID: POLICY-1625
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: Id4c4c7ade979bdb76cc54266837609cc69a22c58
|
|
Left original code intact so that it can continue to be used until
everything has been converted to use the new approach. Simply added
new methods and classes. (A few minor edits were required to the old
code, e.g., added constructors to the Actor implementations). Code
to be removed is annotated with "TODO".
This only contains one revised actor, SDNC. This actor combines code
from actor.sdnc, sdnc, and drools-applications.
Coverage tests are incomplete, but I anticipate some simplification
to this design in a couple of days; coverage will be added at that
time.
Issue-ID: POLICY-1625
Signed-off-by: Jim Hahn <jrh3@att.com>
Change-Id: I4b75730e3621a9ee026ad10e557abe92df10dcf4
|
|
Sub-modules under sub-modules need to set the path to
ensure a single jacoco-ut.exec file is produced and
appended to.
I think this only gives us .1% - but that's ok. Its a
step towards consolidation.
Issue-ID: POLICY-2321
Change-Id: I31023843f55200096a905482ee55ad19bf681494
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
|
|
Issue-ID: POLICY-1592
Change-Id: Iafc35fe53e28c815a79041f289cb17b6354ceccd
Signed-off-by: HOCKLA <ah999m@att.com>
|
|
New checkstyle profile flagged some minor issues in policy models.
Issue-ID: POLICY-2165
Change-Id: I17ed070a3d55601ad31e48fdfd29fff01d29fa42
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
When the policy-payload supplied by CLAMP is a valid JSON string
the CDS Blueprint payload must be a JSON object, else retain the
CDS Blueprint payload to be a string.
Issue-ID: POLICY-2253
Signed-off-by: Rashmi Pujar <rashmi.pujar@bell.ca>
Change-Id: I6380ab0424339603ecf52d298e4f6f0cd8df754b
|
|
Removing all the related files and necessary modifications for removing named query. The code now only supports Custom Query
Issue-ID: POLICY-2125
Change-Id: Ifa5ccb74142aa424359c0dea85b90bbcf70147cb
Signed-off-by: pramod.jamkhedkar <pramod@research.att.com>
|
|
Issue-ID: POLICY-1894
Signed-off-by: Rashmi Pujar <rashmi.pujar@bell.ca>
Change-Id: Ib662aa6a28beb40c2a1e6814b103e95ebf4ee2e1
|
|
AAI Enrichment method for PNF target-type and unit tests.
Addition of a hashmap field to ControlLoopEvent class to hold event specific parameters.
Update CDS actor to include additional event parameters
Issue-ID: POLICY-1187
Signed-off-by: Rashmi Pujar <rashmi.pujar@bell.ca>
Change-Id: Ie0ceb320943531de6e6bc8675844b29a358dfb7e
|
|
|
|
Added model classes for APPC LCM Input and APPC LCM Output
and removed adding the input/output tag to the JSON via
the APPC LCM custom serializer.
Issue-ID: POLICY-2043
Signed-off-by: Daniel Cruz <dc443y@att.com>
Change-Id: I54e1b5f589a4b29357cf1a45dbdf2173610870ce
|
|
Before:
{
"vfw-modify-config-request":{
"resolution-key":"1234567890",
"aai-properties":{
"service-instance.service-instance-id":"1234",
"generic-vnf.vnf-id":"5678"
},
"policy-payload":{
"data":"{\"active-streams\":\"5\"}"
}
}
}
After:
{
"vfw-modify-config-request":{
"resolution-key":"1234567890",
"vfw-modify-config-properties":{
"service-instance.service-instance-id":"1234",
"generic-vnf.vnf-id":"5678",
"data":"{\"active-streams\":\"5\"}"
}
}
}
Issue-ID: POLICY-2089
Signed-off-by: Rashmi Pujar <rashmi.pujar@bell.ca>
Change-Id: I139a7ca3e1e2d0cd50bbd86d0cdf499f215be74f
|
|
This information is redundant since it is included in the request header.
Found during integration testing
Issue-ID: POLICY-2089
Signed-off-by: Rashmi Pujar <rashmi.pujar@bell.ca>
Change-Id: Icdb4753ccae687f85318f5efeed09d5e13a6853b
|
|
This patch fixes the remaining easy to fix Sonar issues on policy
models. The remaining issues are
- methods that do not follow Java naming conventions and fixing those
will probably break policies that use those methods
- TODO statements to do with functionality we didn't get done in Dublin
and will address in Frankfurt
Issue-ID: POLICY-2165
Change-Id: I7f604bc2335388bdc0dd9286ae17a5ab76517665
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Cleam up of some minor eclipse, checkstyle, and Sonar issues in
policy-models
Issue-ID: POLICY-2165
Change-Id: Id5682fd60e1a6cebbf716d9c258453aa53ca2482
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Issue-ID: POLICY-2165
Change-Id: I2ccfb32193c85958d525af19a7744a74c97a3485
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Added ModelType to SO Request and set it to vfModule
Issue-ID: POLICY-2156
Change-Id: Icfd824ff1f521ec32a711506d01283566d2a7ed9
Signed-off-by: pramod.jamkhedkar <pramod@research.att.com>
|
|
* Create class for CDS response
Issue-ID: POLICY-2088
Change-Id: I813a310f7d5123fac4bb1c3880d108391096250f
Signed-off-by: Bruno Sakoto <bruno.sakoto@bell.ca>
|
|
- CDS payload requires resolution-key (random UUID)
- Update the CDS request object to rename the payload child node key name from config-deploy-properties to policy-payload.
- Generate dynamic childnode key name from the policy recipe-name aka CDS action-name. action-name itself is never included in serialization as is.
Below is a sample:
{
"commonHeader": {
"subRequestId": "$subReqId",
"requestId": "$reqId",
"originatorId": "POLICY"
},
"actionIdentifiers": {
"mode": "sync",
"blueprintName": "$bpName",
"blueprintVersion": "$bpVer",
"actionName": "$recipeName"
},
"payload": {
"$recipeName-request": {
"resolution-key": "{{$guid}}",
"aai-properties": {
"$key": "$value",
...
},
"policy-payload": {
"$clamp-payload"
}
}
}
}
Issue-ID: POLICY-2120
Signed-off-by: Rashmi Pujar <rashmi.pujar@bell.ca>
Change-Id: Ia7f0551f94755bbe73b48ae387b4c53842729a81
|
|
Change-Id: I351d1a0ebd3c7cfa76d57297ce44ef6a6fa8c753
Issue-ID: POLICY-2045
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
|
|
https://wiki.onap.org/display/DW/CDS+actor+support+in+Policy
Issue-ID: POLICY-1763
Signed-off-by: Rashmi Pujar <rashmi.pujar@bell.ca>
Change-Id: Idcb6e9168b949745cc644e97ba77c479573a8bf5
|
|
Added the function VFModuleCount to AaiCqResponse class. It counts the
number of vf modules. Also changed the same custom query response in
AaiSimulator.
Issue-ID: POLICY-1858
Signed-off-by: pramod.jamkhedkar <pramod@research.att.com>
Change-Id: If08de84f74d2bd9501b501b881cdd761089614dc
|