Refactoring MDSAL to use the cars/people model 43/33643/4
authorJozef Behran <jbehran@cisco.com>
Wed, 27 Jan 2016 11:07:46 +0000 (12:07 +0100)
committerGerrit Code Review <gerrit@opendaylight.org>
Thu, 28 Jan 2016 09:21:24 +0000 (09:21 +0000)
The original MDSAL suite was using the <modules>
configuration as its test data which caused it to start
failing when the format of this data changed. The problem
is that the suite shall use the cars/people model which was
specifically designed for tasks like this.

Change-Id: I286fea431fca30dffbac6357c77fb87c948c4d9c
Signed-off-by: Jozef Behran <jbehran@cisco.com>
24 files changed:
csit/suites/netconf/MDSAL/northbound.robot
csit/variables/netconf/MDSAL/config-modules-create-request.msg [deleted file]
csit/variables/netconf/MDSAL/config-modules-delete-request.msg [deleted file]
csit/variables/netconf/MDSAL/config-modules-merge-1-request.msg [deleted file]
csit/variables/netconf/MDSAL/config-modules-merge-2-request.msg [deleted file]
csit/variables/netconf/MDSAL/create-reply.msg [moved from csit/variables/netconf/MDSAL/config-modules-create-reply.msg with 100% similarity]
csit/variables/netconf/MDSAL/create-request.msg [new file with mode: 0644]
csit/variables/netconf/MDSAL/delete-not-existing-request.msg
csit/variables/netconf/MDSAL/delete-reply.msg [moved from csit/variables/netconf/MDSAL/config-modules-delete-reply.msg with 100% similarity]
csit/variables/netconf/MDSAL/delete-request.msg [new file with mode: 0644]
csit/variables/netconf/MDSAL/merge-1-reply.msg [moved from csit/variables/netconf/MDSAL/config-modules-merge-1-reply.msg with 100% similarity]
csit/variables/netconf/MDSAL/merge-1-request.msg [new file with mode: 0644]
csit/variables/netconf/MDSAL/merge-2-reply.msg [moved from csit/variables/netconf/MDSAL/config-modules-merge-2-reply.msg with 100% similarity]
csit/variables/netconf/MDSAL/merge-2-request.msg [new file with mode: 0644]
csit/variables/netconf/MDSAL/merge-multiple-1-request.msg
csit/variables/netconf/MDSAL/merge-multiple-2-request.msg
csit/variables/netconf/MDSAL/merge-multiple-3-request.msg
csit/variables/netconf/MDSAL/merge-multiple-create-reply.msg [new file with mode: 0644]
csit/variables/netconf/MDSAL/merge-multiple-create-request.msg [new file with mode: 0644]
csit/variables/netconf/MDSAL/merge-multiple-edit-request.msg
csit/variables/netconf/MDSAL/merge-multiple-remove-request.msg
csit/variables/netconf/MDSAL/merge-multiple-replace-request.msg
csit/variables/netconf/MDSAL/merge-multiple-update-request.msg
csit/variables/netconf/MDSAL/remove-not-existing-request.msg

index 87fc0fc8a6db7eda83d00dbbf76929c2c22c3fcc..cc912f5539156378c15c4638b9a5f6507089256c 100644 (file)
@@ -21,6 +21,12 @@ Documentation     Metconf MDSAL Northbound test suite.
 ...               for simplicity.
 ...
 ...               TODO: Change the 4 testcases to use unique message IDs.
+...
+...               TODO: There are many sections with too many "Should_[Not_]Contain" keyword
+...               invocations (see Check_Multiple_Modules_Merge_Replace for a particularly bad
+...               example). Create a resource that will be able to extract the data from the
+...               requests and search for them in the response, then convert to usage of this
+...               resource (think "Thou shall not repeat yourself").
 Suite Setup       Setup_Everything
 Suite Teardown    Teardown_Everything
 Test Setup        SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
@@ -60,9 +66,9 @@ Additional_Attributes_In_Message
     BuiltIn.Should_Contain    ${reply}    additional="otherthing"
     BuiltIn.Should_Contain    ${reply}    xmlns:prefix="http://www.example.com/my-schema-example.html"
 
-Edit_Config_Modules_Merge
+Edit_Config_First_Batch_Merge
     [Documentation]    Request a "merge" operation adding an element in candidate configuration and check the reply.
-    Perform_Test    config-modules-merge-1
+    Perform_Test    merge-1
 
 Get_Config_Running_To_Confirm_No_Edit_Before_Commit
     [Documentation]    Make sure the running configuration is still unchanged as the change was not commited yet.
@@ -72,51 +78,36 @@ Commit_Edit
     [Documentation]    Commit the change and check the reply.
     Perform_Test    commit-edit
 
-name0_In_Config_Running_To_Confirm_Edit_After_Commit
+First_Batch_In_Config_Running_To_Confirm_Edit_After_Commit
     [Documentation]    Check that the change is now in the configuration.
     ${reply}=    Load_And_Send_Message    get-config-edit-after-commit
