Use of TOSCA for ETSI NFV Sol work item

Use of TOSCA for ETSI NFV Sol work item #1
The current issue
The Deliverable of the OASIS TOSCA NFV Profile is Slightly Different Than the
Deliverable for ETSI NFV Sol work item #1.
The actual difference in deliverables can be summed up by stating the scope of the ETSI NFV Sol work
item and comparing it to the introduction in section 5.1 of the current draft of the TOSCA NFV Profile.
Here is the current text of ETSI NFV SOL Work Item #1:
The scope of this work item is to develop a data model specification for NFV
descriptors fulfilling the requirements specified in GS NFV IFA 011 and NFV GS NFV
IFA 014. The specification will be based on the Simple TOSCA profile specification
Scope and Field
for NFV with possible changes. The deliverable will contain normative provisions and
of Application
an informative mapping between the terminology used in the Simple TOSCA Profile
for NFV specification and the terminology used in GS NFV IFA 011 and 014.
The important point here is that the work item is focused on developing a data model specification. This
make perfect sense since the VNFD in IFA011 and the NSD in IFA014 are specified as UML data
models.
Here is the introductory text in section 5.1 of the current draft of the TOSCA NFV Profile:
A NFV descriptor (VNFD or NSD) is modelled by using a TOSCA service template
as defined in TOSCA-Simple-Profile-NFV-v1.0 [3].
TOSCA-Simple-Profile-NFV-v1.0 does not explicitly define what a TOSCA Service template is but has a
normative reference to the TOSCA Simple Profile in Yaml which does explicitly define what a TOSCA
Service Template is. The TOSCA Simple Profile in Yaml defines the contents of a Service Template in
section 3.9. So the statement above is indirectly referencing the definition of a Service Template as
specified in section 3.9 of the TOSCA Simple Profile for Yaml.
How the goals / deliverables of the TOSCA NFV Profile and ETSI NFV Sol work item #1
are different
The OASIS TOSCA NFV Profile will define Service Templates that are consistent with the TOSCA
Simple Profile in Yaml. However, there is a problem when trying to use the full definition of the Service
Template as specified in the TOSCA Simple Profile for Yaml to meet the scope of ETSI NFV SOL Work
Item #1. The problem is that a TOSCA Service Template is much more than a data model. This is because
the TOSCA Simple Profile defines constructs for defining data models and also defines primitives for an
execution environment. The primitive supported in the TOSCA execution environment are specified in
section 4 of the TOSCA Simple Profile. Examples of execution environment primitives include
embedded TOSCA functions such as get_input. Environment variables such as those defined in section
4.1 (e.g. SELF, SOURCE, TARGET, HOST) are also part of the TOSCA execution environment.
The execution environment primitives in a TOSCA Service Template are definitely outside the scope of
what is needed for the deliverable of SOL Work Item #1. In fact, the execution environment primitives in
a TOSCA Service Template overlap with the API functionality defined in IFA 007 and IFA008. These
API specifications include parameters which are used in conjunction with the data model defined in
IFA011. A single TOSCA Service Template which includes input parameters and the get_input primitive
can be used to implement the combination of the API functionality defined in IFA 007 and IFA008 along
with the data model in IFA011. This model is different the model chosen in IFA011, IFA007, and IFA008
which separate the data model from API / execution environment.
In addition, including TOSCA execution environment primitives as part of the deliverable for SOL #1
will make it very difficult to translate between TOSCA descriptors for NFV and other data modelling
standards such as Yang. The Yang specification explicitly decided to separate the data modelling
language from the execution environment. This is the same choice that was made in IFA011, IFA014,
IFA007, and IFA008.
Because of the above reasons, the TOSCA deliverable for ETSI SOL #1 should only include the TOSCA
Data Model and not the execution environment. Also note that the data models in IFA011 / IFA014 do
not include enough data to actually deploy a VNF and / or a Network Service. This is because part of the
information required to deploy a VNF and / or a Network Service comes from the APIs defined in
IFA007 / IFA008. Because of this, the TOSCA based data model specified in ETSI SOL deliverable will
also not include enough information to deploy a VNF and / or a Network Service.
It is not clear whether we should even refer to the data model defined in the ETSI NFV Sol #1 deliverable
as a TOSCA Service Template since it by itself will not provide enough information to actually deploy a
VNF and / or a Network Service. It may make sense to call the TOSCA based data model for the ETSI
NFV Sol #1 deliverable something other than a TOSCA Service Template.
The TOSCA Simple Profile currently does not cleanly separate the execution environment from the data
model parts of a TOSCA Service Template. For example, TOSCA execution environment primitives are
used in many examples throughout the TOSCA Simple Profile spec.
Potential Solutions
1. Force the OASIS TOSCA NFV Profile deliverable to be the same as the ETSI SOL Work
Item #1 deliverable
To accomplish this requirement, it would be necessary to constrain the OASIS TOSCA NFV
Profile to allow only the data model parts of a TOSCA Service Template to be included in a
TOSCA Service Template that meets the requirements of this profile.
Benefit – A single deliverable for both OASIS TOSCA and ETSI NFV Sol
Drawback – The OASIS TOSCA NFV Profile would define Service Templates differently than
the TOSCA Simple Profile for Yaml.
2. Define the ETSI SOL Work Item #1 deliverable to be a subset of the OASIS TOSCA NFV
Profile
The deliverable for ETSI Sol Work Item #1 would be just a TOSCA based data model. This data
model should match the data models defined in the OASIS TOSCA NFV Profile. This data model
should also be consistent with the ETSI NFV IFA011 / IFA014 specifications since the data
model defined in OASIS TOSCA NFV Profile will be consistent with the ETSI NFV IFA011 /
IFA014 specifications. However, the TOSCA deliverable for ETSI Sol Work Item #1 will NOT
include any TOSCA execution environment primitives.
Benefit – The OASIS TOSCA NFV Profile would define Service Templates identically to the
TOSCA Simple Profile for Yaml.
Potential Drawback – The deliverable for ETSI NFV Sol will be a subset of the OASIS TOSCA
NFV Profile