aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeong Lim <keong.lim@huawei.com>2018-08-16 15:56:32 +1000
committerKeong Lim <keong.lim@huawei.com>2018-09-11 02:32:35 +1000
commitebefd8cecfc8ea7eb47e349d79aa086662771c60 (patch)
tree9b70358135e4578a2e4bcdcde6dc7c0a0e5f632f
parente74b5cb2203260c783d114a4afe609169f62fc98 (diff)
AAI-1492 Add ext-aai-network schema for CCVPN uc
Issue-ID: AAI-1492 Add ext-aai-network element to network namespace. Add components from network namespace. Add esr-system-info component. Add EdgeRules from ext-aai-network to esr-system-info, connectivity and all the other schema elements. Make esr-system-info dependentOn ext-aai-network. Change sub-components of ext-aai-network to COUSIN edge as workaround. Add relationship-list as workaround. Change-Id: I8ec11660db7887c5aebcdbe2899c95c457f74e14 Signed-off-by: Keong Lim <keong.lim@huawei.com>
-rw-r--r--aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd37
-rw-r--r--aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json132
-rw-r--r--aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml47
3 files changed, 214 insertions, 2 deletions
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd
index 22e79614..3058980a 100644
--- a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd
+++ b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd
@@ -2074,7 +2074,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
<xs:complexType>
<xs:annotation>
<xs:appinfo>
- <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist common address information of external systems.",indexedProps="esr-system-info-id,system-name,system-type",searchable="esr-system-info-id,system-name,system-type",container="esr-system-info-list",dependentOn="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc")</annox:annotate>
+ <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist common address information of external systems.",indexedProps="esr-system-info-id,system-name,system-type",searchable="esr-system-info-id,system-name,system-type",container="esr-system-info-list",dependentOn="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc,ext-aai-network")</annox:annotate>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
@@ -9299,6 +9299,40 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
</xs:sequence>
</xs:complexType>
</xs:element>
+ <xs:element name="ext-aai-network">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Refer to an external AAI in another ONAP.",indexedProps="aai-id",searchable="aai-id",container="ext-aai-networks",namespace="network")</annox:annotate>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="aai-id" type="xs:string">
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the referenced AAI.")</annox:annotate>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="schema-version" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Schema version of the referenced AAI.")</annox:annotate>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="tns:esr-system-info" minOccurs="0"/>
+ <xs:element ref="tns:relationship-list" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ext-aai-networks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:ext-aai-network" minOccurs="0" maxOccurs="5000"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
<xs:element name="network">
<xs:complexType>
<xs:annotation>
@@ -9336,6 +9370,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
<xs:element ref="tns:sdwan-vpns" minOccurs="0"/>
<xs:element ref="tns:devices" minOccurs="0"/>
<xs:element ref="tns:wan-port-configs" minOccurs="0"/>
+ <xs:element ref="tns:ext-aai-networks" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json b/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
index 1b37f471..a43c7566 100644
--- a/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
+++ b/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
@@ -179,6 +179,138 @@
"prevent-delete": "NONE",
"default": "true",
"description":"For CCVPN Usecase"
+ },
+ {
+ "from": "ext-aai-network",
+ "to": "esr-system-info",
+ "label": "org.onap.relationships.inventory.Uses",
+ "direction": "OUT",
+ "multiplicity": "ONE2MANY",
+ "contains-other-v": "${direction}",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "logical-link",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "vpn-binding",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "pnf",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "connectivity",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "lan-port-config",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "network-resource",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "site-resource",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "sdwan-vpn",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "device",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
+ },
+ {
+ "from": "wan-port-config",
+ "to": "ext-aai-network",
+ "label": "org.onap.relationships.inventory.BelongsTo",
+ "direction": "OUT",
+ "multiplicity": "MANY2MANY",
+ "contains-other-v": "NONE",
+ "delete-other-v": "${direction}",
+ "prevent-delete": "!${direction}",
+ "default": "true",
+ "description":"For CCVPN Usecase"
}
]
}
diff --git a/aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml b/aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml
index 5873bbaf..a369c508 100644
--- a/aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml
+++ b/aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml
@@ -487,7 +487,7 @@
<xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type" />
<xml-property name="searchable" value="esr-system-info-id,system-name,system-type" />
<xml-property name="container" value="esr-system-info-list" />
- <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc" />
+ <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc,ext-aai-network" />
</xml-properties>
</java-type>
@@ -3092,6 +3092,7 @@
<xml-element java-attribute="sdwanVpns" name="sdwan-vpns" type="inventory.aai.onap.org.v14.SdwanVpns" />
<xml-element java-attribute="devices" name="devices" type="inventory.aai.onap.org.v14.Devices" />
<xml-element java-attribute="wanPortConfigs" name="wan-port-configs" type="inventory.aai.onap.org.v14.WanPortConfigs" />
+ <xml-element java-attribute="extAaiNetworks" name="ext-aai-networks" type="inventory.aai.onap.org.v14.ExtAaiNetworks" />
</java-attributes>
</java-type>
<java-type name="Configurations">
@@ -8128,5 +8129,49 @@
</java-attributes>
</java-type>
+ <java-type name="ExtAaiNetworks">
+ <xml-root-element name="ext-aai-networks" />
+ <java-attributes>
+ <xml-element container-type="java.util.ArrayList" java-attribute="extAaiNetwork" name="ext-aai-network" type="inventory.aai.onap.org.v14.ExtAaiNetwork" />
+ </java-attributes>
+ </java-type>
+ <java-type name="ExtAaiNetwork">
+ <xml-root-element name="ext-aai-network" />
+ <java-attributes>
+ <xml-element java-attribute="aaiId" name="aai-id" required="true" type="java.lang.String" xml-key="true">
+ <xml-properties>
+ <xml-property name="description" value="Unique ID of the referenced AAI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="schemaVersion" name="schema-version" type="java.lang.String">
+ <xml-properties>
+ <xml-property name="description" value="Schema version of the referenced AAI." />
+ </xml-properties>
+ </xml-element>
+ <xml-element java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v14.EsrSystemInfo" />
+
+ <!-- Want to use these as sub-components, but workaround is to use COUSIN edges in relationship-list.
+ <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v14.LogicalLinks" />
+ <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v14.VpnBindings" />
+ <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v14.Pnfs" />
+
+ <xml-element java-attribute="connectivities" name="connectivities" type="inventory.aai.onap.org.v14.Connectivities" />
+ <xml-element java-attribute="lanPortConfigs" name="lan-port-configs" type="inventory.aai.onap.org.v14.LanPortConfigs" />
+ <xml-element java-attribute="networkResources" name="network-resources" type="inventory.aai.onap.org.v14.NetworkResources" />
+ <xml-element java-attribute="siteResources" name="site-resources" type="inventory.aai.onap.org.v14.SiteResources" />
+ <xml-element java-attribute="sdwanVpns" name="sdwan-vpns" type="inventory.aai.onap.org.v14.SdwanVpns" />
+ <xml-element java-attribute="devices" name="devices" type="inventory.aai.onap.org.v14.Devices" />
+ <xml-element java-attribute="wanPortConfigs" name="wan-port-configs" type="inventory.aai.onap.org.v14.WanPortConfigs" /> -->
+ <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList" />
+ </java-attributes>
+ <xml-properties>
+ <xml-property name="description" value="Refer to an external AAI in another ONAP." />
+ <xml-property name="indexedProps" value="aai-id" />
+ <xml-property name="searchable" value="aai-id" />
+ <xml-property name="container" value="ext-aai-networks" />
+ <xml-property name="namespace" value="network" />
+ </xml-properties>
+ </java-type>
+
</java-types>
</xml-bindings>