I think that it was in the discussion of priorities later on, where all configuration in <intended> is effectively assigned a single priority by I2RS so that it can be compared with any incoming I2RS config events.

If the incoming I2RS config is higher priority then any other I2RS config, and it is higher than the intended config priority then it effectively overwrites the current configuration. If I2RS config is displaced then the appropriate I2RS client is notified that their config has been removed, so that they an take action if required.

But if the incoming I2RS config is lower then either intended or other I2RS config then the config operation fails and is rejected.

IIRC (from previous discussions), incoming intended configuration will always overwrite any conflicting I2RS configuration (regardless of priority), with the I2RS client notified that the config has been removed.

All of this should be explained in whichever I2RS draft defines their I2RS specific dynamic datastore.

I don't think that we can anything about this in the revised datatstores draft because I don't think that the config resolution between dynamic and intended is necessarily always the same - the behaviour depends on the specific definition of the dynamic datastore. All the datastores draft can state is that when a dynamic datastore is defined it should also define how the config merges in, which is covered by appendix section A.3 of the draft.

Thanks,
Rob


On 19/07/2017 00:10, Sterne, Jason (Nokia - CA/Ottawa) wrote:

Thx for the quick thoughts Rob.

I2RS has defined that a ‘set’ would fail within the dynamic DS but they didn’t really consider/specify that a ‘set’ to the dynamic DS could actually fail due to the existence of something in the conventional DSes. I suppose a custom DS (like the i2rs ephemeral) can in theory define whatever behavior they want but it may be odd that something written to the dynamic DS fails when there isn’t something higher prio in the dynamic DS itself.

But someone can sort that out if they ever propose a model that is supported both in a dynamic DS and in a conventional DS (assuming we don’t want to propose guidelines for that behavior in the revised DS draft).

Rgds,

Jason

*From:*Robert Wilton [mailto:[email protected]]
*Sent:* Tuesday, July 18, 2017 23:11
*To:* Sterne, Jason (Nokia - CA/Ottawa) <[email protected]>; [email protected] *Subject:* Re: [netmod] revised-datastores-03: duplicate list entry from conventional + dynamic

Hi Jason,

Some thoughts inline ...

On 18/07/2017 22:46, Sterne, Jason (Nokia - CA/Ottawa) wrote:

    Hi all,

    The discussions about dynamic datastores in I2RS today made me
    wonder about a scenario: What if a data model is supported in both
    conventional datastores and in a dynamic datastore (as well as
    being readable from the operational datastore), and the same list
    entry (e.g. interface abc, but with some different parms in the
    dynamic entry vs the config entry) has been created in both the
    running and the dynamic DS.

    Only one of them can appear when reading the operational DS.

Yes.


    I presume that it is up to the specification document of the
    dynamic DS to define the collision resolution between dynamic &
    conventional.

Yes.


    But based on the revised DS draft I believe it would be necessary
    for the system to keep/store both copies of ‘interface abc’ so
    that a <get-data> with source=dynamic would return the dynamic
    version of interface abc while a <get-config> (or <get-data>) with
    source=running would return the conventional version of interface
    abc.  Do I have that correct ?

Definitely yes for running. For dynamic, it would depend on the definition of the specific dynamic datastore, but likely yes.


    I think that also implies that removing one of the copies could
    cause the ‘re-installation’ of the other (down to the app layer).

This would also depend on the definition of the specific dynamic datastore.

Most likely, if the dynamic entry is removed, then the conventional configured value should be re-instated. However, I don't think that the reverse is necessarily true. E.g. in the dynamic datastore is I2RS then the initial config event would have failed if it was lower priority that conventional.


    This concept of storing multiple copies and re-installation is
    something I2RS wants to avoid.

This is perhaps more related to multiple I2RS clients rather than between I2RS and the conventional datastores.


      But since they have declared that their scope only includes the
    use of their models in the dynamic (ephemeral) DS, they won’t have
    that behavior.

    Rgds,

    Jason


Thanks,
Rob





    _______________________________________________

    netmod mailing list

    [email protected] <mailto:[email protected]>

    https://www.ietf.org/mailman/listinfo/netmod


_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to