+Set_Netconf_Connector
+ [Documentation] Sets netconf connector verify url according to the ${ODL_STREAM} and ${USE_NETCONF_CONNECTOR} combination
+ ${streamconnector}= Set Variable /node/controller-config/yang-ext:mount/config:modules/module/sal-restconf-service:json-restconf-service-impl/json-restconf-service-impl
+ ${connector}= BuiltIn.Set_Variable_If ${USE_NETCONF_CONNECTOR} ${streamconnector} ${EMPTY}
+ BuiltIn.Return_From_Keyword ${connector}
+
+Check_Netconf_Topology_Ready
+ [Documentation] Verifies the netconf readiness for every odl node.
+ FOR ${idx} IN @{ClusterManagement__member_index_list}
+ Verify_Netconf_Topology_Ready_For_Node ${idx}
+ END
+
+Verify_Netconf_Topology_Ready_For_Node
+ [Arguments] ${node_index}
+ [Documentation] Netconf readines for a node is done by creating a netconf device connected to that node
+ ... and performing GET operation got from the device's mount point.
+ ${session} = ClusterManagement.Resolve_Http_Session_For_Member member_index=${node_index}
+ Configure_Netconf_Device ${DEVICE_NAME} ${session} ${ODL_SYSTEM_${node_index}_IP}
+ &{mapping} BuiltIn.Create_Dictionary DEVICE_NAME=${DEVICE_NAME}
+ Wait_Netconf_Device_Mounted ${DEVICE_NAME} ${session} ${mapping}
+ FOR ${idx} IN @{ClusterManagement__member_index_list}
+ ${mod_session}= ClusterManagement.Resolve_Http_Session_For_Member member_index=${idx}
+ BuiltIn.Wait_Until_Keyword_Succeeds 5x 3s TemplatedRequests.Get_As_Xml_Templated ${NETCONF_FOLDER}${/}netconf-state mapping=${mapping}
+ ... session=${mod_session}
+ END
+ [Teardown] Remove_Netconf_Device ${DEVICE_NAME} ${session}
+
+Configure_Netconf_Device
+ [Arguments] ${device_name} ${session} ${device_ip}
+ [Documentation] Configures the device via REST api.
+ NetconfKeywords.Configure_Device_In_Netconf ${device_name} device_type=full-uri-device device_port=${DEVICE_PORT} device_address=${device_ip} device_user=admin device_password=admin
+ ... session=${session}
+
+Remove_Netconf_Device
+ [Arguments] ${device_name} ${session}
+ [Documentation] Removes configured device
+ NetconfKeywords.Remove_Device_From_Netconf ${device_name} session=${session}
+
+Wait_Netconf_Device_Mounted
+ [Arguments] ${device_name} ${session} ${mapping} ${timeout}=30s
+ [Documentation] Checks weather the device was mounted.
+ BuiltIn.Wait_Until_Keyword_Succeeds ${timeout} 3s TemplatedRequests.Get_As_Xml_Templated ${NETCONF_FOLDER}${/}full-uri-mount mapping=${mapping} session=${session}
+
+Check_Netconf_Up_And_Running
+ [Arguments] ${pretty_print}=${EMPTY}