Logo etsi

ETSI's Bug Tracker

Notice: information submitted on the ETSI issue Tracker may be incorporated in ETSI publication(s) and therefore subject to the ETSI IPR policy.

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008208SOL003 - Or-Vnfm protocols spec[NFV Specifications] Feature Gappublic22-05-2023 15:1013-07-2023 06:38
ReporterSujeet Banerjee 
Assigned To 
Prioritynormal 
StatusconfirmedResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary0008208: [4.4.1] [Clause 5.5.3.24] McioInfo makes "vduId" mandatory; however, not all MCIOs may be mappable to a VNFC
Description[ Table 5.5.3.24-1 ]

The attribute "vduId" of type "McioInfo" is defined as cardinality 1; there by making it mandatory for the VNFM to associate every MCIO with a VNFC.

However, practically, the VNFM may not be able to associate all MCIO discovered or found using the CISM APIs/events. There could be cases where,

1. A CISM (or kubernetes) may host more MCIOs created using tools outside the control of MANO/VNFM etc. While the VNFM discovers those (as examples shown in SOL018), the former may not be able to map a VDU based on any attribute. Thus, the VNFM cannot associate a "vduId" for the discovered MCIO.
2. A VNF vendor may have made human errors; thereby missing to declare the OSContainerDeployableUnits (or VDUs) for each and every kind declared in the MCIOP (helm-chart). This is not unexpected, in cases where, say, a vendor may outsource the "helm-chart" development to another third-party and different teams may miss some declarations (due to lack of expertise or communication, or otherwise).

In any of the above scenarios, the VNFM will fail to model the "MCIOInfo" because such an object will require the mandatory field "vduId".

Recommendation: The SOL003 specification should allow the presence of 'vduId' attribute of an McioInfo to be conditional.
Additional InformationBy the way, if VNFM is unable to respond with a (or more) discovered MCIOs (because there was no associated vduId found), this would be a loss of information to the API consumer (NFVO, EM, etc.) because the former will never be aware of the existence of such an _unmapped_ MCIO.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0016484)
Yinan Liu (developer)
07-06-2023 10:33

SOL#248-NFV#42 handled this issue discussion and the notes are as below. Open for further discussion.
"Arturo: don’t fully agree with the issue. The first case described imply that things are created in k8s outside MANO, and therefore outside the VNF. The second case refers to an inconsistency between the VNFD and the Helm chart. This would invalidate the Grant procedure.
It is questionable if they should be reported as part of the VnfInfo.
Needs more discussion."
(0016491)
Sujeet Banerjee (reporter)
12-06-2023 11:55
edited on: 03-07-2023 09:58

Due to practical limitations, the Grant procedure may not be equipped to calculate all the MCIOs a "Helm Chart" (or MCIOP) can potentially generate, for the given container-namespace. This is unlike the case where a VNFC is realized using a VM. In case of containers, it's a group of MCIOs and the names may be specified in the helm-charts as patterns, say based on the runtime "helm release name". While the mcio_identification_data info records only the STATIC names and types in the VNFD - the grant process cannot in any way determine/predict the runtime names of the MCIOs that would happen only when they get instantiated on CIS (Kubernetes Node).


All told, there would always be a likelihood that:
1. Some OSContainerDUs may be undeclared (due to human errors), and the grant may not be aware - given the helm-templating allows definitions that could be behind a control statement (if-else etc..) which will depend on runtime behavior of the application/function.
2. The mcio_identification_data-->name could not be specified in the VNFD (because the names cannot simply be pre-defined unless actually deployed). In this case, a user even if aware, would be helpless.

(0016495)
martindenico (developer)
06-07-2023 08:46

Can you explain your point 2, why some mcio_identification_data->names cannot be specified in the VDU and cannot be known until actually deployed?

Note that with mcios here we are talking about the k8s object that corresponds to a VDU, which may be either a deployment, a statefulSet or a daemonSet. As far as I see, for all of them you can (and you actually do) specify the name in the k8s manifest. It is a design decision, and therefore can be also reflected in the VNFD
mcio_identification_data.name property.

The only case I can think is mcios that are created by custom resources that are delivered as part of a CNF. For those we have currently a gap as we don't have a representation in the VNFD.
(0016496)
Sujeet Banerjee (reporter)
13-07-2023 06:37
edited on: 13-07-2023 06:38

About 1,
Not just CRs, the declarative K8S intents of any K8s 'kind' can be specified as within helm "Control Flow" declaration - and the behavior would be driven by the states and variable values bound at runtime.
Reference: https://helm.sh/docs/chart_template_guide/control_structures/ [^]


About 2,
The helm chart which declares in K8S intents may use Helm-builtin functions or idioms in any part of the declarative spec, metadata, or attributes, e.g.:

   metadata:
      name: {{ .Release.Name }}

Reference: https://helm.sh/docs/chart_template_guide/builtin_objects/ [^] and related pages on the website.


----

If you take some realistic examples of helm charts, it will use built-ins, functions, dynamic-placeholders (variables), etc...

One example of a "Deployment" helm template: https://github.com/bitnami/charts/blob/main/bitnami/harbor/templates/core/core-dpl.yaml [^]


- Issue History
Date Modified Username Field Change
22-05-2023 15:10 Sujeet Banerjee New Issue
07-06-2023 10:33 Yinan Liu Note Added: 0016484
07-06-2023 10:33 Yinan Liu Status new => confirmed
07-06-2023 10:33 Yinan Liu Additional Information Updated View Revisions
12-06-2023 11:55 Sujeet Banerjee Note Added: 0016491
03-07-2023 09:57 Sujeet Banerjee Note Edited: 0016491 View Revisions
03-07-2023 09:58 Sujeet Banerjee Note Edited: 0016491 View Revisions
06-07-2023 08:46 martindenico Note Added: 0016495
13-07-2023 06:37 Sujeet Banerjee Note Added: 0016496
13-07-2023 06:38 Sujeet Banerjee Note Edited: 0016496 View Revisions


MantisBT 1.2.14 [^]
Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker