Age | Commit message (Collapse) | Author | Files | Lines |
|
When a DB deadlock occurs, the DB contents can sometimes be deleted
becasue the DB removes the Service Template object and recreates a new
one in two separate DB transactions.
This change makes sure that the object remove and re-create is in a
sngle DB transaction, so the operation will either happen or not happen
so the DB will not be cleared.
Legacy policy handling must also use the SimpleToscaProvider rather than
accessing the DB directly, as SimpleToscaProvider keeps the DB structure
correct.
Issue-ID: POLICY-2548
Change-Id: I263a41cd1d8bec5d7b421045b3b14aad6e6c66d3
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
When a "get" is executed while a "create" or "delete" is underway, the
DB sessions overlp and data is lost in the database. "get" requests must
also be synchronized.
Issue-ID: POLICY-2533
Change-Id: Idbe155568e5d793fe82b7cc3aad5ef121e8209b9
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Up until now, the "type" and "type_version" fields defaulted to "NULL"
and "0.0.0" respectively when they were not specified because the
"type_version" field was not always specified on policies in previous
releases. In cases where the "type_version" field was not specified, it
was assumend that a "0.0.0" version of the policy type existed. In
parallel, if the version field was not specified on the policy type, the
version was stored as 0.0.0.
This behaviour is now changed and the "type" and "type_version" fields
are now always mandatory.
Issue-ID: POLICY-2538
Change-Id: I4279adfa86f531205879dbb87986453604624032
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
The policy type delete and policy delete now only return what is deleted
in the service template.
Issue-ID: POLICY-2534
Change-Id: I1b8d10c22d4392b0bbb655aa6876ac900ebc81df
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
This change serializes write access to the policy database via the
AUthorative TOSCA provider by making sure that only one request is
executed at a time. His change should be repolaced by proper session
handling in the next release of the Policy Framework project.
Issue-ID: POLICY-2533
Change-Id: I5fe4c0f2846981a66eb2f4e1da936fe3c9490ae5
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Addressed the following sonar issues:
- use RE2 instead of java.util Pattern for "+" and "*"
- don't use deprecated methods
- for Date(long), sonar appeared not to parse the argument's
type correctly. Modified the code slightly to make sonar happy
- duplicate blocks of code
- either log or throw
- missing assert in junit
- for SDNR & VFC, eliminated threads, as they are unnecessary
- duplicate code block in different branches
- useless assignments
- redeclaring abstract methods
- cyclomatic complexity
- used lombok in some cases (e.g., EqualsAndHashCode)
- assert argument order
- actually deleted ControlLoopTargetType, because it is not needed
and sonar complains regardless of which order is used
- add private constructor to utility classes
- use StandardCharsets instead of literals
Also:
- added logback-test.xml to SO to eliminate the voluminous output
from the junit test
Issue-ID: POLICY-2305
Change-Id: I586c331781bedbd54a115a71847d04d293689445
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Due to the problems with TOSCA and version handling, the filtering for
policy types on old versions did not work. This change fixes that
problem.
Issue-ID: POLICY-2377
Change-Id: I462bd5710b9dea37475861d1021d28b2c7391a24
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Issue-ID: POLICY-2389
Signed-off-by: Chris Ramstad <cramstad@ciena.com>
Change-Id: Iba9faf9e878d55022be7882e862ebed826dc76c1
|
|
Optional controllerName has been added to Legacy Operational
policies to be able to route Operational Policies to an
specific drools controller.
Currently, the policies are deployed to all controllers that
support a policy type. In the case, that there are multiple
controllers set, and the policy is only to be routed to one of
them, this field should be populated.
Issue-ID: POLICY-2388
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Change-Id: I7288ce0069a723b8e6ec535331dc9cda56fbf130
|
|
Major, minor, and patch version of policy now in policy metadata
version.
Issue-ID: POLICY-2243
Change-Id: I1f3c7054a12e724264b117e399890c9e1c3347f2
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Fixing the legacy guard policies and renaming them so we are
able to differentiate them.
Adding newer, cleaner TOSCA Guard Policies that match the operational
guard policies.
Removing legacy guard policies.
Fixing JUnit so that they don't use indexes to test whether versions
are changed correctly.
Added back in new guard policies. Fixed the guard policy types to use
camel case.
Issue-ID: POLICY-2243
Change-Id: Ie611f26f73f41e64c0b467f524f470739158f437
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
|
|
We should return the incoming service template on create requests. This
change is required for CSIT tests.
Issue-ID: POLICY-1402
Change-Id: I1072c9c16d2b267c34fa015e7e7a355ba9f5338a
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Change-Id: If911bdd4116b722e13e00199d05b1794de4e79c2
Issue-ID: POLICY-1402
Signed-off-by: a.sreekumar <ajith.sreekumar@est.tech>
|
|
Change-Id: If737f6ae0bcb0f8c694711a67a3c879fee8c11c5
Issue-ID: POLICY-1402
Signed-off-by: a.sreekumar <ajith.sreekumar@est.tech>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Full validation including references to policy types and data types
added. Unit tests fixed to cope with new stricter validation.
Issue-ID: POLICY-1402
Change-Id: I59f37640a99494a53960a54d2fc82cc96861d43b
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
This change brings in proper hierarchical checks for service templates,
making sure that all parents of data types, policy types, and policies
must be in place.
Issue-ID: POLICY-1402
Change-Id: I61b1b556403f74aeaa092f0d4d6ed19bf6a0b715
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
This utility function allows a TOSCA service template fragment to be
merged with an exsiting service template and will be tbe backbone of
"create" methods on the API from now on.
Issue-ID: POLICY-1402
Change-Id: I3381cb2a1bd30621a639dedc213c546eeb2bf9aa
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Persistence needs to be carried out at service template level in order
to guarantee consistency of the service template in the database as much
as possible. Therefire, service template lelve reading, writing, and
delting is required.
Issue-ID: POLICY-1402
Change-Id: I5be57c29381bf6ddc87afdbb64ddae66a5ea5e5f
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Update the unit tests in models-provider so that we can check that the
TOSCA artifact that is read from the database is the same as the TOSCA
artifact that is stored.
This review does some groundwork for that check.
Issue-ID: POLICY-2315
Change-Id: Iabc7b247736b862713585a493752bc254cfe1c3d
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
validation feature"
|
|
feature
Issue-ID: POLICY-2316
Change-Id: Ifcb6739c7dd6c5796067a4b9e2f3eef960e1ace4
Signed-off-by: Chenfei Gao <cgao@research.att.com>
|
|
Data type properties are not being stored correctly into the database
when MariaDB is used (it worked fine in unit tests in H2).
Issue-ID: POLICY-2315
Change-Id: Ia901a070292b338154f3766f5fc7b91d656038df
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Refactored the ToscaUtils class to remove code duplication.
Issue-ID: POLICY-2315
Change-Id: Ic06a0881d1797dbb3c45ae1903a150fbda421e72
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
In this change, the data types of policy types are persisted to the
database. All policy types currently in the database are returned on all
policy type get requests. This will be made more intelligent in the next
review.
Issue-ID: POLICY-2315
Change-Id: I10065ab9b90e72114a453494fc706d8aabc50c0a
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Data types must be persisted to the database in order for them to be
retrieved in policy type queries and later for policy validation.
Issue-ID: POLICY-2315
Change-Id: Iacb88501a597aeee8f6d8bcc3d9604c13dc09090
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
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>
|
|
TOSCA does not have a version on derivedFrom fields on policies and
policy types. THerefore, we use the default value of 0.0.0 for versions
on these fields in the database.
When reading back out derivedFrom fields, we need to just take the name
of the field and not the ID of the field.
Issue-ID: POLICY-2075
Change-Id: I55e9c479047d6c1a9376a1713f4ddb2536476b29
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Properties should support metadata - adding it in.
Added junit tests for the new metadata field.
Issue-ID: POLICY-2060
Change-Id: I2e1933ca4260fe5989f36a098108893a366f657a
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Changed policy types from a list of maps to a map.
Changed data types from a list of maps to a map.
Made all knock on changes to adapters and tests.
Updated Issue ID.
Added
onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml
policy type that is required to be preloaded in policy-api.
Issue-ID: POLICY-2047
Change-Id: Ic8e809eab248fd7242f0e565fa2e3da75bcfbdeb
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Deleted the copyTo() method from PfConcepts and replaced uses
with deep-copy constructors. Also added mapMap() and makeCopy()
methods to PfUtils to facilitate.
Change-Id: Id6391bb806ef0dfab6c1089278bf2b514c7e303e
Issue-ID: POLICY-1600
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Issue-ID: POLICY-1600
Change-Id: If660cbe84424e492b6db3ab11ef97b37f046b3aa
Signed-off-by: Henry.Sun <henry.a.sun@est.tech>
|
|
Change-Id: I1f64127e1d783a962304c0add1524a57d6c24e4b
Issue-ID: POLICY-1791
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
and policy type
Issue-ID: POLICY-1807
Change-Id: I831c720993930a911d301a82b59a74cda7cb0c50
Signed-off-by: Chenfei Gao <cgao@research.att.com>
|
|
|
|
Fix .gitreviw file to point at "master" rather than "dublin"
Allow return of multiple versions of policy types and data types in
TOSCA service templates and multiple policies in TOSCA topology
templates.
Because the return type is a list of singleton maps, utility methods
were added to return flat maps of poliicy types, data types, and
policies keyed by a compound ToscaEntityKey name/version key.
Issue-ID: POLICY-1807
Change-Id: I355038aaca26f41064d0e3cb3b45b1de2294cf5f
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
ToscaPolicyIdentifierOptVersion had an isNullVersion() method
which is not being used. Removed this version, thus eliminating
the need to include a jackson @JsonIgnore annotation.
Change-Id: I03309099a1173591736f69b82b549ebce7994169
Issue-ID: POLICY-1653
Signed-off-by: Jim Hahn <jrh3@att.com>
|
|
Added changes to make version field in return of GET guard policy call
represent the version of guard policy instead of its type version.
Issue-ID: POLICY-1809
Change-Id: Ie8db6e89d8439576ee5f6ee99c3222386775b195
Signed-off-by: Chenfei Gao <cgao@research.att.com>
|
|
Issue-ID: POLICY-1777
Change-Id: I67bf56a7848bbb0495d9e8c215b665fde5c67f1d
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Issue-ID: POLICY-1777
Change-Id: I5b07ad1acdb4a614a50cb15978130c19bc5786f7
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
In order to identify the policy type of a guard policy,
we need to have the first part of the policy id as the
policy type identifier prefix.
Issue-ID: POLICY-1776
Change-Id: I1d6a3c4b122d978ff7ef40ce76ced7f160ebd4fa
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
Issue-ID: POLICY-1738
Change-Id: Id85d710154727c7c535db7cc50af88f52114a358
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
THe properties of legacy operational policies are already
encoded and should not be stored in JSON format.
Issue-ID: POLICY-1759
Change-Id: I3e2a69f216348c02c2ef9c23282f87da52a7f390
Signed-off-by: liamfallon <liam.fallon@est.tech>
|
|
The policy type version must be updated on a policy before it is stored
to the database, otherwise the database value is incorrect.
Issue-ID: POLICY-1738
Change-Id: I0a7f2da3837497dd999141f40466d6507c26159b
Signed-off-by: liamfallon <liam.fallon@est.tech>
|