F5Networks / f5-ansible

Imperative Ansible modules for F5 BIG-IP products
GNU General Public License v3.0
375 stars 231 forks source link

bigip_software_install module error #1441

Closed lucytang2017us closed 5 years ago

lucytang2017us commented 5 years ago
ISSUE TYPE
COMPONENT NAME

bigip_software_install

ANSIBLE VERSION
2.8
PYTHON VERSION
2.7.x
BIGIP VERSION
13.1.0.7
ROLE VERSION
CONFIGURATION
OS / ENVIRONMENT

RedHat Linux OS

SUMMARY

Using bigip_software_install module (with hotfix iso) failed with module error

STEPS TO REPRODUCE
    - name: Ensure an hotfix is activated in specified volume
      bigip_software_install:
        image: "{{ hotfix_iso }}"
        state: activated
        volume: "{{target_volume}}"
        provider: '{{provider}}'
      delegate_to: localhost
EXPECTED RESULTS

No failure in the play

ACTUAL RESULTS
TASK [Ensure an hotfix is activated in specified volume] ***********************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: urllib2.URLError: <urlopen error [Errno 104] Connection reset by peer>
fatal: [2607:f160:8a02:1028:8000::11 -> localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\\n  File \\"/shared/tmp/ansible-tmp-1565041096.09-98015878053744/AnsiballZ_bigip_software_install.py\\", line 114, in <module>\\n    _ansiballz_main()\\n  File \\"/shared/tmp/ansible-tmp-1565041096.09-98015878053744/AnsiballZ_bigip_software_install.py\\", line 106, in _ansiballz_main\\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\\n  File \\"/shared/tmp/ansible-tmp-1565041096.09-98015878053744/AnsiballZ_bigip_software_install.py\\", line 49, in invoke_module\\n    imp.load_module('__main__', mod, module, MOD_DESC)\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/__main__.py\\", line 500, in <module>\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/__main__.py\\", line 493, in main\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/__main__.py\\", line 292, in exec_module\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/__main__.py\\", line 313, in present\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/__main__.py\\", line 377, in update\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/__main__.py\\", line 411, in wait_for_device_reboot\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/__main__.py\\", line 450, in read_volume_from_device\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/bigip.py\\", line 32, in api\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/bigip.py\\", line 56, in connect_via_token_auth\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/icontrol.py\\", line 238, in post\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/icontrol.py\\", line 193, in send\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/ansible_bigip_software_install_payload.zip/ansible/module_utils/urls.py\\", line 1163, in open\\n  File \\"/usr/lib64/python2.7/urllib2.py\\", line 154, in urlopen\\n    return opener.open(url, data, timeout)\\n  File \\"/usr/lib64/python2.7/urllib2.py\\", line 431, in open\\n    response = self._open(req, data)\\n  File \\"/usr/lib64/python2.7/urllib2.py\\", line 449, in _open\\n    '_open', req)\\n  File \\"/usr/lib64/python2.7/urllib2.py\\", line 409, in _call_chain\\n    result = func(*args)\\n  File \\"/tmp/ansible_bigip_software_install_payload_qlJN3L/ansible_bigip_software_install_payload.zip/ansible/module_utils/urls.py\\", line 374, in https_open\\n  File \\"/usr/lib64/python2.7/urllib2.py\\", line 1214, in do_open\\n    raise URLError(err)\\nurllib2.URLError: <urlopen error [Errno 104] Connection reset by peer>\\n", "module_stdout": "", "msg": "MODULE FAILURE\\nSee stdout/stderr for the exact error", "rc": 1}
wojtek0806 commented 5 years ago

@lucytang2017us This error looks like a tcp socket error, occurred while the device was rebooting, there must be something that is resetting the connection, the playbook looks ok. Check your local network possibly?

@focrensh can you see if you can reproduce this in the lab ? if this is not reproducible then this will be down to the environment of the user

lucytang2017us commented 5 years ago

The issue has already been reproduced by customer and internal PD in different environment.

Thanks.

From: Wojciech Wypior notifications@github.com Sent: Wednesday, August 7, 2019 5:43 AM To: F5Networks/f5-ansible f5-ansible@noreply.github.com Cc: Lucy Tang L.Tang@F5.com; Mention mention@noreply.github.com Subject: Re: [F5Networks/f5-ansible] bigip_software_install module error (#1441)

EXTERNAL MAIL: noreply@github.commailto:noreply@github.com

@lucytang2017ushttps://github.com/lucytang2017us This error looks like a tcp socket error, occurred while the device was rebooting, there must be something that is resetting the connection, the playbook looks ok. Check your local network possibly?

@focrenshhttps://github.com/focrensh can you see if you can reproduce this in the lab ? if this is not reproducible then this will be down to the environment of the user

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/F5Networks/f5-ansible/issues/1441?email_source=notifications&email_token=AHLDQO5TYWZVUSNVBEV7K4LQDKKJZA5CNFSM4IJ3MKM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3X23GA#issuecomment-519024024, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHLDQO7PG6SLSVXPCCUBBO3QDKKJZANCNFSM4IJ3MKMQ.

wojtek0806 commented 5 years ago

we can only fix it if we can repro in our own test setup.

focrensh commented 5 years ago

@wojtek0806 I created a repro. I am opening an internal bug for this (FMFA-309), but its pending the error being something we can control from the ansible side.

lucytang2017us commented 5 years ago

Also failed in my VM, even though the BIG-IP showed upgraded with the hotfix:

TASK [Install a BIG-IP image] ** task path: /home/f5/ansible_project/playbooks/device_sw_install.yml:7

ESTABLISH LOCAL CONNECTION FOR USER: root EXEC /bin/sh -c 'echo ~root && sleep 0' EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147 `" && echo ansible-tmp-1565209056.55-20667700371147="` echo /root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147 `" ) && sleep 0' Using module file /usr/lib/python2.7/dist-packages/ansible/modules/network/f5/bigip_software_install.py PUT /home/f5/.ansible/tmp/ansible-local-22633p9hTnP/tmpij1e4Q TO /root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/AnsiballZ_bigip_software_install.py EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/ /root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/AnsiballZ_bigip_software_install.py && sleep 0' EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/AnsiballZ_bigip_software_install.py && sleep 0' EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/ > /dev/null 2>&1 && sleep 0' The full traceback is: Traceback (most recent call last): File "/root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/AnsiballZ_bigip_software_install.py", line 114, in _ansiballz_main() File "/root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/AnsiballZ_bigip_software_install.py", line 106, in _ansiballz_main invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS) File "/root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/AnsiballZ_bigip_software_install.py", line 49, in invoke_module imp.load_module('__main__', mod, module, MOD_DESC) File "/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py", line 500, in File "/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py", line 493, in main File "/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py", line 292, in exec_module File "/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py", line 313, in present File "/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py", line 377, in update File "/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py", line 411, in wait_for_device_reboot File "/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py", line 450, in read_volume_from_device File "/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/bigip.py", line 32, in api File "/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/bigip.py", line 56, in connect_via_token_auth File "/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/icontrol.py", line 238, in post File "/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/icontrol.py", line 193, in send File "/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/urls.py", line 1163, in open File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen return _opener.open(url, data, timeout) File "/usr/lib/python2.7/urllib2.py", line 404, in open response = self._open(req, data) File "/usr/lib/python2.7/urllib2.py", line 422, in _open '_open', req) File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain result = func(*args) File "/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/urls.py", line 356, in https_open File "/usr/lib/python2.7/urllib2.py", line 1184, in do_open raise URLError(err) urllib2.URLError: fatal: [10.1.1.246 -> localhost]: FAILED! => { "changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/AnsiballZ_bigip_software_install.py\", line 114, in \n _ansiballz_main()\n File \"/root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/AnsiballZ_bigip_software_install.py\", line 106, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/root/.ansible/tmp/ansible-tmp-1565209056.55-20667700371147/AnsiballZ_bigip_software_install.py\", line 49, in invoke_module\n imp.load_module('__main__', mod, module, MOD_DESC)\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py\", line 500, in \n File \"/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py\", line 493, in main\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py\", line 292, in exec_module\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py\", line 313, in present\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py\", line 377, in update\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py\", line 411, in wait_for_device_reboot\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/__main__.py\", line 450, in read_volume_from_device\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/bigip.py\", line 32, in api\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/bigip.py\", line 56, in connect_via_token_auth\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/icontrol.py\", line 238, in post\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/network/f5/icontrol.py\", line 193, in send\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/urls.py\", line 1163, in open\n File \"/usr/lib/python2.7/urllib2.py\", line 127, in urlopen\n return _opener.open(url, data, timeout)\n File \"/usr/lib/python2.7/urllib2.py\", line 404, in open\n response = self._open(req, data)\n File \"/usr/lib/python2.7/urllib2.py\", line 422, in _open\n '_open', req)\n File \"/usr/lib/python2.7/urllib2.py\", line 382, in _call_chain\n result = func(*args)\n File \"/tmp/ansible_bigip_software_install_payload_yA7000/ansible_bigip_software_install_payload.zip/ansible/module_utils/urls.py\", line 356, in https_open\n File \"/usr/lib/python2.7/urllib2.py\", line 1184, in do_open\n raise URLError(err)\nurllib2.URLError: \n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1 }