BUG-2560 Canonical write to remote netconf devices 38/13538/8
authorMaros Marsalek <mmarsale@cisco.com>
Wed, 10 Dec 2014 15:02:27 +0000 (16:02 +0100)
committerTony Tkacik <ttkacik@cisco.com>
Thu, 8 Jan 2015 09:05:42 +0000 (09:05 +0000)
commit8793bf7f2e02e6cd926d58c93c8100df30f57ed9
tree48da170080ea2a4cdbb9e74ed29fc9659b0b734d
parentb30a2df0721908317c9b4770972b5647dfafd3c7
BUG-2560 Canonical write to remote netconf devices

Current sequence for writing to remote netconf devices:

Writable running only:
- lock running or fail
- edit running (unlock on fail)
- unlock running

Candidate only:
- lock candidate
-- if lock fails, try to discard changes
--- if discard fails, fail
--- if discard succeeds, lock candidate
---- if lock fails, fail
- edit candidate (discard-changes + unlock on fail)
- commit
- unlock candidate

Both writable running and candidate:
- lock running or fail
- SAME AS FOR CANDIDATE ONLY
- unlock running

Change-Id: Ia4e0d43f3131c4072e8505ba72ef09ff441c1fac
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
14 files changed:
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/listener/NetconfSessionCapabilities.java
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/sal/NetconfDeviceDataBroker.java
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/sal/tx/AbstractWriteTx.java [new file with mode: 0644]
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/sal/tx/NetconfDeviceWriteOnlyTx.java [deleted file]
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/sal/tx/ReadOnlyTx.java [moved from opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/sal/tx/NetconfDeviceReadOnlyTx.java with 73% similarity]
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/sal/tx/ReadWriteTx.java [moved from opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/sal/tx/NetconfDeviceReadWriteTx.java with 90% similarity]
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/sal/tx/WriteCandidateRunningTx.java [new file with mode: 0644]
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/sal/tx/WriteCandidateTx.java [new file with mode: 0644]
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/sal/tx/WriteRunningTx.java [new file with mode: 0644]
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/util/NetconfBaseOps.java [new file with mode: 0644]
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/util/NetconfMessageTransformUtil.java
opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/util/NetconfRpcFutureCallback.java [new file with mode: 0644]
opendaylight/md-sal/sal-netconf-connector/src/test/java/org/opendaylight/controller/sal/connect/netconf/sal/tx/NetconfDeviceWriteOnlyTxTest.java
opendaylight/netconf/netconf-netty-util/src/main/java/org/opendaylight/controller/netconf/nettyutil/handler/ssh/client/AsyncSshHandler.java