F5Networks / f5-ansible

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

Failed to read /var/config/rest/downloads/f5-appsvcs-3.14.0-4.noarch.rpm using Failed to read /var/config/rest/downloads/f5-appsvcs-3.14.0-4.noarch.rpm #1579

Closed carldubois closed 4 years ago

carldubois commented 4 years ago

After downloading the lx rpm into /var/config/rest/downloads/. the file currently has rw permission for root.

Module fails:

"msg": "Failed to analyze /var/config/rest/downloads/f5-appsvcs-3.14.0-4.noarch.rpm - java.lang.Exception: Failed to read /var/config/rest/downloads/f5-appsvcs-3.14.0-4.noarch.rpm"

Any resolution for this?

focrensh commented 4 years ago

Please provide the requested information when opening an issue.

Python Version Ansible Version Example playbook/Tasks used etc.

carldubois commented 4 years ago

python - 2.7.5 ansible - 2.8.6

Tried manual upload to ltm, failed for the same reason. Running 13.1 code

focrensh commented 4 years ago

I would recommend using our Ansible Role to install. It will upload the RPM and install it using the user permissions. My guess is that you uploaded the file as root and the permissions of running the playbook cannot read that file.

Role: https://galaxy.ansible.com/f5devcentral/f5app_services_package

carldubois commented 4 years ago

Sorry, looks like the location of the rpm was incorrect. Pulling from releases worked.

onurbrc commented 3 years ago

Hi @wojtek0806,

I'm having the same issue using bigip_lx_package.

ANSIBLE VERSION
Ansible 2.10.6
Collections 1.7.1
PYTHON VERSION
python3.8
BIGIP VERSION
Version     15.1.0.5
Build       0.0.8
BIG-IP VE
STEPS TO REPRODUCE

Trying to upload and install RPM package using the following playbook:

- name: Install package AS3
  hosts: BIGIPVE
  connection: local

  collections: 

      - f5networks.f5_modules 

  # Default connection variables
  environment:
    F5_USER: "{{ user | default('admin')  }}"
    F5_PASSWORD: "{{ password | default('admin')  }}"
    F5_SERVER: "{{ mgmtIp  }}"
    F5_SERVER_PORT: "{{ port | default(443) }}"
    F5_VALIDATE_CERTS: "no"

  tasks:
      - name: Install rpm AS3
        bigip_lx_package:
            state: present
            package: "{{ lookup('env','PWD') }}/{{ file_name }}"
        delegate_to: localhost

It seems that the package is correctly uploaded into the device:


[root@bigip:Active:Standalone] config # ls /var/config/rest/downloads/
f5-appsvcs-3.25.0-3.noarch.rpm  tmp

But I got an error for the install:

Failed to analyze /var/config/rest/downloads/f5-appsvcs-3.25.0-3.noarch.rpm - java.lang.Exception: Failed to read /var/config/rest/downloads/f5-appsvcs-3.25.0-3.noarch.rpm

Complete logs:

