Changes for MDONS usecase 05/100405/1
authorSrinivasan Ramanathan <srinivasan.ramanathan2@us.fujitsu.com>
Fri, 17 Jan 2020 11:17:44 +0000 (11:17 +0000)
committerSrinivasan Ramanathan <srinivasan.ramanathan2@us.fujitsu.com>
Fri, 17 Jan 2020 11:18:02 +0000 (11:18 +0000)
Updated schema for p-interface, logical-link, esr-thirdparty-sdnc,
service-instance

Updated DbEdgeRules for the usecase

Updated stored-queries for new custom queries needed for the usecase

Change-Id: If052355944c7c1cd72b54e83323909733de21c98
Issue-ID: AAI-2683
Signed-off-by: Srinivasan Ramanathan <srinivasan.ramanathan2@us.fujitsu.com>
aai-queries/src/main/resources/schema/onap/query/stored-queries.json
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v19.xsd
aai-schema/src/main/resources/onap/dbedgerules/v19/DbEdgeRules_esr_v19.json
aai-schema/src/main/resources/onap/dbedgerules/v19/DbEdgeRules_v19.json
aai-schema/src/main/resources/onap/oxm/v19/aai_oxm_v19.xml

index 5bd2716..ba2825c 100644 (file)
     "pnf-topology":{
       "stored-query":"builder.store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'pnf', 'p-interface').where(builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'p-interface', 'physical-link')).as('item').store('x').createEdgeTraversal(EdgeType.COUSIN, 'p-interface', 'physical-link').store('x').createEdgeTraversal(EdgeType.COUSIN, 'physical-link', 'p-interface').store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'p-interface', 'pserver').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'p-interface', 'pnf').store('x')),builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'pnf', 'complex').store('x')).cap('x').unfold().dedup()"
     }
+  },{
+    "getDomainController": {
+           "query":{
+              "required-properties":["portid"]
+            },
+      "stored-query":"builder.createEdgeTraversal(EdgeType.TREE, 'pnf', 'p-interface').getVerticesByProperty('interface-name',portid).createEdgeTraversal(EdgeType.TREE, 'p-interface', 'pnf').createEdgeTraversal(EdgeType.COUSIN, 'pnf', 'network-resource').createEdgeTraversal(EdgeType.COUSIN, 'network-resource', 'esr-thirdparty-sdnc').store('x').cap('x').unfold().dedup()"
+  }
+  },{
+      "getInterfaceTypes": {
+            "query":{
+              "required-properties":["porttype"]
+     },
+     "stored-query":"builder.createEdgeTraversal(EdgeType.TREE, 'pnf', 'p-interface').getVerticesByProperty('network-interface-type',porttype).store('x').cap('x').unfold().dedup()"
+    }
+  },{
+    "getInterDomainLink": {
+           "query":{
+              "required-properties":["linktype","controller1","controller2"]
+            },
+      "stored-query":"builder.createEdgeTraversal(EdgeType.COUSIN,'network-resource','esr-thirdparty-sdnc').getVerticesByProperty('thirdparty-sdnc-id',controller1).createEdgeTraversal(EdgeType.COUSIN,'esr-thirdparty-sdnc','network-resource').createEdgeTraversal(EdgeType.COUSIN,'network-resource','pnf').createEdgeTraversal(EdgeType.TREE,'pnf','p-interface').createEdgeTraversal(EdgeType.COUSIN,'p-interface','logical-link').store('x').getVerticesByProperty('link-type',linktype).where(builder.store('x').createEdgeTraversal(EdgeType.COUSIN,'logical-link','p-interface').createEdgeTraversal(EdgeType.TREE,'p-interface','pnf').createEdgeTraversal(EdgeType.COUSIN,'pnf','network-resource').createEdgeTraversal(EdgeType.COUSIN,'network-resource','esr-thirdparty-sdnc').getVerticesByProperty('thirdparty-sdnc-id',controller2)).cap('x').unfold().dedup()"
+      }  
+  },{
+    "getInterfaceDetails": {
+           "query":{
+              "required-properties":["portid"]
+            },
+            "stored-query": "builder.createEdgeTraversal(EdgeType.COUSIN, 'esr-thirdparty-sdnc','network-resource').createEdgeTraversal(EdgeType.COUSIN,'network-resource','pnf').createEdgeTraversal(EdgeType.TREE,'pnf','p-interface').getVerticesByProperty('interface-name', portid).store('x').cap('x').unfold().dedup()"
+  }
   },{
     "so-request-vfModule":{
       "stored-query":"builder.store('x').union(builder.newInstance().createEdgeTraversal(EdgeType.TREE, 'vf-module', 'generic-vnf').store('x').createEdgeTraversal(EdgeType.COUSIN, 'generic-vnf', 'service-instance').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vf-module', 'vserver').createEdgeTraversal(EdgeType.TREE, 'vserver', 'tenant').createEdgeTraversal(EdgeType.TREE, 'tenant', 'cloud-region').store('x'),builder.newInstance().createEdgeTraversal(EdgeType.COUSIN, 'vf-module', 'volume-group').store('x')).cap('x').unfold().dedup()"
index 0b7cc27..a9f56c4 100644 (file)
@@ -2508,6 +2508,13 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+       <xs:element name="available-capacity" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
         <xs:element name="port-description" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
@@ -2536,6 +2543,13 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+       <xs:element name="network-interface-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicates the physical properties of the interface.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
         <xs:element name="prov-status" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
@@ -3302,6 +3316,13 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+       <xs:element name="domain-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Domain type of the SDNC controllerr.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
         <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
@@ -3633,6 +3654,34 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+       <xs:element name="service-rate" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Rate of the service instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-layer" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Definition of the service layer.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="due-date" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Due date of the service creation.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="end-date" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="End date of the service creation.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
         <xs:element name="environment-context" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
@@ -4759,6 +4808,20 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+       <xs:element name="available-capacity" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+       <xs:element name="admin-state" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Captures the administrative state of the link")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
         <xs:element name="ip-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
index baa6ab8..9849616 100644 (file)
       "prevent-delete": "NONE",
       "default": "true"
     },
+    {
+      "from": "esr-thirdparty-sdnc",
+      "to": "network-resource",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description":"For MDONS Usecase"
+    },    
     {
       "from": "esr-system-info",
       "to": "cloud-region",
index 2d448aa..b581854 100644 (file)
                        "default": "true",
                        "description":""
                },
+               {
+                        "from": "service-instance",
+                        "to": "p-interface",
+                        "label": "org.onap.relationships.inventory.ComposedOf",
+                        "direction": "OUT",
+                        "multiplicity": "ONE2MANY",
+                        "contains-other-v": "NONE",
+                        "delete-other-v": "NONE",
+                        "prevent-delete": "NONE",
+                        "default": "true",
+                        "description":"For MDONS Use case"
+                },
                {
                        "from": "subnet",
                        "to": "l3-network",
index 01e4a5a..4326ad4 100644 (file)
                                                <xml-property name="description" value="password used to access SDNC server."/>
                                        </xml-properties>
                                </xml-element>
+                              <xml-element java-attribute="domainType" name="domain-type" type="java.lang.String">
+                                      <xml-properties>
+                                               <xml-property name="description" value="Domain type of the SDNC controllerr."/>
+                                      </xml-properties>
+                              </xml-element>
                                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
                         <xml-property name="description" value="Nature of the services and connectivity on this port."/>
                     </xml-properties>
                 </xml-element>
+               <xml-element java-attribute="domainType" name="domain-type" type="java.lang.String">
+                   <xml-properties>
+                       <xml-property name="description" value="Domain type of the SDNC controllerr."/>
+                   </xml-properties>
+               </xml-element>
                 <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
                     <xml-properties>
                         <xml-property name="description" value="CLEI or other specification for p-interface hardware."/>
                         <xml-property name="description" value="Indicates the physical properties of the interface."/>
                     </xml-properties>
                 </xml-element>
+               <xml-element java-attribute="networkInterfaceType" name="network-interface-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates the physical properties of the interface."/>
+                    </xml-properties>
+                </xml-element>
                 <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
                     <xml-properties>
                         <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems."/>
                         <xml-property name="description" value="String capturing the service role."/>
                     </xml-properties>
                 </xml-element>
+               <xml-element java-attribute="serviceRate" name="service-rate" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Rate of the service instance."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceLayer" name="service-layer" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Definition of the service layer."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dueDate" name="due-date" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Due date of the service creation."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="endDate" name="end-date" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="End date of the service creation."/>
+                    </xml-properties>
+                </xml-element>
                 <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
                     <xml-properties>
                         <xml-property name="description" value="This field will store the environment context assigned to the service-instance."/>
                         <xml-property name="description" value="Captures the units corresponding to the speed"/>
                     </xml-properties>
                 </xml-element>
+               <xml-element java-attribute="availableCapacity" name="available-capacity" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed"/>
+                    </xml-properties>
+                </xml-element>
+               <xml-element java-attribute="adminState" name="admin-state" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the administrative state of the link"/>
+                    </xml-properties>
+                </xml-element>
                 <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
                     <xml-properties>
                                                <xml-property name="description" value="v4, v6, or ds for dual stack"/>