AAI-CCVPN Schema Proposal for Casablanca Release

Diagrams

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

Figure 3: Figure 3 - Site-Service diagram

Figure 5: Figure 5 - Cross-Domain ONAP diagram

Figure 7: Figure 7 - Intra-Domain p-interface link

Figure 9: Figure 9 - Cross-Domain p-interface link primary 3rd party

Figure 2: Figure 2 - SOTN Connectivity diagram

Figure 4: Figure 4 - Topology diagram

Figure 6: Figure 6 - Cross-domain link diagram

Figure 8: Figure 8 - Cross-Domain p-interface link peer

Figure 10: Figure 10 - SDWAN vpn diagram


Proposal

Reference IdCCVPN Use Case ReferenceAAI Schema ReferenceAAI Proposed Schema
AAI-1353-1

aai_schema_v13.xsd

  • "network"
  • "business"

Update existing "network" and "business" entry points to graph for new proposed elements:

Mockup Schema (OXM)
<java-type name="Network">
 <xml-root-element name="network"/>
 <java-attributes>
  <xml-element name="connectivities"
   type="inventory.aai.onap.org.v14.Connectivities"/>
  <xml-element name="lan-port-configs"
   type="inventory.aai.onap.org.v14.LanPortConfigs"/>
  <xml-element name="network-resources"
   type="inventory.aai.onap.org.v14.NetworkResources"/>
  <xml-element name="site-resources"
   type="inventory.aai.onap.org.v14.SiteResources"/>
  <xml-element name="sdwan-vpns"
   type="inventory.aai.onap.org.v14.SdwanVpns"/>
  <xml-element name="devices"
   type="inventory.aai.onap.org.v14.Devices"/>
  <xml-element name="wan-port-configs"
   type="inventory.aai.onap.org.v14.WanPortConfigs"/>
  <xml-element name="ext-aai-networks"
   type="inventory.aai.onap.org.v14.ExtAaiNetworks"/>
 </java-attributes>
</java-type>

<java-type name="Business">
 <xml-root-element name="business"/>
 <java-attributes>
  <xml-element name="sp-partners"
   type="inventory.aai.onap.org.v14.SpPartners"/>
 </java-attributes>
</java-type>
AAI-1353-2

SOTN Infra

Closed Loop

Site Service Instance

Notes:

See Figure 2 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 "service-instance" object:

Mockup Schema (OXM)
<java-type name="ServiceInstance">
 <xml-root-element name="service-instance"/>
 <java-attributes>
  <xml-element name="input-parameters" type="java.lang.String"/>
 </java-attributes>
</java-type>

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",
    input-parameters: "request parameters"
}
AAI-1353-3

SOTN Connectivity

Notes:

See Figure 2 above.

Proposal for specific new class of "connectivity" objects.

aai_schema_v13.xsd

  • "service-instance"
  • "vpn-bindings"

new element "connectivity" and new element "connectivities":

Mockup Schema (OXM)
<java-type name="Connectivity">
 <xml-root-element name="connectivity"/>
 <java-attributes>
  <xml-element name="connectivity-id" type="java.lang.String"/>
  <xml-element name="bandwidth-profile-name" type="java.lang.String"/>
  <xml-element name="vpn-type" type="java.lang.String"/>
  <xml-element name="cir" type="java.lang.String"/>
  <xml-element name="eir" type="java.lang.String"/>
  <xml-element name="cbs" type="java.lang.String"/>
  <xml-element name="ebs" type="java.lang.String"/>
  <xml-element name="color-aware" type="java.lang.String"/>
  <xml-element name="coupling-flag" type="java.lang.String"/>
  <xml-element name="etht-svc-name" type="java.lang.String"/>
  <xml-element name="access-provider-id" type="java.lang.String"/>
  <xml-element name="access-client-id" type="java.lang.String"/>
  <xml-element name="access-topology-id" type="java.lang.String"/>
  <xml-element name="access-node-id" type="java.lang.String"/>
  <xml-element name="access-ltp-id" type="java.lang.String"/>
  <xml-element name="connectivity-selflink" type="java.lang.String"/>
  <xml-element name="cvlan" type="java.lang.String"/>
  <xml-element name="operational-status" type="java.lang.String"/>
  <xml-element name="model-customization-id" type="java.lang.String"/>
  <xml-element name="model-version-id" type="java.lang.String"/>
  <xml-element name="model-invariant-id" type="java.lang.String"/>
  <xml-element name="relationship-list" 
   type="inventory.aai.onap.org.v14.RelationshipList"/>
 </java-attributes>
</java-type>

<java-type name="Connectivities">
 <xml-root-element name="connectivities"/>
 <java-attributes>
  <xml-element name="connectivity" container-type="java.lang.ArrayList"
   type="inventory.aai.onap.org.v14.Connectivity"/>
 </java-attributes>
</java-type>

Mockup API
URL: https://<AAI host>:<AAI port>/aai/v14/network
 /connectivities/connectivity/{connectivityId}
Method: PUT
Request Body:
{
    "connectivity-id": "{connectivityId}",
    "bandwidth-profile-name": "a name",
    "vpn-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": "some name",
    "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",
    "connectivity-selflink": "some link",
    "cvlan": "some tag",
    "operational-status": "some status",
    "model-customization-id": "some customization",
    "model-version-id": "some version",
    "model-invariant-id": "some invariant",
    "relationship-list": {
        "relationship" : [
            {
                "related-to": "service-instance",
                "related-link": "url of service-instance",
                "relationship-data": [
                    "relationship-key": "service-instance.service-instance-id",
                    "relationship-value": "some id"
                ]
            },
            {
                "related-to": "vpn-binding",
                "related-link": "url of vpn-binding",
                "relationship-data": [
                    "relationship-key": "vpn-binding.vpn-id",
                    "relationship-value": "some id"
                ]
            }
        ]
    }
}
AAI-1353-4

VPN

Notes:

See Figure 2 above.

Update existing class of objects.


aai_schema_v13.xsd

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

add properties to existing "vpn-binding" object:

Mockup Schema (OXM)
<java-type name="VpnBinding">
 <xml-root-element name="vpn-binding"/>
 <java-attributes>
  <xml-element name="access-provider-id" type="java.lang.String"/>
  <xml-element name="access-client-id" type="java.lang.String"/>
  <xml-element name="access-topology-id" type="java.lang.String"/>
  <xml-element name="access-node-id" type="java.lang.String"/>
  <xml-element name="access-ltp-id" type="java.lang.String"/>
  <xml-element name="src-access-node-id" type="java.lang.String"/>
  <xml-element name="src-access-ltp-id" type="java.lang.String"/>
  <xml-element name="dst-access-node-id" type="java.lang.String"/>
  <xml-element name="dst-access-ltp-id" type="java.lang.String"/>
  <xml-element name="operational-status" type="java.lang.String"/>
  <xml-element name="model-customization-id" type="java.lang.String"/>
  <xml-element name="model-version-id" type="java.lang.String"/>
  <xml-element name="model-invariant-id" type="java.lang.String"/>
 </java-attributes>
</java-type>

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",
    "operational-status": "some status",
    "model-customization-id": "some customization",
    "model-version-id": "some version",
    "model-invariant-id": "some invariant"
}

AAI-1353-5

SP Partner

Notes:

See Figure 2 above.

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


aai_schema_v13.xsd

  • "service-instances"

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

Mockup Schema (OXM)
<java-type name="SpPartner">
 <xml-root-element name="sp-partner"/>
 <java-attributes>
  <xml-element name="sp-partner-id" type="java.lang.String"/>
  <xml-element name="url" type="java.lang.String"/>
  <xml-element name="callsource" type="java.lang.String"/>
  <xml-element name="relationship-list" 
   type="inventory.aai.onap.org.v14.RelationshipList"/>
 </java-attributes>
</java-type>

<java-type name="SpPartners">
 <xml-root-element name="sp-partners"/>
 <java-attributes>
  <xml-element name="sp-partner"
   type="inventory.aai.onap.org.v14.SpPartner"/>
 </java-attributes>
</java-type>
Mockup API
URL: https://<AAI host>:<AAI port>/aai/v14/business
 /sp-partners/sp-partner/partnerId
Method: PUT
Request Body:
{
    "sp-partner-id": "partnerId",
    "url": "partner url",
    "callsource": "some source",
    "relationship-list": {
        "relationship" : [
            {
                "related-to": "service-instance",
                "related-link": "url of service-instance",
                "relationship-data": [
                    "relationship-key": "service-instance.service-instance-id",
                    "relationship-value": "some id"
                ]
            }
        ]
    }
}

AAI-1353-6

SOTN Attachment

Notes:

See Figure 3 above.

Update existing class of objects.


aai_schema_v13.xsd

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

add properties to existing "allotted-resource" object:

Mockup Schema (OXM)
<java-type name="AllottedResource">
 <xml-root-element name="allotted-resource"/>
 <java-attributes>
  <xml-element name="allotted-resource-name" type="java.lang.String"/>
  <xml-element name="access-provider-id" type="java.lang.String"/>
  <xml-element name="access-client-id" type="java.lang.String"/>
  <xml-element name="access-topology-id" type="java.lang.String"/>
  <xml-element name="access-node-id" type="java.lang.String"/>
  <xml-element name="access-ltp-id" type="java.lang.String"/>
  <xml-element name="cvlan" type="java.lang.String"/>
  <xml-element name="vpn-name" type="java.lang.String"/>
 </java-attributes>
</java-type>

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:
{
    "allotted-resource-name": "some name",
    "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": "some tag",
    "vpn-name": "some name"
}
AAI-1353-7

LAN port config

Notes:

See Figure 3 above.

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


aai_schema_v13.xsd

  • "service-instances"

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

Mockup Schema (OXM)
<java-type name="LanPortConfig">
 <xml-root-element name="lan-port-config"/>
 <java-attributes>
  <xml-element name="lan-port-config-id" type="java.lang.String"/>
  <xml-element name="lan-port-config-name" type="java.lang.String"/>
  <xml-element name="description" type="java.lang.String"/>
  <xml-element name="device-id" type="java.lang.String"/>
  <xml-element name="port-id" type="java.lang.String"/>
  <xml-element name="ip-address" type="java.lang.String"/>
  <xml-element name="vlan-tag" type="java.lang.String"/>
  <xml-element name="input-bandwidth" type="java.lang.String"/>
  <xml-element name="output-bandwidth" type="java.lang.String"/>
  <xml-element name="dhcp-services" 
   type="inventory.aai.onap.org.v14.DhcpServices"/>
  <xml-element name="relationship-list" 
   type="inve