Versions Compared

Key

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

...

A service can be permanent or non permanent with due-date and end-date. In order to reserve resources before service activation, a temporary service can be created (with exact same characteristics) and activated until the due-date is reached for the service.

Type of servicePriorityAgreedComments
Service[orange] P1
[Telia]P1


Temp-service[orange] P2
[Telia]P2, if as comment

Orange: For time-constrainted services, it is suggested to have it in P1 without resource reservation in a first step.

Service header

By default, all non-optional parameters have to be managed unless further notice. Optional parameters are reviewed for implementation. Reviewers are free to add other optional parameters for P1 implementation

leafPrioritycomment
sdnc-request-header/request-id[Orange] P1
[Telia]P1

sdnc-request-header/system-id[Orange] P1
[Telia]P1
useful to determine which application has asked for the service
administrative-state[Orange] P1
[Telia]P1

operational-state[Orange] P1
[Telia]P1

Service a&z ends

LeafPriorityComment
node-id[Orange] P1
[Telia]P1
for compliancy with PCE spec, node-id spec is required (service-handler will not determine by itself the node on which implementig the service)
Tx & Rx / port / port-type[Orange] P2
[Telia]P2
Useful since it specifies the type of expected port
Tx & Rx / port / port-name[Orange] P1
[Telia]P2
Important and needed for the same reason as node-id (port-name is the info available from topology model). Other info do not seem crucial from service description point of view. Still useful to have it all in one place. Otherwise, a visit to device model is needed.
Tx & Rx / lgx / xxx[Orange] P2
[Telia] -
Defines the link from the transponder line-side up to the port pair of the add-drop through a cross-connect. Since we already know from topology (network model) on which port-pair the transponder is connected, what is the added value to give the LGX here ?
Tx & Rx / tail / xxx[Orange] P2
[Telia]P2
Defines the link from the transponder client-side up to the client equipment. We could imagine a tail model (not available from openroadm) that potentially limits connectivity (through connectivity matrix) between client equipment and client port of transponder. However, I suggests starting without constraint from the tail segment and start service from the transponder client-port in a first step.
user-label[Orange] P1
[Telia]P1
Label for service endpoint, defined by the user

Hard & Soft constraints

keep them all

...

fiber-span-srlg are listed in "other section". Therefore, this section focuses on nodes. Service model lists the set of devices being used by the service.

LeafPriorityComment
SRG-number[Orange] P1mandatory info when node is edge ROADM
degree-number[Orange] P1mandatory info when node is ROADM

Other

LeafPriorityComment
due-date / end-date[Orange] P1
[Telia]P2
useful for BoD / calendaring use cases
customer/customer-contact/operator-contact[Orange] P2
[Telia]P2

Latency[Orange] P1
[Telia]P1

SRG numbers[Orange] P1
[Telia]P1

Interface A - YANG API

Beyond the get-config / edit-config (or their equivalent in REST) on service model, following RPC are requested :

RPCPriorityComment
service-create[Orange] P1regarding inputs/outputs, cf service model
service-feasibility-check[Orange] P1
equipment-notification[Orange] ?don't remember the purpose of this RPC...
service-delete[Orange] P1
temp-service-create[Orange] P3
temp-service-delete[Orange] P3
service-roll[Orange] P2
service-reconfigure[Orange] P2
service-restoration[Orange] P1
service-reversion[Orange] P1
service-reroute[Orange] P3 ?don't see the big difference with service-roll
service-reroute-confirm[Orange] P3 ?don't see the big difference with service-roll


NotificationsPriorityComment
service-rpc-result
what is the added valuue compared to the output of the rpc ?
service-traffic-flow[Orange] P1How can we change administrative state of services ? through "edit-config" (or some equivalent in REST) of the service ?
service-notification[Orange] P1This Notification that a service has been added, modified or removed.

Issues to be discussed :

  • response-code type is string. This is not accurate enough for an API. Should be enum (invalid, created, pending,...) ?
  • ack-final-indicator: shold be enum also

...

Interface B relies on service path Yang model and rpc "path-calculation-request".

