OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

tosca message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: Capability assignments in node template


Comments inline

 

From: Calin Curescu [mailto:calin.curescu@ericsson.com]
Sent: Tuesday, September 04, 2018 7:32 AM
To: Chris Lauwers; Arturo Martin De Nicolas; Lishitao; claude.noshpitz@att.com; Matt Rutkowski; Priya T G; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com); KATZMAN, ANATOLY; Steve Baillargeon
Subject: Re: Capability assignments in node template

 

I think the ârefinement rulesâ we are adopting will cover Arturoâs concerns (i.e. only refined types will do).

 

Chris, regarding the two cases below, I realized that was what made me confused with assignments in the first place. Can we play with âoccurencesâ keyword in the assignment? Or is each assignment for one and only one occurrence? See example below:

 

my_compute

  type: tosca.node.Compute

  â

  requirements:

    - local_storage: my_storage_A

    - local_storage:

   node_filter:

       properties:

       â

capabilities:

â

          occurrences: [0,2]

    - local_storage: my_storage_B

    - local_storage:

   node_filter:

       properties:

       â

capabilities:

â,

    - local_storage: my_storage_C

 

So:

         Is the above allowed or are the âspecific assignmentâ and âdangling requirementâ mutually exclusive?

Yes, in my opinion. In a nod template, a requirement is either:

-          A requirement assignment

-          Or a refinement of the requirement definition in the node type (with optionally also a node filter specified)

         Obviously, âspecific assignmentâ can be used only for one occurrence, but can we use the âdangling requirementâ to cover several occurrences?

That is a good question. Technically, the answer is yes but this brings up the question youâve raised before: why would the orchestrator use anything more than the minimum of the range?

         Now, can we specify a range of âdangling requirementsâ?

Not sure what you mean by this. How would this be different from a dangling requirement with its own range (i.e. occurrences)?

         If so, and we want to later use the get_property function through this node and this requirement, how will I know to access the requirement that has been assigned to âmy_storage_Bâ. What I want to say:

o    if the previous âdangling requirementâ resolves to two relationships then my_storage_B will be mapped to the 4th occurrence of local_storage,

o    if the previous âdangling requirementâ resolves to zero relationships then my_storage_B will be mapped to the 2nd occurrence of local_storage

This makes it impossible to access the right requirement through the get_property function since the index of the occurrences will be fixed only after the instance model has been set up, and relationships resolved and not during template parsing.

Yes, this problem is similar to the substitution mapping problem weâve talked about before. This problem would also exists if we allow multiple nodes to be instantiated from the same node template (a use case weâve also talked about before).

Given this, I would specifically disallow using the âoccurrencesâ keyword in the assignment of the requirements. Now, I am not even sure that the occurrences keyword was supposed to be used in the requirements assignments. They do not appear in the keynames definition in section 3.8.2.1 but appear in the example of section 3.8.2.2.2. I thought the former was an oversight but not sure anymore.

At the very least, we should make the spec consistent

Given the above then each list entry should only specify one occurrence.

Are you suggesting that is multiple occurrences need to be specified in a node template, this would be done by creating a list of requirements that all have the same name, even when each of these requirements are dangling?

But then this will amount to:

         fixing the amount of occurrences in the assignment by the length of the list (even if the range is unbounded in the requirement definition)

         if no assignments are given in the list, we have 0 (zero) occurrences specified.

 

BR,

/Calin

 

Chris

 

 

From: Chris Lauwers <lauwers@ubicity.com>
Date: Monday, 3 September 2018 at 05:20
To: Arturo Martin De Nicolas <arturo.martin
-de-nicolas@ericsson.com>, Calin Curescu <calin.curescu@ericsson.com>, Lishitao <lishitao@huawei.com>, "claude.noshpitz@att.com" <claude.noshpitz@att.com>, Matt Rutkowski <mrutkows@us.ibm.com>, Priya T G <priya.g@netcracker.com>, "Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com)" <thinh.nguyenphu@nokia.com>, "KATZMAN, ANATOLY" <ak435s@intl.att.com>, Steve Baillargeon <steve.baillargeon@ericsson.com>, Chris Lauwers <lauwers@ubicity.com>
Subject: RE: Capability assignments in node template

 

