See: License Management - Clean

Updates in this version are minor updates per recent contribution comments.




This document was generated on 2020-03-10 by "ONAP Model GenDoc Template" version 4.00


 

1         Introduction


This document contains the Word presentation of the model generated from the ONAP Eclipse Papyrus UML Information model  using gendoc.  This format is provided to assist the reader that does not use UML or has no access to UML tools.


2         Diagrams

2.1        Overview

Qualified Name: License::Diagrams

Description:

2.1.1        Diagrams

Figure 21: Business Interaction Hierarchy (License Agreement Inheritance)


Figure 2‑2: Root Entity Hierarchy (Vendor Inheritance)


Figure 2‑3: Diagram License


Figure 2‑4: Diagram Rooting License


Figure 2‑5: Diagram License Datatypes


Figure 2‑6: Diagram License Keys


Figure 2‑7: Diagram Entitlements

3         ObjectClasses

3.1        Overview

Qualified Name: License::ObjectClasses

3.1.1        Classes

3.1.1.1         EntitlementPool class

Qualified Name: License::ObjectClasses::EntitlementPool

Description:

An EntitlementPool is created for each type of Entitlement that is required for the VNFs. Each Entitlement Pool is assigned a Name and Description for modeling purposes and is uniquely identified by a UUID.  In addition, a list of characteristics of the Entitlement Pool are defined.

An EntitlementPool is not specific to a Feature Group. An Entitlement Pool may be related to multiple Feature Groups containing a VNF or even to multiple VNFs.
Purchased entitlements are inventoried in the Entitlement Pools.

Multiple pools for the same type of entitlement may be created based on the constraints.

Parent class: DesignEntity

Applied Stereotypes:

  • Experimental
  • OpenModelClass
  • support: MANDATORY
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Table 3‑1 Attributes for Package ObjectClasses

 

Attribute Name

Type

Mult.

Description

Stereotypes

entitlementManufactureReferenceNumber

String

0..1

Reference number for the entitlement as described by the vendor in their price list / catalog /contract.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



entitlementPurchaseIncrements

Integer

0..1

This field contains information to tell a Designer how the entitlement must be purchased. For example, if the entitlement must be purchased in blocks of 1000, the increment would be 1000.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



entitlementPoolThresholdValue

Integer

0..1

A description of a threshold that will be assessed for some business purpose (e.g. 20% of entitlement pool remains available).  (The threshold of interest to DCAE or Capacity Planning, etc.)  This may be an absolute value or a percentage. For example:
when 90% of the pool is in-use, trigger an additional purchase of inventory.

A description of a threshold that will be assessed for some business purpose (e.g. 20% of entitlement pool remains available).  (The threshold of interest to DCAE or Capacity Planning, etc.)  This may be an absolute value or a percentage. For example:
when 90% of the pool is in-use, trigger an additional purchase of inventory.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



entitlementPoolThresholdUnits

ThresholdUnitType

0..1

Specifies the Units for the ThresholdValue.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



invariantId

Identifier

1

Identifier that stays the same irrespective of version.

Identifier that stays the same irrespective of version.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



Version

String

1

The version of this entity.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



poolType

LicenseGroupType

1

The license key may be 'universal' or 'unique' or 'one-time'.
- A 'universal' value indicates that the same exact license key (string) may be associated with all instances of the VNF.

- A 'unique' value indicates that each instance of the VNF must be related to a unique license key (string).  When no longer needed, the key may be returned to the license key pool for reuse.

- A 'one-time' value indicates that each instance of the VNF must be related to a unique license key (string).  When no longer needed, the key may not be reused.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



validFor

TimePeriod

0..1

The period during which the design entity is valid.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



status

String

1

The condition of the specification, such s active, inactive, or planned.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



name

String

1

Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



description

String

1

Defines a textual free-form description of the object.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



id

Identifier

1

Identifier of this information element.   This attribute shall be globally unique.

Unambiguously distinguishes different object instances. It is the naming attribute of the object.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary





3.1.1.2         FeatureGroup class

Qualified Name: License::ObjectClasses::FeatureGroup

Description:

Feature groups represent a set of the VNFs. Feature groups may be defined by the vendor and/or by the service provider. VNFs may be related to multiple feature groups.  At least one feature group will be related to a VNF. If no sub-sets are needed, a single feature group will be defined that represents the base or core capabilities of the VNF.

If an Entitlement Pool or License Key Group is associated with a particular Feature Group, the Feature Group becomes a "constraint" for the pool/group.

Applied Stereotypes:

  • Experimental
  • OpenModelClass
  • support: MANDATORY
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Table 3‑2 Attributes for Package ObjectClasses

 

Attribute Name

Type

Mult.

Description

Stereotypes

featureGroupName

String

1

Name of the feature group



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



featureGroupDescription

String

0..1

Description of the feature group.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



featureGroupPartNumber

String

1

The featureGroupPartNumber specifies the Vnf that this FeatureGroup is related to.

The featureGroupPartNumber specifies the SKU or reference number that the Vendor has for the Vnf that this FeatureGroup is related to.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY





3.1.1.3         LicenseKeyPool class

Qualified Name: License::ObjectClasses::LicenseKeyPool

Description:

A License Key Pool is created for each type of License Key that is required for the VNF.
Each License Key Pool is assigned a Name and Description for modeling purposes and is uniquely identified by a UUID. In addition, a list of characteristics of the License Key Pool are defined.

The license key Pool model provides a description to interested systems for the license keys that are provided by a vendor.
A license key Pool is not specific to a feature group. A license key Pool may be related to multiple feature groups that a VNF belongs to or even to multiple VNFs.

Parent class: DesignEntity

Applied Stereotypes:

  • Experimental
  • OpenModelClass
  • support: MANDATORY
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Table 3‑3 Attributes for Package ObjectClasses

 

Attribute Name

Type

Mult.

Description

Stereotypes

poolType

LicenseGroupType

1

The license key may be 'universal' or 'unique' or 'one-time'.
- A 'universal' value indicates that the same exact license key (string) may be associated with all instances of the VNFs.

- A 'unique' value indicates that each instance of the VNF must be related to a unique license key (string).  When no longer needed, the key may be returned to the license key pool for reuse.

- A 'one-time' value indicates that each instance of the VNF must be related to a unique license key (string).  When no longer needed, the key may not be reused.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



thresholdUnits

ThresholdUnitType

0..1

Units can be either absolute or a percentage (%).



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



thresholdValue

Integer

0..1

Specified threshold value for the license key pool.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



keyPurchaseIncrements

String

0..1

Specifies how the key must be purchased.   If in blocks of 1000, the increment would be 1000.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



invariantId

Identifier

1

Identifier that stays the same irrespective of version.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



Version

String

1

The version of this entity.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



licenseManufactureReferenceNumber

String

0..1

Identifier for the entitlement as described by the vendor in their price list / catalog /contract.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



validFor

TimePeriod

0..1

The period during which the design entity is valid.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



status

String

1

The condition of the specification, such s active, inactive, or planned.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



name

String

1

Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



description

String

1

Defines a textual free-form description of the object.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



id

Identifier

1

Identifier of this information element.   This attribute shall be globally unique.

Unambiguously distinguishes different object instances. It is the naming attribute of the object.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary





3.1.1.4         LicenseAgreement class

Qualified Name: License::ObjectClasses::LicenseAgreement

Description:

An agreement between the service provider and a given vendor granting the service provider to use the vendor's products.   Generally the license agreement is specific to a family of vendor products and/or to some service provider's project/product or product family.

Parent class: Agreement

Applied Stereotypes:

  • Experimental
  • OpenModelClass
  • support: MANDATORY
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Table 3‑4 Attributes for Package ObjectClasses

 

Attribute Name

Type

Mult.

Description

Stereotypes

requirementsAndConstraints

String

1..*