TASK [Install rpm file] *****************************************************************************************************************************************************************
task path: /home/ansible/playbooks/rmp_files.yaml:60
redirecting (type: action) ansible.builtin.bigip to f5networks.f5_modules.bigip
redirecting (type: action) ansible.builtin.bigip to f5networks.f5_modules.bigip
Loading collection ansible.netcommon from /home/ansible/.ansible/collections/ansible_collections/ansible/netcommon
<bigip> connection transport is rest
<bigip> ESTABLISH LOCAL CONNECTION FOR USER: ansible
<bigip> EXEC /bin/sh -c 'echo ~ansible && sleep 0'
<bigip> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/ansible/.ansible/tmp `"&& mkdir "` echo /home/ansible/.ansible/tmp/ansible-tmp-1612236233.055083-18189-148823409069164 `" && echo ansible-tmp-1612236233.055083-18189-148823409069164="` echo /home/ansible/.ansible/tmp/ansible-tmp-1612236233.055083-18189-148823409069164 `" ) && sleep 0'
redirecting (type: modules) ansible.builtin.bigip_lx_package to f5networks.f5_modules.bigip_lx_package
Including module_utils file ansible/__init__.py
Including module_utils file ansible/module_utils/__init__.py
Including module_utils file ansible/module_utils/basic.py
Including module_utils file ansible/module_utils/_text.py
Including module_utils file ansible/module_utils/common/_collections_compat.py
Including module_utils file ansible/module_utils/common/__init__.py
Including module_utils file ansible/module_utils/common/_json_compat.py
Including module_utils file ansible/module_utils/common/_utils.py
Including module_utils file ansible/module_utils/common/file.py
Including module_utils file ansible/module_utils/common/parameters.py
Including module_utils file ansible/module_utils/common/collections.py
Including module_utils file ansible/module_utils/common/process.py
Including module_utils file ansible/module_utils/common/sys_info.py
Including module_utils file ansible/module_utils/common/text/converters.py
Including module_utils file ansible/module_utils/common/text/__init__.py
Including module_utils file ansible/module_utils/common/text/formatters.py
Including module_utils file ansible/module_utils/common/validation.py
Including module_utils file ansible/module_utils/common/warnings.py
Including module_utils file ansible/module_utils/compat/selectors.py
Including module_utils file ansible/module_utils/compat/__init__.py
Including module_utils file ansible/module_utils/compat/_selectors2.py
Including module_utils file ansible/module_utils/distro/__init__.py
Including module_utils file ansible/module_utils/distro/_distro.py
Including module_utils file ansible/module_utils/parsing/convert_bool.py
Including module_utils file ansible/module_utils/parsing/__init__.py
Including module_utils file ansible/module_utils/pycompat24.py
Including module_utils file ansible/module_utils/six/__init__.py
Including module_utils file ansible/module_utils/urls.py
Including module_utils file ansible_collections/f5networks/f5_modules/plugins/module_utils/bigip.py
Including module_utils file ansible_collections/__init__.py
Including module_utils file ansible_collections/f5networks/__init__.py
Including module_utils file ansible_collections/f5networks/f5_modules/__init__.py
Including module_utils file ansible_collections/f5networks/f5_modules/plugins/__init__.py
Including module_utils file ansible_collections/f5networks/f5_modules/plugins/module_utils/__init__.py
Including module_utils file ansible_collections/f5networks/f5_modules/plugins/module_utils/common.py
Including module_utils file ansible/module_utils/connection.py
Including module_utils file ansible/module_utils/common/json.py
Including module_utils file ansible_collections/ansible/netcommon/plugins/module_utils/network/common/config.py
Including module_utils file ansible_collections/ansible/__init__.py
Including module_utils file ansible_collections/ansible/netcommon/__init__.py
Including module_utils file ansible_collections/ansible/netcommon/plugins/__init__.py
Including module_utils file ansible_collections/ansible/netcommon/plugins/module_utils/__init__.py
Including module_utils file ansible_collections/ansible/netcommon/plugins/module_utils/network/__init__.py
Including module_utils file ansible_collections/ansible/netcommon/plugins/module_utils/network/common/__init__.py
Including module_utils file ansible_collections/ansible/netcommon/plugins/module_utils/network/common/utils.py
Including module_utils file ansible/module_utils/common/network.py
Including module_utils file ansible_collections/f5networks/f5_modules/plugins/module_utils/constants.py
Including module_utils file ansible_collections/f5networks/f5_modules/plugins/module_utils/icontrol.py
Including module_utils file ansible_collections/f5networks/f5_modules/plugins/module_utils/teem.py
Using module file /home/ansible/.ansible/collections/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_lx_package.py
<bigip> PUT /home/ansible/.ansible/tmp/ansible-local-180354b54rggp/tmpcgskt43t TO /home/ansible/.ansible/tmp/ansible-tmp-1612236233.055083-18189-148823409069164/AnsiballZ_bigip_lx_package.py
<bigip> EXEC /bin/sh -c 'chmod u+x /home/ansible/.ansible/tmp/ansible-tmp-1612236233.055083-18189-148823409069164/ /home/ansible/.ansible/tmp/ansible-tmp-1612236233.055083-18189-148823409069164/AnsiballZ_bigip_lx_package.py && sleep 0'
<bigip> EXEC /bin/sh -c 'F5_USER=admin F5_PASSWORD=admin F5_SERVER=bigip.localdomain F5_SERVER_PORT=443 F5_VALIDATE_CERTS=no /usr/bin/python3 /home/ansible/.ansible/tmp/ansible-tmp-1612236233.055083-18189-148823409069164/AnsiballZ_bigip_lx_package.py && sleep 0'
<bigip> EXEC /bin/sh -c 'rm -f -r /home/ansible/.ansible/tmp/ansible-tmp-1612236233.055083-18189-148823409069164/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
  File "/tmp/ansible_bigip_lx_package_payload_fgnhy4hr/ansible_bigip_lx_package_payload.zip/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_lx_package.py", line 498, in main
  File "/tmp/ansible_bigip_lx_package_payload_fgnhy4hr/ansible_bigip_lx_package_payload.zip/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_lx_package.py", line 219, in exec_module
  File "/tmp/ansible_bigip_lx_package_payload_fgnhy4hr/ansible_bigip_lx_package_payload.zip/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_lx_package.py", line 233, in present
  File "/tmp/ansible_bigip_lx_package_payload_fgnhy4hr/ansible_bigip_lx_package_payload.zip/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_lx_package.py", line 263, in create
  File "/tmp/ansible_bigip_lx_package_payload_fgnhy4hr/ansible_bigip_lx_package_payload.zip/ansible_collections/f5networks/f5_modules/plugins/modules/bigip_lx_package.py", line 416, in create_on_device
fatal: [bigip]: FAILED! => {
    "changed": false,
    "invocation": {
        "module_args": {
            "package": "/home/ansible/f5-appsvcs-3.25.0-3.noarch.rpm",
            "provider": {
                "auth_provider": null,
                "no_f5_teem": null,
                "password": null,
                "server": null,
                "server_port": null,
                "timeout": null,
                "transport": "rest",
                "user": null,
                "validate_certs": null
            },
            "retain_package_file": true,
            "state": "present"
        }
    },
    "msg": "Failed to analyze /var/config/rest/downloads/f5-appsvcs-3.25.0-3.noarch.rpm - java.lang.Exception: Failed to read /var/config/rest/downloads/f5-appsvcs-3.25.0-3.noarch.rpm"
}

Thanks for your help.