-    BuiltIn.Should_Contain    ${reply}    <name>name0</name>
-
-name0_In_Config_Modules_Via_Restconf
-    [Documentation]    Check that the change is also visible through Restconf.
-    ${data}=    Utils.Get_Data_From_URI    config    config:modules    headers=${ACCEPT_XML}
-    BuiltIn.Should_Contain    ${data}    <name>name0</name>
+    Check_First_Batch_Data_Present    ${reply}
 
 Terminate_Connection_Gracefully
     [Documentation]    Close the session and disconnect.
     Close_ODL_Netconf_Connection_Gracefully
 
-name0_In_Config_Modules_Via_Restconf_After_Disconnect
-    [Documentation]    Check that the change is still visible through Restconf after Netconf disconnect.
-    ${data}=    Utils.Get_Data_From_URI    config    config:modules    headers=${ACCEPT_XML}
-    BuiltIn.Should_Contain    ${data}    <name>name0</name>
-
 Reconnect_To_ODL_Netconf_After_Graceful_Session_End
     [Documentation]    Reconnect to ODL Netconf and fail if that is not possible.
     Open_ODL_Netconf_Connection
 
-name0_In_Config_Running_After_Reconnect
+First_Batch_In_Config_Running_After_Reconnect
     [Documentation]    Check that the change is now in the configuration.
     ${reply}=    Load_And_Send_Message    get-config-edit-after-commit
-    BuiltIn.Should_Contain    ${reply}    <name>name0</name>
+    Check_First_Batch_Data_Present    ${reply}
 
-name0_In_Config_Modules_Via_Restconf_After_Reconnect
-    [Documentation]    Check that the change is still visible through Restconf after Netconf reconnect.
-    ${data}=    Utils.Get_Data_From_URI    config    config:modules    headers=${ACCEPT_XML}
-    BuiltIn.Should_Contain    ${data}    <name>name0</name>
-
-Edit_Config_Modules_Create_Shall_Fail_Now
+Edit_Config_Create_Shall_Fail_Now
     [Documentation]    Request a "create" operation of an element that already exists and check that it fails with the correct error (RFC 6241, section 7.2, operation "create").
-    Perform_Test    config-modules-create
+    Perform_Test    create
 
-Delete_Modules
+Delete_First_Batch
     [Documentation]    Delete the created element from the candidate configuration and check the reply.
-    Perform_Test    config-modules-delete
+    Perform_Test    delete
 
 Get_Config_Running_To_Confirm_No_Delete_Before_Commit
     [Documentation]    Make sure the element is still present in the running configuration as the delete command was not committed yet.
     ${reply}=    Load_And_Send_Message    get-config-no-delete-before-commit
-    BuiltIn.Should_Contain    ${reply}    <name>name0</name>
+    Check_First_Batch_Data_Present    ${reply}
 
 Commit_Delete
     [Documentation]    Commit the deletion of the element and check the reply.
@@ -126,24 +117,19 @@ Get_Config_Running_To_Confirm_Delete_After_Commit
     [Documentation]    Check that the element is gone.
     Check_Test_Objects_Not_Present_In_Config    get-config-delete-after-commit
 
-Restconf_Get_Modules_Shall_Return_404
-    [Documentation]    Check that "Not Found" is returned when Restconf is asked for the deleted element.
-    ${response}=    RequestsLibrary.Get    config    config:modules    ${ACCEPT_XML}
-    BuiltIn.Should_Be_Equal_As_Strings    404    ${response.status_code}
-
 Commit_No_Transaction
     [Documentation]    Attempt to perform "commit" when there are no changes in the candidate configuration and check that it returns OK status.
     Perform_Test    commit-no-transaction
 
-Edit_Config_Another_Modules_Merge_For_Discard
+Edit_Config_Second_Batch_Merge
     [Documentation]    Create an element to be discarded and check the reply.
-    Perform_Test    config-modules-merge-2
+    Perform_Test    merge-2
 
 Get_And_Check_Config_Candidate_For_Discard
     [Documentation]    Check that the element to be discarded is present in the candidate configuration.
     ${reply}=    Load_And_Send_Message    get-config-candidate
-    BuiltIn.Should_Contain    ${reply}    <name>name1</name>
-    BuiltIn.Should_Not_Contain    ${reply}    name0
+    Check_First_Batch_Data_Not_Present    ${reply}
+    Check_Second_Batch_Data_Present    ${reply}
 
 Discard_Changes_Using_Discard_Request
     [Documentation]    Ask the server to discard the candidate and check the reply.
@@ -153,59 +139,46 @@ Get_And_Check_Config_Candidate_To_Confirm_Discard
     [Documentation]    Check that the element was really discarded.
     Check_Test_Objects_Not_Present_In_Config    get-config-candidate-discard
 
-Edit_Config_Modules_Multiple_Modules_Merge_1
-    [Documentation]    Create the element with "name2" subelement again and check the reply.
+Edit_Config_Multiple_Batch_Merge_Create
+    [Documentation]    Use a create request with the third batch to create the infrastructure.
+    Perform_Test    merge-multiple-create
+
+Edit_Config_Multiple_Batch_Merge_Third
+    [Documentation]    Use a create request with the third batch to create the infrastructure.
     Perform_Test    merge-multiple-1
 
