Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is there a requirement for asynchronous systems to provide a blocking config update? #3

Open
rgwilton opened this issue Sep 14, 2015 · 10 comments
Labels

Comments

@rgwilton
Copy link

It wasn't clear to me where the requirement 3 (A) came from. I'm not necessarily opposed to it, only that it doesn't appear to be obviously specified in the openconfig-netmod-opstate draft.

@kwatsen kwatsen added NEW OPEN and removed NEW labels Sep 18, 2015
@kwatsen
Copy link
Contributor

kwatsen commented Sep 23, 2015

There seems to be on list agreement to remove sub-requirements A and B, but there remains an issue regarding if the top-level requirement (3) is still needed, or if it is just another way to describe the need for asynchronous/synchronous systems.

@kwatsen kwatsen added DEAD and removed OPEN labels Oct 15, 2015
@kwatsen
Copy link
Contributor

kwatsen commented Oct 15, 2015

Closing: This issue no longer makes sense, given the new definitions for a/synchronous configuration operations. That is, the definition of a synchronous configuration operation is that the request blocks, whereas that's exactly not the case for an asynchronous configuration operation.

@kwatsen kwatsen closed this as completed Oct 15, 2015
@kwatsen
Copy link
Contributor

kwatsen commented Oct 15, 2015

My bad, closed too early

@kwatsen kwatsen reopened this Oct 15, 2015
@kwatsen kwatsen added VERIFY and removed DEAD labels Oct 15, 2015
@kwatsen
Copy link
Contributor

kwatsen commented Oct 15, 2015

Requirement #3 was discussed on today's call. We agreed to remove the
words "distributed" and "transactional" and to reword it in terms of
"configuration operations". The resulting text follows:

    3.  Support for both synchronous and asynchronous configuration operations (see terms)

       A. A server may only support synchronous configuration operations, or may only support
          asynchronous configuration operations, or may support synchronicity to be client
          specified on a per-operation basis.


       C. Support for synchronous configuration operations requires the server to block
          sending a response to the client until it is able to able to determine whether
          there are any errors in the request or errors from applying the configuration
          change.

       D. Support for asynchronous configuration operations requires the server to send
          a response to the client immediately indicated that the request was accepted
          and send a notification to the client when the intended config is fully 
          effective or there are any errors from applying the configuration change.

       E. Support for asynchronous configuration operations MAY also provide a verify
          operation which a client can request from the server to obtain information
          regarding the difference between the intended and applied configurations.

We have consensus on the above, but wanted to rewrite it relying more on
the terms from the Terminology section, and also potentially merge E into
D.

Anybody want to take a stab at it?

Thanks,
Kent

@kwatsen
Copy link
Contributor

kwatsen commented Oct 19, 2015

just sent email to Rob asking for final draft text

@kwatsen
Copy link
Contributor

kwatsen commented Oct 19, 2015

Moving issue to REVIEW. On list, Kent writes:


OK, it looks like we converged.  Thank you all.
I will use the text below for the draft.

Kent   // with editor hat on  ;)



On 10/19/15, 9:52 AM, "Robert Wilton" <[email protected]> wrote:

Hi Kent, Gert,

For clarity, the text that I had reached for 3 (folding in the comments
so far) is this:

    3.  Support for both synchronous and asynchronous configuration
        operations (see terms)

        A. A server may support only synchronous configuration
           operations, or only asynchronous configuration operations, or
           both synchronous and asynchronous configuration operations on
           a client-specified per-operation basis.

        B. Servers that support asynchronous configuration operations MAY
           also provide a verify operation that a client can request from
           the server to return information regarding the difference
           between the intended and applied configurations.

        C. The configuration protocol MUST specify how configuration
           errors are handled.  Errors may be handled by "stop on error",
           "continue on error" or "rollback on error" semantics (see
           terms).  Support for "rollback on error" SHOULD be provided.


  Extra terms to add the definitions section (based on the definitions
for NETCONF RFC):

           stop-on-error:  The configuration operation is aborted on the
first
             error.

          continue-on-error:  Continue to process configuration data on
             error; error is recorded, and negative response is generated
             if any errors occur.

          rollback-on-error:  If an error condition occurs such that part
             of applying the configuration fails, the server will stop
             processing the configuration operation and restore the
             specified configuration to its complete state at the start
             of this configuration operation.


Gert has provided some definitions that are closer to Kent's original
text, how do we resolve?

Thanks,
Rob

@kwatsen kwatsen added REVIEW and removed VERIFY labels Oct 19, 2015
@ggrammel
Copy link

OK with above but missing point D (now merged with E)

D. Support for asynchronous configuration operations requires the server to send
a response to the client immediately indicated that the request was accepted
and send a notification to the client when the intended config is fully
effective or there are any errors from applying the configuration change. Additionally
the server MAY also provide a verify operation which a client can request from the server
to obtain information regarding the difference between the intended and applied configurations.

@rgwilton
Copy link
Author

The first part of D is no longer necessary - it is implicit by the definition of "asynchronous config operation". The second part of D (the old E) is defined as the new B above.

@ggrammel
Copy link

too many places to look at:
part D: ack, definition covers it
part E: ack covered by B as above

@kwatsen kwatsen added DONE and removed REVIEW labels Dec 15, 2015
@kwatsen
Copy link
Contributor

kwatsen commented Dec 15, 2015

New 3 and Terms accepted in -00 draft (moving to DONE)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants