Versions Compared

Key

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

This page describes the run time information model of resources for ONAP R2+.

Table of Content

Anchor
VnfModel
VnfModel

VNF Model (VNF Instance)

...

Chesla general comment: 

1) AAI is not generally the Provider of data.  For the most part, AAI stores information provided other components.  There are some exceptions (e.g., provStatus is set by other systems but AAI is considered the source of truth for the value).   For example, the vnfInstanceId is provided by either SO or SDN-C.  So it's not clear to me what is meant by provider and consumer in your table.

2) This captures a lot (but not all) of the fields currently considered by AAI to be necessary to support ONAP.  If the goal here is to provide the info model for the VNF resource entirely, then there may be attributes that are known to components like SDN-C and not to AAI which you should capture here.

3) FYI - there are objects called line-of-business (captures service provider Product info), platform, project, and owning-entity.  I don't see much below that seems to overlap with those concepts but wanted folks to be aware of them.  One can relate the VNF instance to instances of these object types.

4) There are other useful IP addresses that should be considered

5) The managementOption field should be considered.  It allows an operator to give an indication of what entity is managing the VNF instance.  If you have an alternate plan for that, I'd like to understand it.

6) What's the plan for network management profile information?


attribute namecardinalitydata typeconstraintdescriptionproviderconsumernoteChesla's Comments 
vnfInstanceIdM1

identifier of the VNF instanceAAI
SO, VF-C, APP-C, SDN-C, DCAE, PolicyAAI: vnf-id OK
vnfInstanceNameO1

name of the VNF instanceAAI
SO, VF-C, APP-C, SDN-C, DCAE, Policy?AAI: vnf-name OK, would make it mandatory just from a usage perspective
vnfInstanceAlterNameO0..1

alternative name of the VNF instanceAAI
SO, VF-C, APP-C, SDN-C, DCAE, Policy?AAI: vnf-name2 OK
vnfInstanceNamingCodeO0..1

short code of the VNF instanceAAI 
SO, VF-C, APP-C, SDN-C, DCAE, Policy?AAI: nf-naming-codeThis is used by naming policies as a short string which is used to construct the name of the VNF instance.  It could be removed if it is in the descriptor.
vnfProductNameO0..1

name to identify the VNF Product, invariant for the VNF Product lifetimeAAI
SO, VF-C?maybe combined with one of the above name attributes
relates to ETSI IFA007v231: vnfProductName
Think this should be removed as it should be identifiable by "joining" to the descriptor.
descriptionO0..1

description of the VNF instanceAAI
SO, VF-C, APP-C, SDN-C, DCAE, Policy?AAI: nf-function, ETSI IFA007v231: vnfInstanceDescriptionAt least within AT&T, we were trying to standardize on type/role/function fields to help describe.  Is it necessary to rename the function to description?  When I see description, I generally think of something quite free form.  We thought there could be policy and automation around type/role/function.  We were planning to have type/role/function in the descriptor.  Is this something in addition?
vnfProviderM1

provider of the VNF modelAAI
SO, VF-C?ETSI IFA007v231: vnfProviderThink this should be removed as it should be identifiable by "joining" to the descriptor.
vnfdIdM1

identifier of the VNF modelAAI
SO, VF-C, APP-C, DCAE?AAI: model-invariant-id, ETSI IFA007v231: vnfdId

 This is part of your "join" key to the descriptor.

OK

vnfdVersionM1

version of the VNF modelAAI
SO, VF-C, APP-C, DCAE?AAI: model-version-id, ETSI IFA007v231: vnfdVersionIf this is a UUID uniquely pointing to the specific version of a model, then OK.  Don't want to see, e.g., v1.0, in this field.
vnfSoftwareVersionM1

Software version of the VNF. This is changed when there is any change to the software that is included in the VNF packageAAI
SO, VF-C, APP-C?ETSI IFA007v231: vnfSoftwareVersion OK
onboardedVnfPkgInfoIdM1

identifier of the specific VNF package on which the VNF instance is basedAAI
SO, VF-C?ETSI IFA007v231: onboardedVnfPkgInfoId Surprised me but  not my area of expertise.
availabilityZoneM1

availability zone information of the VNF instanceAAI
SO, VF-C, APP-C?AAI: regional-resource-zoneThis should be removed and expressed as a relationship to the availability zone.
provStatusO0..1

provisioning status, used as a trigger for operational monitoring of this resource by service assurance systems
valid value example: PROVISIONED, PREPROVISIONED, CAPPEDAAI

service assurance systemAAI: prov-statusOK, must have enumerated values.
operationalStatusO0..1

indicator for whether the resource is considered operational. Valid values are in-service-path and out-of-service-path.AAI
SO, APP-C?AAI: operational-statusOK, must have enumerated values
instantiationStateO1

whether the VNF instance is instantiatedAAI
SO, VF-C?ETSI IFA007v231: instantiationStateIs this what AAI currently calls orchestration-status? 
oamIpv4AddressO0..1

oam ip address, ipv4AAI
SO, VF-C, APP-C, DCAE?AAI: ipv4-oam-addressoamIpv6AddressOWould like the whole IM to standardize on naming of IP address field names.   
oamIpv6Address0..1

oam ip address, ipv6AAI
SO, VF-C, APP-C, DCAE?AAI: management-v6-addressWould like the whole IM to standardize on naming of IP address field names. 
instantiatedVnfInfoM0..1

information specific to an instantiated VNF instance, e.g., vm informationAAI
SO, VF-C, APP-C, DCAE?ETSI IFA007v231: instantiatedVnfInfoinMaintOVM information doesn't belong as an attribute of the VNF.  I would expect the VNF would be related to a set of VNFC instances, and each VNFC instance is related to its VM (execution environment) instance.
inMaint0..1

whether the VNF instance is in maintenance mode, if yes, DCAE will not observe alarms/traps, etc.AAI
DCAEAAI: in-maint OK
isClosedLoopDisabledO0..1

whether closed loop function is enabledAAI
PolicyAAI: is-closed-loop-disabledOK
encryptedAccessFlagO0..1

whether this VNF is accessed using SSHAAI

AAI: encrypted-access-flagOK
vnfConfigurablePropertyO0..1

indicator for whether autoHeal and autoScale is enabledAAI
VF-C, SOETSI IFA007v231: vnfConfigurableProperty

...

Need more info about the purpose of this.  E.g., should there be a configuration object which the VNF is related to?  The model-customization-id is used today to link to configuration in ECOMP.  This one probably needs discussion with the SO team.

NOTE: cardinality, producer and consumer column are to be confirmed.

Anchor
NfcModel
NfcModel

NFC Model (VNFC Instance)

Chesla's General Comments:

There needs to be an info modeling session around VDU, VNFC, and the various execution environments provided by the cloud.  It's important to be in agreement as to whether the VDU is considered to be the VNFC descriptor.  Also, ONAP should come up with a well-understood and agreed to separation of concerns between the info/data model for the cloud and the info/data model for the virtualized components.  For example, how many VNFCs per execution environment (where one example of an execution environment is a VM).   The VNFCs should have connection points?  Those connection points should be related to the interfaces on the execution environment?  I implore the ONAP team to give this a great deal of thought before deciding.  It's worth getting right up front than paying for it later.

NOTE: Whether this model is applicable for both virtual NFC and physical NFC is to be confirmed.

attribute nameoptionalitycardinalitydata typeconstraintdescriptionproviderconsumernoteChesla's Comments 
nfcInstanceIdM1

identifier of the NFC instanceAAI
SO, VF-C, APP-C, SDN-C, DCAE, PolicyAAI: vnfc-name, ETSI IFA008v231: vnfcInstanceId.OK - but has there been an info modeling standard on attribute naming?  E.g., should this be vnfcInstanceId or nfcInstanceId?
nfcNamingCodeO0..1

short code of the NFC instanceAAI
SO, VF-C, APP-C, SDN-C, DCAE, Policy?AAI: nfc-naming-codeThis is used by naming policies as a short string which is used to construct the name of the VNFC instance.  It could be removed if it is in the descriptor.
descriptionO0..1

description of the NFC instanceAAI
SO, VF-C, APP-C, SDN-C, DCAE, Policy?AAI: nfc-functionSame comments as on VNF, we would like to see type/role/function and perhaps description is in addition.  Also, type/role/function can be in the descriptor.
vduIdM1

identifier of the model of the NFC instanceAAI
SO, VF-C, APP-C?AAI: model-invariant-id, ETSI : vduIdHas the modeling team had the hard discussion regarding what ONAP really wants VDU to mean?  Regardless, perhaps this shouldn't be an attribute but instead should be a relationship?
l3InterfaceIpv4AddressListO0..N

layer-3 interface addresses, ipv4AAI
SO, VF-C, APP-C, SDN-C?AAI: l3-interface-ipv4-address-listThis is not an attribute, it is a relationship.  See general comments as well. 
l3InterfaceIpv6AddressListO0..N

layer-3 interface addresses, ipv6AAI
SO, VF-C, APP-C, SDN-C?AAI: l3-interface-ipv6-address-list This is not an attribute, it is a relationship.  See general comments as well. 
vnfcStateO0..1

operating status of the VM
valid value example: STARTED (POWER_ON), STOPPED (POWER_OFF)AAI

SO?, VF-CETSI IFA008v231: vnfcState Should this be vnfcOperatingState?  Should it be operationalStatus (akin to the VNF instance)?  Should we standardize on "State" vs. "Status"?
provStatusO0..1

provisioning status, used as a trigger for operational monitoring of this resource by service assurance systems
valid value example: PROVISIONED, PREPROVISIONED, CAPPED
AAI
service assurance systemAAI: prov-status OK
inMaintO0..1

whether the NFC instance is in maintenance mode, if yes, DCAE will not observe alarms/traps, etc.AAI
DCAEAAI: in-maint OK
isClosedLoopDisabledO0..1

whether closed loop function is enabledAAI
PolicyAAI: is-closed-loop-disabledOK

NOTE: optionalitycardinality, producer and consumer column are to be confirmed.