Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Gliffy
nameVNFC instantiation

Requirements that are kept in mind are :

...

Following format is used to represent the HPACapability:

  • Each cloud-region has a list of HPACapabilities which represents these HW feature groups
  • Each HPACapability is defined as 
    {Capability Name, Schema Version, hardware-architecture, [List of HPAAttributes], [ComplexAtrributes] }
  • HPAAttribute is a list of <hpaAttributeKey, hpaAttributeValue>
  • ComplexAttribute is a list of list of HPAAttributes. For eg: NUMA might have list of HPAttributes for every NUMA node.

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 Removed

Example: :

  • 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 instanceImage Removed

...

languagexml
themeEmacs
titleCurrent AAI Schema
collapsetrue

...

Image Added

Code Block
languagexml
themeEmacs
titleCurrent AAI Schema
collapsetrue
<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-root-elementproperty name="cloud-regiondescription" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
            <java-attributes></xml-properties>
        </xml-element>
        <xml-element java-attribute="cloudOwnercloudRegionVersion" name="cloud-ownerregion-version" required="true" type="java.lang.String" xml-key="true.String">
            <xml-properties>
                <xml-property name="description" value="IdentifiesSoftware theversion vendoremployed andat cloudthe namesite. First NOTE part- ofTHIS compositeFIELD keyIS shouldNOT beKEPT formattedUP as vendor-cloudnameTO DATE." />
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="cloudRegionIdidentityUrl" name="cloudidentity-region-idurl" required="true" type="java.lang.String" xml-key="true">
            <xml-properties>
                <xml-property name="description" value="IdentifierURL usedof by the vendor for the region. Second part of composite keykeystone identity service" />
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="cloudTypecloudZone" name="cloud-typezone" type="java.lang.String">
            <xml-properties>
                <xml-property name="description" value="TypeZone ofwhere the cloud (e.g., openstack)is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="ownerDefinedTypecomplexName" name="ownercomplex-defined-typename" type="java.lang.String">
            <xml-properties>
                <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)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="cloudRegionVersionsriovAutomation" name="cloudsriov-region-versionautomation" type="java.lang.StringBoolean">
            <xml-properties>
                <xml-property name="descriptiondefaultValue" value="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATEfalse"/>
                <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation." />
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="identityUrlcloudExtraInfo" name="identitycloud-extra-urlinfo" type="java.lang.String">
            <xml-properties>
                <xml-property name="description" value="URL ofESR inputs extra information about the keystone identity serviceVIM or Cloud which will be decoded by MultiVIM." />
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="cloudZonecloudEpaCaps" name="cloud-zoneepa-caps" type="java.lang.String">
            <xml-properties>
                <xml-property name="description" value="ZoneMultiVIM wherewill thediscover cloudand isexpose homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATEDEPA capabilities." />
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="complexNameresourceVersion" name="complexresource-nameversion" type="java.lang.String">
            <xml-properties>
                <xml-property name="description" value="complexUsed name for cloud-regionoptimistic instanceconcurrency.  Must be NOTEempty -on THIScreate, FIELDvalid ISon NOTupdate CORRECTLYand POPULATEDdelete." />
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="volumeGroups" name="volume-groups"        </xml-element>type="inventory.aai.onap.org.v11.VolumeGroups" />
        <xml-element default-value="false" required="true" java-attribute="sriovAutomationtenants" name="sriov-automationtenants" type="java.lang.Boolean"inventory.aai.onap.org.v11.Tenants" />
            <xml-properties>
     element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v11.Flavors" />
        <xml-element  <xml-propertyjava-attribute="groupAssignments" name="defaultValuegroup-assignments" valuetype="false"inventory.aai.onap.org.v11.GroupAssignments" />
                <xml-property<xml-element java-attribute="snapshots" name="descriptionsnapshots" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation.type="inventory.aai.onap.org.v11.Snapshots" />
        <xml-element java-attribute="images" name="images"  </xml-properties>type="inventory.aai.onap.org.v11.Images" />
        <xml-element java-attribute="dvsSwitches" name="dvs-switches"  </xml-element>type="inventory.aai.onap.org.v11.DvsSwitches" />
        <xml-element java-attribute="cloudExtraInfooamNetworks" name="cloudoam-extra-infonetworks" type="java.lang.String"inventory.aai.onap.org.v11.OamNetworks" />
            <xml-properties>
                <xml-propertyelement java-attribute="availabilityZones" name="descriptionavailability-zones" valuetype="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM.inventory.aai.onap.org.v11.AvailabilityZones" />
        <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
        <xml-element    </xml-properties>
        </xml-element>java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList" />
        <xml-element container-type="java.util.ArrayList" java-attribute="cloudEpaCapsvipIpv4AddressList" name="cloudvip-ipv4-epaaddress-capslist" type="java.lang.String">
 inventory.aai.onap.org.v11.VipIpv4AddressList" />
          <xml-properties>
                <xml-propertyelement container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="descriptionvip-ipv6-address-list" value="MultiVIM will discover and expose EPA capabilities.type="inventory.aai.onap.org.v11.VipIpv6AddressList" />
    
       </xmljava-properties>attributes>
        </xml-element><xml-properties>
        <xml-elementproperty java-attributename="resourceVersiondescription" namevalue="resource-version" type="java.lang.String">
        cloud-region designates an installation of a cloud cluster or region or instantiation." />
   <xml-properties>     <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
        <xml-property name="descriptionnameProps" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />owner-defined-type" />
        <xml-property name="container" value="cloud-regions" />
        <xml-property name="namespace" value="cloud-infrastructure" />
    </xml-properties>
