Fix iosxr discard_changes netconf rpc issue (#57931)

* If dispatch() rpc response has data element
return the xml string from <data> element
else return the complete xml string from
<rpc-reply>.

Depends-On: #57909
Depends-On: #57919
pull/57946/head
Ganesh Nalawade 6 years ago committed by GitHub
parent cf623fa62f
commit 795cb90367
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -26,6 +26,7 @@ from ansible.errors import AnsibleError
from ansible.plugins import AnsiblePlugin from ansible.plugins import AnsiblePlugin
from ansible.module_utils._text import to_native from ansible.module_utils._text import to_native
from ansible.module_utils.basic import missing_required_lib from ansible.module_utils.basic import missing_required_lib
from ansible.module_utils.six import string_types
try: try:
from ncclient.operations import RPCError from ncclient.operations import RPCError
@ -223,9 +224,9 @@ class NetconfBase(AnsiblePlugin):
""" """
if rpc_command is None: if rpc_command is None:
raise ValueError('rpc_command value must be provided') raise ValueError('rpc_command value must be provided')
req = fromstring(rpc_command)
resp = self.m.dispatch(fromstring(rpc_command), source=source, filter=filter) resp = self.m.dispatch(req, source=source, filter=filter)
return resp.data_xml if hasattr(resp, 'data_xml') else resp.xml return resp.data_xml if resp.data_ele else resp.xml
@ensure_connected @ensure_connected
def lock(self, target="candidate"): def lock(self, target="candidate"):

Loading…
Cancel
Save