cloud-infrastructure and cloud-regions in A&AI DB is in Amsterdam release.
Introducing following:
...
Sequence Diagrams
Discovery of HPA-flavors when cloud-region is added
https://sequencediagram.org/index.html?initialData=C4S2BsFMAIGFwPYFcAmBaASpA5iBA7aASXzGgBEQBnAYwQDdIAnATwCg2AHAQydBpA98waAFUqzLr36Duw6AFEAyhil8QAoSICC2omplboAWSThQ8ZOgBCTBAGtJPdZrkjT5kJdRoACuCRcfAMNWXksAFsEYEgANSJjaDZxZjQAPmUMAC4xCSZobhQUKjhEHyYcPGDM9N0iHO0i0qs0CtwCaGAEToALGBB8RmEEVjZMgB40NDroHKUkGhpIKioAegAzbhAAiuS8ybRMuYWllY2tncgxlXSPCzKbO0cmHIA5aJB1lgKisCroBDraD4SAAd2gNAerUqBDYdy8UNsDlSaXh3keyJe0CUkCgNGAJWAfWgnACQWgACNuBIUADCAAdfDxYxoYAsTgwQG9bgiSEtNpVOFme4tJHPW7ChEtfyBAY5AAqTBA2GwzGBYIhUIFHUKKD+sLRUJlQXSkWicQSOQA4pAROtwNx6CM1rFjEoQAAvZarEhUYByJaddnLIWedF+MkDA5mmLMnJYKicAgSaCgsA9ArgcBBjklKhIThJviQFChkU+Y0DU2QKKxy3QG0iFC2i4lLmM+2O52rV3ur1rX3+-CneXBkqMqC8eQDEkVeh4JB5mKcMtSiuR-DRmvmuPQBNJ-ApgAUaaJ0Gb-u2VAAlKvw5X8BKw0aN28RhFuOBPTBO06mC63W-AdDyHJZR1zaBGTkWkFF8bRoAGdZ3x5f4Bi6RQ4LQX9nUg-BqWgSAAA8OXxEtKW+AB5V5tF8O8X1lR80jqBomlg7QsIdP8Smg3DqSoBABB5Mi2KwyAeSQCpxzw-BaTAbjgGAJUKSQGISiQGS1UZIkYD5coYWCIA
Periodic Discovery of HPA-flavors
https://sequencediagram.org/index.html?initialData=C4S2BsFMAIAVIE4gPYBMQGNroM4eQG6ICe0yAZtNAKKwCCAtOeAIYHII4BQXADiwlAYQ-AHbBoAWQCu4UAGFwyaagYAhBMgDWiPgKEiW4qbIVKVDWOGkBzEKL2DMh43ToBJRwbESASpABbZGBIADV3SR4uUWCYQkQTORBFZVUNbUQALmgAMQ5oSBYMAAtocMloYGJeSGjYsiIERLNUy2s7UWy8psKSsojoBEg7ZAcZJJSLK1t7BgA+cZap9vts+CQ0TBp6bBA8eIRSGNByTBZQUa5F5PNVaY7oef8gkPLsgHFICWY2DhwAelCFQAyiAAF6QAHuUQ4YBGDAwKo1bjHGBIGzFCQUZo3Vr3VbQADyNRhcIwWn6khw0GkOBgP3YTRCCACABpoAAdUR0MHSIY0unUgDkQOgoIhOCFlUQAU53IA6sCBZDoEL7LD4YjqpApczZVzgMhBpBeEM6cYCAIULToPgArxpCFoDZNNJeDgAHRXUy45YzUQAHgYDGesTe0H8OF4ozp0AA7mBSgy-tAcG7o4JIKh2Vy48UvvmmvljpVCzABDBIDFbKUuWblAgEdS2CwQKwAEZQaD2Uto4YoUTQcj5YDFPZD1iM70TW5tf1PQJhiIfL7YL6t8DU0YFIpJyccQEg8GQf7QjWiBGVbXTpZ3FaB4Oh14DbKR6MwmAJ0druFtlH1dFMTIShrkmO9-WyAARdc-27C9rFQGACHkWAAFUcHZAJAlTY8c1EXAKRwY9oCMVAClEYpNTIrleFYYBhxZIdCmAPkVTTXgMxCMj21IUdzgnX4EBvX1wI6eZQNnfFOmgAA5DgAhYcBj3+YAECMHA6JgLlkwQQ8xWUs84QvLUajlewGIUi5B0NIkZLoWA11OUQszlWhGB06kLPOYSwLnMS5jcdwVwkSAAA89lAUQbG2dz904MhrPzY0RjGH1fKkoMGEC19IXfWMv1KRTwBipg4ubfDexAJpEN-TcfMk+9xLShr-WgYK1zkFhoHbL440gKs5TCiL7GitzSsE8rqNEZy43AUhcHwRoXLtB0QgYF1lHdL0JLxRqAo8TI6A4uaOrhAURugQLLtgdw5VIkjNyNFhjtIDBnqKMBSA1Fit0HXpa1EMadO6lg6TI7dvptcz5POAdoCgARxC9LggA
VNFC Instantiation
https://sequencediagram.org/index.html?initialData=C4S2BsFMAIDUDkBiBhaBJAdgZ2AQw6LqAPYbSLjEDu0AIiLgOYBOuAtgFAcAOuzoAYxC8C0AMoB5Hn0HD8waAFkAruFDJKygCbT+IISIUTEu2YegAFYuH0BPU-rmiAgs7RcOkgLQA+YwC5oACVIAEdlSBxoYGJoRkgFAB0MAU0tL2ZIRhBSABpoACNIhQBRC2cvADNwXAA3YmZofC04NEUvYFtuGGSACixIDBatSGYQWsgWkAxKhrYiHLJK5mI2OCRUYEg2bhqt6C9oZLLnaGnZ5nmSDHyBhWJK6FTibQysxaxc5NxKyumwWxNIZA0BeH5-DAAs4zOYLUgASmgHFwanQj0gAA9do4FNU6g1oJlKqNBgJItALoT3qRodDuMpcSs1pIOMZfK40NBAgBxBJPNJvbI086w64UglYbpCP4CKlC7CsxAAHi8Xg5XOCCWUzDIz1emXlWGO5SqNXqzCwHAwxH2xAmjWM+SsNgEtkCAFUsNNGNBuNY7E9SDhWNNgEaMPEFMAABYwIpRA2LZICWMCADWZ0e+EBJ1N+MayWjuCwFLNDTexMyKUg+RAj2tuJeQ1yoxWzGSkHAA2gAyGJcykqDcdw6eisRZkhVXmMGpCg+wMCoYGjRxSAsTeVL+apldJNdXsDaHS6MAe0Vj-Je6Q3GA4ne7deg1ugmOxQlxZcaRJJ1ZLBMfrb-ks0xaN654wDeAD0eLmoq7JuDyfIaFegofNCFxXEmkKPJKkDSvocpoXwMDZBMZAFICkjJASkboaKixNAULwKCi4CXvq1LYKu0C9LmMENJ80AnBSkBENq5LNOBICNEQwBjAUDKRPCipThygRzn6C5Wjap72tAjqWP6roel6Ea+kZgICEGcm4KGf6PDasYWqukknPkLCQJMgIziijANMuazJH8jDiX+DLgYUxSEZu8alCa-HMNp+xjIw0b3I8AToAoIAlq+eFbC0yQxkQTTgGxwl+i6gLJtZIYECWxHQKQXhMXwIwtLUDDiLQmyxJVdhJRBICpel+mIIEfGfj2nb5QxOWFMWkxNWQMYwFgVmZJ4EhTjO6mRJp3ZLjG0DIRx8q3DNAgFUJ8VTS5wKHu0nTdE1jyrex16cXeQxbb4KhqCAp1aIEyCZEQkBeGIox6VZbDzMCyStE9J75Hqn3ykCLSTduIqXHCt4cEAA
A&AI Schema Changes
Image RemovedRequirements that are kept in mind are :
- Expose HW capability of various CPU architecture (Intel x86, ARM etc...) in generic fashion.
- Provide flexibility to expose CPU architecture and vendor specific features.
- Support for multiple Clouds such as Openstack clouds, AWS Cloud, Azure Cloud etc...
- No hardcoding of HPA feature names OR attribute names in ONAP (other than Multi-Cloud plugin)
- HPA Impact on the AAI Project
- Please refer to HPA Requirement & Capability Specification
Following format is used to represent the HPACapability:
- Data centers typically have flavors (openstack calls them flavors, Azure calls them VM sizes and AWS calls them as Instance types). Each flavor is represented by hardware features. When these are discovered by ONAP, there are few ways to represent them in A&AI DB.
- Approach 1:
- flavors as children to the cloud-region (Already existing)
- Represent HPA capabilities under each flavor (HPA capabilities as children of each flavor)
- Approach 2:
- flavors as children to the cloud-region (Already existing). Also, represent HPA capabilities also children to the cloud-regions.
- Then provide relationship between flavors and capabilities.
- Approach 3:
- Approach 1 +
- Create another tree with capability to region+flavor list.
- Which approach to follow? Some guidance from A&AI team. Requirement is this:
- During VNF instantiation, OOF gets hold of hardware requirements and based on that requirements, it needs to find out the best cloud-region and flavor.
- Would Approach 3 seem possible?
- Each HPACapability is defined as
{HPACapability-id,HPAFeature, Schema Version, hardware-architecture, [List of HPAAttributes] - names and values} - HPAFeatureAttribute is <hpaAttributeKey, hpaAttributeValue>
- Refer Supported HPA Capability Requirements(DRAFT) for more specific Capability names and values.
A&AI Schema Changes
Image Added
Example: Run time view of A&AI graph instance
Image Removed
Image Added
Code Block |
---|
language | xml |
---|
theme | Emacs |
---|
title | Current AAI Schema |
---|
collapse | true |
---|
| <java-type name="CloudRegion"> |
<java-type name="CloudRegion">
<xml-root-element name="cloud-region" />
<java-attributes>
<xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
<xml-properties>
<xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
</xml-properties>
</xml-element>
<xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
<xml-properties>
<xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
</xml-properties>
</xml-element>
<xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
<xml-properties>
<xml-property name="description" value="Type of the cloud (e.g., openstack)" />
</xml-properties>
</xml-element>
<xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
<xml-properties>
<xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
</xml-properties>
</xml-element>
<xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
<xml-properties>
<xml-property name="description" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
</xml-properties>
</xml-element>
<xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
<xml-properties>
<xml-property name="description" value="URL of the keystone identity service" />
</xml-properties>
</xml-element>
<xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
<xml-properties>
<xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
</xml-properties>
</xml-element>
<xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
<xml-properties>
<xml-property name="description" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
</xml-properties>
</xml-element>
<xml-element default-value="false" required="true" java-attribute="sriovAutomation" name="sriov-automation" type="java.lang.Boolean">
<xml-properties>
<xml-property name="defaultValue" value="false"/>
<xml-root-elementproperty name="description" value="Whether the cloud-region region supports (true) or does not support (false) SR-IOV automation." />
</xml-properties>
<java-attributes> </xml-element>
<xml-element java-attribute="cloudOwner" name="cloud-ownercloudExtraInfo" requiredname="truecloud-extra-info" type="java.lang.String" xml-key="true">
<xml-properties>
<xml-property name="description" value="IdentifiesESR theinputs vendorextra andinformation cloudabout name.the FirstVIM partor ofCloud compositewhich keywill should be formatteddecoded as vendor-cloudnameby MultiVIM." />
</xml-properties>
</xml-element>
<xml-element java-attribute="cloudRegionIdcloudEpaCaps" name="cloud-region-id" required="true"epa-caps" type="java.lang.String" xml-key="true">
<xml-properties>
<xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite keyMultiVIM will discover and expose EPA capabilities." />
</xml-properties>
</xml-element>
<xml-element java-attribute="cloudTyperesourceVersion" name="cloudresource-typeversion" type="java.lang.String">
<xml-properties>
<xml-property name="description" value="Type of the cloud (e.g., openstack)Used for optimistic concurrency. Must be empty on create, valid on update and delete." />
</xml-properties>
</xml-element>
<xml-element java-attribute="volumeGroups" name="volume-groups" </xml-element>type="inventory.aai.onap.org.v11.VolumeGroups" />
<xml-element java-attribute="ownerDefinedTypetenants" name="owner-defined-typetenants" type="java.lang.String"inventory.aai.onap.org.v11.Tenants" />
<xml-properties>
element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v11.Flavors" />
<xml-propertyelement namejava-attribute="descriptiongroupAssignments" valuename="Cloud-owner defined type indicator (e.g., dcp, lcp)group-assignments" type="inventory.aai.onap.org.v11.GroupAssignments" />
</xml-properties>
</xml-element><xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v11.Snapshots" />
<xml-element java-attribute="cloudRegionVersionimages" name="cloud-region-versionimages" type="java.lang.String"inventory.aai.onap.org.v11.Images" />
<xml-properties>
<xml-propertyelement java-attribute="dvsSwitches" name="descriptiondvs-switches" value="Software version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE.type="inventory.aai.onap.org.v11.DvsSwitches" />
<xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v11.OamNetworks" />
<xml-element </xml-properties>
</xml-element>java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v11.AvailabilityZones" />
<xml-element java-attribute="identityUrlrelationshipList" name="identityrelationship-urllist" type="java.lang.String"inventory.aai.onap.org.v11.RelationshipList" />
<xml-properties>
<xml-propertyelement java-attribute="esrSystemInfoList" name="descriptionesr-system-info-list" value="URL of the keystone identity servicetype="inventory.aai.onap.org.v11.EsrSystemInfoList" />
<xml-element container-type="java.util.ArrayList" </xml-properties>
</xml-element>java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v11.VipIpv4AddressList" />
<xml-element container-type="java.util.ArrayList" java-attribute="cloudZonevipIpv6AddressList" name="cloud-zonevip-ipv6-address-list" type="java.lang.String"inventory.aai.onap.org.v11.VipIpv6AddressList" />
</java-attributes>
<xml-properties>
<xml-property name="description" value="Zone where the cloud is homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATEDcloud-region designates an installation of a cloud cluster or region or instantiation." />
</xml-properties> <xml-property </xml-element>name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
<xml-elementproperty java-attributename="complexNamenameProps" namevalue="complexowner-defined-nametype" type="java.lang.String">
/>
<xml-properties>property name="container" value="cloud-regions" />
<xml-property name="descriptionnamespace" value="complex name for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.cloud-infrastructure" />
</xml-properties>
</xml-properties>
</java-type> |
Code Block |
---|
language | xml |
---|
theme | Emacs |
---|
title | Modified AAI Schema |
---|
collapse | true |
---|
|
<java-type name="Flavor">
<xml-root-element name="flavor"/>
</xml<java-element>attributes>
<xml-element defaultjava-valueattribute="falseflavorId" requiredname="true" java-attribute="sriovAutomation" name="sriov-automationflavor-id" required="true" type="java.lang.BooleanString">
<xml-properties>
xml-key="true">
<xml-property name="defaultValue" value="false"/>properties>
<xml-property name="description" value="WhetherFlavor theid, cloudexpected regionto supportsbe (true)unique or does not support (false) SR-IOV automation." across cloud-region."/>
</xml-properties>
</xml-element>
<xml-element java-attribute="cloudExtraInfoflavorName" name="cloud-extra-infoflavor-name" required="true" type="java.lang.String">
<xml-properties>
<xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM." <xml-property name="description" value="Flavor name"/>
</xml-properties>
</xml-element>
<xml-element java-attribute="cloudEpaCapsflavorVcpus" name="cloudflavor-epa-capsvcpus" type="java.lang.StringInteger">
<xml-properties>
<xml-property name="description" value="MultiVIMNumber will discover and expose EPA capabilities." of CPUs"/>
</xml-properties>
</xml-element>
<xml-element java-attribute="resourceVersionflavorRam" name="resourceflavor-versionram" type="java.lang.StringInteger">
<xml-properties>
<xml-property name="description" value="Used for optimistic concurrency. Must be empty on create, valid on update and delete." Amount of memory"/>
</xml-properties>
</xml-element>
<xml-element java-attribute="volumeGroupsflavorDisk" name="volumeflavor-groupsdisk" type="inventoryjava.aai.onap.org.v11.VolumeGroups" />lang.Integer">
<xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v11.Tenants" />properties>
<xml-property name="description" value="Disk space"/>
</xml-properties>
</xml-element>
<xml-element java-attribute="flavorsflavorEphemeral" name="flavorsflavor-ephemeral" type="inventoryjava.aai.onap.org.v11.Flavors" />lang.Integer">
<xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v11.GroupAssignments" />properties>
<xml-elementproperty java-attributename="snapshotsdescription" namevalue="snapshots" type="inventory.aai.onap.org.v11.Snapshots" Amount of ephemeral disk space"/>
<xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v11.Images" /> </xml-properties>
<xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v11.DvsSwitches" /> </xml-element>
<xml-element java-attribute="oamNetworksflavorSwap" name="oamflavor-networksswap" type="inventoryjava.aai.onap.org.v11.OamNetworks" />lang.String">
<xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v11.AvailabilityZones" />properties>
<xml-elementproperty java-attributename="relationshipListdescription" namevalue="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" amount of swap space allocation"/>
<xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList" />
</xml-properties>
<xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v11.VipIpv4AddressList" /> </xml-element>
<xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressListflavorIsPublic" name="vipflavor-ipv6is-address-listpublic" type="inventory.aai.onap.org.v11.VipIpv6AddressList" />java.lang.Boolean">
</java-attributes> <xml-properties>
<xml-property name="description"
value="cloud-region designates an installation of a cloud cluster or region or instantiation." />
value="whether flavor is available to all users or private to the tenant it was created in."/>
</xml-properties>
<xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" /> </xml-element>
<xml-property-element java-attribute="flavorSelflink" name="namePropsflavor-selflink" required="true" valuetype="owner-defined-type" />java.lang.String">
<xml-property name="container" value="cloud-regions" />properties>
<xml-property name="namespacedescription" value="cloud-infrastructure" />
</xml-properties>
</java-type> |
Code Block |
---|
language | xml |
---|
theme | Emacs |
---|
title | Modified AAI Schema |
---|
collapse | true |
---|
|
<java-type name="CloudRegion"URL to endpoint where AAI can get more details"/>
<xml-root-element name="cloud-region" /> </xml-properties>
<java</xml-attributes>element>
<xml-element java-attribute="cloudOwnerflavorDisabled" name="cloudflavor-ownerdisabled" required="true" type="java.lang.String" xml-key="trueBoolean">
<xml-properties>
<xml-property name="description" value="IdentifiesBoolean the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" as to whether this flavor is no longer enabled"/>
</xml-properties>
</xml-element>
<xml-element java-attribute="cloudRegionIdhpaCapabilities" name="cloudhpa-region-id" required="true"capabilities"
type="java.lang.String" xml-key="true"inventory.aai.onap.org.v13.HpaCapabilities">
<xml-properties>
<xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" value="List of HPA Capabilities associated with this flavor"/>
</xml-properties>
</xml-element>
<xml-element java-attribute="cloudTyperesourceVersion" name="cloudresource-typeversion" type="java.lang.String">
<xml-properties>
<xml-property name="description"
value="Used for optimistic concurrency. Must be empty on <xml-property name="description" value="Type of the cloud (e.g., openstack)" create, valid on update and delete."/>
</xml-properties>
</xml-element>
<xml-element java-attribute="ownerDefinedTyperelationshipList" name="ownerrelationship-defined-type" type="java.lang.String"list"
type="inventory.aai.onap.org.v13.RelationshipList"/>
</java-attributes>
<xml-properties>
<xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" Openstack flavor."/>
<xml-property </xml-properties>
</xml-element>name="nameProps" value="flavor-name"/>
<xml-element java-attribute="cloudRegionVersion" property name="cloud-region-versionindexedProps" typevalue="java.lang.String">
flavor-name,flavor-id"/>
<xml-properties>property name="dependentOn" value="cloud-region"/>
<xml-property name="descriptioncontainer" value="flavors"Software/>
version employed at the site. NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
</xml-properties>
</java-type>
<java-type name="HpaCapabilities">
<xml-properties>
<xml-property name="description" value="Collection of HPA Capabilities"/>
</xml-properties>
<xml-root-element name="hpa-capabilities"/>
</xml-element> <java-attributes>
<xml-element container-type="java.util.ArrayList" java-attribute="identityUrlhpaCapability" name="identity-url" type="java.lang.String">
hpa-capability"
<xml-properties> <xml-property name="description" value="URL of the keystone identity service" type="inventory.aai.onap.org.v13.HpaCapability"/>
</java-attributes>
</xmljava-properties>type>
<java-type name="HpaCapability">
</xml-element>
<xml-root-element name="hpa-capability"/>
<java-attributes>
<xml-element java-attribute="cloudZonehpaCapabilityId" name="cloud-zonehpa-capability-id" required="true" type="java.lang.String">
<xml-properties>xml-key="true">
<xml-properties>
<xml-property name="description" value="ZoneUUID whereto theuniquely cloudidentify isa homed. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
HPA capability"/>
</xml-properties>
properties>
</xml-element>
<xml-element java-attribute="complexNamehpaFeature" name="complex-namehpa-feature" required="true" type="java.lang.String">
<xml-properties>
<xml-property name="description" value="complexName nameof for cloud-region instance. NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
the HPACapability"/>
</xml-properties>
</xml-element>
<xml-element default-value="false" required="true"<xml-element java-attribute="sriovAutomationversion" name="sriovhpa-automationversion" type="java.lang.BooleanString">
<xml-properties>
<xml-properties>property name="description" value="HPA schema version"/>
</xml-properties>
</xml-element>
<xml-property-element java-attribute="hardwareArchitecture" name="defaultValuehpa-hw-arch" valuetype="false"/>java.lang.String">
<xml-properties>
<xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation." />
Hardware architecture"/>
</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"
</xml-properties> value="Used for </xml-element>
optimistic concurrency. Must be empty on create, valid <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v12.VolumeGroups" />
on update and delete."/>
</xml-properties>
</xml-element>
<xml-element java-attribute="tenantsrelationshipList" name="tenants" type="inventory.aai.onap.org.v12.Tenants" />relationship-list"
<xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v12v13.FlavorsRelationshipList" />
<xml-element container-type="java.util.ArrayList" java-attribute="groupAssignmentshpaFeatureAttribute" name="grouphpa-feature-assignments" type="inventory.aai.onap.org.v12.GroupAssignments" />attribute"
<xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v12v13.SnapshotsHpaFeatureAttribute" />
</java-attributes>
<xml-properties>
<xml-element java-attribute="images"property name="images" type="inventory.aai.onap.org.v12.Images" />
description" value="Represents a HPA capability"/>
<xml-elementproperty java-attributename="dvsSwitchesnameProps" namevalue="dvs-switches" type="inventory.aai.onap.org.v12.DvsSwitches" hpa-feature"/>
<xml-elementproperty java-attributename="oamNetworksindexedProps" namevalue="oam-networks" type="inventory.aai.onap.org.v12.OamNetworks" hpa-feature,hpa-hw-arch,hpa-capability-id"/>
<xml-element java-attribute="availabilityZones"property name="availability-zonesdependentOn" typevalue="inventory.aai.onap.org.v12.AvailabilityZones" flavor"/>
<xml-elementproperty java-attributename="relationshipListcontainer" namevalue="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList" />
<xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v12.VipIpv4AddressList" />
hpa-capabilities"/>
</xml-properties>
</java-type>
<java-type name="HpaFeatureAttribute">
<xml-root-element name="hpa-feature-attribute"/>
<java-attributes>
<xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressListhpaAttributeKey" name="viphpa-ipv6-addressattr-listkey" type="inventoryjava.aai.onap.org.v12.VipIpv6AddressList" /lang.String">
<xml-element java-attribute="hpaCapabilities"properties>
<xml-property name="hpa-capabilitiesdescription" type="inventory.aai.onap.org.v12.HPACapabilities" value="name of the specific HPA attribute"/>
</java-attributes> <xml</xml-properties>
</xml-element>
<xml-property-element java-attribute="hpaAttributeValue" name="descriptionhpa-attr-value" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname" />type="java.lang.String">
<xml-properties>
<xml-property name="description"
<xml-property namevalue="indexedProps"JSON string specifying the value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" , unit and type of the specific HPA attribute"/>
<xml</xml-property name="nameProps" value="owner-defined-type" />properties>
</xml-element>
<xml-propertyelement namejava-attribute="containerresourceVersion" valuename="cloudresource-regionsversion" /type="java.lang.String">
<xml-property name="namespace" value="cloud-infrastructure" />properties>
</xml-properties> </java-type> <!-- NEW NODES for HPA Capabilities -->
<java-type name="HPACapabilities"><xml-property name="description"
<xml-properties> <xml-property name="description" value="CollectionUsed offor HPAoptimistic Capabilities"concurrency. /> Must be empty </xml-properties>
<xml-root-element name="hpa-capability-list" />on create, valid on update and delete."/>
<java</xml-attributes>properties>
</xml-element>
<xml-element container-type="java.util.ArrayList" <xml-element java-attribute="hpaCapabilityrelationshipList" name="hparelationship-capability" list"
type="inventory.aai.onap.org.v12v13.HPACapabilityRelationshipList" />
</java-attributes>
</java-type>
<java-type name="HPACapability">
<xml-properties>
<xml-property name="description" value="Represents a HPA capability" />
</xml-properties>
<xml-root-element name="hpa-capability" Capability Feature attributes"/>
<java-attributes> <xml-elementproperty java-attributename="hpaCapabilityNamecontainer" namevalue="hpa-capability-name" type="java.lang.String" />
</xml-properties>
</java-type> |
Code Block |
---|
language | js |
---|
theme | Emacs |
---|
title | Edge Relations |
---|
collapse | true |
---|
|
{
"from": <xml-element java-attribute="version" name="hpa-version" type="java.lang.String" />
<xml-element java-attribute="hardware-architecture" name="hpa-hw-arch" type="java.lang.String" />
<xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAtrribute" name="hpa-attribute" type="inventory.aai.onap.org.v12.HPAFeatureAtrribute" />
<xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAtrribute" name="hpa-attribute" type="inventory.aai.onap.org.v12.HPAComplexAtrribute" />
</java-attributes>
</java-type>
<java-type name="HPAFeatureAttribute">
<xml-properties>
<xml-property name="description" value="HPA Capability simple attributes" />
</xml-properties>
<xml-root-element name="hpa-attribute" />
<java-attributes>
<xml-element java-attribute="hpaAttributeKey" name="hpa-attr-key" type="java.lang.String" />
<xml-element java-attribute="hpaAttributeValue" name="hpa-attr-value" type="java.lang.String" />
<xml-element java-attribute="hpaAttributeValueType" name="hpa-attr-value-type" type="java.lang.String" />
</java-attributes>
</java-type>
<java-type name="HPAComplexAttribute">
<xml-properties>
<xml-property name="description" value="HPA Capabilities with a set of FeatureAttributeList" />
</xml-properties>
<xml-root-element name="hpa-complex-attribute" />
<java-attributes>
<xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAtrribute" name="hpa-attribute" type="inventory.aai.onap.org.v12.HPAFeatureAtrribute" />
</java-attributes>
</java-type> |
HPA Feature Definition
Requirements that are kept in mind are :
...
"flavor",
"to": "cloud-region",
"label": "org.onap.relationships.inventory.BelongsTo",
"direction": "OUT",
"multiplicity": "MANY2ONE",
"contains-other-v": "!${direction}",
"delete-other-v": "NONE",
"SVC-INFRA": "NONE",
"prevent-delete": "!${direction}",
"default": "true",
"description":""
},
{
"from": "hpa-capability",
"to": "flavor",
"label": "org.onap.relationships.inventory.BelongsTo",
"direction": "OUT",
"multiplicity": "MANY2ONE",
"contains-other-v": "!${direction}",
"delete-other-v": "NONE",
"SVC-INFRA": "NONE",
"prevent-delete": "!${direction}",
"default": "true",
"description":""
},
{
"from": "hpa-capability",
"to": "cloud-region",
"label": "org.onap.relationships.inventory.AssociatedWith",
"direction": "OUT",
"multiplicity": "MANY2ONE",
"contains-other-v": "NONE",
"delete-other-v": "NONE",
"SVC-INFRA": "NONE",
"prevent-delete": "!${direction}",
"default": "true",
"description":""
}, |
Sequence Diagrams
Discovery of HPA-flavors when cloud-region is added
Gliffy |
---|
| |
---|
name | Cloud-Region Init Discovery |
---|
|
Periodic Discovery of HPACapabilities
Gliffy |
---|
| |
---|
name | Periodic Discover HPA |
---|
|
VNFC Instantiation
TBD
Following table provides HPA features and attributes. Also, it describes matching constraints for each HPA feature. These constrains constraints are applied while finding the best computecloud-group region for placing VNFC.
Following format is used to represent the HPA feature name:
<Hardware or Software feature>-<Generic feature or CPU architecture/vendor specific featuers>-<feature name>
Attributes are represented as:
TBD...
AAI
...
APIs for HPA :
Azure
AWS
...
TBD