-Edit_Config_Modules_Multiple_Modules_Merge_2
+Edit_Config_Multiple_Batch_Merge_Fourth
+    [Documentation]    Use a merge request with the third batch to create the infrastructure.
     [Documentation]    Add a "name3" subelement to the element and check the reply.
     Perform_Test    merge-multiple-2
 
-Edit_Config_Modules_Multiple_Modules_Merge_3
+Edit_Config_Multiple_Batch_Merge_Fifth
     [Documentation]    Add a "name4" subelement to the element and check the reply.
     Perform_Test    merge-multiple-3
 
-Commit_Multiple_Modules_Merge
+Commit_Multiple_Merge
     [Documentation]    Commit the changes and check the reply.
     Perform_Test    merge-multiple-commit
 
-name2_name3_name4_In_Running_Config
+Multiple_Batch_Data_In_Running_Config
     [Documentation]    Check that the 3 subelements are now present in the running configuration.
     ${reply}=    Load_And_Send_Message    merge-multiple-check
-    BuiltIn.Should_Contain    ${reply}    <name>name2</name>
-    BuiltIn.Should_Contain    ${reply}    <name>name3</name>
-    BuiltIn.Should_Contain    ${reply}    <name>name4</name>
-
-name2_name3_name4_In_Config_Modules_Via_Restconf
-    [Documentation]    Check that the 3 subelements are visible via Restconf.
-    ${data}=    Utils.Get_Data_From_URI    config    config:modules    headers=${ACCEPT_XML}
-    BuiltIn.Should_Contain    ${data}    <name>name2</name>
-    BuiltIn.Should_Contain    ${data}    <name>name3</name>
-    BuiltIn.Should_Contain    ${data}    <name>name4</name>
+    Check_Multiple_Batch_Data_Present    ${reply}
 
 Abort_Connection_To_Simulate_Session_Failure
     [Documentation]    Simulate session failure by disconnecting without terminating the session.
     Abort_ODL_Netconf_Connection
 
-name2_name3_name4_In_Config_Modules_Via_Restconf_After_Session_Fail
-    [Documentation]    Check that the 3 subelements are visible via Restconf.
-    ${data}=    Utils.Get_Data_From_URI    config    config:modules    headers=${ACCEPT_XML}
-    BuiltIn.Should_Contain    ${data}    <name>name2</name>
-    BuiltIn.Should_Contain    ${data}    <name>name3</name>
-    BuiltIn.Should_Contain    ${data}    <name>name4</name>
-
 Reconnect_To_ODL_Netconf_After_Session_Failure
     [Documentation]    Reconnect to ODL Netconf and fail if that is not possible.
     Open_ODL_Netconf_Connection
 
-name2_name3_name4_In_Running_Config_After_Session_Failure
+Multiple_Batch_Data_In_Running_Config_After_Session_Failure
     [Documentation]    Check that the 3 subelements are now present in the running configuration.
     ${reply}=    Load_And_Send_Message    merge-multiple-check
-    BuiltIn.Should_Contain    ${reply}    <name>name2</name>
-    BuiltIn.Should_Contain    ${reply}    <name>name3</name>
-    BuiltIn.Should_Contain    ${reply}    <name>name4</name>
+    Check_Multiple_Batch_Data_Present    ${reply}
 
-Edit_Multiple_Modules_Merge
+Edit_Multiple_Merge_Data
     [Documentation]    Add another subelement named "test" to the element and check the reply.
     Perform_Test    merge-multiple-edit
 
@@ -216,7 +189,10 @@ Commit_Multiple_Modules_Merge_Edit
 Check_Multiple_Modules_Merge_Edit
     [Documentation]    Check that the "test" subelement exists and has correct value for "port" subelement.
     ${reply}=    Load_And_Send_Message    merge-multiple-edit-check
-    BuiltIn.Should_Contain    ${reply}    <port xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">2022</port>
+    BuiltIn.Should_Contain    ${reply}    <id>test</id>
+    BuiltIn.Should_Contain    ${reply}    <model>Dixi</model>
+    BuiltIn.Should_Contain    ${reply}    <manufacturer>BMW</manufacturer>
+    BuiltIn.Should_Contain    ${reply}    <year>1928</year>
 
 Update_Multiple_Modules_Merge
     [Documentation]    Update the value of the "port" subelement of the "test" subelement and check the reply.
@@ -229,7 +205,13 @@ Commit_Multiple_Modules_Merge_Update
 Check_Multiple_Modules_Merge_Update
     [Documentation]    Check that the value of the "port" was really updated.
     ${reply}=    Load_And_Send_Message    merge-multiple-update-check
-    BuiltIn.Should_Contain    ${reply}    <port xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">3000</port>
+    BuiltIn.Should_Contain    ${reply}    <id>test</id>
+    BuiltIn.Should_Contain    ${reply}    <model>Bentley Speed Six</model>
+    BuiltIn.Should_Contain    ${reply}    <manufacturer>Bentley</manufacturer>
+    BuiltIn.Should_Contain    ${reply}    <year>1930</year>
+    BuiltIn.Should_Not_Contain    ${reply}    <model>Dixi</model>
+    BuiltIn.Should_Not_Contain    ${reply}    <manufacturer>BMW</manufacturer>
+    BuiltIn.Should_Not_Contain    ${reply}    <year>1928</year>
 
 Replace_Multiple_Modules_Merge
     [Documentation]    Replace the content of the "test" with another completely different and check the reply.
@@ -242,28 +224,48 @@ Commit_Multiple_Modules_Merge_Replace
 Check_Multiple_Modules_Merge_Replace
     [Documentation]    Check that the new content is there and the old content is gone.
     ${reply}=    Load_And_Send_Message    merge-multiple-replace-check
-    BuiltIn.Should_Contain    ${reply}    <name>test</name>
-    BuiltIn.Should_Contain    ${reply}    <address xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">10.194.132.42</address>
-    BuiltIn.Should_Contain    ${reply}    <tcp-only xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">false</tcp-only>
-    BuiltIn.Should_Contain    ${reply}    <port xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">4000</port>
-    BuiltIn.Should_Contain    ${reply}    <password xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">admin</password>
-    BuiltIn.Should_Contain    ${reply}    <username xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">admin</username>
-    BuiltIn.Should_Not_Contain    ${reply}    <name>global-event-executor</name>
-    BuiltIn.Should_Not_Contain    ${reply}    <name>binding-osgi-broker</name>
-    BuiltIn.Should_Not_Contain    ${reply}    <name>dom-broker</name>
-    BuiltIn.Should_Not_Contain    ${reply}    <name>global-netconf-dispatcher</name>
-    BuiltIn.Should_Not_Contain    ${reply}    <name>global-netconf-processing-executor</name>
-
-Remove_Multiple_Modules
-    [Documentation]    Remove the testing "module" element and all its subelements and check the reply.
+    BuiltIn.Should_Contain    ${reply}    <id>REPLACE</id>
+    BuiltIn.Should_Contain    ${reply}    <manufacturer>FIAT</manufacturer>
+    BuiltIn.Should_Contain    ${reply}    <model>Panda</model>
+    BuiltIn.Should_Contain    ${reply}    <year>2003</year>
+    BuiltIn.Should_Contain    ${reply}    <car-id>REPLACE</car-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <id>TOY001</id>
+    BuiltIn.Should_Not_Contain    ${reply}    <id>CUST001</id>
+    BuiltIn.Should_Not_Contain    ${reply}    <car-id>TOY001</car-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <person-id>CUST001</person-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <id>OLD001</id>
+    BuiltIn.Should_Not_Contain    ${reply}    <id>CUST002</id>
+    BuiltIn.Should_Not_Contain    ${reply}    <car-id>OLD001</car-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <person-id>CUST002</person-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <id>CAROLD</id>
+    BuiltIn.Should_Contain    ${reply}    <id>CUSTOLD</id>
+    BuiltIn.Should_Not_Contain    ${reply}    <car-id>CAROLD</car-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <person-id>CUSTOLD</person-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <id>CARYOUNG</id>
+    BuiltIn.Should_Contain    ${reply}    <id>CUSTYOUNG</id>
+    BuiltIn.Should_Not_Contain    ${reply}    <car-id>CARYOUNG</car-id>
+    BuiltIn.Should_Contain    ${reply}    <person-id>CUSTYOUNG</person-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <id>CARMID</id>
+    BuiltIn.Should_Contain    ${reply}    <id>CUSTMID</id>
+    BuiltIn.Should_Not_Contain    ${reply}    <car-id>CARMID</car-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <person-id>CUSTMID</person-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <id>CAROLD2</id>
+    BuiltIn.Should_Contain    ${reply}    <id>CUSTOLD2</id>
+    BuiltIn.Should_Not_Contain    ${reply}    <car-id>CAROLD2</car-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <person-id>CUSTOLD2</person-id>
+    BuiltIn.Should_Not_Contain    ${reply}    <id>CUSTBAD</id>
+    BuiltIn.Should_Not_Contain    ${reply}    <id>test</id>
+
+Remove_Test_Data
+    [Documentation]    Remove the testing elements and all their subelements and check the reply.
     Perform_Test    merge-multiple-remove
 
-Commit_Multiple_Modules_Removal
+Commit_Test_Data_Removal
     [Documentation]    Commit the removal and check the reply.
     Perform_Test    merge-multiple-remove-commit
 
-Delete_Not_Existing_Module
-    [Documentation]    Attempt to delete the "module" element again and check that it fails with the correct error.
+Delete_Not_Existing_Element
+    [Documentation]    Attempt to delete the elements again and check that it fails with the correct error.
     Perform_Test    delete-not-existing
 
 Commit_Delete_Not_Existing_Module