A tree view (Yang Model sent separately by email) is proposed here to modelize the input/output parameters to be passed over B interface. These parameters come from the service model with still some variations. These variations come mainly from PCE requirements section (but not only).

For discussion

module: org-openroadm-servicepath
  +--rw service-path-list
     +--rw service-paths* [service-path]
        +--rw service-path-name          string
        +--rw service-handler-header
        |  +--rw request-id    string
        +--rw service-a-end
        |  +--rw service-format    org-openroadm-common-service-types:service-format
        |  +--rw service-rate      uint32
        |  +--rw clli              string
        |  +--rw node-id?          string
        |  +--rw tx-direction
        |  |  +--rw port
        |  |     +--rw port-device-name?   string
        |  |     +--rw port-type?          string
        |  |     +--rw port-name?          string
        |  |     +--rw port-rack?          string
        |  |     +--rw port-shelf?         string
        |  |     +--rw port-slot?          string
        |  |     +--rw port-sub-slot?      string
        |  +--rw rx-direction
        |     +--rw port
        |        +--rw port-device-name?   string
        |        +--rw port-type?          string
        |        +--rw port-name?          string
        |        +--rw port-rack?          string
        |        +--rw port-shelf?         string
        |        +--rw port-slot?          string
        |        +--rw port-sub-slot?      string
        +--rw service-z-end
        |  +--rw service-format    org-openroadm-common-service-types:service-format
        |  +--rw service-rate      uint32
        |  +--rw clli              string
        |  +--rw node-id?          string
        |  +--rw tx-direction
        |  |  +--rw port
        |  |     +--rw port-device-name?   string
        |  |     +--rw port-type?          string
        |  |     +--rw port-name?          string
        |  |     +--rw port-rack?          string
        |  |     +--rw port-shelf?         string
        |  |     +--rw port-slot?          string
        |  |     +--rw port-sub-slot?      string
        |  +--rw rx-direction
        |     +--rw port
        |        +--rw port-device-name?   string
        |        +--rw port-type?          string
        |        +--rw port-name?          string
        |        +--rw port-rack?          string
        |        +--rw port-shelf?         string
        |        +--rw port-slot?          string
        |        +--rw port-sub-slot?      string
        +--rw hard-constraints
        |  +--rw customer-code*   string
        |  +--rw (co-routing-or-general)?
        |     +--:(general)
        |     |  +--rw diversity
        |     |  |  +--rw existing-service*                 string
        |     |  |  +--rw existing-service-applicability
        |     |  |     +--rw clli?   boolean
        |     |  |     +--rw node?   boolean
        |     |  |     +--rw srlg?   boolean
        |     |  +--rw exclude_
        |     |  |  +--rw SRLG*                      string
        |     |  |  +--rw clli*                      string
        |     |  |  +--rw node-id*                   string
        |     |  |  +--rw supporting-service-name*   string
        |     |  |  +--rw affinity?                  uint32
        |     |  +--rw include_
        |     |  |  +--rw ordered-hops* [hop-number]
        |     |  |     +--rw hop-number    uint16
        |     |  |     +--rw hop-type
        |     |  |        +--rw (hop-type)?
        |     |  |           +--:(SRLG)
        |     |  |           |  +--rw SRLG?      string
        |     |  |           +--:(clli)
        |     |  |           |  +--rw clli?      string
        |     |  |           +--:(node)
        |     |  |              +--rw node-id?   string
        |     |  +--rw latency
        |     |     +--rw max-latency?   uint32
        |     +--:(co-routing)
        |        +--rw co-routing
        |           +--rw existing-service*   string
        +--rw soft-constraints
        |  +--rw customer-code*   string
        |  +--rw (co-routing-or-general)?
        |     +--:(general)
        |     |  +--rw diversity
        |     |  |  +--rw existing-service*                 string
        |     |  |  +--rw existing-service-applicability
        |     |  |     +--rw clli?   boolean
        |     |  |     +--rw node?   boolean
        |     |  |     +--rw srlg?   boolean
        |     |  +--rw exclude_
        |     |  |  +--rw SRLG*                      string
        |     |  |  +--rw clli*                      string
        |     |  |  +--rw node-id*                   string
        |     |  |  +--rw supporting-service-name*   string
        |     |  |  +--rw affinity?                  uint32
        |     |  +--rw include_
        |     |  |  +--rw ordered-hops* [hop-number]
        |     |  |     +--rw hop-number    uint16
        |     |  |     +--rw hop-type
        |     |  |        +--rw (hop-type)?
        |     |  |           +--:(SRLG)
        |     |  |           |  +--rw SRLG?      string
        |     |  |           +--:(clli)
        |     |  |           |  +--rw clli?      string
        |     |  |           +--:(node)
        |     |  |              +--rw node-id?   string
        |     |  +--rw latency
        |     |     +--rw max-latency?   uint32
        |     +--:(co-routing)
        |        +--rw co-routing
        |           +--rw existing-service*   string
        +--rw pce-metric?                enumeration
        +--rw locally-protected-links?   boolean
        +--rw latency?                   uint32
        +--rw fiber-span-srlgs*          string
        +--rw equipment-srgs* [srg-number]
        |  +--rw srg-number    uint16
        +--rw supporting-service-name*   string
        +--rw path-description
           +--rw aToZ-direction
           |  +--rw aToZ-wavelength-number    uint32
           |  +--rw rate                      uint32
           |  +--rw modulation-format?        string
           |  +--rw aToZ* [id]
           |     +--rw id          string
           |     +--rw resource
           |        +--rw (resource)?
           |           +--:(termination-point)
           |           |  +--rw tp-id?     string
           |           |  +--rw node-id?   string
           |           +--:(link)
           |           |  +--rw link-id?   string
           |           +--:(node)
           |              +--rw node-id?   string
           +--rw zToA-direction
              +--rw zToA-wavelength-number    uint32
              +--rw rate                      uint32
              +--rw modulation-format?        string
              +--rw zToA* [id]
                 +--rw id          string
                 +--rw resource
                    +--rw (resource)?
                       +--:(termination-point)
                       |  +--rw tp-id?     string
                       |  +--rw node-id?   string
                       +--:(link)
                       |  +--rw link-id?   string
                       +--:(node)
                          +--rw node-id?   string

