Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: merge Notes column to ccvpn usecase ref column

...

Section
Column

Figure 1: Figure 1 - SOTN-Connectivity diagram

Figure 3: Figure 3 - Site-Service diagram

Figure 5: Figure 5 - Cross-Domain ONAP diagram

Column

Figure 2: Figure 2 - CCVPN model based on Beijiing release

Figure 4: Figure 4 - Topology diagram

Figure 6: Figure 6 - Cross-domain Foreign Object and ESR


Proposal

ReferenceCCVPN Use Case ReferenceAAI Schema ReferenceAAI Proposed Schema
Notes
AAI-1353-1

SOTN Infra

Closed Loop

Site Service Instance

Notes:

See Figure 1 above.

Use existing class of objects.

Closed loop scenario:

  • SO will create “service-instance” object in AAI
  • SO will store “customer-request” string on service-instance object in AAI
  • When Closed Loop call recreates the “service-instance”, it will query “service-instance” information first, to get the “customer-request”

aai_schema_v13.xsd

  • "service-instance"
  • "service-instances"

add properties to existing object:

Code Block
languagexml
titleMockup Schema (OXM)
collapsetrue
<java-type name="ServiceInstance">
 <xml-root-element name="service-instance"/>
 <java-attributes>
  <xml-element name="customer-requests" type="java.lang.String"/>
 </java-attributes>

</java-type>

Code Block
languagexml
titleMockup Schema (XSD)
collapsetrue
<xs:element name="service-instance">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="customer-requests" type="xs:string">
   </xs:sequence>
 </xs:complexType>
</xs:element>

Code Block
languagejs
titleMockup API
collapsetrue
URL: https://<AAI host>:<AAI port>/aai/v14/business
 /customers/customer/{global-customer-id}
 /service-subscriptions/service-subscription/{service-type}
 /service-instances/service-instance/{service-instance-id}
Method: PUT
Request Body:
{
    service-instance-id: "{service-instance-id}",
    service-instance-name: "instance name",
    service-type: "some type",
    service-role: "some role",
    resource-version: "some version",
    model-invariant-id: "model id",
    model-version-id: "model version",
    customer
-requests: "request parameters" }

See Figure 1 above.

Use existing class of objects.

