/
CPS-2339 Make Test & Documentation (examples) More Realistic

CPS-2339 Make Test & Documentation (examples) More Realistic

References

CPS-2339: EST-ETH Retro action: Make test, documentation (examples) more realisticClosed

Introduction

ESH have expressed they would prefer to see more realistic data examples i.e. radio node based examples in CPS/NCMP test ware and documentation.
This page is to get an overview of what type of examples are used where and then to agree with ESH which to target and replace with or add radio node based examples.

Issues & Decisions

Issue

Notes 

Decision

Issue

Notes 

Decision

1

Agree scope with @Csaba Kocsis

Details in tables below

Nov 5, 2024 @Csaba Kocsis & @Toine Siebelink
Scope:
Testware #5: K6 System Test

docs #3 & #4: NCMP Open API & DMI Open API

2

Preferred Example Models

 

#2 gNBDUFunction (parent)

#6 NRCellDU (child)

Scope Analsysis

Test-ware

Test-ware

Current

Notes

Decision

Test-ware

Current

Notes

Decision

1

CPS Unit Test

  • Abstract ‘parent’/'child' , ‘node’

  • Bookstore model

CPS is deliberately designed as a generic yang data persistence service

No change needed

2

NCMP Unit Test

  • Abstract ‘parent’/'child'

  • Inventory model

  • Bookstore model

 

No change needed

3

CPS Service (semi integration) Test

  • Bookstore model

  • Openroadm model (performance tests)

 

No change needed

4

NCMP Service (semi integration) Test

  • Inventory model

 

No change needed

5

K6 System Test

  • Inventory (abstract properties)

  • Abstract

@Csaba Kocsis ‘more realistic examples when it comes to troubleshooting'

  • data (string) lengths and number of elements more important then names

  • 3gpp paths instead of 'my-resource-identifier'

  • actual 3Gpp object and attribute inside attribute container for write

CPS-2482: Realistic Examples: K6 Test-wareClosed

6

CSIT

  • Abstract ‘parent’/'child', ‘tree’/'branch'/'bird'

  • Bookstore model

we are considering ‘retiring’ CSIT now we have Groovy System test and K6 Integration test suite.

No change needed

Documentation

Documentation

Current

Notes

 

Documentation

Current

Notes

 

1

JavaDoc

no examples used in JavaDoc

 

No changes needed

2

CPS Open API (swagger)

  • Bookstore model

Not used by ESH

No changes needed

3

NCMP Open API

  • Inventory model

  • Bookstore model

Use 5G 3gpp modelled objects and properties

  • ‘simple’ things like GNBDUFunction, NRCellDU,

  • Correctness. Examples shoudl be correct according to the preferred model

CPS-2483: Realistic Examples: NCMP Open APIClosed

4

DMI Open API

  • Inventory model

  • abstract (prop1/val1)

  • 3gpp radio node model

  • Bookstore model

See NCMP Open API

Exception: Private properties, they can be abstract

CPS-2484: Realistic Examples: DMI Open APIClosed

5

CPS Read-the-Docs

  • Bookstore model

  • Abstract (MOI delta feature)

CPS is designed and ‘sold’ as a storage for ANY data so deliberately NOT using telecoms examples

No changes needed

6

NCMP Read-the-docs

  • Inventory Model

NCMP RTS is embedded in /part of CPS RTD.
RTD only used in Open Source

No changes needed (for now)

Proposed Solution

Scope: K6 System Test, NCMP Open API, DMI Open API

The following models could be used for giving more realistic examples. These are defined in 3GPP standards. They are defined in YANG. And they represent 5G functionality which is data that we use.

  1. https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-common-managed-element.yang

  2. https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-gnbdufunction.yang

  3. https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang

  4. https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang

  5. https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-nrcellcu.yang

  6. https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-nrcelldu.yang

  7. https://forge.3gpp.org/rep/sa5/MnS/-/blob/Rel-19/yang-models/_3gpp-nr-nrm-nrsectorcarrier.yang

 Suggested Models : #2 (parent), #6 (child)

Good and Bad Examples

Example Type

Bad (old)

Good (new)

Notes

Example Type

Bad (old)

Good (new)

Notes

1

Resource Identifier

my-resource-identifier
parent/child

NRCellDU/attributes/cellLocalId

 

2

Cm Handle (public) Properties

{"prop1":"val1"}

 

 

3

JSON Payload (write use-cases)

{"neType": "BaseStation"}

{
"id": "123",
"attributes":{"userLabel":"test"}
}

 

4

Request Options

(fields=schemas/schema)

(fields=NRCellDU/attributes/cellLocalId)

 

5

Alternate ID

alt-123
some/-fdn

Subnetwork=Europe,ManagedElement=X123

 

Related content