Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


IssueNotes Decision
1

Uplift Ericsson source code (need permission)

CPS not allowed to lift // proprietary codes, we need to use pseudo code Gergely/team to support CPS with these codes
2

Implement in REST or Service Layer ?

This is currently implemented as an in the Service layer in // 

3

Publish public

NCMP shall own and document.
4

Could we make this more generic to suit non-conflict-management use i.e. tbac...

Agreed to make it more generic to suit ALL the use cases 
5Private properties are used to get FDN at the moment.

Will // provide us with registered Alternatid? Opensource does not support private property Peter Turcsanyi to revert TBC

// Confirmed they will implement all

https://eteamproject.internal.ericsson.com/browse/IDUN-105467

 

6CPS-1992 - NCMP to Support New 3GPP sync single FDN request to support Conflict mgt

CPS-1992  - When delivered, this should also support conflict management

7Legacy and ongoing bulk/batch interface (dataJobs CPS-1964) are not in scope

Bulk/batch operation

  • Datajobs bulk write op. ..... out-of-scope
  • single write operation -In-scope
8Name for more generic interface

Suggestion: External Validation AP Kolawole Adebisi-Adeolokun  to inform other stakeholders

New Interface name shall be PolicyExecution as agreed with stakeholders Kolawole Adebisi-Adeolokun kieran mccarthy Gergely Molnar 

9External Validation Request format

POST operation, all parameters in body, URL ? 

AP Toine Siebelink to create a page & collaborate with Gergely/Brian ( on initial proposal)

10Enable/service name discovery

config parameter with service name/address.
Blank to disable ?

AP Toine Siebelink to create a page & collaborate with Gergely/Brian ( on initial proposal)

11case sensitivity of parameters (payloadType, decision etc.)

e.g. accept 'allow', 'Allow', 'ALLOW' or only accept only on well defined case sensitive variation and anything else is a error scenario?!

To be discussed during proposal;

AP Toine Siebelink to create a page & collaborate with Gergely/Brian ( on initial proposal)

12Delivery Artefact

The new OpenAPI Interface definition wil be published on CPS Public Documentation Page. and through ONAP Gerrit.
Will it need to be delivered somewhere else (as snapshot for every build and/or release process)?
(I dont think this was done for DMI interface either)

Brian Folan, Toine Siebelink agreed to use same as DMI ie. just 'deliver' to Doc and Repo 

13Specify cmChangeRequest in more detail


Code Block
languagexml
titleDetailed Definition Suggestion
collapsetrue
{
  "moType": [
    {
      "id": "<mo Type Id>",
      "attributes": {
        "<key>": "<value>",
        "<key>": ["<value>", "<value>"]
        ...
      }
    }
  ]
}

Toine Siebelink I am concerned this wil reduce the flexibility of this interface. Also, NCMP itself is NOT interested in eth actual change details so why enforce them in this interface...

Csaba Kocsis 'id' and 'attributes' are a 3GPP conventions only

Zoltán Szabó Toine Siebelink Validation need on IMpl. side but for flexibility this is not required in CPS/NCMP so we agreed to pass it as 'an object' 

14How to feed back result of CM change to Policy Execution/Executor?

Consider the following scenario (from Brian Folan).

There is an active policy for time based lock against an attribute on a specific cmHandle.

A change is made to the attribute, triggering the time-based lock for x minutes, but the CM change fails after letting it through to the DMI due to any reason and it's not actually rolled out to the network. The policy engine would apply the lock and no subsequent changes are allowed for the duration of the lock, however no changes were made to the network.

Should we feed back the result of a CM change to the Policy Engine?

Brian Folan Toine Siebelink agreed this is out of scope for this epic but can be considered later. Interface propsosal is flexible enough to extend for something like this in the future 

15Choose URL format

Gergely Molnar prefers alternative a (with an 'action'): <server-address>/policy-executor/api/v1/<action>/
All data (payload and decision-type, payload etc) goes in the body as detailed below

Zoltán Szabó  Toine Siebelink agreed on Alt.a. a simple URL, all data in body 

16Optional CmHandleId and ResourceIdentifier

Brian Folan: Cm Handl e ID wil mean nothing for Ericsson Impl but can be logged. Resource Identifier can be 'convention' but they don't depend on it if the target fdn contains the 'complete' fdn 

Brian Folan, Zoltán Lajos Kis Toine Siebelink CM Handle Id and Resource Identifier are optional. CPS/NCMP will add them when provided in the incoming interface

17request accepted content type

not defined (and wrong value copied in original proposal). Now suggested: application/json
See https://gerrit.onap.org/r/c/cps/+/138401/2/docs/api/swagger/policy-executor/openapi.yaml Line #41


18definition 'enum' values 

defined as strings in OpenAPI to allow for flexibility and allow impl updates without having to  update (and release) the OpenAPI 


19enum value descrptions examples

although not specified in the OPenAPI definition (as enums) The convention in CPS/NCMP so far is that all 'enum' values are in lower (snake) case (and treated case-sensitive)
Compleet list for current interface definition:  'cm_write', 'permit', 'deny', 'execute'
See https://gerrit.onap.org/r/c/cps/+/138401/2/docs/api/swagger/policy-executor/openapi.yaml 


20authorization header compulsory

As per the proposal the OpenAPI now defined the 'Authorization' header as 'required'. This mean omission of this header will lead to a 400 Bad Request (and NOT 401 Unauthorized) as per Swagger/Spring generated Interface.

See https://gerrit.onap.org/r/c/cps/+/138401/2/docs/api/swagger/policy-executor/openapi.yaml  Lines #214-219

And Tesware: https://gerrit.onap.org/r/c/cps/+/138401/2/policy-executor-stub/src/test/groovy/org/onap/cps/policyexecutor/stub/controller/PolicyExecutorStubControllerSpec.groovy


Requirements

Functional: new generic 'PolicyExecution' REST interface 

...