Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An error is reported when the ce_mlag_interface module is used. #323

Open
gemingqi opened this issue Nov 5, 2021 · 2 comments · May be fixed by #396
Open

An error is reported when the ce_mlag_interface module is used. #323

gemingqi opened this issue Nov 5, 2021 · 2 comments · May be fixed by #396
Labels
bug This issue/PR relates to a bug has_pr module module plugins plugin (any type) traceback

Comments

@gemingqi
Copy link

gemingqi commented Nov 5, 2021

SUMMARY

The following error is reported when the ce_mlag_interface module is used:
"msg": "Error: b'\r\n<CE6881_60.36><filter type="subtree">\r\n ^\r\nError: Unrecognized command found at \'^\' position.\r\n<CE6881_60.36>\r\n<CE6881_60.36>'"

ISSUE TYPE
  • Bug Report
COMPONENT NAME

community.network.ce_mlag_interface

ANSIBLE VERSION

ansible [core 2.12.0rc1]


##### COLLECTION VERSION
V3.0.0

##### CONFIGURATION
NA
OS / ENVIRONMENT

ubuntu 18.04

STEPS TO REPRODUCE
  • name: Mlag interface module test
    hosts: host3
    connection: local
    gather_facts: no
    vars:
    cli:
    host: "120.108.60.36"
    port: "22"
    username: "huawei"
    password: "huaweiDC"
    transport: cli

    tasks:

    • name: Set interface mlag error down
      community.network.ce_mlag_interface:
      interface: 10GE1/0/23
      mlag_error_down: enable
      provider: "{{ cli }}"



##### EXPECTED RESULTS
run without error

##### ACTUAL RESULTS
root@Virtual-Machine:/home/gemingqi/Documents/test# ansible-playbook mlag_test.yml -vvv
ansible-playbook [core 2.12.0rc1]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible_core-2.12.0rc1-py3.8.egg/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible-playbook
  python version = 3.8.0 (default, Feb 25 2021, 22:10:10) [GCC 8.4.0]
  jinja version = 3.0.2
  libyaml = False
Using /etc/ansible/ansible.cfg as config file
host_list declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
script declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
auto declined parsing /etc/ansible/hosts as it did not pass its verify_file() method
Parsed /etc/ansible/hosts inventory source with ini plugin
[WARNING]: Skipping plugin (/usr/local/lib/python3.8/dist-
packages/ansible_core-2.12.0rc1-py3.8.egg/ansible/plugins/connection/winrm.py) as it seems to be invalid: invalid
syntax (spawnbase.py, line 224)
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: mlag_test.yml ***********************************************************************************************
1 plays in mlag_test.yml

PLAY [Mlag interface module test] *************************************************************************************
META: ran handlers

