Versions Compared

Key

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

Issues & Decisions

#

Issue

Notes 

Decision

1Is the requestId in the southbound request equal to the dataJobId coming in from the northound interfaces? (see writeJob for example)
Can the dataJobId used as the requestId? Csaba Kocsis 


Is the "destination" applicable for the write data job?
We assume it's not


Define & agree on a Java interface (do we need a different method for read/write?) The output should be defined

We need a clarification on the response


NCMP → DMI

As part of the overall datajob solution there must be an interface for data flow between the NCMP-lib in DCM and the DMI Plugin.

...

DMI Data SubJob read request

Name

Description

Location

Type

Mandatory

destination

The destination of the results. ( e.g. S3 Bucket)

Query

string

N

dataaccepttype




Define the data response accept type. Passible values:

·        application/vnd.3gpp.object-tree-hierarchical+json (default)

·        application/vnd.3gpp.object-tree-flat+json

request body

enum

N

datacontenttype

Define the data request content type. Passible values:

·        application/3gpp-json-patch+json (default)

request body

enum

N

dataProducerId

ID of the producer registered by DMI for the alernateIDs in the operations in this request.

request body

String

Y

requestId

Identifier for the overall Datajob

Path

String

Y

data

List of operations to be executed. 

request body

List of DMI3gppReadOperation

Y

DMI3gppReadOperation

Name

Description

Type

Mandatory

path

It is a unique identifier of a managed object (MO) on a network element. 
Defines the resource on which operation is executed. Typically could be Fully Distinguished Name (FDN).

StringY
op

Describes the operation to execute. The value can be: "read" 

StringY
operationId

Unique identifier of the operation within the request

IntegerN
attributes

This parameter specifies the attributes of the scoped resources that are returned. 

List of StringN
fields

This parameter specifies the attribute fields of the scoped resources that are returned.

This should be used if an attribute is a struct and only a subset of its fields should be returned.

List of StringN
filter

The parameter is used to filter the scoped Managed Objects. Only Managed Objects passing the filter criteria will be fetched.

List of StringN
scopeType

ScopeType selects MOs depending on relationships with Base Managed Object.


enum[BASE_ONLY, BASE_ALL, BASE_NTH_LEVEL, BASE_SUBTREE]N
scopeLevel

Only used when the scope type is BASE_NTH_LEVEL

IntegerN
moduleSetTag

Module set identifier

StringY
privateProperties

CMHandle private properties for the alternateID in the path.

MapY

Response

Status code: 200 - OK

Name

Description

Location

Type

Mandatory

dataProducerJobIdThe ID of the created job by the data producer.response bodyStringY
dmiPluginNameThe target DMI that the job was performed onresponse bodyStringY
subjobIdID of the specific subjobresponse bodyStringY


DMI Data SubJob write request

Name

Description

Location

Type

Mandatory

destination

The destination of the results. ( e.g. S3 Bucket)

Query

string

N

dataaccepttype

Define the data response accept type. Passible values:

·        application/vnd.3gpp.object-tree-hierarchical+json (default)

·        application/vnd.3gpp.object-tree-flat+json

request body

enum

N

datacontenttype

Define the data request content type. Passible values:

·        application/3gpp-json-patch+json (default)

request body

enum

N

dataProducerId

ID of the producer registered by DMI for the alernateIDs in the operations in this request.

request body

String

Y

requestId

Identifier for the overall Datajob

Path

String

Y

data

List of operations to be executed. 

request body

List of DMI3gppWriteOperation

Y


Name

Description

Type

Mandatory

path

It is a unique identifier of a managed object (MO) on a network element. 
Defines the resource on which operation is executed. Typically could be Fully Distinguished Name (FDN).

StringY
op

Describes the operation to execute. The value can be:

"add": creates a new MO with the id and attributes given in the value
"replace":  replaces the value of an attribute specified in the path (attribute is separated with a # from the MO path) with the object in the value
"remove": removes the MO given in the path, value is not applicable
"action": executes an MO action in the path (action is separated with a # from the MO path) with the input parameters in the value

StringY
operationId

Unique identifier of the operation within the request

IntegerN
value

NA if op == remove

Resource if op == add

Object if op == replace

ActionParameters if op == action



ObjectN
moduleSetTag

Module set identifier

StringY
privateProperties

CMHandle private properties for the alternateID in the path.

MapY


Response

Status code: 200 - OK

Name

Description

Location

Type

Mandatory

dataProducerJobIdThe ID of the created job by the data producer.response bodyStringY
dmiPluginNameThe target DMI that the job was performed onresponse bodyStringY
subjobIdID of the specific subjobresponse bodyStringY


Data subjob status check (NCMP → DMI)

...

Path: /dmi/v1/dataJob/{requestId}/dataProducerJob/{dataProducerJobId}/status

NameDescriptionLocationTypeMandatory

dataProducerId

ID of the producer registered by DMI for the alernateIDs in the operations in this request.

Query

String

Y

requestId

Identifier for the overall Datajob

Path

String

Y

dataProducerJobId

Identifier of the job created by the data producer.

Path

String

Y

Response:

Status code: 200 - OK

NameDescriptionLocationTypeMandatory

status

enum that represents the status of the subjob.
Possible values:
response bodyenum:
[ NOT_STARTED, RUNNING, FINSHED, FAILED, PARTIALLY_FAILED, CANCELLING, CANCELLED ]

Y


Data subjob retrieve result (NCMP → DMI)

...

Path: /dmi/v1/dataJob/{requestId}/dataProducerJob/{dataProducerJobId}/result

Parameters:

NameDescriptionLocationTypeMandatory

dataProducerId

ID of the producer registered by DMI for the alernateIDs in the operations in this request.

Query

String

Y

requestId

Identifier for the overall Datajob

Path

String

Y

dataProducerJobId

Identifier of the job created by the data producer.

Path

String

Y

destination

The destination of the results: Kafka topic name or s3 bucket name. This shall be put into the Kafka message headers returned to NCMP

Query

String

Y

Response:

WRITE

Status Code: 200 - Ok

...

READ

Status Code: 200 - Ok

NameDescriptionLocationTypeMandatory

resulturi

internal ncmp topic name

response body

String

Y