You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 29 Next »

Proposal

Figure 1: Figure 1 - SOTN-Connectivity diagram

Figure 3: Figure 3 - Site-Service diagram

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

Figure 4: Figure 4 - Topology diagram




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

SOTN Infra

Closed Loop

Site Service Instance

aai_schema_v13.xsd

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

add properties to existing object:

Mockup Schema
<xs:element name="service-instance">
 <xs:complexType>
   <xs:sequence>
    <xs:element name="customer-requests" type="xs:string">
   </xs:sequence>
 </xs:complexType>
</xs:element>

Mockup API
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”


AAI-1353-2

aai_schema_v13.xsd

  • "network"
  • "business"

Update existing entry points to graph for new proposed elements

Mockup Schema
<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

aai_schema_v13.xsd

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

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

Mockup Schema
<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>
Mockup API
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"
            }
        ]
    }
}

See Figure 1 above.

Proposal for specific new 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:

Mockup Schema
<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>

Mockup API
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"
}

See Figure 1 above.

Update existing class of objects.

AAI-1353-5SP Partner

aai_schema_v13.xsd

  • "service-instances"

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

Mockup Schema
<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>
Mockup API
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"
    }
}

See Figure 1 above.

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

AAI-1353-6SOTN Attachment

aai_schema_v13.xsd

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

add properties to existing object:

Mockup Schema
<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>

Mockup API
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

aai_schema_v13.xsd

  • "service-instances"

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

Mockup Schema
<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>
Mockup API
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"
    }
}


See Figure 3 above.

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

AAI-1353-8topo-network

aai_schema_v13.xsd

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

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

Mockup Schema
<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>
Mockup API
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"
            }
        ]
    }
}

See Figure 4 above.

Proposal for specific new class of "nce-network" objects.

AAI-1353-9termination-point

aai_schema_v13.xsd

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

add properties to existing object:

Mockup Schema
<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>

Mockup API
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



AAI-1353-999SDWAN-service

tbc



  • No labels