Closed loop scenario:

  • SO will create “service-instance” object in AAI
  • SO will store “customer-request” string on service-instance object in AAI
  • When Closed Loop call recreates the “service-instance”, it will query “service-instance” information first, to get the “customer-request”
    -requests: "request parameters"
    }
    
    AAI-1353-2

    aai_schema_v13.xsd

    • "network"
    • "business"

    Update existing entry points to graph for new proposed elements:

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="Network">
     <xml-root-element name="network"/>
     <java-attributes>
      <xml-element name="connectivities
    " container-type="java.lang.ArrayList
    "
       type="inventory.aai.onap.org.v14.Connectivities"/>
      <xml-element name="port-configs"
    container-type="java.lang.ArrayList"
    
       type="inventory.aai.onap.org.v14.PortConfigs"/>
      <xml-element name="nce-networks
    " container-type="java.lang.ArrayList
    "
       type="inventory.aai.onap.org.v14.NceNetworks"/>
     </java-attributes>
    </java-type>
    
    
    <java-type name="Business">
     <xml-root-element name="business"/>
     <java-attributes>
      <xml-element name="sp-partners"
    container-type="java.lang.ArrayList"
    
       type="inventory.aai.onap.org.v14.SpPartners"/>
     </java-attributes>
    </java-type>
    
    Code Block
    languagexml
    titleMockup Schema (XSD)
    collapsetrue
    <xs:element name="network">
     <xs:complexType>
       <xs:sequence>
        <xs:element ref="tns:connectivities"
         minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="tns:port-configs"
         minOccurs="0" maxOccurs="unbounded"/>
        <xs:element ref="tns:nce-networks"
         minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    <xs:element name="business">
     <xs:complexType>
       <xs:sequence>
        <xs:element ref="tns:sp-partners"
         minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    AAI-1353-
    3SOTN Connectivity
    3

    SOTN Connectivity

    Notes:

    See Figure 1 above.

    Proposal for specific new class of "connectivity" objects.

    Key value is "Ethernet Service Name" property.

    aai_schema_v13.xsd

    • "service-instances"
    • "vpn-bindings"

    new element "connectivity", with 10-12 properties and 1-2 relationships and new element "connectivities":

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="ClassName">
     <xml-root-element name="class-name"/>
     <java-attributes>
      <xml-element name="t-b-c" type="java.lang.String"/>
      <xml-element name="t-b-c" container-type="java.lang.ArrayList"
       type="inventory.aai.onap.org.v14.OtherClassName"/>
     </java-attributes>
    </java-type>
    
    
    Code Block
    languagexml
    titleMockup Schema
    collapsetrue
    <xs:element name="connectivity">
     <xs:complexType>
       <xs:sequence>
        <xs:element name="etht-svc-name" type="xs:string" minOccurs="1">
        <xs:element name="bandwidth-profile-name" type="xs:string">
        <xs:element name="bandwidth-profile-type" type="xs:string">
        <xs:element name="CIR" type="xs:string">
        <xs:element name="EIR" type="xs:string">
        <xs:element name="CBS" type="xs:string">
        <xs:element name="EBS" type="xs:string">
        <xs:element name="color-aware" type="xs:string">
        <xs:element name="coupling-flag" type="xs:string">
        <xs:element name="access-provider-id" type="xs:string">
        <xs:element name="access-client-id" type="xs:string">
        <xs:element name="access-topology-id" type="xs:string">
        <xs:element name="access-node-id" type="xs:string">
        <xs:element name="access-ltp-id" type="xs:string">
        <xs:element ref="tns:cvlan-tag-entry"
         minOccurs="0" maxOccurs="1"/>
        <xs:element ref="tns:service-instance"
         minOccurs="0" maxOccurs="1"/>
        <xs:element ref="tns:vpn-bindings"
         minOccurs="1" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    <xs:element name="connectivities">
     <xs:complexType>
       <xs:sequence>
        <xs:element ref="tns:connectivity"
         minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /connectivities/connectivity/{ethSvcName}
    Method: PUT
    Request Body:
    {
        "bandwidth-profile-name": "a name",
        "bandwidth-profile-type": "a type",
        "CIR": "cir value",
        "EIR": "eir value",
        "CBS": "cbs value",
        "EBS": "ebs value",
        "color-aware": "color value",
        "coupling-flag": "flag value",
        "etht-svc-name": "{ethSvcName}",
        "access-provider-id": "provider id",
        "access-client-id": "client id",
        "access-topology-id": "topology id",
        "access-node-id": "node id",
        "access-ltp-id": "ltp id",
        "cvlan-tag-entry": {
            "cvlan-tag" : "cvlanTag"
        },
        "service-instance": {
            "service-instance-id" : "instance id"
        },
        "vpn-bindings": {
            "vpn-binding" : [
                {
                    "vpn-id": "vpn id 1"
                },
                {
                    "vpn-id": "vpn id 2"
                }
            ]
        }
    }
    
    AAI-1353-4

    VPN

    Notes:

    See Figure 1 above.

    Proposal for specific new

    Update existing class of

    "connectivity"

    objects

    .Key value is "Ethernet Service Name" property

    .

    AAI-1353-4VPN


    aai_schema_v13.xsd

    • "vpn-binding"
    • "vpn-bindings"

    add properties to existing object:

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="ClassName">
     <xml-root-element name="class-name"/>
     <java-attributes>
      <xml-element name="t-b-c" type="java.lang.String"/>
      <xml-element name="t-b-c" container-type="java.lang.ArrayList"
       type="inventory.aai.onap.org.v14.OtherClassName"/>
     </java-attributes>
    </java-type>
    
    
    Code Block
    languagexml
    titleMockup Schema (XSD)
    collapsetrue
    <xs:element name="vpn-binding">
     <xs:complexType>
       <xs:sequence>
        <xs:element name="access-provider-id" type="xs:string">
        <xs:element name="access-client-id" type="xs:string">
        <xs:element name="access-topology-id" type="xs:string">
        <xs:element name="src-access-node-id" type="xs:string">
        <xs:element name="src-access-ltp-id" type="xs:string">
        <xs:element name="dst-access-node-id" type="xs:string">
        <xs:element name="dst-access-ltp-id" type="xs:string">
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    
    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /vpn-bindings/vpn-binding/vpnId
    Method: PUT
    Request Body:
    {
        "vpn-id": "vpnId",
        "vpn-name": "vpn name",
        "access-provider-id": "provider id",
        "access-client-id": "client id",
        "access-topology-id": "topology id",
        "src-access-node-id": "src node id",
        "src-access-ltp-id": "src ltp id",
        "dst-access-node-id": "dst node id",
        "dst-access-ltp-id": "dst ltp id"
    }
    
    
    AAI-1353-5

    SP Partner

    Notes:

    See Figure 1 above.

    Update existing

    Proposal for specific new class of "sp-partner" objects.

    AAI-1353-5SP Partner


    aai_schema_v13.xsd

    • "service-instances"

    new element "sp-partner" and new element "sp-partners":

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="ClassName">
     <xml-root-element name="class-name"/>
     <java-attributes>
      <xml-element name="t-b-c" type="java.lang.String"/>
      <xml-element name="t-b-c" container-type="java.lang.ArrayList"
       type="inventory.aai.onap.org.v14.OtherClassName"/>
     </java-attributes>
    </java-type>
    
    
    Code Block
    languagexml
    titleMockup Schema (XSD)
    collapsetrue
    <xs:element name="sp-partner">
     <xs:complexType>
       <xs:sequence>
        <xs:element name="id" type="xs:string">
        <xs:element name="url" type="xs:string">
        <xs:element ref="tns:service-instance"
         minOccurs="0" maxOccurs="1"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    <xs:element name="sp-partners">
     <xs:complexType>
       <xs:sequence>
        <xs:element ref="tns:sp-partner"
         minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/business
     /sp-partners/sp-partner/partnerId
    Method: PUT
    Request Body:
    {
        "id": "partnerId",
        "url": "partner url",
        "service-instance": {
            "service-instance-id" : "instance id"
        }
    }
    
    
    AAI-1353-6

    SOTN Attachment

    Notes:

    See Figure

    1

    3 above.

    Proposal for specific new

    Update existing class of

    "sp-partner"

    objects.

    AAI-1353-6SOTN Attachment


    aai_schema_v13.xsd

    • "allotted-resource"
    • "allotted-resources"

    add properties to existing object:

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="ClassName">
     <xml-root-element name="class-name"/>
     <java-attributes>
      <xml-element name="t-b-c" type="java.lang.String"/>
      <xml-element name="t-b-c" container-type="java.lang.ArrayList"
       type="inventory.aai.onap.org.v14.OtherClassName"/>
     </java-attributes>
    </java-type>
    
    


    Code Block
    languagexml
    titleMockup Schema (XSD)
    collapsetrue
    <xs:element name="allotted-resource">
     <xs:complexType>
       <xs:sequence>
        <xs:element name="access-provider-id" type="xs:string">
        <xs:element name="access-client-id" type="xs:string">
        <xs:element name="access-topology-id" type="xs:string">
        <xs:element name="access-node-id" type="xs:string">
        <xs:element name="access-ltp-id" type="xs:string">
        <xs:element ref="tns:cvlan-tag-entry"
         minOccurs="0" maxOccurs="1"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    
    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/business
     /customers/customer/{global-customer-id}
     /service-subscriptions/service-subscription/{service-type}
     /service-instances/service-instance/{service-instance-id}
     /allotted-resources/allotted-resource/{id}
    Method: PUT
    Request Body:
    {
        "access-provider-id": "provider id",
        "access-client-id": "client id",
        "access-topology-id": "topology id",
        "access-node-id": "node id",
        "access-ltp-id": "ltp id",
        "cvlan-tag-entry": {
            "cvlan-tag" : "cvlanTag"
        }
    }
    

    See Figure 3 above.

    Update existing class of objects.
    AAI-1353-7

    LAN port config

    WAN port config

    Notes:

    See Figure 3 above.

    Proposal for specific new class of "port-config" objects.


    aai_schema_v13.xsd

    • "service-instances"

    new element "port-config" and new element "port-configs":

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="ClassName">
     <xml-root-element name="class-name"/>
     <java-attributes>
      <xml-element name="t-b-c" type="java.lang.String"/>
      <xml-element name="t-b-c" container-type="java.lang.ArrayList"
       type="inventory.aai.onap.org.v14.OtherClassName"/>
     </java-attributes>
    </java-type>
    
    


    Code Block
    languagexml
    titleMockup Schema (XSD)
    collapsetrue
    <xs:element name="port-config">
     <xs:complexType>
       <xs:sequence>
        <xs:element name="port-id" type="xs:string">
        <xs:element name="config-type" type="xs:string">
        <xs:element ref="tns:service-instance"
         minOccurs="0" maxOccurs="1"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    <xs:element name="port-configs">
     <xs:complexType>
       <xs:sequence>
        <xs:element ref="tns:port-config"
         minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /port-configs/port-config/portId
    Method: PUT
    Request Body:
    {
        "port-id": "portId",
        "config-type": "lan or wan",
        "service-instance": {
            "service-instance-id" : "instance id"
        }
    }
    
    


    AAI-1353-8

    topo-network

    Notes:

    See Figure

    3

    4 above.

    Proposal for specific new class of "

    port

    nce-

    config

    network" objects.

    AAI-1353-8topo-network


    aai_schema_v13.xsd

    • "pnfs"
    • "p-interfaces"
    • "vpn-bindings"

    new element "nce-network" and new element "nce-networks":

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="ClassName">
     <xml-root-element name="class-name"/>
     <java-attributes>
      <xml-element name="t-b-c" type="java.lang.String"/>
      <xml-element name="t-b-c" container-type="java.lang.ArrayList"
       type="inventory.aai.onap.org.v14.OtherClassName"/>
     </java-attributes>
    </java-type>
    
    
    Code Block
    languagexml
    titleMockup Schema (XSD)
    collapsetrue
    <xs:element name="nce-network">
     <xs:complexType>
       <xs:sequence>
        <xs:element name="network-id" type="xs:string">
        <xs:element name="provider-id" type="xs:string">
        <xs:element name="client-id" type="xs:string">
        <xs:element name="te-topo-id" type="xs:string">
        <xs:element ref="tns:pnfs"
         minOccurs="1" maxOccurs="unbounded"/>
        <xs:element ref="tns:p-interfaces"
         minOccurs="1" maxOccurs="unbounded"/>
        <xs:element ref="tns:vpn-bindings"
         minOccurs="1" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    <xs:element name="nce-networks">
     <xs:complexType>
       <xs:sequence>
        <xs:element ref="tns:nce-network"
         minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /nce-networks/nce-network/{networkId}
    Method: PUT
    Request Body:
    {
        "network-id": "{networkId}",
        "provider-id": "some provider",
        "client-id": "some client",
        "te-topo-id": "some topo",
        "pnfs": {
            "pnf" : [
                {
                    "pnf-name": "name 1"
                },
                {
                    "pnf-name": "name 2"
                }
            ]
        },
        "p-interfaces": {
            "p-interface" : [
                {
                    "interface-name": "name 1"
                },
                {
                    "interface-name": "name 2"
                }
            ]
        },
        "vpn-bindings": {
            "vpn-binding" : [
                {
                    "vpn-id": "vpn id 1"
                },
                {
                    "vpn-id": "vpn id 2"
                }
            ]
        }
    }
    
    
    AAI-1353-9

    termination-point

    Notes:

    See Figure 4 above.

    Proposal for specific new

    Update existing class of

    "nce-network"

    objects.

    AAI-1353-9

    termination-point


    aai_schema_v13.xsd

    • "p-interface"
    • "vpn-bindings"

    add properties to existing object:

    Code Block
    languagexml
    titleMockup Schema (OXM)
    collapsetrue
    <java-type name="ClassName">
     <xml-root-element name="class-name"/>
     <java-attributes>
      <xml-element name="t-b-c" type="java.lang.String"/>
      <xml-element name="t-b-c" container-type="java.lang.ArrayList"
       type="inventory.aai.onap.org.v14.OtherClassName"/>
     </java-attributes>
    </java-type>
    
    
    Code Block
    languagexml
    titleMockup Schema (XSD)
    collapsetrue
    <xs:element name="p-interface">
     <xs:complexType>
       <xs:sequence>
        <xs:element name="network-ref" type="xs:string">
        <xs:element name="transparent" type="xs:string">
        <xs:element ref="tns:vpn-bindings"
         minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
    </xs:element>
    
    
    Code Block
    languagejs
    titleMockup API
    collapsetrue
    URL: https://<AAI host>:<AAI port>/aai/v14/network
     /pnfs/pnf/{pnfName}
     /p-interfaces/p-interface/{tp-id}
    Method: PUT
    Request Body:
    {
        "interface-name": "{tp-id}",
        "network-ref": "some network",
        "transparent": "some value",
        "speed-value": "eth bandwidth",
        "vpn-bindings": {
            "vpn-binding" : [
                {
                    "vpn-id": "vpn id 1"
                },
                {
                    "vpn-id": "vpn id 2"
                }
            ]
        }
    }
    

    See Figure 4 above.

    Update existing class of objects.
    AAI-1353-10

    cross-domain link

    Notes:

    See Figure 5 and Figure 6 above.



    Record information in AAI that crosses between ONAP Domain 1 and ONAP Domain 2

    tbc

    See Figure 5 and Figure 6 above.

    AAI-1353-999SDWAN-service
    tbc