summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-02-24Add "finalOutcome" flag to OperationOutcomeJim Hahn3-29/+76
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
2020-02-24Merge "Change payload to Map<String,Object> so it's more versatile"Ram Krishna Verma63-184/+1267
2020-02-24Fix to avoid ConcurrentModificationException in policy-modelsa.sreekumar1-3/+3
Change-Id: If911bdd4116b722e13e00199d05b1794de4e79c2 Issue-ID: POLICY-1402 Signed-off-by: a.sreekumar <ajith.sreekumar@est.tech>
2020-02-21Change payload to Map<String,Object> so it's more versatileJim Hahn63-184/+1267
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
2020-02-21Modifications in vDNS tosca policies to match specjhh4-69/+133
Issue-ID: POLICY-2383 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: I875612ab47dd35277426fd9ec81d2e5e00188355 Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2020-02-21Changed the encoding scheme for native xacml policy stringChenfei Gao1-1/+1
Issue-ID: POLICY-2182 Change-Id: I47dc7253b2ffb325a4a2a873d66499634ae23d16 Signed-off-by: Chenfei Gao <cgao@research.att.com>
2020-02-21Merge "More actor clean-up"Ram Krishna Verma68-644/+1646
2020-02-20Corrections in vCPE and vFW tosca to match spec.jhh6-7/+8
Issue-ID: POLICY-2375 Signed-off-by: jhh <jorge.hernandez-herrero@att.com> Change-Id: Ibffc67dd0b68da8597a5fdff7c65321ef4313352 Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
2020-02-20More actor clean-upJim Hahn68-644/+1646
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
2020-02-20Merge "Add Guard Actor"Jorge Hernandez11-2/+534
2020-02-20Merge "Minor fix to avoid ConcurrentModificationException in policy-models"Pamela Dragosh1-6/+6
2020-02-20Merge "Add SO actor"Liam Fallon21-57/+1933
2020-02-20Minor fix to avoid ConcurrentModificationException in policy-modelsa.sreekumar1-6/+6
Change-Id: If737f6ae0bcb0f8c694711a67a3c879fee8c11c5 Issue-ID: POLICY-1402 Signed-off-by: a.sreekumar <ajith.sreekumar@est.tech>
2020-02-19Add Guard ActorJim Hahn11-2/+534
Issue-ID: POLICY-2350 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: Ib68c22a1154607563cb8a657b8101757a29b47ef
2020-02-19Merge "Fix cascaded get filtering and speed"Pamela Dragosh3-70/+172
2020-02-19Add SO actorJim Hahn21-57/+1933
Issue-ID: POLICY-2371 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I3faf0276e8039dc43a976d18ff8e704fdbec3d49
2020-02-19Fix cascaded get filtering and speedliamfallon3-70/+172
This change adds proper cascading bahaviour to the returned service template for filtered gets on policies. It also significantly improves the performance on get operations, all get operations on the API now result in only one database query. Issue-ID: POLICY-1402 Change-Id: I7c7d0a8d9f1caf8b610461779e242c34b7f77365 Signed-off-by: liamfallon <liam.fallon@est.tech>
2020-02-18Validate request content of various actorsJim Hahn17-237/+379
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
2020-02-18Merge "Actor updates to support SO"Jim Hahn9-21/+34
2020-02-18Merge "APPC Actor"Jim Hahn7-1/+749
2020-02-18Merge "Add safe entity delete, fix multiple entity get"Ram Krishna Verma20-60/+576
2020-02-18APPC ActorJim Hahn7-1/+749
Issue-ID: POLICY-2363 Signed-off-by: Jim Hahn <jrh3@att.com> Change-Id: I21908c9875aa1d2ad3678cb7613b5a3e1fada340
2020-02-18Actor updates to support SOJim Hahn9-21/+34
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
2020-02-18Merge "Allow storing database password in environment variables"Ram Krishna Verma1-1/+8
2020-02-18Add safe entity delete, fix multiple entity getliamfallon20-60/+576
This review implements checks on whether entities are being used or referenced propr to allowing deletes. The review also fixes bugs on multiple entity get returning 4040 not found Issue-ID: POLICY-1402 Change-Id: I9cebb9a873098740e9ff4be6284d6307e19838bd Signed-off-by: liamfallon <liam.fallon@est.tech>
2020-02-18Merge "More changes to actor code"Pamela Dragosh22-57/+451
2020-02-18Merge "add unit test for pdpstatistics provider"Liam Fallon4-7/+447
2020-02-18Add missing classes to persistence.xmlliamfallon3-0/+6
The recent policy-models changes cascade database changes to some new classes. THis change adds these classes to persistence.xml. Issue-ID: POLICY-1402 Change-Id: I4d9953c8423dc6e33f6852744c394c9cfbc21ac6 Signed-off-by: liamfallon <liam.fallon@est.tech>
2020-02-17More changes to actor codeJim Hahn22-57/+451
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>
2020-02-18add unit test for pdpstatistics providerning.xi4-7/+447
Issue-ID: POLICY-2314 Signed-off-by: ning.xi <ning.xi@est.tech> Change-Id: Ifb23ab301a326cc30950ecc2f115979fa261bc68
2020-02-17Merge "Use BidirectionalTopicClient from policy-common"Jim Hahn47-1765/+1887
2020-02-17Merge "Add/Update test cases for PdpStatistics entity"Pamela Dragosh5-42/+204
2020-02-17Use BidirectionalTopicClient from policy-commonJim Hahn47-1765/+1887
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
2020-02-17Add missing entry_schema for operational policy typePamela Dragosh18-75/+71
Also ensure the json for vFirewall matches the yaml. We will need to clean up some of the other legacy operational policies. Or at least rename them. Renamed legacy Operational policies to avoid confusion. Fixed wrong derived_from policy types. Operational Policy Types are now solely for new TOSCA compliant operational policy types. Issue-ID: POLICY-2146 Change-Id: Ia0bcabe6cca8e197f1bec8157a3004a420033969 Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
2020-02-17Add/Update test cases for PdpStatistics entityhuaxing5-42/+204
Add test cases for PdpStatistics / PdpEngineWorkerStatistics / JpaPdpStatistics. Add lombok.Data annotation to PdpStatistics and PdpEngineWorkerStatistics to facilitate testing. Issue-ID: POLICY-1628 Signed-off-by: huaxing <huaxing.jin@est.tech> Change-Id: I4269678641716a56db260ad67a30c97b904123cd
2020-02-17Fix return building on policy getliamfallon1-4/+11
The service template that is being returned for the "get" has to be built up in the correct order. A policy and the policy types and data types it is referencing must be added together. Before, all the policies were added at once and then the policy types and data types for the policies were added afterwards. This means that if the service template is validated during the service template build, validation may fail, depending on the order of building of the template. Issue-ID: POLICY-1402 Change-Id: Ia4fb9ee3819dccfc8c346c682545b2d27ebc4058 Signed-off-by: liamfallon <liam.fallon@est.tech>
2020-02-14Merge "Fix return codes and policy get"Pamela Dragosh4-36/+45
2020-02-14Fix return codes and policy getliamfallon4-36/+45
Change the return codes for validation to return more helpful and correct codes. Fix the policy "get" request to get policy types and data types for a policy get. Issue-ID: POLICY-1402 Change-Id: I89d67f830e9a75bdeef39c4142523c718879f19c Signed-off-by: liamfallon <liam.fallon@est.tech>
2020-02-13Add Topic Actor superclassesJim Hahn23-56/+2617
Issue-ID: POLICY-2363 Change-Id: I5d29d85f6c5f40fb6c8f1bf678d9c718760a7558 Signed-off-by: Jim Hahn <jrh3@att.com>
2020-02-13Merge "Add A&AI actor and some operators"Jim Hahn16-3/+947
2020-02-13Allow storing database password in environment variablesDominik Mizyn1-1/+8
This patch allows to store and get database passwor from environment variables. This is needed if we want to send those variables by helm secrets. Issue-ID: OOM-2287 Change-Id: Id9ea8f43dd07c2b0cdeaa6d14a8033336d26923f Signed-off-by: Dominik Mizyn <d.mizyn@samsung.com>
2020-02-13Update models-tosca for hetter handlingliamfallon14-33/+64
More additions, updates, and fixes for TOSCA service template handling. Better handling of 404 not found on list requests. Issue-ID: POLICY-1402 Change-Id: Id73b9a3cebb5445d4f05ae83e301330ee38a6598 Signed-off-by: liamfallon <liam.fallon@est.tech>
2020-02-12Add A&AI actor and some operatorsJim Hahn16-3/+947
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
2020-02-12Merge "Implement validation and hierarchical get"Pamela Dragosh34-906/+1022
2020-02-12Implement validation and hierarchical getliamfallon34-906/+1022
NOTE: This review will require changes to the persistence.xml file in other policy framework components. This change brings in two changes: 1) Validation of the references betwen policies, policy types, and data types This change mans that additions to and changes to policies, policy types, and data types must be structurally correct in the change coming in and with whatever is already in the database 2) Hierarchical return of referenced entitites on policy types, policies and data types. When a policy, policy type, or data type is read from the database, the entities referenced byt the returned policy, policy type, or data type are returned as well. Tests are amended for the stricter validation and structure. Examples are corrected where they are incorrect. Issue-ID: POLICY-1402 Change-Id: Ie6a4cb7ed336562338924079114df405f0ab889f Signed-off-by: liamfallon <liam.fallon@est.tech>
2020-02-11Add more code to facilitate actor implementationJim Hahn49-3092/+4334
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>
2020-02-10Get the tree of parent entities for an entity in a containerliamfallon6-48/+191
Utilityu method to filter out all bit an entity and its parents from a service template entity container. Issue-ID: POLICY-1402 Change-Id: I8c3b4c21b27fd8787cdfde0e1b726646f52c437b Signed-off-by: liamfallon <liam.fallon@est.tech>
2020-02-10Merge "Add data type and policy type reference checking"Jim Hahn18-125/+317
2020-02-07Clean up and enhancement of Actor re-designJim Hahn39-829/+3457
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
2020-02-07Merge "Change recipe to operation to match type"Ram Krishna Verma2-2/+2