</java-type>
Code Block
languagexml
themeEmacs
titleModified AAI Schema
collapsetrue
<java-type name="Flavor">
    <xml-root-element name="flavor"/>
  </xml-element>  <java-attributes>
        <xml-element java-attribute="volumeGroupsflavorId" name="volume-groupsflavor-id" required="true" type="inventoryjava.aai.onap.org.v11.VolumeGroups" />lang.String" xml-key="true">
            <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v11.Tenants" />properties>
                <xml-property name="description" value="Flavor id, expected to be unique across cloud-region."/>
            <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v11.Flavors" /></xml-properties>
        </xml-element>
        <xml-element java-attribute="groupAssignmentsflavorName" name="group-assignmentsflavor-name" required="true" type="inventory.aai.onap.org.v11.GroupAssignments" />java.lang.String">
            <xml-element java-attribute="snapshots"properties>
                <xml-property name="snapshotsdescription" typevalue="inventory.aai.onap.org.v11.Snapshots" />Flavor name"/>
           <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v11.Images" /> </xml-properties>
        </xml-element>
        <xml-element java-attribute="dvsSwitchesflavorVcpus" name="dvsflavor-switchesvcpus" type="inventoryjava.aai.onap.org.v11.DvsSwitches" />lang.Integer">
            <xml-element java-attribute="oamNetworks"properties>
                <xml-property name="oam-networks" type="inventory.aai.onap.org.v11.OamNetworks" description" value="Number of CPUs"/>
        <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v11.AvailabilityZones" />    </xml-properties>
        </xml-element>
        <xml-element java-attribute="relationshipListflavorRam" name="relationshipflavor-listram" type="inventoryjava.aai.onap.org.v11.RelationshipList" />lang.Integer">
            <xml-element java-attribute="esrSystemInfoList"properties>
                <xml-property name="esr-system-info-listdescription" type="inventory.aai.onap.org.v11.EsrSystemInfoList" value="Amount of memory"/>
        <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v11.VipIpv4AddressList" />    </xml-properties>
        </xml-element>
        <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressListflavorDisk" name="vip-ipv6-address-listflavor-disk" type="inventoryjava.aai.onap.org.v11.VipIpv6AddressList" />lang.Integer">
            </java-attributes><xml-properties>
       <xml-properties>         <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation." />
 Disk space"/>
            </xml-properties>
      <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" /> </xml-element>
         <xml-propertyelement namejava-attribute="namePropsflavorEphemeral" valuename="owner-defined-type" />flavor-ephemeral" type="java.lang.Integer">
            <xml-property name="container" value="cloud-regions" />properties>
                <xml-property name="namespacedescription" value="cloud-infrastructure" />
    </xml-properties>