@@ -395,15 +397,79 @@ Teardown_Everything
     Abort_ODL_Netconf_Connection
     RequestsLibrary.Delete_All_Sessions
 
+Check_First_Batch_Data
+    [Arguments]    ${reply}    ${keyword}
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>TOY001</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CUST001</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <car-id>TOY001</car-id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <person-id>CUST001</person-id>
+
+Check_First_Batch_Data_Present
+    [Arguments]    ${reply}
+    Check_First_Batch_Data    ${reply}    BuiltIn.Should_Contain
+
+Check_First_Batch_Data_Not_Present
+    [Arguments]    ${reply}
+    Check_First_Batch_Data    ${reply}    BuiltIn.Should_Not_Contain
+
+Check_Second_Batch_Data
+    [Arguments]    ${reply}    ${keyword}
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>OLD001</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CUST002</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <car-id>OLD001</car-id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <person-id>CUST002</person-id>
+
+Check_Second_Batch_Data_Present
+    [Arguments]    ${reply}
+    Check_Second_Batch_Data    ${reply}    BuiltIn.Should_Contain
+
+Check_Multiple_Batch_Data
+    [Arguments]    ${reply}    ${keyword}
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CAROLD</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CUSTOLD</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <car-id>CAROLD</car-id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <person-id>CUSTOLD</person-id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CARYOUNG</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CUSTYOUNG</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <car-id>CARYOUNG</car-id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <person-id>CUSTYOUNG</person-id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CARMID</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CUSTMID</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <car-id>CARMID</car-id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <person-id>CUSTMID</person-id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CAROLD2</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CUSTOLD2</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <car-id>CAROLD2</car-id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <person-id>CUSTOLD2</person-id>
+
+Check_Multiple_Batch_Data_Absent
+    [Arguments]    ${reply}
+    Check_Multiple_Batch_Data    ${reply}    BuiltIn.Should_not_Contain
+
+Check_Multiple_Batch_Data_Present
+    [Arguments]    ${reply}
+    Check_Multiple_Batch_Data    ${reply}    BuiltIn.Should_Contain
+
+Check_Auxiliary_Data
+    [Arguments]    ${reply}    ${keyword}
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>CUSTBAD</id>
+    BuiltIn.RunKeyword    ${keyword}    ${reply}    <id>test</id>
+
+Check_Test_Objects_Absent
+    [Arguments]    ${reply}
+    Check_First_Batch_Data_Not_Present    ${reply}
+    Check_Second_Batch_Data    ${reply}    BuiltIn.Should_not_Contain
+    Check_Multiple_Batch_Data_Absent    ${reply}
+    Check_Auxiliary_Data    ${reply}    BuiltIn.Should_not_Contain
+    BuiltIn.Should_not_Contain    ${reply}    <id>test</id>
+
 Check_Test_Objects_Not_Present_In_Config
     [Arguments]    ${name}
     [Documentation]    Use dataset with the specified name to get the configuration and check that none of our test objects are there.
     ${reply}=    Load_And_Send_Message    ${name}
-    BuiltIn.Should_Not_Contain    ${reply}    <name>name0</name>
-    BuiltIn.Should_Not_Contain    ${reply}    <name>name1</name>
-    BuiltIn.Should_Not_Contain    ${reply}    <name>name2</name>
-    BuiltIn.Should_Not_Contain    ${reply}    <name>name3</name>
-    BuiltIn.Should_Not_Contain    ${reply}    <name>name4</name>
+    Check_Test_Objects_Absent    ${reply}
+    BuiltIn.Should_not_Contain    ${reply}    <id>REPLACE</id>
+    [Return]    ${reply}
 
 Perform_Test
     [Arguments]    ${name}