rpcs:

  +---x path-computation-request          
  |  +---w input     
  |  |  +---w service-name               string
  |  |  +---w resource-reserve           boolean
  |  |  +---w service-handler-header
  |  |  |  +---w request-id    string
  |  |  +---w service-a-end
  |  |  |  +---w service-format    org-openroadm-common-service-types:service-format
  |  |  |  +---w service-rate      uint32
  |  |  |  +---w clli              string
  |  |  |  +---w node-id?          string
  |  |  |  +---w tx-direction
  |  |  |  |  +---w port
  |  |  |  |     +---w port-device-name?   string
  |  |  |  |     +---w port-type?          string
  |  |  |  |     +---w port-name?          string
  |  |  |  |     +---w port-rack?          string
  |  |  |  |     +---w port-shelf?         string
  |  |  |  |     +---w port-slot?          string
  |  |  |  |     +---w port-sub-slot?      string
  |  |  |  +---w rx-direction
  |  |  |     +---w port
  |  |  |        +---w port-device-name?   string
  |  |  |        +---w port-type?          string
  |  |  |        +---w port-name?          string
  |  |  |        +---w port-rack?          string
  |  |  |        +---w port-shelf?         string
  |  |  |        +---w port-slot?          string
  |  |  |        +---w port-sub-slot?      string
  |  |  +---w service-z-end
  |  |  |  +---w service-format    org-openroadm-common-service-types:service-format
  |  |  |  +---w service-rate      uint32
  |  |  |  +---w clli              string
  |  |  |  +---w node-id?          string
  |  |  |  +---w tx-direction
  |  |  |  |  +---w port
  |  |  |  |     +---w port-device-name?   string
  |  |  |  |     +---w port-type?          string
  |  |  |  |     +---w port-name?          string
  |  |  |  |     +---w port-rack?          string
  |  |  |  |     +---w port-shelf?         string
  |  |  |  |     +---w port-slot?          string
  |  |  |  |     +---w port-sub-slot?      string
  |  |  |  +---w rx-direction
  |  |  |     +---w port
  |  |  |        +---w port-device-name?   string
  |  |  |        +---w port-type?          string
  |  |  |        +---w port-name?          string
  |  |  |        +---w port-rack?          string
  |  |  |        +---w port-shelf?         string
  |  |  |        +---w port-slot?          string
  |  |  |        +---w port-sub-slot?      string
  |  |  +---w hard-constraints
  |  |  |  +---w customer-code*   string
  |  |  |  +---w (co-routing-or-general)?
  |  |  |     +--:(general)
  |  |  |     |  +---w diversity
  |  |  |     |  |  +---w existing-service*                 string
  |  |  |     |  |  +---w existing-service-applicability
  |  |  |     |  |     +---w clli?   boolean
  |  |  |     |  |     +---w node?   boolean
  |  |  |     |  |     +---w srlg?   boolean
  |  |  |     |  +---w exclude_
  |  |  |     |  |  +---w SRLG*                      string
  |  |  |     |  |  +---w clli*                      string
  |  |  |     |  |  +---w node-id*                   string
  |  |  |     |  |  +---w supporting-service-name*   string
  |  |  |     |  |  +---w affinity?                  uint32
  |  |  |     |  +---w include_
  |  |  |     |  |  +---w ordered-hops* [hop-number]
  |  |  |     |  |     +---w hop-number    uint16
  |  |  |     |  |     +---w hop-type
  |  |  |     |  |        +---w (hop-type)?
  |  |  |     |  |           +--:(SRLG)
  |  |  |     |  |           |  +---w SRLG?      string
  |  |  |     |  |           +--:(clli)
  |  |  |     |  |           |  +---w clli?      string
  |  |  |     |  |           +--:(node)
  |  |  |     |  |              +---w node-id?   string
  |  |  |     |  +---w latency
  |  |  |     |     +---w max-latency?   uint32
  |  |  |     +--:(co-routing)
  |  |  |        +---w co-routing
  |  |  |           +---w existing-service*   string
  |  |  +---w soft-constraints
  |  |  |  +---w customer-code*   string
  |  |  |  +---w (co-routing-or-general)?
  |  |  |     +--:(general)
  |  |  |     |  +---w diversity
  |  |  |     |  |  +---w existing-service*                 string
  |  |  |     |  |  +---w existing-service-applicability
  |  |  |     |  |     +---w clli?   boolean
  |  |  |     |  |     +---w node?   boolean
  |  |  |     |  |     +---w srlg?   boolean
  |  |  |     |  +---w exclude_
  |  |  |     |  |  +---w SRLG*                      string
  |  |  |     |  |  +---w clli*                      string
  |  |  |     |  |  +---w node-id*                   string
  |  |  |     |  |  +---w supporting-service-name*   string
  |  |  |     |  |  +---w affinity?                  uint32
  |  |  |     |  +---w include_
  |  |  |     |  |  +---w ordered-hops* [hop-number]
  |  |  |     |  |     +---w hop-number    uint16
  |  |  |     |  |     +---w hop-type
  |  |  |     |  |        +---w (hop-type)?
  |  |  |     |  |           +--:(SRLG)
  |  |  |     |  |           |  +---w SRLG?      string
  |  |  |     |  |           +--:(clli)
  |  |  |     |  |           |  +---w clli?      string
  |  |  |     |  |           +--:(node)
  |  |  |     |  |              +---w node-id?   string
  |  |  |     |  +---w latency
  |  |  |     |     +---w max-latency?   uint32
  |  |  |     +--:(co-routing)
  |  |  |        +---w co-routing
  |  |  |           +---w existing-service*   string
  |  |  +---w pce-metric?                enumeration
  |  |  +---w locally-protected-links?   boolean
  |  +--ro output    
  |     +--ro configuration-response-common
  |     |  +--ro request-id             string
  |     |  +--ro response-code          string
  |     |  +--ro response-message?      string
  |     |  +--ro ack-final-indicator    string
  |     +--ro response-parameters
  |        +--ro hard-constraints
  |        |  +--ro customer-code*   string
  |        |  +--ro (co-routing-or-general)?
  |        |     +--:(general)
  |        |     |  +--ro diversity
  |        |     |  |  +--ro existing-service*                 string
  |        |     |  |  +--ro existing-service-applicability
  |        |     |  |     +--ro clli?   boolean
  |        |     |  |     +--ro node?   boolean
  |        |     |  |     +--ro srlg?   boolean
  |        |     |  +--ro exclude_
  |        |     |  |  +--ro SRLG*                      string
  |        |     |  |  +--ro clli*                      string
  |        |     |  |  +--ro node-id*                   string
  |        |     |  |  +--ro supporting-service-name*   string
  |        |     |  |  +--ro affinity?                  uint32
  |        |     |  +--ro include_
  |        |     |  |  +--ro ordered-hops* [hop-number]
  |        |     |  |     +--ro hop-number    uint16
  |        |     |  |     +--ro hop-type
  |        |     |  |        +--ro (hop-type)?
  |        |     |  |           +--:(SRLG)
  |        |     |  |           |  +--ro SRLG?      string
  |        |     |  |           +--:(clli)
  |        |     |  |           |  +--ro clli?      string
  |        |     |  |           +--:(node)
  |        |     |  |              +--ro node-id?   string
  |        |     |  +--ro latency
  |        |     |     +--ro max-latency?   uint32
  |        |     +--:(co-routing)
  |        |        +--ro co-routing
  |        |           +--ro existing-service*   string
  |        +--ro soft-constraints
  |        |  +--ro customer-code*   string
  |        |  +--ro (co-routing-or-general)?
  |        |     +--:(general)
  |        |     |  +--ro diversity
  |        |     |  |  +--ro existing-service*                 string
  |        |     |  |  +--ro existing-service-applicability
  |        |     |  |     +--ro clli?   boolean
  |        |     |  |     +--ro node?   boolean
  |        |     |  |     +--ro srlg?   boolean
  |        |     |  +--ro exclude_
  |        |     |  |  +--ro SRLG*                      string
  |        |     |  |  +--ro clli*                      string
  |        |     |  |  +--ro node-id*                   string
  |        |     |  |  +--ro supporting-service-name*   string
  |        |     |  |  +--ro affinity?                  uint32
  |        |     |  +--ro include_
  |        |     |  |  +--ro ordered-hops* [hop-number]
  |        |     |  |     +--ro hop-number    uint16
  |        |     |  |     +--ro hop-type
  |        |     |  |        +--ro (hop-type)?
  |        |     |  |           +--:(SRLG)
  |        |     |  |           |  +--ro SRLG?      string
  |        |     |  |           +--:(clli)
  |        |     |  |           |  +--ro clli?      string
  |        |     |  |           +--:(node)
  |        |     |  |              +--ro node-id?   string
  |        |     |  +--ro latency
  |        |     |     +--ro max-latency?   uint32
  |        |     +--:(co-routing)
  |        |        +--ro co-routing
  |        |           +--ro existing-service*   string
  |        +--ro pce-metric?                enumeration
  |        +--ro locally-protected-links?   boolean
  |        +--ro path-description
  |           +--ro aToZ-direction
  |           |  +--ro aToZ-wavelength-number    uint32
  |           |  +--ro rate                      uint32
  |           |  +--ro modulation-format?        string
  |           |  +--ro aToZ* [id]
  |           |     +--ro id          string
  |           |     +--ro resource
  |           |        +--ro (resource)?
  |           |           +--:(termination-point)
  |           |           |  +--ro tp-id?     string
  |           |           |  +--ro node-id?   string
  |           |           +--:(link)
  |           |           |  +--ro link-id?   string
  |           |           +--:(node)
  |           |              +--ro node-id?   string
  |           +--ro zToA-direction
  |              +--ro zToA-wavelength-number    uint32
  |              +--ro rate                      uint32
  |              +--ro modulation-format?        string
  |              +--ro zToA* [id]
  |                 +--ro id          string
  |                 +--ro resource
  |                    +--ro (resource)?
  |                       +--:(termination-point)
  |                       |  +--ro tp-id?     string
  |                       |  +--ro node-id?   string
  |                       +--:(link)
  |                       |  +--ro link-id?   string
  |                       +--:(node)
  |                          +--ro node-id?   string

