Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 21 Next »


cloud-infrastructure and cloud-regions in A&AI DB is in Amsterdam release.

Introducing following:

  • HPA-flavor, HPA-feature and HPA-feature-attribute:  A given cloud-region may support multiple groups of hardware features. Both Azure and AWS has multiple groups of HW features defined for each region.  Azure calls them as "VM Sizes" and AWS calls them as "Instance types".  In Openstack world,  Openstack VIM administrator also defines multiple groups of HW features (called as flavors in Openstack).   HPA-flavor is represents these HW feature groups.  Each HPA-flavor has set of HPA-features and each HPA-feature is defined by HPA-feature-attributes.


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


Example: Run time view of A&AI graph instance


Current AAI Schema
<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-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="cloudExtraInfo" name="cloud-extra-info" 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-properties>
        </xml-element>
        <xml-element java-attribute="cloudEpaCaps" name="cloud-epa-caps" type="java.lang.String">
            <xml-properties>
                <xml-property name="description" value="MultiVIM will discover and expose EPA capabilities." />
            </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-properties>
        </xml-element>
        <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v11.VolumeGroups" />
        <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v11.Tenants" />
        <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v11.Flavors" />
        <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v11.GroupAssignments" />
        <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v11.Snapshots" />
        <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v11.Images" />
        <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v11.DvsSwitches" />
        <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v11.OamNetworks" />
        <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v11.AvailabilityZones" />
        <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList" />
        <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="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v11.VipIpv4AddressList" />
        <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v11.VipIpv6AddressList" />
    </java-attributes>
    <xml-properties>
        <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation." />
        <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
        <xml-property name="nameProps" value="owner-defined-type" />
        <xml-property name="container" value="cloud-regions" />
        <xml-property name="namespace" value="cloud-infrastructure" />
    </xml-properties>
</java-type>


Modified AAI Schema

HPA Feature Definition

Requirements 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)

Following table provides HPA features and attributes.  Also, it describes matching constraints for each HPA feature. These constrains are applied while finding the best compute-group 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...

<HPA feature name



AAI Database examples :

Azure

AWS

Openstack VIM



<xml-element java-attribute="cloudEpaCaps" name="cloud-epa-caps" type="java.lang.String"> <xml-properties> <xml-property name="description" value="MultiVIM will discover and expose EPA capabilities." /> </xml-properties> </xml-element>

  • No labels