diff --git a/csit/variables/netconf/MDSAL/config-modules-create-request.msg b/csit/variables/netconf/MDSAL/config-modules-create-request.msg
deleted file mode 100644 (file)
index 07e57cf..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<rpc message-id="15" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-<edit-config>
-<target>
-<candidate/>
-</target>
-<default-operation>create</default-operation>
-<config>
-<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-<module>
-<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">prefix:threadfactory-naming</type>
-<name>name0</name>
-<name-prefix xmlns="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">remote-connector-processing-executor</name-prefix>
-</module>
-</modules>
-</config>
-</edit-config>
-</rpc>
diff --git a/csit/variables/netconf/MDSAL/config-modules-delete-request.msg b/csit/variables/netconf/MDSAL/config-modules-delete-request.msg
deleted file mode 100644 (file)
index fd45b84..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<rpc message-id="6" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-<edit-config>
-    <target>
-        <candidate/>
-    </target>
-    <test-option>
-        set
-    </test-option>
-    <default-operation>none</default-operation>
-    <config>
-        <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config" xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" a:operation="delete"/>
-    </config>
-</edit-config>
-</rpc>
diff --git a/csit/variables/netconf/MDSAL/config-modules-merge-1-request.msg b/csit/variables/netconf/MDSAL/config-modules-merge-1-request.msg
deleted file mode 100644 (file)
index 36c764b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<rpc message-id="2" a="64" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-<edit-config>
-<target>
-<candidate/>
-</target>
-<default-operation>merge</default-operation>
-<config>
-<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-<module>
-<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">prefix:threadfactory-naming</type>
-<name>name0</name>
-<name-prefix xmlns="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">remote-connector-processing-executor</name-prefix>
-</module>
-</modules>
-</config>
-</edit-config>
-</rpc>
diff --git a/csit/variables/netconf/MDSAL/config-modules-merge-2-request.msg b/csit/variables/netconf/MDSAL/config-modules-merge-2-request.msg
deleted file mode 100644 (file)
index 82e937e..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<rpc message-id="20" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
-<edit-config>
-<target>
-<candidate/>
-</target>
-<default-operation>merge</default-operation>
-<config>
-<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-<module>
-<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">prefix:threadfactory-naming</type>
-<name>name1</name>
-<name-prefix xmlns="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">remote-connector-processing-executor</name-prefix>
-</module>
-</modules>
-</config>
-</edit-config>
-</rpc>
diff --git a/csit/variables/netconf/MDSAL/create-request.msg b/csit/variables/netconf/MDSAL/create-request.msg
new file mode 100644 (file)
index 0000000..2f19710
--- /dev/null
@@ -0,0 +1,16 @@
+<rpc message-id="15" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<edit-config>
+<target>
+<candidate/>
+</target>
+<default-operation>create</default-operation>
+<config>
+<people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:people">
+  <person>
+    <id>CUSTBAD</id>
+    <age>99</age>
+  </person>
+</people>
+</config>
+</edit-config>
+</rpc>
index dbf4982b6dd8048da8b1ba973e705da0ab11e2e4..7cc9ed433ceeb81e889d8945eca33b93f67b02b1 100644 (file)
@@ -7,9 +7,9 @@
         set
     </test-option>
     <default-operation>none</default-operation>
-    <config>
-        <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config" xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" a:operation="delete">
-        </modules>
+    <config xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0">
+      <cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car" a:operation="delete">
+      </cars>
     </config>
 </edit-config>
 </rpc>
diff --git a/csit/variables/netconf/MDSAL/delete-request.msg b/csit/variables/netconf/MDSAL/delete-request.msg
new file mode 100644 (file)
index 0000000..924e8c1
--- /dev/null
@@ -0,0 +1,19 @@
+<rpc message-id="6" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<edit-config>
+    <target>
+        <candidate/>
+    </target>
+    <test-option>
+        set
+    </test-option>
+    <default-operation>none</default-operation>
+    <config xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0">
+    <cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car" a:operation="remove">
+    </cars>
+    <people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:people" a:operation="remove">
+    </people>
+    <car-people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car-people" a:operation="remove">
+    </car-people>
+    </config>
+</edit-config>
+</rpc>
diff --git a/csit/variables/netconf/MDSAL/merge-1-request.msg b/csit/variables/netconf/MDSAL/merge-1-request.msg
new file mode 100644 (file)
index 0000000..89ba229
--- /dev/null
@@ -0,0 +1,31 @@
+<rpc message-id="2" a="64" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<edit-config>
+<target>
+<candidate/>
+</target>
+<default-operation>merge</default-operation>
+<config>
+<cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car">
+  <car-entry>
+    <id>TOY001</id>
+    <model>Toyota Corolla</model>
+    <manufacturer>Toyota</manufacturer>
+    <year>2016</year>
+    <category>sedan</category>
+  </car-entry>
+</cars>
+<people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:people">
+  <person>
+    <id>CUST001</id>
+    <age>32</age>
+  </person>
+</people>
+<car-people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car-people">
+  <car-person>
+    <car-id>TOY001</car-id>
+    <person-id>CUST001</person-id>
+  </car-person>
+</car-people>
+</config>
+</edit-config>
+</rpc>
diff --git a/csit/variables/netconf/MDSAL/merge-2-request.msg b/csit/variables/netconf/MDSAL/merge-2-request.msg
new file mode 100644 (file)
index 0000000..18b81c0
--- /dev/null
@@ -0,0 +1,31 @@
+<rpc message-id="20" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<edit-config>
+<target>
+<candidate/>
+</target>
+<default-operation>merge</default-operation>
+<config>
+<cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car">
+  <car-entry>
+    <id>OLD001</id>
+    <model>Skoda MB</model>
+    <manufacturer>Skoda Mlada Boleslav</manufacturer>
+    <category>sedan</category>
+  </car-entry>
+</cars>
+<people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:people">
+  <person>
+    <id>CUST002</id>
+    <gender>male</gender>
+    <age>28</age>
+  </person>
+</people>
+<car-people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car-people">
+  <car-person>
+    <car-id>OLD001</car-id>
+    <person-id>CUST002</person-id>
+  </car-person>
+</car-people>
+</config>
+</edit-config>
+</rpc>
index f7be519782881f2f3a6cc4271c7a82eefbf1bba6..61ee118771e003f445d7db5b2d26b193a9242065 100644 (file)
@@ -5,13 +5,27 @@
 </target>
 <default-operation>merge</default-operation>
 <config>
-<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-<module>
-<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">prefix:threadfactory-naming</type>
-<name>name2</name>
-<name-prefix xmlns="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">remote-connector-processing-executor</name-prefix>
-</module>
-</modules>
+<cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car">
+  <car-entry>
+    <id>CARYOUNG</id>
+    <model>Toyota Prius</model>
+    <manufacturer>Toyota</manufacturer>
+    <year>2016</year>
+    <category>sedan</category>
+  </car-entry>
+</cars>
+<people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:people">
+  <person>
+    <id>CUSTYOUNG</id>
+    <age>27</age>
+  </person>
+</people>
+<car-people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car-people">
+  <car-person>
+    <car-id>CARYOUNG</car-id>
+    <person-id>CUSTYOUNG</person-id>
+  </car-person>
+</car-people>
 </config>
 </edit-config>
 </rpc>
index f3736f45143a037313573a8ef3b5eafe40871de1..ab582b4a0230b70253246c6fd002dd6fdd617b91 100644 (file)
@@ -5,13 +5,27 @@
 </target>
 <default-operation>merge</default-operation>
 <config>
-<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-<module>
-<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">prefix:threadfactory-naming</type>
-<name>name3</name>
-<name-prefix xmlns="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">remote-connector-processing-executor</name-prefix>
-</module>
-</modules>
+<cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car">
+  <car-entry>
+    <id>CARMID</id>
+    <model>Toyota Aurion</model>
+    <manufacturer>Toyota</manufacturer>
+    <year>2006</year>
+    <category>sedan</category>
+  </car-entry>
+</cars>
+<people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:people">
+  <person>
+    <id>CUSTMID</id>
+    <age>40</age>
+  </person>
+</people>
+<car-people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car-people">
+  <car-person>
+    <car-id>CARMID</car-id>
+    <person-id>CUSTMID</person-id>
+  </car-person>
+</car-people>
 </config>
 </edit-config>
 </rpc>
index 9abcd0fc367d14c8a2094a99432ebec672c30a82..ae0e4a3c7e2bacc12605f6703b91cf1b35a3870a 100644 (file)
@@ -5,13 +5,26 @@
 </target>
 <default-operation>merge</default-operation>
 <config>
-<modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-<module>
-<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">prefix:threadfactory-naming</type>
-<name>name4</name>
-<name-prefix xmlns="urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl">remote-connector-processing-executor</name-prefix>
-</module>
-</modules>
+<cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car">
+  <car-entry>
+    <id>CAROLD2</id>
+    <model>Camry</model>
+    <manufacturer>Toyota</manufacturer>
+    <year>1982</year>
+  </car-entry>
+</cars>
+<people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:people">
+  <person>
+    <id>CUSTOLD2</id>
+    <age>65</age>
+  </person>
+</people>
+<car-people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car-people">
+  <car-person>
+    <car-id>CAROLD2</car-id>
+    <person-id>CUSTOLD2</person-id>
+  </car-person>
+</car-people>
 </config>
 </edit-config>
 </rpc>
diff --git a/csit/variables/netconf/MDSAL/merge-multiple-create-reply.msg b/csit/variables/netconf/MDSAL/merge-multiple-create-reply.msg
new file mode 100644 (file)
index 0000000..39a014b
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="115">
+<ok/>
+</rpc-reply>
diff --git a/csit/variables/netconf/MDSAL/merge-multiple-create-request.msg b/csit/variables/netconf/MDSAL/merge-multiple-create-request.msg
new file mode 100644 (file)
index 0000000..116dcff
--- /dev/null
@@ -0,0 +1,29 @@
+<rpc message-id="115" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<edit-config>
+<target>
+<candidate/>
+</target>
+<default-operation>create</default-operation>
+<config>
+<people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:people">
+  <person>
+    <id>CUSTOLD</id>
+    <age>99</age>
+  </person>
+</people>
+<cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car">
+  <car-entry>
+    <id>CAROLD</id>
+    <manufacturer>Ford</manufacturer>
+    <year>1950</year>
+  </car-entry>
+</cars>
+<car-people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car-people">
+  <car-person>
+    <car-id>CAROLD</car-id>
+    <person-id>CUSTOLD</person-id>
+  </car-person>
+</car-people>
+</config>
+</edit-config>
+</rpc>
index b876edec6cc57c43ad7851e4b34bcb187b880040..703d3567f898932083d6ea970a4098577114d86d 100644 (file)
@@ -8,37 +8,14 @@
     </test-option>
     <default-operation>merge</default-operation>
     <config>
-        <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-            <module xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-              <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">prefix:sal-netconf-connector</type>
-              <name>test</name>
-              <address xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">10.194.132.42</address>
-              <port xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">2022</port>
-              <username xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">admin</username>
-              <password xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">admin</password>
-              <tcp-only xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">false</tcp-only>
-              <event-executor xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">
-                <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:netty">prefix:netty-event-executor</type>
-                <name>global-event-executor</name>
-              </event-executor>
-              <binding-registry xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">
-                <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">prefix:binding-broker-osgi-registry</type>
-                <name>binding-osgi-broker</name>
-              </binding-registry>
-              <dom-registry xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">
-                <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">prefix:dom-broker-osgi-registry</type>
-                <name>dom-broker</name>
-              </dom-registry>
-              <client-dispatcher xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">
-                <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:config:netconf">prefix:netconf-client-dispatcher</type>
-                <name>global-netconf-dispatcher</name>
-              </client-dispatcher>
-              <processing-executor xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">
-                <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:threadpool">prefix:threadpool</type>
-                <name>global-netconf-processing-executor</name>
-              </processing-executor>
-            </module>
-        </modules>
+      <cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car">
+        <car-entry>
+          <id>test</id>
+          <model>Dixi</model>
+          <manufacturer>BMW</manufacturer>
+          <year>1928</year>
+        </car-entry>
+      </cars>
     </config>
 </edit-config>
 </rpc>
index 5d50b4e8a670b8d3d2767d2b05c90f3f7f40b10c..924e8c161f0406b120e0f28ed71966019c7b7b53 100644 (file)
@@ -7,9 +7,13 @@
         set
     </test-option>
     <default-operation>none</default-operation>
-    <config>
-        <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config" xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" a:operation="remove">
-        </modules>
+    <config xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0">
+    <cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car" a:operation="remove">
+    </cars>
+    <people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:people" a:operation="remove">
+    </people>
+    <car-people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car-people" a:operation="remove">
+    </car-people>
     </config>
 </edit-config>
 </rpc>
index 05aa685861320f26a8655badc9caa36242a90446..06ee676d9e6da82b4c4e9d80161c34abf6e00d9e 100644 (file)
@@ -8,17 +8,20 @@
     </test-option>
     <default-operation>replace</default-operation>
     <config>
-        <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-            <module xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-                          <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">prefix:sal-netconf-connector</type>
-                          <name>test</name>
-                          <address xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">10.194.132.42</address>
-                          <port xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">4000</port>
-                          <username xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">admin</username>
-                          <password xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">admin</password>
-                          <tcp-only xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">false</tcp-only>
-                        </module>
-        </modules>
+      <cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car">
+        <car-entry>
+          <id>REPLACE</id>
+          <model>Panda</model>
+          <manufacturer>FIAT</manufacturer>
+          <year>2003</year>
+        </car-entry>
+      </cars>
+      <car-people xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car-people">
+        <car-person>
+          <car-id>REPLACE</car-id>
+          <person-id>CUSTYOUNG</person-id>
+        </car-person>
+      </car-people>
     </config>
 </edit-config>
 </rpc>
index 1cd4b259b90aabc0a4faf8af3ed64417b8969e07..4517b238d3b1d6615f6cb69a28dd50724b804ba3 100644 (file)
@@ -8,37 +8,14 @@
     </test-option>
     <default-operation>merge</default-operation>
     <config>
-        <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-            <module xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
-                          <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">prefix:sal-netconf-connector</type>
-                          <name>test</name>
-                          <address xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">10.194.132.42</address>
-                          <port xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">3000</port>
-                          <username xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">admin</username>
-                          <password xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">admin</password>
-                          <tcp-only xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">false</tcp-only>
-                          <event-executor xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">
-                            <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:netty">prefix:netty-event-executor</type>
-                            <name>global-event-executor</name>
-                          </event-executor>
-                          <binding-registry xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">
-                            <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">prefix:binding-broker-osgi-registry</type>
-                            <name>binding-osgi-broker</name>
-                          </binding-registry>
-                          <dom-registry xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">
-                            <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">prefix:dom-broker-osgi-registry</type>
-                            <name>dom-broker</name>
-                          </dom-registry>
-                          <client-dispatcher xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">
-                            <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:config:netconf">prefix:netconf-client-dispatcher</type>
-                            <name>global-netconf-dispatcher</name>
-                          </client-dispatcher>
-                          <processing-executor xmlns="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">
-                            <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:threadpool">prefix:threadpool</type>
-                            <name>global-netconf-processing-executor</name>
-                          </processing-executor>
-                        </module>
-        </modules>
+      <cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car">
+        <car-entry>
+          <id>test</id>
+          <model>Bentley Speed Six</model>
+          <manufacturer>Bentley</manufacturer>
+          <year>1930</year>
+        </car-entry>
+      </cars>
     </config>
 </edit-config>
 </rpc>
index 5d50b4e8a670b8d3d2767d2b05c90f3f7f40b10c..13786507c647012fb0a61150554a62dd6461738d 100644 (file)
@@ -7,9 +7,9 @@
         set
     </test-option>
     <default-operation>none</default-operation>
-    <config>
-        <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config" xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" a:operation="remove">
-        </modules>
+    <config xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0">
+      <cars xmlns="urn:opendaylight:params:xml:ns:yang:controller:config:sal-clustering-it:car" a:operation="remove">
+      </cars>
     </config>
 </edit-config>
 </rpc>