</java-type>
Code Block
languagexml
themeEmacs
titleModified AAI Schema
collapsetrue
<java-type name="CloudRegion"Amount of ephemeral disk space"/>
    <xml-root-element name="cloud-region" />        </xml-properties>
        <java</xml-attributes>element>
        <xml-element java-attribute="cloudOwnerflavorSwap" name="cloudflavor-ownerswap" 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"  value="amount of swap space allocation"/>
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="cloudRegionIdflavorIsPublic" name="cloudflavor-regionis-idpublic" required="true" type="java.lang.String" xml-key="trueBoolean">
            <xml-properties>
                <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" "
                              value="whether flavor is available to all users or private to the tenant it was created in."/>
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="cloudTypeflavorSelflink" name="cloud-typeflavor-selflink" required="true" type="java.lang.String">
            <xml-properties>
                <xml-property name="description" value="Type of the cloud (e.g., openstack)" URL to endpoint where AAI can get more details"/>
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="ownerDefinedTypeflavorDisabled" name="ownerflavor-defined-typedisabled" type="java.lang.StringBoolean">
            <xml-properties>
                <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" Boolean as to whether this flavor is no longer enabled"/>
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="cloudRegionVersionhpaCapabilities" name="cloudhpa-region-version" type="java.lang.Stringcapabilities"
                     type="inventory.aai.onap.org.v13.HpaCapabilities">
            <xml-properties>
                <xml-property name="description" value="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE." "List of HPA Capabilities associated with this flavor"/>
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="identityUrlresourceVersion" name="identityresource-urlversion" type="java.lang.String">
            <xml-properties>
                <xml-property name="description"
                              value="URL of the keystone identity service" Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
            </xml-properties>
        </xml-element>
        <xml-element java-attribute="cloudZonerelationshipList" 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." />relationship-list"
                     </xml-properties>type="inventory.aai.onap.org.v13.RelationshipList"/>
    </java-attributes>
   </xml-element> <xml-properties>
        <xml-elementproperty java-attributename="complexNamedescription" namevalue="complex-name" type="java.lang.String">
 Openstack flavor."/>
          <xml-properties>property     name="nameProps" value="flavor-name"/>
           <xml-property name="descriptionindexedProps" value="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." flavor-name,flavor-id"/>
        <xml-property name="dependentOn" value="cloud-region"/>
            </xml-properties>
        </xml-element>
   <xml-property name="container" value="flavors"/>
    <xml</xml-elementproperties>
default-value="false" required="true" java-attribute="sriovAutomation"</java-type>

<java-type name="sriov-automationHpaCapabilities" type="java.lang.Boolean">>
    <xml-properties>
        <xml-properties>property name="description" value="Collection of HPA Capabilities"/>
    </xml-properties>
      <xml-propertyroot-element name="defaultValue" value="falsehpa-capabilities"/>
    <java-attributes>
        <xml-element   <xml-propertycontainer-type="java.util.ArrayList" java-attribute="hpaCapability" name="descriptionhpa-capability"
value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation." />        type="inventory.aai.onap.org.v13.HpaCapability"/>
    </xml-properties>
        </xml-element>
   java-attributes>
</java-type>

<java-type name="HpaCapability">
<xml-root-element name="hpa-capability"/>
<java-attributes>
    <xml-element java-attribute="resourceVersionhpaCapabilityId" name="resource-versionhpa-capability-id" required="true" type="java.lang.String">
            <xml-properties>        xml-key="true">
        <xml-propertyproperties>
name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
   <xml-property name="description" value="UUID to uniquely identify a HPA capability"/>
        </xml-properties>
        </xml-element>
  
     <xml-element java-attribute="volumeGroupshpaFeature" name="volume-groups" type="inventory.aai.onap.org.v12.VolumeGroups" />
        <xml-element java-attribute="tenants" name="tenantshpa-feature" required="true" type="inventoryjava.aai.onap.org.v12.Tenants" /lang.String">
        <xml-element java-attribute="flavors"properties>
            <xml-property name="flavorsdescription" type="inventory.aai.onap.org.v12.Flavors" />
   value="Name of the HPACapability"/>
        </xml-properties>
    </xml-element>
    <xml-element java-attribute="groupAssignmentsversion" name="grouphpa-assignmentsversion" type="inventoryjava.aai.onap.org.v12.GroupAssignments" /lang.String">
        <xml-element java-attribute="snapshots"properties>
            <xml-property name="snapshotsdescription" type="inventory.aai.onap.org.v12.Snapshots" />
   value="HPA schema version"/>
        </xml-properties>
    </xml-element>
    <xml-element java-attribute="imageshardwareArchitecture" name="imageshpa-hw-arch" type="inventoryjava.aai.onap.org.v12.Images" /lang.String">
        <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v12.DvsSwitches" />
   properties>
            <xml-property name="description" value="Hardware architecture"/>
        </xml-properties>
    </xml-element>
    <xml-element java-attribute="oamNetworksresourceVersion" name="oamresource-networksversion" type="inventoryjava.aai.onap.org.v12.OamNetworks" /lang.String">
        <xml-element java-attribute="availabilityZones"properties>
            <xml-property name="availability-zones" type="inventory.aai.onap.org.v12.AvailabilityZones" />description"
            <xml-element java-attribute="relationshipList" name="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" /> value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
        </xml-properties>
    </xml-element>
    <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressListrelationshipList" name="viprelationship-ipv6-address-list"
                 type="inventory.aai.onap.org.v12v13.VipIpv6AddressListRelationshipList" />
        <xml-element <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapabilitieshpaFeatureAttribute" name="hpa-capabilities" feature-attribute"
                 type="inventory.aai.onap.org.v12v13.HPACapabilitiesHpaFeatureAttribute" />
 
  </java-attributes>
  
 <xml-properties>
 
      <xml-property name="description" value="cloud-region designates an installation of Represents 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" HPA capability"/>
    <xml-property name="nameProps" value="hpa-feature"/>
    <xml-property name="indexedProps" value="hpa-feature,hpa-hw-arch,hpa-capability-id"/>
    <xml-property name="dependentOn" value="flavor"/>
        <xml-property name="indexedPropscontainer" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
   hpa-capabilities"/>
</xml-properties>
</java-type>

<java-type name="HpaFeatureAttribute">
<xml-root-element name="hpa-feature-attribute"/>
<java-attributes>
    <xml-propertyelement namejava-attribute="namePropshpaAttributeKey" valuename="ownerhpa-definedattr-key" type" /="java.lang.String">
        <xml-property name="container" value="cloud-regions" />properties>
            <xml-property name="namespacedescription" value="cloud-infrastructure" />name of the specific HPA attribute"/>
        </xml-properties>
</java-type>    <!/xml--element>
 NEW NODES for HPA Capabilities -->
<java-type name="HPACapabilities<xml-element java-attribute="hpaAttributeValue" name="hpa-attr-value" type="java.lang.String">
        <xml-properties>
            <xml-property name="description" value="Collection of HPA Capabilities"
/>     </xml-properties>
    <xml-root-element name="hpa-capabilities" />     <java-attributes>         <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapability" name="hpa-capability" type="inventory.aai.onap.org.v12.HPACapability" />
    </java-attributes>
</java-type>

<java-type name="HPACapability">
<xml-root-element name="hpa-capability" />
<java-attributes>   value="JSON string specifying the value, unit and type of the specific HPA attribute"/>
      <xml-element java-attribute="hpaCapabilityName" name="hpa-capability-name" type="java.lang.String" /> </xml-properties>
    </xml-element>
    <xml-element java-attribute="versionresourceVersion" name="hparesource-version" type="java.lang.String">
/>        <xml-element java-attribute="hardware-architecture" name="hpa-hw-arch" type="java.lang.String" />properties>
            <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">property name="description"
           <xml-properties>             <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
        </xml-properties>
    </xml-element>
    <xml-element java-attribute="relationshipList" name="relationship-list"
                 type="inventory.aai.onap.org.v12v13.RelationshipList"/>
/></java-attributes>
<xml-properties>
    <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>
<xml-properties>
    <xml-property name="description" value="Represents a HPA capability" />
    <xml-property name="nameProps" value="hpa-capability-name" />
    <xml-property name="indexedProps" value="hpa-capability-name,hardware-architecture" />
    <xml-property name="dependentOn" value="cloud-region" />
    <xml-property name="container" value="hpa-capabilities" />
</xml-properties>
</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>property name="description" value="HPA Capability Feature attributes"/>
    <xml-property name="container" value="hpa-capability"/>
</xml-properties>
</java-type>
Code Block
languagejs
themeEmacs
titleEdge Relations
collapsetrue
{
	"from": "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
nameCloud-Region Init Discovery

Periodic Discovery of HPACapabilities

Gliffy
namePeriodic Discover HPA


VNFC Instantiation 

Gliffy
nameVNFC 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 cloud-region for placing VNFC.<Hardware or Software feature>-<Generic feature or CPU architecture/vendor specific featuers>-<feature name>

Attributes are represented as:

TBD...

<HPA feature name



AAI

...

APIs for HPA :

Azure

AWS

...

TBD