Re: [netmod] operational knobs
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [netmod] operational knobs
Joel M. Halpern wrote:
> While I do not know what the right answer is for YANG, let's not get too
> distracted by the SNMP answer. The mechanism used for this sort of
> thing by SNMP is a kludge designed to work around the limitaiton where
> the only operations were get and set.
>
Agreed -- but I view the IETF SNMP experience as more than
a distraction. We are theoretically asking IETF WGs to stop
using SMIv2 and start using YANG to design data models.
I think the differences, and guidelines wrt/ those differences, are
relevant to a significant portion of the IETF community.
> Some sort of action semantics would seem the appropriate mecahnism for
> YANG / Netconf rpc.
>
Agreed -- so a config=true leaf like this would be the wrong
YANG construct to use. The description-stmt does not
override the N/Y meaning of config=true for commit/NV-save operations.
BTW, I don't see any real implementation barriers
to allowing actions (==inline rpc-stmt) or events
(-- inline notification-stmt) but everybody
has a different idea how this is supposed to work,
so we should leave it out of 1.0.
> Yours,
> Joel
Andy
>
> Andy Bierman wrote:
>> Hi,
>>
>> (Note: Some or all of these issues may have been raised before.)
>>
>> This is another aspect of YANG database behavior that
>> is very broken. Consider this old MIB design translation:
>>
>> container toaster {
>> ...
>> leaf toasterControl {
>> type enumeration {
>> enum up {
>> value 1;
>> description
>> "Abort toasting (perhaps in the event of
>> an emergency)";
>> }
>> enum down {
>> value 2;
>> description
>> "Begin toasting.";
>> }
>> }
>> // config true;
>> mandatory true;
>> description
>> "This variable controls the current state of
>> the toaster.";
>> }
>> }
>>
>> Will YANG support operational knobs like this? (IMO, no.)
>> Clearly there is no intent to make the value 'sticky',
>> or to save it across reboots. MIBs are full of operational
>> knobs like this 'toasterControl' leaf.
>>
>> One solution that is not optimal is
>> to create ad-hoc RPC verbs for every knob:
>>
>> rpc make-toast { ... }
>>
>> rpc cancel-toast { .. }
>>
>> A better approach is an inline 'action-stmt' extension,
>> replacing the 'toasterControl' leaf with 'make-toast'
>> and 'cancel-toast' actions.
>>
>> This is certainly not a system-created leaf.
>> The dual-leaf (admin/oper status) approach does not apply either,
>> because, in this case, the writable leaf is an operational button,
>> not persistent configuration.
>>
>> How should YANG deal with this sort of leaf?
>>
>>
>> Andy
>>
>>
>>
>>
>> _______________________________________________
>> netmod mailing list
>> netmod at ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod
>>
>
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.