Free form text. Includes information such as operating system or hypervisor required for the VNF instance. This may also contain factors to be considered in deployment/placement of the VNF instances. These requirements and constraints may need to be abstracted as policies or other business rules.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



licenseTerm

LicenseTerm

1

Term of the license:
-fixed term
-perpetual
-unlimited
-subscription



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



documentNumber

String

1

A reference number assigned to an Agreement that follows a prescribed numbering system.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



statementOfIntent

String

1

An overview and goals of the Agreement.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



StartDate

DateTime

1

Date interaction initiated



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



endDate

DateTime

1

The date on which an interaction is closed or completed.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



Status

String

0..1

The current condition of an interaction, such as open, in research, closed, and so forth



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



name

String

0..1

Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



description

String

0..1

Defines a textual free-form description of the object.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary



id

Identifier

1

Identifier of this information element.   This attribute shall be globally unique.

Unambiguously distinguishes different object instances. It is the naming attribute of the object.



OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY


Preliminary




3.1.1.5         PoolLimit class

Qualified Name: License::ObjectClasses::PoolLimit

Description:

A variable set of values that identify the limits that may be imposed by an entitlement instance in the pool.  Multiple constraints may be applicable for an instance of entitlement in the pool.  For example, an entitlement based on GB and number of sessions. Increments, aggregation function, time scope, threshold value may repeat for each metric in the list.


Limits can be applied by the vendor or the service provider.

Applied Stereotypes:

  • Experimental
  • OpenModelClass
  • support: MANDATORY
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Table 3‑5 Attributes for Package ObjectClasses

 

Attribute Name

Type

Mult.

Description

Stereotypes

limitMetricType

EPMetricType

1

Specifies if this pool holds entitlements based on usage of the VNF instance (number of users), number of sessions, country, line of business, etc.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



limitMetricValue

Integer

1

The value of some limit being applied.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



aggregationFunction

AggregationTypes

0..1

Type of aggregation being performed (Peak or Average)



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



limitUnits

LimitUnits

1

The units of the limit (Trunks, Users, Subscribers, Sessions, tenants, Tokens, Seats, TB, GB, MB, ...)



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



time

DateTime

0..1

Units time is specified in (day, month, hour, minute, second, millisecond.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY



poolMetricTypeOther

String

0..1

LimitMetricType if Other enumeration is selected.



Experimental


OpenModelAttribute

·         partOfObjectKey:  0

·         uniqueSet:

·         isInvariant:  false

·         unsigned:  false

·         counter: NA

·         support: MANDATORY




3.1.1.6         Party

A Party represents an individual, an organization or an organization unit that is of interest, involved, or that provide value,  directly or indirectly. from an enterprise perspective (Enterprise is to be understood here as provider, service provider or operator).

Parent class: RootEntity

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


Attribute Name

Type

Mult.

Stereotypes

Description

validFor

TimePeriod

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Experimental

The time period that the Party is valid for



name

String

0..1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).



description

String

0..1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Defines a textual free-form description of the object.



id

Identifier

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Unambiguously distinguishes different object instances. It is the naming attribute of the object.

Identifier of this information element.   This attribute shall be globally unique.



3.1.1.7         PartyRole

The part played by a party in a given context with any characteristics, such as expected pattern of behavior, attributes, and/or associations that it entails.PartyRole is an abstract concept that should be used in places where the business refers to a Party playing a Role

Parent class: RootEntity

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY

Table 3‑6 Attributes for Package PartyRole

Attribute Name

Type

Mult.

Stereotypes

Description

status

String

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Used to track the lifecycle status, e.g. existing, prospective or former customers.



validFor

TimePeriod

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

The time period that the PartyRole is valid for



name

String

0..1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Represents a user-friendly identifier of an object. It is a (possibly ambiguous) name by which the object is commonly known in some limited scope (such as an organization) and conforms to the naming conventions of the country or culture with which it is associated. It is NOT used as a naming attribute (i.e., to uniquely identify an instance of the object).



description

String

0..1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Defines a textual free-form description of the object.



id

Identifier

1

OpenModelAttribute

·   isInvariant: false

·   valueRange:  no range constraint

·   support:   MANDATORY

Preliminary

Unambiguously distinguishes different object instances. It is the naming attribute of the object.

Identifier of this information element.   This attribute shall be globally unique.



3.1.1.8         Vendor

An individual or organization that sells goods or services to someone else in the value fabric.

Parent class: PartyRole

Applied stereotypes:

  • Experimental
  • Reference
    • reference: From TMF SID
  • OpenModelClass
    • support: MANDATORY


4         TypeDefinitions

4.1        Overview

Qualified Name: License::TypeDefinitions

4.1.1        Datatypes

4.1.2        Enumerations

4.1.2.1         AggregationTypes enumeration

Qualified Name: License::TypeDefinitions::AggregationTypes

Applied Stereotypes:

  • Experimental
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Contains Enumeration Literals:

  • PEAK
  • AVERAGE

4.1.2.2         EPMetricType enumeration

Qualified Name: License::TypeDefinitions::EPMetricType

Applied Stereotypes:

  • Experimental
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Contains Enumeration Literals:

  • BWTH
  • COUNTRY
  • SESSION
  • LOB
  • SITE
  • USAGE
  • OTHER

4.1.2.3         LicenseDuration enumeration

Qualified Name: License::TypeDefinitions::LicenseDuration

Description:

Units of the entitlement/license term.   Valid values: year, quarter, month, day.

Applied Stereotypes:

  • Experimental
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Contains Enumeration Literals:

  • YEAR
  • QUARTER
  • MONTH
  • DAY

4.1.2.4         LicenseGroupType enumeration

Qualified Name: License::TypeDefinitions::LicenseGroupType

Applied Stereotypes:

  • Experimental
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Contains Enumeration Literals:

  • UNIVERSAL
  • UNIQUE
  • ONE_TIME

4.1.2.5         LicenseTerm enumeration

Qualified Name: License::TypeDefinitions::LicenseTerm

Description:

Valid values:

year, quarter, month, day.

Not applicable when license type is Perpetual.

Applied Stereotypes:

  • Experimental
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Contains Enumeration Literals:

  • FIXED_TERM
  • PERPETUAL
  • UNLIMITED
  • OTHER
  • TRIAL
  • SUBSCRIPTION

4.1.2.6         LimitUnits enumeration

Qualified Name: License::TypeDefinitions::LimitUnits

Applied Stereotypes:

  • Experimental
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Contains Enumeration Literals:

  • TRUNKS
  • USERS
  • SUBSCRIBERS
  • SESSIONS
  • TENANTS
  • TOKENS
  • SEATS
  • TB
  • GB
  • MB
  • OTHER

4.1.2.7         ThresholdUnitType enumeration

Qualified Name: License::TypeDefinitions::ThresholdUnitType

Applied Stereotypes:

  • Experimental
  • Reference
  • reference: As Built in SDC; Not related to any release usecase.

Contains Enumeration Literals:

  • ABSOLUTE
  • %


   

  • No labels

7 Comments

  1. A Licensing UC from Ericsson and Nokia is part of the Frankfurt Release, but that UC has not been considered in this modelling proposal. The individual, more detailed comment items are:

    • The Licensing UC from Ericsson and Nokia was up in Architecture subcommittee meeting on Oct 8th: https://jira.onap.org/browse/ONAPARC-520?src=confmacro. The main conclusion from ArchCom is: Archcom recommends the following principle: "xNF capacity and feature license management is outside of the scope of the ONAP functionality." for now.
    • Current model proposal is not in line with above recommendation from ArchCom.
    • In relation to the ArchCom SC task, Kevin Scaggs requested to have a meeting relating to the model draft and how that relates to the proposal. This meeting has not been progressed yet.
  2. Hi,

    xNF Licensing and ONAP is a Use Case in Frankfurt. I expect to have a single approved licensing model covering any licensing use case to be covered in this timeframe.


  3. Copy of comments from Ericsson, grouped by topic – class-level & relationship-level issues:

    • #4 “Vendor” class in the top level diagram is not defined in this proposal. It was originally included in the R5 “Party” proposal which was never approved. Current modeling proposal depends on Vendor class due to  the introduction of the relation with  LicenseAgreement and the definition of an indirect relation through the vendor of the VNFD with the LicensingAgreement.
      • We recommend we agree on the Vendor class scope before we approve a Licensing model.
      • In addition, Vendor class introduces two new attributes:  status and validFor attributes and we do not agree should be part of the Vendor class but differently modelled in the context of the LVM.

    • #5 There are two EMPTY classes under SequenceFlows , “License::SequenceFlows::License Setup” and “SimpleOrderFlow class” – these have NO descriptions, NOT included in any diagrams, and are NOT thus possible to understand in the context of the proposal.
      • We recommend to remove these two classes from the proposal.
    • #7 Three related inconsistencies:
      • The description of EntitlementPool states that “An EntitlementPool is not specific to a Feature Group. An Entitlement Pool may be related to multiple Feature Groups of a software product or even to multiple software products.” However the cardinality of the FeatureGroupHasEntitlementPool has 1 on the FeatureGroup end, meaning that EntitlementPool can only be associated with a single FeatureGroup.
      • The description of LicenceKeyPool states that “A license key group is not specific to a feature group.  A license key group may be related to multiple feature groups of a software item or even to multiple software items.” However the cardinality of the FeatureGroupHasLicenseKeyPool has 1 on the FeatureGroup end, meaning that LicenceKeyPool can only be associated with a single FeatureGroup.
      • The description of FeatureGroup states that “If an Entitlement Pool or License Key Group is associated with a particular Feature Group, the Feature Group becomes a "constraint" for the pool/group.” That implies that it should be possible to create an EntitlementPool or LicenceKeyPool without an association to a FeatureGroup. But in the proposal, FeatureGroupHasEntitlementPool and FeatureGroupHasLicenseKeyPool indicate that both EntitlementPool and LicenceKeyPool must each be associated with one FeatureGroup.
    • #9 VNFD – License Agreement relationship: There is no direct relation between the LicenseAgreement class and the VNFD class but objects are connected through the Vendor class losing the possibility to detect the VNFD/VNF type from a LicensingAgreement.  
      • Is this the real  SDC “built in” model ?  Is it a general enough model we want in ONAP  ?
    • #10 A VNFinstance can only have a Entitlement instance and a LKinstance.
      • Is it a general enough model we want in ONAP ?
    • #19 It’s not clear why the LicenseAgreementHasFeatureGroup association has cardinality 1..* on each end.
      • Further explanation needed.
    • #20 It’s not clear why the FeatureGroupHasEntitlementPool association has cardinality 1..* on the EntitlementPool end.
      • Further explanation needed.
  4. Copy of comments from Ericsson, grouped by topic – attribute-level issues:

    • #6 We do not have evidence of the full list of attributes defined in the ONAP as built in model in particular for EntitlementPool and LicenseKeyPool classes. Considering the attributes defined in SDC UI (https://wiki.onap.org/display/DW/Resource+Onboarding, only a subset of attributes should be defined in ONAP model.
      • Can you provide some more clear reference about SDC model ? Otherwise, should we consider only the attributes defined in  SDC UI for the as built in model.
      • In addition, some attributes are repeated in EntitlementPool/LicenseKeyPool and PoolLimit as ThresholdValue and ThresholdUnit.
      • SPPoolLimit and VendorPoolLimit in EntitlementPool/LicensekeyPool are not defined in SDC UI so they do not seem to be used.
    • #11 LicenseAgreement class contains free-form text information in the attributes requirementsAndConstraints and statementOfIntent that is not usable in any automation UC and thus should instead be contained in an external document
    • #12 The “validFor” attribute in EntitlementPool and LicenseKeyPool (inherited from DesignEntity) is mandatory. It’s not obvious whether this validity value then applies to all instances in the pool.
      • If so, it’s not possible to define licenses and entitlements that are valid for an unlimited amount of time, thus the attribute needs to be made optional.
    • #14 Entitlement Pool class: entitlementManufactureReferenceNumber has a multiplicity 0..1 and it is defined as “identifier for the entitlement as described…”.
      • Isn´t more a entitlementPool identifier more than the entitlement (instance) identifier ?

      • For consistency with the ONAP IM classes, we should review the name of this attribute in entitlementPoolVendorReferenceNumber.

    • #15 LicenseKey attribute (in LicenseKeyInstance) is defined twice, once as a String (with upper-case “k”) and once using the type “File” (with lower-case “k”).
      • It’s not obvious how/if either of these attributes can be used in the case of a subscription-based license.
      • The LicenseKey of type file is defined of type “future” so it should be removed as not Asbuilt in
    • #17 Entitlement instance class, SoftwareAssetTag: swAssetTag not defined in SDC UI. What is a softwareAssetTag ? What is the relation with the ONAP classes ?
    • #18 EntitlementInstance and LicenseKeyInstance classes include the mandatory attribute ssmUserId.
      • ssmUserID not defined in SDC UI. What is SSM?
      • ssmUserId is defined as The requestor of the entitlement. What is the requestor ?
  5. Copy of comments from Ericsson, grouped by topic – definitions and descriptions:

    • #2 Mainly all the class definition in this proposal  refer to the concept of software/software product more than network functions but software/sw product is not defined in ONAP model.
      • What is the meaning  of software in this context ?  
      • What is the relation between software and resource or VNF?
    • #13 Entitlement Pool definition is partially duplicated, to be reviewed.
      • In addition, it states “Controllers will request entitlements.” This is not  a “as built in” behavior, it should be removed.
    • #16 The description of LicenceKeyPool refers to “Asset Inventory”, which is not part of ONAP and not described anywhere in the proposal
    • "General" #2 Mainly all class relationships are defined only in the diagram by the relationship name and their cardinality. Today a class definition does not include any relationship definition. 
      • We recommend to introduce the relationship definition in the class model.
  6. Copy of comments from Ericsson, grouped by topic – licensing model in relation to ONAP components & other models:

    • #1 Is the current model proposal “as built model” going to cover the licensing model only for VNF considering it refers only to VNFD ?
    • #3 License keys, license agreements, and contractual details such as entitlement information, are all sensitive commercial information.
      • ONAP has one single inventory database (AAI) accessible to all components in the system. It’s not clear that this sensitive information is well-protected in this kind of shared database deployment.
    • #8 Entitlement instance / LicenseKeyInstance classes refer to “As Built in ASDC”.
      • Are (entitlement/LK) instance classes defined in ASDC considering it is derived from the “operationalEntity” class  ?
      • How entitlement instances are introduced in SDC ? SDC UI documentation refers to the EntitlementPool and LKPool but NOT to the EntitlementInstance and LK instance.
      • How Entitlement instances and License key instances should be used in SDC ? In  https://wiki.onap.org/display/DW/SDC+Deployment+Artifacts,  it is defined the vendor license artifact as xml file including entitlement pool and license key group (attributes here are simplified respect to the VLM proposed). In this file only entitlement pool and license pool seems to be defined and it seems that instances are not available.
  7. Copy of comments from Ericsson, grouped by topic – general model process issues (not specific to license model):

    • "General" #1 It is quite complex looking for ONAP approved classes. Understanding an inheritance tree, it is an important step when it is required to review a new class. e.g. Is Agreement, parent class of the Licensing Agreement, an approved class ? We recommend to:
      • Introduce in ONAP wiki an update list of approved classes with reference links to detailed description (a page per Release of some part of clean IM is not a long term viable way).
      • Introduce in any model proposal, the inheritance tree diagram for any new class (e.g. what is the Licensing agreement inheritance tree ?)