> On 05 Apr 2016, at 16:32, Martin Bjorklund <m...@tail-f.com> wrote:
> 
> Ladislav Lhotka <lho...@nic.cz> wrote:
>> 
>>> On 05 Apr 2016, at 11:09, Martin Bjorklund <m...@tail-f.com> wrote:
>>> 
>>> Andy Bierman <a...@yumaworks.com> wrote:
>>>> On Mon, Apr 4, 2016 at 1:08 PM, Ladislav Lhotka <lho...@nic.cz> wrote:
>>>> 
>>>>> 
>>>>>> On 04 Apr 2016, at 16:15, Andy Bierman <a...@yumaworks.com> wrote:
>>>>>> 
>>>>>> 
>>>>>> On Mon, Apr 4, 2016 at 12:01 PM, Ladislav Lhotka <lho...@nic.cz> wrote:
>>>>>> 
>>>>>>> On 04 Apr 2016, at 15:57, Andy Bierman <a...@yumaworks.com> wrote:
>>>>>>> 
>>>>>>> Hi,
>>>>>>> 
>>>>>>> I do not see any reason to prohibit this use of action-stmt
>>>>>>> or notification-stmt.  If the list has no keys then there is
>>>>>>> no need to distinguish instances because the data model defines
>>>>>>> no such semantics.
>>>>>> 
>>>>>> If such a keyless list has multiple entries, how can an action request
>>>>> specify which of the list entries it is tied to?
>>>>>> 
>>>>>> it must be be relevant to distinguish instances or else the designer
>>>>>> would have defined a key.
>>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>> What breaks if this is allowed?
>>>>>> 
>>>>>> The behaviour is undefined.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> IMO lists without keys are a really bad idea.
>>>>>> But the semantics are fully defined according to YANG.
>>>>>> If the list has no keys then there is no instance information
>>>>>> relevant to the data model.  The action or notification is passed
>>>>>> all the keys (happens to be zero in this case).
>>>>> 
>>>>> To my understanding, each action request has to specify the unique
>>>>> instance that's the "receiver" of the action. If this cannot be done, it 
>>>>> is
>>>>> IMO a problem in the spec.
>>>>> 
>>>>> An alternative implementation of actions would be to use instance
>>>>> identifiers instead of an explicit data hierarchy, and in this case it
>>>>> would be possible to use indices for identifying entries. But the 
>>>>> hierarchy
>>>>> provides no such option.
>>>>> 
>>>>> It's not a big issue, but there is already a couple of rules regarding
>>>>> where actions can and cannot be defined, so this would be another one
>>>>> intended to avoid potential ambiguity.
>>>>> 
>>>>> 
>>>> I agree actions were not considered when keyless lists were allowed in 
>>>> YANG.
>>>> There was an assumption that this data is always read-only that is no
>>>> longer true in YANG 1.1.
>>>> 
>>>> I certainly prefer adding a restriction than redoing the way actions work.
>>>> Using /foo[5] does not work because entry "5" might move or get deleted,
>>>> so the numbering is not stable.
>>> 
>>> How about:
>>> 
>>> An action MUST NOT have any ancestor node that is a list node without
>>> a "key" statement.
>> 
>> 
>> Or rather:
>> 
>> An action MUST NOT be defined for a node that is a list without a
>> "key" statement, or has a list node without a "key" statement as its
>> ancestor.
> 
> I don't see the difference.  Even in:
> 
>   list foo {
>     action bar { ... }
>   }
> 
> "foo" is an ancestor to "bar".

Provided "action" is a schema node which it doesn't seem to be:

action: An operation defined for a node in the data tree.

Lada

> 
> 
> /martin

--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C




_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to