With respect to requirement assignments:

 

There are really two completely different use cases for requirement assignments:

 

  1. The first use case is the straightforward one, where the requirement assignment specifies the specific capability (and the node template that contains that capability) that fulfills the requirement. The requirement assignment typically also specifies the relationship template (either in-line or by reference) that is used to âcreateâ the relationship (where that relationship template can contain properties).
  2. The second use case is the âdangling requirementâ use case. In this scenario, the requirement assignment doesnât specify how the requirement is fulfilled, but rather it further narrows (using node filters) the set of capabilities (and containing nodes) that can be used to fulfill the requirement. Presumably, the orchestrator will use the node filter to construct a query to retrieve candidate capabilities (and nodes) from its inventory. This is the scenario where the requirement assignment can âchangeâ the node type, capability type, and relationship type that were specified in the requirement definition (in the node type), AS LONG AS THOSE TYPES ARE DERIVED FROM THE CORRESPONDING TYPES SPECIFIED IN THE REQUIREMENT DEFINITION. This ârefinementâ scenario is similar to the refinement scenario for data types that we have been discussing over the last two weeks.

 

Please let me know if any of this is not clear.

 

Thanks,

 

Chris

 

From: Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>
Sent: Monday, August 13, 2018 8:34 AM
To: Calin Curescu <calin.curescu@ericsson.com>; Chris Lauwers <lauwers@ubicity.com>; Lishitao <lishitao@huawei.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
Subject: RE: Capability assignments in node template

 

Hi all,

 

For the capability assignment, I am in favour of introducing the support of the occurrences keyname in the node template.

 

This would still leave us with the question what to do in SOL001, which is based on TOSCA YAML 1.2. We could make here also an exception and allow the use of occurrences already.

 

For the issue  about the requirement assignment that Calin has spotted and is well brought up here, I donât know what was the original intention to allow indicating capability type, node type and relationship type in the requirement assignment (I do understand capability definition, node template and relationship template) but I guess it was not to allow to change these with respect to what is specified in the requirement definition in the node type definition. As Calin said, this would change the requirement. Was the intention to allow them in case node type or relationship type were not defined in the requirement definition?

 

I am also in favour to clarify that the requirement assignment should not indicate a capability, node or relationship type different with those indicated in the requirement definition, if any.

 

Best regards,

Arturo

 

 

From: Calin Curescu
Sent: Friday, August 10, 2018 1:26 PM
To: Chris Lauwers <lauwers@ubicity.com>; Lishitao <lishitao@huawei.com>; Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
Subject: Re: Capability assignments in node template

 

Hi,

 

Actually there is a larger set of inconsistencies here. I will try to unravel it.

 

If we look at the node type definition (section 3.7.9) , one can specify a map of âcapability definitionsâ and ârequirement definitionsâ. If we look at the node template definition (section 3.8.3), one can specify a map of âcapability assignmentsâ and ârequirement assignmentsâ.

 

Nevertheless if we look at the capabilities definitions (section 3.7.2) and requirements definition (section 3.7.3) both state (in the first paragraph) that they can be used in node types and in node templates.

        At least for capabilities, it would be wrong to have definitions in the node template since they contain property definitions, which cannot appear in a node template, (I have not seen that in any example, that a node template can introduce a property (definition or assignment) that is not previously defined in its node type).

        We could allow for requirements definitions in the node template (as requirements do not have properties or attributes) but this would be asymmetric to capability definitions.

 

Moreover, if we look at requirements assignments (section 3.8.2) that are specified in the node template, we see that at assignment time we can override any keynames already specified in the requirements definition (in the node type). So basically I can change the node type, the required capability, etc. The question is then: is the node template where we do this still of the same type since its requirements are soo different from what is defined in its Node Type?

 

Now as per Chris suggestion in the previous mail, if we constraint the capability assignment to be within the limits of the capability definition, should we not do the same thing for requirements?

 

BR,

/Calin

 

 

