Skip to content

Commit c5bd313

Browse files
pre - release
1 parent 0beefe7 commit c5bd313

File tree

4 files changed

+155
-113
lines changed

4 files changed

+155
-113
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
# MEF-LSO-Presto-SDK - Fergie Release
1+
# MEF-LSO-Presto-SDK - Grace Release
22

33
This repository contains the MEF LSO Presto SDK.
44

55
## Download Link
66

77
Download the entire repository by clicking
8-
[here](https://github.com/MEF-GIT/MEF-LSO-Presto-SDK/releases/download/fergie/MEF-LSO-Presto-SDK-fergie.zip)
8+
[here](https://github.com/MEF-GIT/MEF-LSO-Presto-SDK/releases/download/grace/MEF-LSO-Presto-SDK-grace.zip)
99

1010
**Note:**
1111
Since Q4 2020 MEF has introduced a common release schema for all SDKs.
1212

13-
Since the last Celine release (January 2022) no items have been updated.
13+
Since the Celine release (January 2022) no items have been updated.
1414

1515
More information about the LSO Presto API reference point can be found here:
1616

@@ -54,7 +54,7 @@ https://github.com/OpenNetworkingFoundation/TAPI
5454

5555
## Issues, Questions, and Feedback
5656

57-
Issues should be reported with the use of GitHub issues. Questions and feedback should be asked either at [Presto SDK Community](https://github.com/orgs/MEF-GIT/teams/mef-lso-presto-sdk-community) or directly to [email protected].
57+
Issues should be reported with the use of GitHub issues. Questions and feedback should be asked either at [Presto SDK Discussions](https://github.com/MEF-GIT/MEF-LSO-Presto-SDK/discussions) or directly to [email protected].
5858

5959
The MEF LSO Presto SDK is released under the Apache 2.0 license.
6060

api/swagger/README.md

Lines changed: 43 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,43 @@
1-
# MEF LSO Presto Swagger definitions
2-
3-
Swagger definitions were automatically derived from yang files using yang2swagger tool (https://github.com/bartoszm/yang2swagger).
4-
The directory contains prefered Swagger definition ``presto-nrp.yaml`` and some additional ones (in ``additions`` directory):
5-
* presto-nrp-rpc-only.yaml - Presto NRP definitions for RPC operations only
6-
* presto-nrp-rpc-only-simplified-hierarchy.yaml - Presto NRP definitions for RPC operations only with simplified class hierarchy
7-
* presto-nrp-simplified-hierarchy.yaml - Presto NRP definitions with simplified hierarchy
8-
9-
All Swagger definitions in ``additions`` directory are compatible with ``presto-nrp.yaml``
10-
11-
## Hierarchy flattening
12-
Swagger allows combining and extending model definitions using the ``allOf`` property of JSON Schema, in effect offering model composition. allOf takes in an array of object definitions that are validated independently but together compose a single object.
13-
However most of the default code generators do not handle definitions that contain more than one simple model and a single reference.
14-
15-
To allow Presto NRP swagger definition to be consumed by default code generator we need to flatten data model, for example:
16-
17-
```
18-
tapi.connectivity.deleteconnectivityservice.output.Service:
19-
allOf:
20-
- $ref: "#/definitions/nrp.interface.ServiceAugmentation1"
21-
- $ref: "#/definitions/tapi.common.AdminStatePac"
22-
- $ref: "#/definitions/tapi.common.GlobalClass"
23-
- $ref: "#/definitions/tapi.connectivity.ConnectivityConstraint"
24-
- $ref: "#/definitions/tapi.connectivity.ResilienceConstraint"
25-
- $ref: "#/definitions/tapi.connectivity.TopologyConstraint"
26-
- type: "object"
27-
properties:
28-
layer-protocol-name:
29-
description: "none"
30-
$ref: "#/definitions/tapi.common.LayerProtocolName"
31-
connection:
32-
type: "array"
33-
description: "none"
34-
items:
35-
type: "string"
36-
x-path: "/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:uuid"
37-
end-point:
38-
type: "array"
39-
description: "none"
40-
items:
41-
$ref: "#/definitions/tapi.connectivity.deleteconnectivityservice.output.service.EndPoint"
42-
direction:
43-
description: "none"
44-
$ref: "#/definitions/tapi.common.ForwardingDirection"
45-
description: "none"
46-
```
47-
is converted to:
48-
```
49-
tapi.connectivity.deleteconnectivityservice.output.Service:
50-
allOf:
51-
- $ref: "#/definitions/tapi.common.GlobalClass"
52-
- properties:
53-
schedule:
54-
description: "none"
55-
$ref: "#/definitions/tapi.common.TimeRange"
56-
requested-capacity:
57-
description: "none"
58-
$ref: "#/definitions/tapi.common.Capacity"
59-
is-exclusive:
60-
type: "boolean"
61-
description: "To distinguish if the resources are exclusive to the service\
62-
\ - for example between EPL(isExclusive=true) and EVPL (isExclusive=false),\
63-
\ or between EPLAN (isExclusive=true) and EVPLAN (isExclusive=false)"
64-
default: true
65-
diversity-exclusion:
66-
type: "array"
67-
description: "none"
68-
items:
69-
$ref: "#/definitions/tapi.connectivity.ConnectivityServiceRef"
70-
service-level:
71-
type: "string"
72-
description: "An abstract value the meaning of which is mutually agreed\
73-
\ – typically represents metrics such as - Class of service, priority,\
74-
\ resiliency, availability"
75-
service-type:
76-
description: "none"
77-
$ref: "#/definitions/tapi.connectivity.ServiceType"
78-
cost-characteristic:
79-
type: "array"
80-
description: "The list of costs where each cost relates to some aspect of\
81-
\ the TopologicalEntity."
82-
items:
83-
$ref: "#/definitions/tapi.topology.CostCharacteristic"
84-
latency-characteristic:
85-
type: "array"
86-
description: "The effect on the latency of a queuing process. This only\
87-
\ has significant effect for packet based systems and has a complex characteristic."
88-
items:
89-
$ref: "#/definitions/tapi.topology.LatencyCharacteristic"
90-
coroute-inclusion:
91-
type: "string"
92-
description: "none"
93-
94-
[... CUT ...]
95-
```
96-
In other words properties from most of the referenced models got unpacked to definition using it.
97-
98-
## Generating swagger definitions from YANG modules
99-
100-
You can generate swagger definitions by yourself using https://github.com/bartoszm/y2s-tapi-cli.
101-
The latest released version is: https://github.com/bartoszm/y2s-tapi-cli/releases/tag/v1.0.0
102-
103-
For example, to get ``presto-nrp.yaml``:
104-
``java -cp yang2swagger-tapi-cli-1.0-cli.jar com.amartus.y2s.Generator -yang-dir yang -output presto-nrp.yaml``
105-
106-
To get file with simplified hierarchy:
107-
``java -cp yang2swagger-tapi-cli-1.0-cli.jar com.amartus.y2s.Generator -yang-dir yang -simplify-hierarchy -output presto-nrp-simplified.yaml``
1+
# Network Resource Provisioning: Release notes
2+
3+
## Release Grace:
4+
5+
**Readiness status**: early draft version, on hold
6+
7+
**Summary** - No changes.
8+
9+
## Release Fergie:
10+
11+
**Readiness status**: early draft version, on hold
12+
13+
**Summary** - No changes.
14+
15+
## Release Ella:
16+
17+
**Readiness status**: early draft version, on hold
18+
19+
**Summary** - No changes.
20+
21+
## Release Dolly:
22+
23+
**Readiness status**: early draft version, on hold
24+
25+
**Summary** - No changes.
26+
27+
## Release Celine:
28+
29+
**Readiness status**: early draft version, on hold
30+
31+
**Summary** - No changes.
32+
33+
## Release Billie:
34+
35+
**Readiness status**: early draft version, on hold
36+
37+
**Summary** - No changes.
38+
39+
## Release Aretha:
40+
41+
**Readiness status**: early draft version, on hold
42+
43+
**Summary** - No changes.

api/swagger/README_DOC.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# MEF LSO Presto Swagger definitions
2+
3+
Swagger definitions were automatically derived from yang files using yang2swagger tool (https://github.com/bartoszm/yang2swagger).
4+
The directory contains prefered Swagger definition ``presto-nrp.yaml`` and some additional ones (in ``additions`` directory):
5+
* presto-nrp-rpc-only.yaml - Presto NRP definitions for RPC operations only
6+
* presto-nrp-rpc-only-simplified-hierarchy.yaml - Presto NRP definitions for RPC operations only with simplified class hierarchy
7+
* presto-nrp-simplified-hierarchy.yaml - Presto NRP definitions with simplified hierarchy
8+
9+
All Swagger definitions in ``additions`` directory are compatible with ``presto-nrp.yaml``
10+
11+
## Hierarchy flattening
12+
Swagger allows combining and extending model definitions using the ``allOf`` property of JSON Schema, in effect offering model composition. allOf takes in an array of object definitions that are validated independently but together compose a single object.
13+
However most of the default code generators do not handle definitions that contain more than one simple model and a single reference.
14+
15+
To allow Presto NRP swagger definition to be consumed by default code generator we need to flatten data model, for example:
16+
17+
```
18+
tapi.connectivity.deleteconnectivityservice.output.Service:
19+
allOf:
20+
- $ref: "#/definitions/nrp.interface.ServiceAugmentation1"
21+
- $ref: "#/definitions/tapi.common.AdminStatePac"
22+
- $ref: "#/definitions/tapi.common.GlobalClass"
23+
- $ref: "#/definitions/tapi.connectivity.ConnectivityConstraint"
24+
- $ref: "#/definitions/tapi.connectivity.ResilienceConstraint"
25+
- $ref: "#/definitions/tapi.connectivity.TopologyConstraint"
26+
- type: "object"
27+
properties:
28+
layer-protocol-name:
29+
description: "none"
30+
$ref: "#/definitions/tapi.common.LayerProtocolName"
31+
connection:
32+
type: "array"
33+
description: "none"
34+
items:
35+
type: "string"
36+
x-path: "/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:uuid"
37+
end-point:
38+
type: "array"
39+
description: "none"
40+
items:
41+
$ref: "#/definitions/tapi.connectivity.deleteconnectivityservice.output.service.EndPoint"
42+
direction:
43+
description: "none"
44+
$ref: "#/definitions/tapi.common.ForwardingDirection"
45+
description: "none"
46+
```
47+
is converted to:
48+
```
49+
tapi.connectivity.deleteconnectivityservice.output.Service:
50+
allOf:
51+
- $ref: "#/definitions/tapi.common.GlobalClass"
52+
- properties:
53+
schedule:
54+
description: "none"
55+
$ref: "#/definitions/tapi.common.TimeRange"
56+
requested-capacity:
57+
description: "none"
58+
$ref: "#/definitions/tapi.common.Capacity"
59+
is-exclusive:
60+
type: "boolean"
61+
description: "To distinguish if the resources are exclusive to the service\
62+
\ - for example between EPL(isExclusive=true) and EVPL (isExclusive=false),\
63+
\ or between EPLAN (isExclusive=true) and EVPLAN (isExclusive=false)"
64+
default: true
65+
diversity-exclusion:
66+
type: "array"
67+
description: "none"
68+
items:
69+
$ref: "#/definitions/tapi.connectivity.ConnectivityServiceRef"
70+
service-level:
71+
type: "string"
72+
description: "An abstract value the meaning of which is mutually agreed\
73+
\ – typically represents metrics such as - Class of service, priority,\
74+
\ resiliency, availability"
75+
service-type:
76+
description: "none"
77+
$ref: "#/definitions/tapi.connectivity.ServiceType"
78+
cost-characteristic:
79+
type: "array"
80+
description: "The list of costs where each cost relates to some aspect of\
81+
\ the TopologicalEntity."
82+
items:
83+
$ref: "#/definitions/tapi.topology.CostCharacteristic"
84+
latency-characteristic:
85+
type: "array"
86+
description: "The effect on the latency of a queuing process. This only\
87+
\ has significant effect for packet based systems and has a complex characteristic."
88+
items:
89+
$ref: "#/definitions/tapi.topology.LatencyCharacteristic"
90+
coroute-inclusion:
91+
type: "string"
92+
description: "none"
93+
94+
[... CUT ...]
95+
```
96+
In other words properties from most of the referenced models got unpacked to definition using it.
97+
98+
## Generating swagger definitions from YANG modules
99+
100+
You can generate swagger definitions by yourself using https://github.com/bartoszm/y2s-tapi-cli.
101+
The latest released version is: https://github.com/bartoszm/y2s-tapi-cli/releases/tag/v1.0.0
102+
103+
For example, to get ``presto-nrp.yaml``:
104+
``java -cp yang2swagger-tapi-cli-1.0-cli.jar com.amartus.y2s.Generator -yang-dir yang -output presto-nrp.yaml``
105+
106+
To get file with simplified hierarchy:
107+
``java -cp yang2swagger-tapi-cli-1.0-cli.jar com.amartus.y2s.Generator -yang-dir yang -simplify-hierarchy -output presto-nrp-simplified.yaml``

api/swagger/presto-nrp.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ swagger: "2.0"
33
info:
44
description: "MEF 60 (PRESTO NRP) swagger definition"
55
version: "2018R2"
6-
title: "mef-common,tapi-topology,tapi-common,tapi-connectivity,mef-common-types,nrm-connectivity,nrp-interface\
7-
\ API"
6+
title: "Network Resource Provisioning"
87
host: "localhost:1234"
98
basePath: "/restconf"
109
consumes:

0 commit comments

Comments
 (0)