diff options
author | Keong Lim <keong.lim@huawei.com> | 2018-08-16 15:56:32 +1000 |
---|---|---|
committer | Keong Lim <keong.lim@huawei.com> | 2018-09-11 02:32:35 +1000 |
commit | ebefd8cecfc8ea7eb47e349d79aa086662771c60 (patch) | |
tree | 9b70358135e4578a2e4bcdcde6dc7c0a0e5f632f | |
parent | e74b5cb2203260c783d114a4afe609169f62fc98 (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>
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> |