From: Chris Lauwers <lauwers@ubicity.com>
Date: Friday, 10 August 2018 at 05:35
To: Lishitao <lishitao@huawei.com>, Calin Curescu <calin.curescu@ericsson.com>, Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>, "claude.noshpitz@att.com" <claude.noshpitz@att.com>, Matt Rutkowski <mrutkows@us.ibm.com>, Priya T G <priya.g@netcracker.com>, "Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com)" <thinh.nguyenphu@nokia.com>, "KATZMAN, ANATOLY" <ak435s@intl.att.com>, Steve Baillargeon <steve.baillargeon@ericsson.com>
Cc: Chris Lauwers <lauwers@ubicity.com>
Subject: RE: Capability assignments in node template

 

Of course, to be valid the range specified in the âoccurrencesâ keyname in a capability assignment must fall within the range specified in the âoccurrencesâ keyname in the corresponding capability type.

 

Chris

 

From: Chris Lauwers
Sent: Thursday, August 09, 2018 8:22 PM
To: Lishitao <lishitao@huawei.com>; Calin Curescu <calin.curescu@ericsson.com>; Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
Cc: Chris Lauwers <lauwers@ubicity.com>
Subject: RE: Capability assignments in node template

 

Yes. My apologies Arturo, I spoke too soon. I had incorrectly assumed that capability assignments support the âoccurrencesâ keyname. This is another inconsistency in the spec, since requirement assignments do support this keyname (see Section 3.8.2.2.2).

 

Unless anyone objects, weâll fix this in the next revision of the 1.3 spec.

 

Chris

 

 

From: Lishitao <lishitao@huawei.com>
Sent: Thursday, August 09, 2018 8:14 PM
To: Calin Curescu <calin.curescu@ericsson.com>; Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>; Chris Lauwers <lauwers@ubicity.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
Subject:
çå: Capability assignments in node template

 

Hi Arturo and Calin

 

I see your point. I agree that the occurrence should be changeable in the node template level.

 

Regards

shitao

 

åää: Calin Curescu [mailto:calin.curescu@ericsson.com]
åéæé: 2018å8æ9æ 23:26
æää: Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>; Lishitao <lishitao@huawei.com>; Chris Lauwers <lauwers@ubicity.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
äé: Re: Capability assignments in node template

 

Hi Arturo,

 

You bring up a relevant problem: âHow can one specify at template specification time the number of occurrences of a particular capability of a certain capability type ?â. Right now, the occurrences can be specified at Capability Type creation time, but cannot be changed during capability assignment in the node template (i.e. they are a type characteristic).

 

This is also asymmetrical to the ârequirementsâ since requirements can be directly defined in the node template (the Requirement Types, are not used), thus the occurrences for requirements can be specified in the node template definition.

 

Moreover, if we look at the Interface definition in the types and templates, the TOSCA specifies that the section 3.8.3.2. that interface_definitions can augment, those provided by the ones declared when defining the node type, i.e. we can add or change Interfaces or operations.

 

Thus I propose to allow capability_definition augmentation in the node template, where besides assigning properties and attributes we can change the occurences of a             capability.

 

â

 

This is also part of a larger discussion of type and type changing. Do we consider the capability where we changed the occurences value of being of the same type, or being of an âanonymousâ type that extends from the original type? The same is valid when overriding the predefined node types as exemplified in section 2.3.

 

BR,

/calin

 

 

 

From: Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>
Date: Thursday, 9 August 2018 at 09:32
To: Lishitao <lishitao@huawei.com>, Chris Lauwers <lauwers@ubicity.com>, Calin Curescu <calin.curescu@ericsson.com>, "claude.noshpitz@att.com" <claude.noshpitz@att.com>, Matt Rutkowski <mrutkows@us.ibm.com>, Priya T G <priya.g@netcracker.com>, "Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com)" <thinh.nguyenphu@nokia.com>, "KATZMAN, ANATOLY" <ak435s@intl.att.com>, Steve Baillargeon <steve.baillargeon@ericsson.com>
Subject: RE: Capability assignments in node template

 

Hi Shitao,

 

where would you set the occurrences [1,2] ?

 

Arturo

 

 

From: Lishitao <lishitao@huawei.com>
Sent: Thursday, August 09, 2018 9:31 AM
To: Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>; Chris Lauwers <lauwers@ubicity.com>; Calin Curescu <calin.curescu@ericsson.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
Subject:
çå: Capability assignments in node template

 

