[Netconf] idea for new commit operation
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Netconf] idea for new commit operation
Hi,
A :new-commit capability can add output parameters, not just
input parameters. It can persist across sessions, and
fix the broken parts of confirmed-commit.1.0. It can support
the verified commit procedure defined in a separate document.
E.g.:
feature new-commit {
if-feature confirmed-commit;
description
"Supports the new confirmed commit procedure and the
verified commit procedure.";
}
typedef commit-id-type {
description
"Contains the agent-assigned identifier for this commit request.
This value is returned by a new <commit> operation, and
must be used with the subsequent <complete-commit> or <cancel-commit>
operations, or the agent will not accept the request.
This commit identifier is only valid while a confirmed or verified
commit operation is in effect. The agent should use a string value
which is not predictable, and cannot be easily guessed.";
type string {
length { "8 .. 1024"; }
}
}
rpc commit {
if-feature candidate;
description
"If the :new-commit capability is supported, and the
'verified' or 'persist' parameter is entered, then the new
commit procedure is in effect. The <complete-commit> or <cancel-commit>
operations will be used, not the <commit> operation again.
If the :new-commit capability is not supported, or these
parameters are not present, then the old commit procedure
is in effect, and a 2nd <commit> operation is expected
by any session, before the current session terminates or
the timeout expires.";
input {
leaf timeout {
if-feature confirmed-commit;
description "unchanged";
type timeout-type;
}
leaf confirmed {
if-feature confirmed-commit;
description "unchanged";
type empty;
}
leaf-list test-template {
if-feature new-commit;
description
"Optional list of verification control entries to
use during the verified commit procedure.";
type instance-identifier;
}
leaf persist {
if-feature new-commit;
description
"If present, then this commit procedure is allowed
to persist across a single session. If the current session
is terminated, the running database will not be automatically
reverted. Only a timeout or the <cancel-commit> operation
will cause the commit procedure to be terminated, if this
parameter is present.";
type empty;
}
}
output {
leaf commit-id {
if-feature new-commit;
type commit-id-type;
}
}
}
rpc complete-commit {
if-feature new-commit;
description
"The 2nd commit to finalize a confirmed or verified commit operation.";
input {
leaf commit-id {
type commit-id-type;
}
}
}
rpc cancel-commit {
if-feature new-commit;
description
"Cancel a confirmed or verified commit operation in progress.";
input {
leaf commit-id {
type commit-id-type;
}
}
}
Andy
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.