notifications:

  +---n service-path-rpc-result    
  |  +--ro notification-type?   org-openroadm-common-service-path-types:service-path-notification-types
  |  +--ro path-description
  |  |  +--ro aToZ-direction
  |  |  |  +--ro aToZ-wavelength-number    uint32
  |  |  |  +--ro rate                      uint32
  |  |  |  +--ro modulation-format?        string
  |  |  |  +--ro aToZ* [id]
  |  |  |     +--ro id          string
  |  |  |     +--ro resource
  |  |  |        +--ro (resource)?
  |  |  |           +--:(termination-point)
  |  |  |           |  +--ro tp-id?     string
  |  |  |           |  +--ro node-id?   string
  |  |  |           +--:(link)
  |  |  |           |  +--ro link-id?   string
  |  |  |           +--:(node)
  |  |  |              +--ro node-id?   string
  |  |  +--ro zToA-direction
  |  |     +--ro zToA-wavelength-number    uint32
  |  |     +--ro rate                      uint32
  |  |     +--ro modulation-format?        string
  |  |     +--ro zToA* [id]
  |  |        +--ro id          string
  |  |        +--ro resource
  |  |           +--ro (resource)?
  |  |              +--:(termination-point)
  |  |              |  +--ro tp-id?     string
  |  |              |  +--ro node-id?   string
  |  |              +--:(link)
  |  |              |  +--ro link-id?   string
  |  |              +--:(node)
  |  |                 +--ro node-id?   string
  |  +--ro status               rpc-status-ex
  |  +--ro service-name         string
  |  +--ro actual-date?         yang:date-and-time