Hi Arturo

 

What is your issue here? From my understanding, if the expected number of VduCp connected to a Vdu.Compute is 2 for example, the occurrences should set to [1:2].

Regards

shitao

 

 

åää: Arturo Martin De Nicolas [mailto:arturo.martin-de-nicolas@ericsson.com]
åéæé: 2018å8æ9æ 15:03
æää: Chris Lauwers <lauwers@ubicity.com>; Calin Curescu <calin.curescu@ericsson.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Lishitao <lishitao@huawei.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
äé: RE: Capability assignments in node template

 

Hi Chris,

 

As I read the grammar, a node template includes capability assignments. A capability assignment does not support the âocurrencesâ keyname.

 

A node type definition includes capability definitions. A capability definition supports the âocurrencesâ keyname.

 

SOL001 Vdu.Compute node type definition is generic. It has

 

ocurrences: [1, UNBOUNDED]

 

in the virtual_binding capability

 

but then each node implementation may support a certain number of VduCps, i.e. I would like to be able in a node template to indicate how many virtual_bindings I can support.

 

Best regards,

Arturo

 

 

From: Chris Lauwers <lauwers@ubicity.com>
Sent: Wednesday, August 08, 2018 6:35 PM
To: Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>; Calin Curescu <calin.curescu@ericsson.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Lishitao <lishitao@huawei.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
Cc: Chris Lauwers <lauwers@ubicity.com>
Subject: RE: Capability assignments in node template

 

ocurrences: [ 0, 2]

 

Chris

 

From: Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>
Sent: Wednesday, August 08, 2018 9:16 AM
To: Chris Lauwers <lauwers@ubicity.com>; Calin Curescu <calin.curescu@ericsson.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Lishitao <lishitao@huawei.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
Subject: RE: Capability assignments in node template

 

Hi Chris,

 

Ok, so how do I express in my node template definition that my virtual_binding capability can be target of 2 requirements (not more)?

 

Regards,

Arturo

 

 

From: Chris Lauwers <lauwers@ubicity.com>
Sent: Wednesday, August 08, 2018 6:04 PM
To: Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>; Calin Curescu <calin.curescu@ericsson.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Lishitao <lishitao@huawei.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
Cc: Chris Lauwers <lauwers@ubicity.com>
Subject: RE: Capability assignments in node template

 

Hi Arturo,

 

The âoccurrencesâ keyname here doesnât mean that there can be multiple instances of the capability. Instead, it means that the capability can be the (shared) target for multiple requirements, meaning it can terminate multiple relationships. Even when a capability terminates multiple relationships, there is still only one single capability.

 

Chris

 

From: Arturo Martin De Nicolas <arturo.martin-de-nicolas@ericsson.com>
Sent: Wednesday, August 08, 2018 2:40 AM
To: Chris Lauwers <lauwers@ubicity.com>; Calin Curescu <calin.curescu@ericsson.com>; claude.noshpitz@att.com; Matt Rutkowski <mrutkows@us.ibm.com>; Lishitao <lishitao@huawei.com>; Priya T G <priya.g@netcracker.com>; Nguyenphu, Thinh (Nokia - US/Irving) (thinh.nguyenphu@nokia.com) <thinh.nguyenphu@nokia.com>; KATZMAN, ANATOLY <ak435s@intl.att.com>; Steve Baillargeon <steve.baillargeon@ericsson.com>
Subject: Capability assignments in node template

 

Hi,

 

Yesterday we clarified in the TOSCA YAML call that many of the assignments lists in the node template definition should be encoded as maps, for example, the capability_assignments.

 

So how do we do when we have a node template definition with a capability with occurrences > 1 ?

 

For example, in SOL001 the Vdu.Compute node type definition has the capability virtual_binding with occurrences: [ 1, UNBOUNDED ].

 

I want to define a node template of this type with two occurrences of the virtual_binding capability, because it has two VduCps. If capability assignments is a map, I cannot say:

 

capabilities:

   virtual_binding

   virtual_binding

 

 

Thoughts?

 

Thanks.

Arturo

 

 

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]