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

aci_config_rollback Attribute Error: NoneType object has no attribute read #16

Closed
aciguru opened this issue Apr 14, 2020 · 1 comment · Fixed by #450
Closed

aci_config_rollback Attribute Error: NoneType object has no attribute read #16

aciguru opened this issue Apr 14, 2020 · 1 comment · Fixed by #450
Assignees
Labels
enhancement New feature or request

Comments

@aciguru
Copy link
Contributor

aciguru commented Apr 14, 2020

SUMMARY
Trying to compare to Cisco APIC Snapshots using aci_config_rollback module

ISSUE TYPE
task path:

/data/tools/ansible/playbooks/roles/cisco.apic/tasks/compare_snapshots.yml:20
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-1559753113.2-180977196103710" && echo ansible-tmp-1559753113.2-180977196103710="echo /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710" ) && sleep 0'
Using module file /usr/lib/python2.7/site-packages/ansible/modules/network/aci/aci_config_rollback.py
PUT /root/.ansible/tmp/ansible-local-4142tNAUms/tmpuI5x6D TO /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py
EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/ /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py && sleep 0'
EXEC /bin/sh -c '/usr/bin/python2 /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py && sleep 0'
EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
File "/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py", line 113, in
_ansiballz_main()
File "/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py", line 105, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py", line 48, in invoke_module
imp.load_module('main', mod, module, MOD_DESC)
File "/tmp/ansible_aci_config_rollback_payload_ZNJN9z/main.py", line 309, in
File "/tmp/ansible_aci_config_rollback_payload_ZNJN9z/main.py", line 273, in main
File "/tmp/ansible_aci_config_rollback_payload_ZNJN9z/main.py", line 292, in get_preview
AttributeError: 'NoneType' object has no attribute 'read'

fatal: [localhost -> localhost]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File "/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py", line 113, in \n _ansiballz_main()\n File "/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py", line 105, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File "/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py", line 48, in invoke_module\n imp.load_module('main', mod, module, MOD_DESC)\n File "/tmp/ansible_aci_config_rollback_payload_ZNJN9z/main.py", line 309, in \n File "/tmp/ansible_aci_config_rollback_payload_ZNJN9z/main.py", line 273, in main\n File "/tmp/ansible_aci_config_rollback_payload_ZNJN9z/main.py", line 292, in get_preview\nAttributeError: 'NoneType' object has no attribute 'read'\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
to retry, use: --limit @/data/tools/ansible/playbooks/roles/cisco.apic/tasks/compare_snapshots.retry

COMPONENT NAME
aci_config_rollback

Snippet from module page:

name: Compare Snapshot Files
aci_config_rollback:
host: apic
username: admin
password: SomeSecretPassword
export_policy: config_backup
snapshot: run-2017-08-28T06-24-01
compare_export_policy: config_backup
compare_snapshot: run-2017-08-27T23-43-56
state: preview
delegate_to: localhost

ANSIBLE VERSION
ansible 2.7.10
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Mar 26 2019, 22:13:06) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

CONFIGURATION
[root@localhost tasks]# ansible-config dump --only-changed
[root@localhost tasks]#

OS / ENVIRONMENT
Target is Cisco APIC

STEPS TO REPRODUCE
replace snapshot and compare_snapshot fields with your snapshot names

---
- name: Compare ACI Snapshots
  hosts: localhost
  gather_facts: true

  - name: Compare APIC Snapshot
    aci_config_rollback:
      host: x.x.x.x
      username: admin
      password: 
      export_policy: config_backup
      snapshot: run-2019-02-05T19-28-56
      compare_export_policy: config_backup
      compare_snapshot: run-2019-02-07T22-34-49
      state: preview
      validate_certs: no
    delegate_to: localhost
    register: snapshot_compare_result

  - name: Print Snapshot Compare Results
    debug:
      msg: "{{ snapshot_compare_result }}"

EXPECTED RESULTS
Expected to see snapshot comparison results

ACTUAL RESULTS
Error - MUDULE FAILURE

task path: /data/tools/ansible/playbooks/roles/cisco.apic/tasks/compare_snapshots.yml:20
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<localhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710 `" && echo ansible-tmp-1559753113.2-180977196103710="` echo /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710 `" ) && sleep 0'
Using module file /usr/lib/python2.7/site-packages/ansible/modules/network/aci/aci_config_rollback.py
<localhost> PUT /root/.ansible/tmp/ansible-local-4142tNAUms/tmpuI5x6D TO /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py
<localhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/ /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/python2 /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py && sleep 0'
<localhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
Traceback (most recent call last):
  File "/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py", line 113, in <module>
    _ansiballz_main()
  File "/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py", line 105, in _ansiballz_main
    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
  File "/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py", line 48, in invoke_module
    imp.load_module('__main__', mod, module, MOD_DESC)
  File "/tmp/ansible_aci_config_rollback_payload_ZNJN9z/__main__.py", line 309, in <module>
  File "/tmp/ansible_aci_config_rollback_payload_ZNJN9z/__main__.py", line 273, in main
  File "/tmp/ansible_aci_config_rollback_payload_ZNJN9z/__main__.py", line 292, in get_preview
AttributeError: 'NoneType' object has no attribute 'read'

fatal: [localhost -> localhost]: FAILED! => {
    "changed": false, 
    "module_stderr": "Traceback (most recent call last):\n  File \"/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py\", line 113, in <module>\n    _ansiballz_main()\n  File \"/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py\", line 105, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/root/.ansible/tmp/ansible-tmp-1559753113.2-180977196103710/AnsiballZ_aci_config_rollback.py\", line 48, in invoke_module\n    imp.load_module('__main__', mod, module, MOD_DESC)\n  File \"/tmp/ansible_aci_config_rollback_payload_ZNJN9z/__main__.py\", line 309, in <module>\n  File \"/tmp/ansible_aci_config_rollback_payload_ZNJN9z/__main__.py\", line 273, in main\n  File \"/tmp/ansible_aci_config_rollback_payload_ZNJN9z/__main__.py\", line 292, in get_preview\nAttributeError: 'NoneType' object has no attribute 'read'\n", 
    "module_stdout": "", 
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", 
    "rc": 1
}
	to retry, use: --limit @/data/tools/ansible/playbooks/roles/cisco.apic/tasks/compare_snapshots.retry

Linked to #8

@aciguru
Copy link
Contributor Author

aciguru commented Apr 14, 2020

ansible/ansible#57417

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants