Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Each cloud-region has a list of HPACapabilities and list of HPA flavors. Each HPA flavor is associated with set of discovered HPA capabilities.  There are few ways to represent flavors and capabilities
    • Approach 1:
      • Represent HPA flavors in each cloud-region. (HPA flavors as children to the cloud-region This already exists)
      • Represent HPA capabilities under each HPA flavor (HPA capabilities as children of each HPA flavor)
    • Approach 2:
      • Represent HPA flavors as children to the cloud-region. 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 
    {Capability Name, Schema Version, hardware-architecture, [List of HPAAttributes] - names and values}
  • 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.
  • Refer Hardware Platform Enablement In ONAP for more specific Capability names and values.

A&AI Schema Changes

Image RemovedImage Added





Example: Run time view of A&AI graph instance

...

Code Block
languagexml
themeEmacs
titleModified 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-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="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.v12.VolumeGroups" />
        <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v12.Tenants" />
        <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v12.Flavors" />
        <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v12.GroupAssignments" />
        <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v12.Snapshots" />
        <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v12.Images" />
        <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v12.DvsSwitches" />
        <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v12.OamNetworks" />
        <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v12.AvailabilityZones" />
        <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" />
        <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v12.VipIpv6AddressList" />
        <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v12.HPACapabilities" />
    </java-attributes>
    <xml-properties>
        <xml-property name="description" 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" />
        <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>


<!-- NEW NODES for HPA Capabilities -->
<java-type name="HPACapabilities">
    <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>
	<xml-element java-attribute="hpaCapabilityId" name="hpa-capability-id" type="java.lang.String" />
    <xml-element java-attribute="hpaCapabilityName" name="hpa-capability-name" type="java.lang.String" />
    <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 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList" />
    <xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAtrribute" name="hpa-attribute" type="inventory.aai.onap.org.v12.HPAFeatureAtrribute" />
</java-attributes>
<xml-properties>
    <xml-elementproperty container-typename="java.util.ArrayListdescription" java-attributevalue="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" 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>

...