TASK [Set interface mlag error down] **********************************************************************************
task path: /home/gemingqi/Documents/test/mlag_test.yml:14
<120.108.60.36> using connection plugin network_cli (was local)
redirecting (type: connection) ansible.builtin.persistent to ansible.netcommon.persistent
[DEPRECATION WARNING]: connection local support for this module is deprecated use either 'network_cli' or 
'ansible.netcommon.network_cli' connection. This feature will be removed from community.network in version 4.0.0. 
Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
<120.108.60.36> ESTABLISH LOCAL CONNECTION FOR USER: root
<120.108.60.36> EXEC /bin/sh -c 'echo ~root && sleep 0'
<120.108.60.36> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1636076260.874958-27791-93870602061578 `" && echo ansible-tmp-1636076260.874958-27791-93870602061578="` echo /root/.ansible/tmp/ansible-tmp-1636076260.874958-27791-93870602061578 `" ) && sleep 0'
<host3> Attempting python interpreter discovery
<120.108.60.36> EXEC /bin/sh -c 'echo PLATFORM; uname; echo FOUND; command -v '"'"'python3.10'"'"'; command -v '"'"'python3.9'"'"'; command -v '"'"'python3.8'"'"'; command -v '"'"'python3.7'"'"'; command -v '"'"'python3.6'"'"'; command -v '"'"'python3.5'"'"'; command -v '"'"'/usr/bin/python3'"'"'; command -v '"'"'/usr/libexec/platform-python'"'"'; command -v '"'"'python2.7'"'"'; command -v '"'"'python2.6'"'"'; command -v '"'"'/usr/bin/python'"'"'; command -v '"'"'python'"'"'; echo ENDFOUND && sleep 0'
<120.108.60.36> EXEC /bin/sh -c '/usr/bin/python3.8 && sleep 0'
Using module file /root/.ansible/collections/ansible_collections/community/network/plugins/modules/ce_mlag_interface.py
<120.108.60.36> PUT /root/.ansible/tmp/ansible-local-27785_x86_khe/tmpko6bjcoe TO /root/.ansible/tmp/ansible-tmp-1636076260.874958-27791-93870602061578/AnsiballZ_ce_mlag_interface.py
<120.108.60.36> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1636076260.874958-27791-93870602061578/ /root/.ansible/tmp/ansible-tmp-1636076260.874958-27791-93870602061578/AnsiballZ_ce_mlag_interface.py && sleep 0'
<120.108.60.36> EXEC /bin/sh -c '/usr/bin/python3.8 /root/.ansible/tmp/ansible-tmp-1636076260.874958-27791-93870602061578/AnsiballZ_ce_mlag_interface.py && sleep 0'
<120.108.60.36> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1636076260.874958-27791-93870602061578/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
  File "/tmp/ansible_community.network.ce_mlag_interface_payload_3bkc0xv8/ansible_community.network.ce_mlag_interface_payload.zip/ansible_collections/community/network/plugins/module_utils/network/cloudengine/ce.py", line 380, in get_nc_config
    response = conn.get(xml_str)
  File "/tmp/ansible_community.network.ce_mlag_interface_payload_3bkc0xv8/ansible_community.network.ce_mlag_interface_payload.zip/ansible_collections/ansible/netcommon/plugins/module_utils/network/common/netconf.py", line 80, in __rpc__
    return self.parse_rpc_error(
  File "/tmp/ansible_community.network.ce_mlag_interface_payload_3bkc0xv8/ansible_community.network.ce_mlag_interface_payload.zip/ansible_collections/ansible/netcommon/plugins/module_utils/network/common/netconf.py", line 126, in parse_rpc_error
    raise ConnectionError(rpc_error)
[WARNING]: Distribution ubuntu 18.04 on host host3 should use /usr/bin/python3, but is using /usr/bin/python3.8, since
the discovered platform python interpreter was not present. See https://docs.ansible.com/ansible-
core/2.12/reference_appendices/interpreter_discovery.html for more information.
fatal: [host3]: FAILED! => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3.8"
    },
    "changed": false,
    "invocation": {
        "module_args": {
            "provider": {
                "host": "120.108.60.36",
                "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
                "port": 22,
                "ssh_keyfile": null,
                "timeout": null,
                "transport": "cli",
                "use_ssl": null,
                "username": "huawei",
                "validate_certs": null
            },
            "transport": "cli"
        }
    },
    "msg": "Error: b'\\r\\n<CE6881_60.36><filter type=\"subtree\">\\r\\n              ^\\r\\nError: Unrecognized command found at \\'^\\' position.\\r\\n<CE6881_60.36>\\r\\n<CE6881_60.36>'"
}

PLAY RECAP ************************************************************************************************************
host3                      : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0   

@gemingqi
Copy link
Author

gemingqi commented Nov 5, 2021

It appears that the NETCONF connection is not connected and the content of the Shema packet is directly executed on the device.However, the ce_mlag_config module has the same code flow and can be used normally.

@ansibullbot
Copy link
Collaborator

@ansibullbot ansibullbot added bug This issue/PR relates to a bug has_pr module module plugins plugin (any type) traceback labels Jan 17, 2022
@gemingqi gemingqi linked a pull request Mar 11, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue/PR relates to a bug has_pr module module plugins plugin (any type) traceback
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants