20171213 ONAP R2+ Service IM Discussion Page

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
(service model+model-ver)

ECOMP IM
(ServiceCatalogItem)

Comments

Confirmed

Description

type





ServiceCatalogItem-Q1: what‘s the difference of type and serviceType or category?’ 
Category - A predefined list which identifies the construct's category. There is a predefined list of service categories and resource categories.

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. 
See another note from Chesla at the top.



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



@James 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-Q8Please 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-Q11It is an document from vendor. Should it be managed in the ONAP?



Obtain from vendor





Features 

@@Andy Mayer ServiceCatalogItem-Q11It 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-Q11It 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-Q11It 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



@@James 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



@@James 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



@@James 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



@@James 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



@@James Forsyth What's "vhn-portal-url"?



URL customers will use to access the vHN Portal.

service-instance-location-id



@@James 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



@@James 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.