Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Summary:
Develop a solution for storing information when policies are deployed or undeployed through the PDP PAP deploy APIs.
What will this be used for?
For checking when policies were deployed or undeployed - mostly for this action as it deletes the policy - and these changes are not tracked anywhere.
Endpoints used for deploy/undeploy:
- https://docs.onap.org/projects/onap-policy-parent/en/latest/pap/pap.html#Deployments%20Update
- https://docs.onap.org/projects/onap-policy-parent/en/latest/pap/pap.html#Deploy%20Policy
- https://docs.onap.org/projects/onap-policy-parent/en/latest/pap/pap.html#Undeploy%20Policy
Ongoing proposal:
models:
Have a new entity/table for storing the policy (name and version), pdp group and type, action (DEPLOYMENT/UNDEPLOYMENT) and timestamp of action.
- User is also added on this for future reference when policy can have more users to access the services.
Have dao methods for creating and retrieving row(s) from aforementioned table.
models-pap
/policy-models-pap/src/main/java/org/onap/policy/models/pap/concepts/PolicyAudit.java - concept
/policy-models-pap/src/main/java/org/onap/policy/models/pap/persistence/concepts/JpaPolicyAudit.java - persistence entity
/policy-models-pap/src/main/java/org/onap/policy/models/pap/persistence/provider/PolicyAuditProvider.java - dao actions
tests and a persistence.xml file would be added to src/test
policy-pap:
have the endpoints for deploy/undeploy updated with the call for storing the process for tracking.
Possibly have methods for creating a track object for each deploy/undeploy on /pap-main/src/main/java/org/onap/policy/pap/main/rest/SessionData.java
- there are two methods - trackDeploy and trackUndeploy - where the call for new method(s) would be added
- have a map list of audit (similar to create/update groups)
- the new method(s) would create a track object and add to an auditList for when the updateDb method is called
have a new endpoint to get the audit on policy (need to confirm which fields would be used for filter - assuming pdp group or policy name/version, and begin/end times)have the endpoints for deploy/undeploy updated with the call for storing the process for tracking.
Questions:
- How many records could this return? may want to force a limit on the record count and maximum time window. may want to require starting timestamp
- limit set on API: 10
- limit set on models provider: 50 (there's a validation to check if number is over models limit) - should we keep this and this range (10-50)
- Does the table need to be cleaned up at times?
Jira Legacy server ONAP Jira serverId 425b2b0a-557c-3c0c-b515-579789cceedb key POLICY-3328
- what sort of filters should be allowed?
- none
- pdpGroup
- policy (name and version)
- group and policy (name and version)
- Should still use timestamp on filter?
- Should we filter by actions? (i.e. want to see only deployments)
- Failure (result of a DEPLOY) is to be tracked as well?