Interface C

based on service path Yang model and rpc "service implementation-request" & "service-delete".
Here below the tree view of the two RPCs, and of the notification service-rpc-result-sp

module: org-openroadm-servicepath

rpcs :

  +---x service-implementation-request    
  |  +---w input     
  |  |  +---w service-name              string
  |  |  +---w service-handler-header
  |  |  |  +---w request-id    string
  |  |  +---w service-a-end
  |  |  |  +---w service-format    org-openroadm-common-service-types:service-format
  |  |  |  +---w service-rate      uint32
  |  |  |  +---w clli              string
  |  |  |  +---w node-id?          string
  |  |  |  +---w tx-direction
  |  |  |  |  +---w port
  |  |  |  |     +---w port-device-name?   string
  |  |  |  |     +---w port-type?          string
  |  |  |  |     +---w port-name?          string
  |  |  |  |     +---w port-rack?          string
  |  |  |  |     +---w port-shelf?         string
  |  |  |  |     +---w port-slot?          string
  |  |  |  |     +---w port-sub-slot?      string
  |  |  |  +---w rx-direction
  |  |  |     +---w port
  |  |  |        +---w port-device-name?   string
  |  |  |        +---w port-type?          string
  |  |  |        +---w port-name?          string
  |  |  |        +---w port-rack?          string
  |  |  |        +---w port-shelf?         string
  |  |  |        +---w port-slot?          string
  |  |  |        +---w port-sub-slot?      string
  |  |  +---w service-z-end
  |  |  |  +---w service-format    org-openroadm-common-service-types:service-format
  |  |  |  +---w service-rate      uint32
  |  |  |  +---w clli              string
  |  |  |  +---w node-id?          string
  |  |  |  +---w tx-direction
  |  |  |  |  +---w port
  |  |  |  |     +---w port-device-name?   string
  |  |  |  |     +---w port-type?          string
  |  |  |  |     +---w port-name?          string
  |  |  |  |     +---w port-rack?          string
  |  |  |  |     +---w port-shelf?         string
  |  |  |  |     +---w port-slot?          string
  |  |  |  |     +---w port-sub-slot?      string
  |  |  |  +---w rx-direction
  |  |  |     +---w port
  |  |  |        +---w port-device-name?   string
  |  |  |        +---w port-type?          string
  |  |  |        +---w port-name?          string
  |  |  |        +---w port-rack?          string
  |  |  |        +---w port-shelf?         string
  |  |  |        +---w port-slot?          string
  |  |  |        +---w port-sub-slot?      string
  |  |  +---w path-description
  |  |     +---w aToZ-direction
  |  |     |  +---w aToZ-wavelength-number    uint32
  |  |     |  +---w rate                      uint32
  |  |     |  +---w modulation-format?        string
  |  |     |  +---w aToZ* [id]
  |  |     |     +---w id          string
  |  |     |     +---w resource
  |  |     |        +---w (resource)?
  |  |     |           +--:(termination-point)
  |  |     |           |  +---w tp-id?     string
  |  |     |           |  +---w node-id?   string
  |  |     |           +--:(link)
  |  |     |           |  +---w link-id?   string
  |  |     |           +--:(node)
  |  |     |              +---w node-id?   string
  |  |     +---w zToA-direction
  |  |        +---w zToA-wavelength-number    uint32
  |  |        +---w rate                      uint32
  |  |        +---w modulation-format?        string
  |  |        +---w zToA* [id]
  |  |           +---w id          string
  |  |           +---w resource
  |  |              +---w (resource)?
  |  |                 +--:(termination-point)
  |  |                 |  +---w tp-id?     string
  |  |                 |  +---w node-id?   string
  |  |                 +--:(link)
  |  |                 |  +---w link-id?   string
  |  |                 +--:(node)
  |  |                    +---w node-id?   string
  |  +--ro output    
  |     +--ro configuration-response-common
  |        +--ro request-id             string
  |        +--ro response-code          string
  |        +--ro response-message?      string
  |        +--ro ack-final-indicator    string
  +---x service-delete                    
     +---w input     
     |  +---w service-name              string
     |  +---w service-handler-header
     |     +---w request-id    string
     +--ro output    
        +--ro configuration-response-common
           +--ro request-id             string
           +--ro response-code          string
           +--ro response-message?      string
           +--ro ack-final-indicator    string
