Versions Compared

Key

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

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 
vnfInstanceId1

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

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

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

short code of the VNF instance
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.
vnfProductName0..1

name to identify the VNF Product, invariant for the VNF Product lifetime
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.
description0..1

description of the VNF instance
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?
vnfProvider1

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

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

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

OK

vnfdVersion1

version of the VNF model
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.
vnfSoftwareVersion1

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

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

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

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

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

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

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

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

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

information specific to an instantiated VNF instance, e.g., vm information
SO, VF-C, APP-C, DCAE?ETSI IFA007v231: instantiatedVnfInfoVM 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.
DCAEAAI: in-maint OK
isClosedLoopDisabled0..1

whether closed loop function is enabled
PolicyAAI: is-closed-loop-disabledOK
encryptedAccessFlag0..1

whether this VNF is accessed using SSH

AAI: encrypted-access-flagOK
vnfConfigurableProperty0..1

indicator for whether autoHeal and autoScale is enabled
VF-C, SOETSI IFA007v231: vnfConfigurablePropertyNeed 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 namecardinalitydata typeconstraintdescriptionproviderconsumernoteChesla's Comments 
nfcInstanceId1

identifier of the NFC instance
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?
nfcNamingCode0..1

short code of the NFC instance
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.
description0..1

description of the NFC instance
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.
vduId1

identifier of the model of the NFC instance
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?
l3InterfaceIpv4AddressList0..N

layer-3 interface addresses, ipv4
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. 
l3InterfaceIpv6AddressList0..N

layer-3 interface addresses, ipv6
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. 
vnfcState0..1

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

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"?
provStatus0..1

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

service assurance systemAAI: prov-status OK
inMaint0..1

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

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

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