This page is used for the ONAP R2+ Service IM drafting and discussion.
Current Service Information Model UML Documentation: ONAP Service 2017-11-08.docx
the comparision table among ECOMP IM, SDC IM, ETSI NFV IFA, A&AI as below:
ServiceDesc (ServiceCatalogItem) (Note from Chesla:
A&AI has a model/model-ver concept which captures the descriptor from ASDC. The model vertex type contains the model-invariant-id and the model-type (e.g., service or resource). The model-ver vertex type contains the model-version-id, the model-version, the model-name, and a model-description.
In short, A&AI split the invariant part of the model away from the version-dependent pieces. In this manner, you can relate ALL versions of a model to something by using the model-invariant-id (e.g., get me all the resources for this model) or you can relate a specific version of a model (e.g., get me all resources for this version of the model) by using the model-version-id in combination with the model-invariant-id. Recall that A&AI stores the model/model-ver elements as "JOIN" keys to the SDC descriptor world. A&AI does not try to capture all the details of the models.
It's not clear whether you can equate model-name to service-name or model-description to service-description. The model-name really names the MODEL, not necessarily the service. The same applies to the service-description.
ALSO NOTE as referenced on a prior wiki page: The A&AI service vertex type is deprecated and should not be used in ONAP.
11/28/2017 - There has been a serviceType and serviceRole field added to the service-instance vertex type. These fields should have a data steward and governance around a set of enumerated values. The values themselves should be set in the SDC models - copying them to the service instances is a denormalization. In general we think that entities modeled in SDC should have a consistent usage around the terms "type", "role", and "function". Type is the broadest classification of the entity. Role is the role played by the entity within the type. For example, if we were discussing network function type (nfType) and it had a value of ROUTER, a network function role (nfRole) could be CE (for customer edge). Function is the purpose of the entity within its type and role. For example, for that same network function, the nfFunction could be ADioD Customer Edge Router. Similarly within service instance, a service type could be TRANSPORT. A service role could be MIS VPN. Service type in other places (the service and service-subscription vertex types) in the AAI data model ARE deprecated.
)
SDC (Service) | AAI ( | ECOMP IM (ServiceCatalogItem) | Comments | Confirmed | Description |
type | ServiceCatalogItem-Q1: what‘s the difference of type and serviceType or category?’ Type - A predefined list which identifies the construct (i.e., service, VF, VFC, CP, VL, etc.). serviceType - An optional string field defining a generic type (like category) of theservice. E.g. this field can be used for defining the service as “TRANSPORT”. @David Shadmi From Chesla Wechsler's comments, type is deprecated. Please confirm it. | A predefined list which identifies the construct (i.e., service, VF, VFC, CP, VL, etc.). | |||
serviceType | serviceType | An optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as “TRANSPORT”. | |||
serviceRole | serviceRole | ServiceCatalogItem-Q2: What's the ServiceRole used for in the use cases and how does it effect the run-time components? serviceRole - An optional string field for shortcode that defines the function that the service is providing. E.g. “MISVPN” or “AIM”. | An optional string field for shortcode that defines the function that the service is providing. E.g. “MISVPN” or “AIM”. | ||
maopeng zhang: needs to describe the function attribute | function (From Andy Mayer) | ||||
nested model (either service or resource type) | maopeng zhang: In AAI, suggest to add serviceComponets | serviceComponentUUID | The service component descriptor UUIDs that the service includes (relationhip to Service Component) | ||
serviceEcompNaming | ServiceCatalogItem-Q3: What's the naming used for in the use cases and how does it effect the run-time components? The naming fields are used to define if the service instance name is auto-generated by the runtime components (SO and SDNC). Need to refer to the use case owners to understand if and how these fields are used. | ||||
ecompGeneratedNaming | |||||
namingPolicy | |||||
service_naming | |||||
resource-version | @ Jimmy Forsyth: ServiceCatalogItem-Q4: The version of resource are related to the resource. One service may is composed of many resources, which may have different versions. Which version of the resources are set in the service? | resource-version for concurrency | |||
AT&TContact | @Andy Mayer : ServiceCatalogItem-Q5: Is it the service designer? If consider multi-designers, the attributes should be array type. | This is the technology owner. ATT UID. Future click on UID and launch mail client. Multiple contacts should be supported. | |||
Capacity | @Andy Mayer : ServiceCatalogItem-Q6: Please clarify what it is. How is it effects the design time and run-time? From Chesla Wechsler's comments, it is deprecated. Please confirm it. | Obtain from vendor if available; tester can add additional information | |||
Constraints | @Andy Mayer : ServiceCatalogItem-Q7: The constraints is not an independent attribute, and is a constraint within the attribute definition. right? | From the TOSCA model. Multiple fields. Could include thresholds and policies. Vendor upgrade requirements should also be included here. | |||
Cost | @ Andy Mayer : ServiceCatalogItem-Q8: Please clarify what it is. How is it effects the design time and run-time? | 2015: will be blank and not mandatory. 2016 may be accessed by role (TBD) and will be a mandatory field. | |||
D2RequirementsChecklist | @Andy MayerServiceCatalogItem-Q9: What's the Cost used for in the use cases and how does it effect the run-time components? | Spreadsheet with input constraints, entries will be searchable | |||
EntitlementID | @Andy MayerServiceCatalogItem-Q10: In the latest document there is no entitlement. is it obsoleted? | Composite ID of contract and entitlement number from myprocurement | |||
EntitlementUnitNumber | From contract/entitlement | ||||
EntitlementUnitType | From contract/entitlement | ||||
FaultRequirements | @Andy Mayer ServiceCatalogItem-Q11: It is an document from vendor. Should it be managed in the ONAP? | Obtain from vendor | |||
Features | @Andy Mayer ServiceCatalogItem-Q11: It is an document from vendor. Should it be managed in the ONAP? | Obtain from vendor | |||
History | @Andy MayerServiceCatalogItem-Q13: the type is only char. It is not enough to support the function as described. | Keeping all major events, i.e., creation date, any modification, check in and check out with ATT UID. | |||
LicensingModel | @Andy MayerServiceCatalogItem-Q14: Do the Service support license? Could you give some details about it? | Multiple fields. Categories of licenses planned; type, unit. | |||
Performance | @Andy Mayer ServiceCatalogItem-Q11: It is an document from vendor. Should it be managed in the ONAP? | Obtain from vendor if available; tester can add additional information | |||
Requirements | @Andy Mayer ServiceCatalogItem-Q11: It is an document from vendor. Should it be managed in the ONAP? | Multiple fields. Includes connectivity | |||
ServiceSystemName | @Andy Mayer It is not like an service attribute. Please clarify why displayed in the design studio. | This field will be used in URLs and not exposed in create service UI; will be displayed in design studio. Meaningful service name used in API. The system name is used in the distribution studio (distribution notification and distribution API). - Max length of 25 characters - Allowed characters: alphanumeric, underscore, dash, dot. - Autocreated based upon the Service Display Name: spaces are trimmed, each word starts with a capital letter, on the first letter of abbreviation and acronyms are capitalized. - If the Service Display name changes, the Service System name will automatically be updated. - Service System name is not editable by the designer. - Name must be unique and is searchable. | |||
Subcategory | Flat list in 1507. In 1510, UI will be separated to different field from Category. | ||||
Tags/Keywords | Must accept multiple keywords | ||||
Template | @Andy Mayer is it the service Templates? | Need to define a list of templates. Tied to Category. Designer cannot create new template (must be created by development team). Process required to add/change/delete. Could consider designer ability to create / modify template in 1602. | |||
TestScripts | |||||
VendorTestResults | @Andy Mayer It is an document from vendor. Should it be managed in the ONAP? | ||||
VF-SpecificPolicies | @Andy Mayer should be those VF related attributes moved to VNF, not in the service? | Part of the lifecycle management of the artifact. | |||
VFArtifacts | Artifact name stored in Swift. Artifacts are searchable / indexable. | ||||
VFConfigParameters | Scripts are an artifact, this may be redundant | ||||
VFImage | URL to file stored in Glance or Swift, depending upon image vs. binary |
ServiceInstance
AAI (ServiceInstance) | ECOMP IM (service-instance) | Comments | Confirmed | Description |
service-type | same with the ServiceCatalogItem-Q1 same with the ServiceCatalogItem-Q2 | An optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as “TRANSPORT”. | ||
service-role | An optional string field for shortcode that defines the function that the service is providing. E.g. “MISVPN” or “AIM”. | |||
maopeng zhang: needs to describe the function attribute | function (From Andy Mayer) | |||
persona-Model-Version | ServiceVersion | The service model version in SDC catalog (attribute of service model?) | ||
environment-Context | @Jimmy Forsyth ServiceInstance-Q1 Please clarify it's format and how to use it | This field will store the environment context assigned to the service-instance | ||
workload-Context | @Jimmy ForsythServiceInstance-Q2 Please clarify it's format and how to use it | This field will store the workload context assigned to the service-instance. | ||
widget-Model-Id | @Jimmy ForsythServiceInstance-Q4 Please clarify it and how to use it | the ASDC data dictionary widget model. This maps directly to the A&AI widget. | ||
widget-Model-Version | the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget. | |||
bandwidth-total | @Jimmy ForsythServiceInstance-Q5 If the service is an general service, why only define these bandwidth attributes? | Indicates the total bandwidth to be used for this service. | ||
bandwidth-up-wan1 | indicates the upstream bandwidth this service will use on the WAN1 port of the physical device. | |||
bandwidth-down-wan1 | indicates the downstream bandwidth this service will use on the WAN1 port of the physical device. | |||
bandwidth-up-wan2 | indicates the upstream bandwidth this service will use on the WAN2 port of the physical device. | |||
bandwidth-down-wan2 | indicates the downstream bandwidth this service will use on the WAN2 port of the physical device. | |||
vhn-portal-url | @Jimmy Forsyth What's "vhn-portal-url"? | URL customers will use to access the vHN Portal. | ||
service-instance-location-id | @Jimmy Forsyth Where the locationId is got? and How to use it? | An identifier that customers assign to the location where this service is being used. | ||
resource-version | @Jimmy Forsyth Same with ServiceCatalogItem-Q4 | Used for optimistic concurrency. Must be empty on create, valid on update and delete. |
ServiceComponentCatalogItem
SDC (Service) | AAI (service) | ECOMP IM | ETSI IFA014 (NetworkService) | Comments | Confirmed | Description |
type | same with the ServiceCatalogItem-Q1 same with the ServiceCatalogItem-Q2 | A predefined list which identifies the construct (i.e., service, VF, VFC, CP, VL, etc.). | ||||
Category | A predefined list which identifies the construct's category. There is a predefined list of service categories and resource categories. Designer cannot define new Category. Process required to add/change/delete | |||||
serviceType | serviceType | An optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as “TRANSPORT”. | ||||
serviceRole | serviceRole | An optional string field for shortcode that defines the function that the service is providing. E.g. “MISVPN” or “AIM”. | ||||
serviceEcompNaming | same with the ServiceCatalogItem-Q3 | |||||
ecompGeneratedNaming | ||||||
namingPolicy | ||||||
service_naming | ||||||
resource-version | same with the ServiceCatalogItem-Q4 | resource-version for concurrency |
Network Service Descriptor
Inherit from ServiceComponentCatalogItem
ETSI IFA014 (NetworkService) | Confirmed Attributes | Description |
nestedNsdId | References the NSD of a constituent nested NS. | |
sapd | Provides the descriptor of a service access point of the network service. | |
vnffgd | Provides the descriptors of the applicable forwarding graphs. | |
monitoredInfo | Identifies either a virtualised resourcerelated performance metric or a VNF Indicator. | |
autoScalingRule | Specifies a rule to trigger a scaling action on a NS instantiated according to the NSD. | |
lifeCycleManagementScript | Provides a life cycle management script written in a Domain Specific Language (DSL). | |
nsDf | Identifies a DF within the scope of an NSD. | |
security | Provides a signature to prevent tampering. |
WAN Service Descriptor
TBD
ServiceComponentInstance
AAI (ServiceInstance) | ECOMP IM (service component) | ETSI IFA013 (NS) | Comments | Confirmed | Descripion |
service-type | same with the ServiceCatalogItem-Q1 same with the ServiceCatalogItem-Q2 | An optional string field defining a generic type (like category) of the service. E.g. this field can be used for defining the service as “TRANSPORT”. | |||
service-role | An optional string field for shortcode that defines the function that the service is providing. E.g. “MISVPN” or “AIM”. | ||||
environment-Context | same with the ServiceInstance-Q1 | This field will store the environment context assigned to the service-instance | |||
workload-Context | same with the ServiceInstance-Q2 | This field will store the workload context assigned to the service-instance. | |||
model-version-id | same with the ServiceInstance-Q3 | Versioned identifier of the service component model (this uuid is changed for every major version of the service component) | |||
persona-Model-Version | The service version in SDC catalog | ||||
widget-Model-Id | same with the ServiceInstance-Q4 | the ASDC data dictionary widget model. This maps directly to the A&AI widget. | |||
widget-Model-Version | the ASDC data dictionary version of the widget model.This maps directly to the A&AI version of the widget. | ||||
bandwidth-total | same with the ServiceInstance-Q5 | Indicates the total bandwidth to be used for this service. | |||
bandwidth-up-wan1 | indicates the upstream bandwidth this service will use on the WAN1 port of the physical device. | ||||
bandwidth-down-wan1 | indicates the downstream bandwidth this service will use on the WAN1 port of the physical device. | ||||
bandwidth-up-wan2 | indicates the upstream bandwidth this service will use on the WAN2 port of the physical device. | ||||
bandwidth-down-wan2 | indicates the downstream bandwidth this service will use on the WAN2 port of the physical device. | ||||
vhn-portal-url | URL customers will use to access the vHN Portal. | ||||
service-instance-location-id | An identifier that customers assign to the location where this service is being used. | ||||
resource-version | resource-version for concurrenc |
Network Service Instance
Inherit from ServiceComponentInstance
ETSI IFA013 (NS) | Confirmed | Descripion |
flavourId | Reference to the flavour of the NSD used to instantiate this NS. | |
vnffgInfo | Information on the VNFFGs of this NS. | |
sapInfo | Information on the SAPs of this NS. | |
nestedNsInfoId | Reference to information on nested NSs of this NS. | |
nsScaleStatus | Represents for each NS scaling aspect declared in the applicable DF, how "big" the NS instance has been scaled w.r.t. that aspect. | |
additionalAffinityOrAntiAffinityRule | Information on the additional affinity or anti-affinity rule from NS instantiation operation. Shall not conflict with rules already specified in the NSD. |
- ServiceComponent Instance - WAN Service
TBD
ServiceCatalogItem vs ServiceComponentCatalogItem
ServiceInstance vs ServiceComponentInstance
In the current Ecomp IM ONAP Service 2017-11-08.docx, Service and ServiceComponent classes are defined either at run and design time (i.e ServiceComponentDesc/ServiceComponentCatalogItem, ServiceComponentInstance, ServiceInstance, ServiceDesc/ServiceCatalogItem) even if no attribute is defined (to be added).
According to tables above, both SDC and A&AI do not differ Service and ServiceComponent.
Do we need to split a Service as an aggregation of ServiceComponent in the IM? Considering that a Service may be also a composition of Services as well.
NfVirtualLink, LinkPort, VirtualNetwork
InECOMP IM UML documentation: ONAP Resource 2017-11-08.docx and ONAP Service 2017-11-08.docx no class definition about Virtual Link, NSVirtualLInk, LinkPort, VirtualNetwork defined in ETSI IFA.