You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

References

CPS-2249 - Getting issue details... STATUS  

Assumptions


AssumptionNotesSign-off
1

Scope:

  •  CPS-E-05
    • Update
    • Create
    • Delete
This does not affect (bulk/batch) Read

 

2Conflict Management Interface uses FDNConflict Management can support ANY format the Alternate ID can support (FDNs and/or URI-FDNs)

 

3Request per second is per the existing numbers on NCMP

 

Issues & Decisions


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


Conflict Interface as part of NCMP (Concerns new generic interface)? 

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 ONPA 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)


Requirements

Functional: new generic 'PolicyExecution' REST interface 

This interface will NOT be implemented by CPS team except a stub for testing purposes


InterfaceRequirementAdditional InformationSignoff
1PolicyExecution

Documentation

NCMP own and clearly document interface using OpenAPI and RTD

2PolicyExecution

Input Parameters:

  • Bearer Token (header information?)
  • Payloadtype 
  • Decisiontype
  • Payload
    • resourceIdentifier
    • targetFdn
    • changeRequest

Payloadtype can only be 'CM_Write' for now

Payloadtype can only be 'Allow' for now

Exact Payload to be defined during study but should be well defined and cannot depend on Java interface (even if it is the same now)

3PolicyExecution

Output  Parameters;

  • Decision (enum: "allow", "deny")
  • Message - Should return a 409. Standard HTTP response
  • Decision id (String)

This is a New Generic interface that can support 'conflict handling'. 

Functional: CPS Impacts


InterfaceRequirementAdditional InformationSignoff
1CPS-E-05

Write operations are intercepted and validated using the new external service.
No effect on existing behavior if the result is 'Allow'



2CPS-E-05When the External validation is negative NCMP REST Response should be '409 Conflict'.  The HTTP status message should contain the message and decision id from the external validation service.NCMP interface validation shall be done before the external validation (Conflict management)
3

NCMP to provide metrics on external validation

AP on CPS to provide the metrics (Kolawole Adebisi-Adeolokun )

Error Handling


ScenarioExpected BehaviorNotesSignoff
1External validation service does not respond (in time) Or does not respond with 2xx (Http status code)

configurable default answer


This needs further investigation AP Gergely Molnar  

Possible proposal:

  • Implement watchdog similar to DMI health check

2Unrecognized response from External Validation

(Low prio)

No default behavior covered yet in //, 

If not reachable - default accept/reject with specific message



Characteristics


ParameterExpectationNotesSignoff
1Performance impact? 
  • External Validation Response time depends on various response time at the moment

Out of Scope

  1. Batch (bulk) interface methods and Execute a data operation for group of cm handle ids
  2. Data job interface
  3. Datajobs bulk write operations

Solution Proposal

External Validation REST Interface

URI

TBC - Gergely Molnar /Brian ( To provide initial proposal)

Input Parameters


NameParentTypeExampleOptional/CompulsoryNotes
1Bearerheader?String (encoded?)

required for tracking/ (future)authentication
2payloadTypebodyString CM_Write
'CM_Write' currently, only support value
3

DecisionType

bodyStringAllow
'Allow' currently, only support value 
4

payload

bodyObject


5

targetFdn

payloadString

FDN to 'CM-Handle' ?!
6

resourceIdentifer

payloadString

Remainder of FDN ?
7

changeRequest

payloadString

the change value

Output Parameters


NameParentTypeExampleOptional/CompulsoryNotes
1decisionIdbodyString

UID
2decisionbodyStringDeny
currently only 'Allow' and 'Deny' are supported
(case sensitive ?!)
3messagebodyString 


  • No labels