+---x cancel-resource-reserve           
  |  +---w input     
  |  |  +---w service-name              string
  |  |  +---w service-handler-header
  |  |     +---w request-id    string
  |  +--ro output    
  |     +--ro configuration-response-common
  |        +--ro request-id             string
  |        +--ro response-code          string
  |        +--ro response-message?      string
  |        +--ro ack-final-indicator    string

notifications:

  +---n service-rpc-result-sp      
     +--ro notification-type?   org-openroadm-common-service-path-types:service-path-notification-types
     +--ro path-topology
     |  +--ro aToZ* [id]
     |  |  +--ro id              string
     |  |  +--ro hop-type?       enumeration
     |  |  +--ro device
     |  |  |  +--ro node-id?   string
     |  |  +--ro resource
     |  |  |  +--ro (resource)?
     |  |  |     +--:(circuit-pack)
     |  |  |     |  +--ro circuit-pack-name     string
     |  |  |     +--:(port)
     |  |  |     |  +--ro port
     |  |  |     |     +--ro circuit-pack-name    string
     |  |  |     |     +--ro port-name?           string
     |  |  |     +--:(connection)
     |  |  |     |  +--ro connection-number     string
     |  |  |     +--:(physical-link)
     |  |  |     |  +--ro physical-link-name    string
     |  |  |     +--:(internal-link)
     |  |  |     |  +--ro internal-link-name    string
     |  |  |     +--:(shelf)
     |  |  |     |  +--ro shelf-name            string
     |  |  |     +--:(srg)
     |  |  |     |  +--ro srg-number            uint16
     |  |  |     +--:(degree)
     |  |  |     |  +--ro degree-number         uint16
     |  |  |     +--:(service)
     |  |  |     |  +--ro service-name          string
     |  |  |     +--:(interface)
     |  |  |        +--ro interface-name        string
     |  |  +--ro resourceType
     |  |     +--ro type         resource-type-enum
     |  |     +--ro extension?   string
     |  +--ro zToA* [id]
     |     +--ro id              string
     |     +--ro hop-type?       enumeration
     |     +--ro device
     |     |  +--ro node-id?   string
     |     +--ro resource
     |     |  +--ro (resource)?
     |     |     +--:(circuit-pack)
     |     |     |  +--ro circuit-pack-name     string
     |     |     +--:(port)
     |     |     |  +--ro port
     |     |     |     +--ro circuit-pack-name    string
     |     |     |     +--ro port-name?           string
     |     |     +--:(connection)
     |     |     |  +--ro connection-number     string
     |     |     +--:(physical-link)
     |     |     |  +--ro physical-link-name    string
     |     |     +--:(internal-link)
     |     |     |  +--ro internal-link-name    string
     |     |     +--:(shelf)
     |     |     |  +--ro shelf-name            string
     |     |     +--:(srg)
     |     |     |  +--ro srg-number            uint16
     |     |     +--:(degree)
     |     |     |  +--ro degree-number         uint16
     |     |     +--:(service)
     |     |     |  +--ro service-name          string
     |     |     +--:(interface)
     |     |        +--ro interface-name        string
     |     +--ro resourceType
     |        +--ro type         resource-type-enum
     |        +--ro extension?   string
     +--ro status               rpc-status-ex
     +--ro service-name         string
     +--ro actual-date?         yang:date-and-time


Service

...

Interface C

based on service path Yang model and rpc "service implementation-request" & "service-delete".
rpc "service implementation-request" & "service-delete"

Service handler logic

proposal ongoing...

...

handler logic

proposal ongoing...

  • service creation


    service vreationImage Added

    Brief explanation:

    • Upon receipt of service-create RPC, service header and sdnc-request header compliancy are verified.
    • If compliant, service-request parameters are verified in order to check if there is no missing parameter that prevents calculating a path and implement a service.
    • If OK, common-id is verified in order to see if there is no routing policy provided. If yes, the routing constraints of the policy are recovered and coherency with hard/soft constraints provided in the input of the RPC.
    • If OK, service due-time is verified. For any service to be activated later on, it is proposed to store them and wait for due-time to become equal to immediate (see xx). This behavior shall be improved in further release.
    • Before sending the PCE request, input data need to be formatted according to the Service Handler - PCE interface data model.
    • Once PCE request is being sent to the PCE on interface B, PCE reply is expected until a timer expires.
    • If PCE reply is received before timer expiration with a positive result, a service is created with admin and operational status 'down'.
    • A service implementation request is sent to the render on interface C.
    • If a positive message is received from the renderer, service admin / operational status is changed to 'up'.
    • For any case of failure, response-code, response message and ack-final-indicator shall be provided.
  • service feasibility check

    Service feasibility checkImage Added
  • service delete
    Service deleteImage Added

  • service modify:

one or several technical parameters are modified in service description
Service modifyImage Added

  • service restore:

service has been reported to be down (for network issue) and a restoration is being requested

Service restoreImage Added

NB: service delete is sent to the renderer for deletion in the network. However, the service is not deleted in service database. Only its path is cleared since removed from the network.

  • service reversion:

return to nominal path is requested for a service previously rerouted/restored. This still requires to store nominal path. For a service being restored, only the new path path is stored (in the service model).

  • non-permanent services management

  • in-life service management

    :

services can be disturbed because of some network events. An OAM function in ODL controller is in charge of collecting network events, SLA measurements and updates services accordingly. Service notfications are then sent to any external function having subscribed to these notifications. However, OAM function is out of the scope of transportpce project.

  • ...





Optical validation

This section gives an overview of how optical validation function is invoked in different implementations of the PCE.

...

...