ansible-middleware / amq

A collection to manage AMQ brokers
Apache License 2.0
16 stars 11 forks source link

fastpackages.yml:4 fatal: [xxxxxx]: FAILED! => {"changed": true, "msg": "Unsupported parameters for (ansible.legacy.command) module: warn #37

Closed RobertFloor closed 1 year ago

RobertFloor commented 1 year ago
SUMMARY

We were trying the lattest version. The latest version has a problem with the fast images task. Somehow the command does not work. The error is:

/home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/fastpackages.yml:4 fatal: [xxxxxx]: FAILED! => {"changed": true, "msg": "Unsupported parameters for (ansible.legacy.command) module: warn. Supported parameters include: executable, _uses_shell, strip_empty_ends, stdin_add_newline, stdin, removes, chdir, argv, creates, _raw_params."}

ISSUE TYPE
ANSIBLE VERSION
[default@6d339d7a0171 app]$ ansible --version
ansible [core 2.14.1]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/default/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/default/.local/lib/python3.9/site-packages/ansible
  ansible collection location = /home/default/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/default/.local/bin/ansible
  python version = 3.9.13 (main, Nov  9 2022, 13:16:24) [GCC 8.5.0 20210514 (Red Hat 8.5.0-15)] (/usr/bin/python3.9)
  jinja version = 3.1.2
  libyaml = True
COLLECTION VERSION
[default@6d339d7a0171 app]$ ansible-galaxy collection list

# /home/default/.local/lib/python3.9/site-packages/ansible_collections
Collection                    Version
----------------------------- -------
amazon.aws                    5.1.0
ansible.netcommon             4.1.0
ansible.posix                 1.4.0
ansible.utils                 2.8.0
ansible.windows               1.12.0
arista.eos                    6.0.0
awx.awx                       21.10.0
azure.azcollection            1.14.0
check_point.mgmt              4.0.0
chocolatey.chocolatey         1.3.1
cisco.aci                     2.3.0
cisco.asa                     4.0.0
cisco.dnac                    6.6.1
cisco.intersight              1.0.22
cisco.ios                     4.0.0
cisco.iosxr                   4.0.3
cisco.ise                     2.5.9
cisco.meraki                  2.13.0
cisco.mso                     2.1.0
cisco.nso                     1.0.3
cisco.nxos                    4.0.1
cisco.ucs                     1.8.0
cloud.common                  2.1.2
cloudscale_ch.cloud           2.2.3
community.aws                 5.0.0
community.azure               2.0.0
community.ciscosmb            1.0.5
community.crypto              2.9.0
community.digitalocean        1.22.0
community.dns                 2.4.2
community.docker              3.3.1
community.fortios             1.0.0
community.general             6.1.0
community.google              1.0.0
community.grafana             1.5.3
community.hashi_vault         4.0.0
community.hrobot              1.6.0
community.libvirt             1.2.0
community.mongodb             1.4.2
community.mysql               3.5.1
community.network             5.0.0
community.okd                 2.2.0
community.postgresql          2.3.1
community.proxysql            1.4.0
community.rabbitmq            1.2.3
community.routeros            2.5.0
community.sap                 1.0.0
community.sap_libs            1.4.0
community.skydive             1.0.0
community.sops                1.5.0
community.vmware              3.2.0
community.windows             1.11.1
community.zabbix              1.9.0
containers.podman             1.10.1
cyberark.conjur               1.2.0
cyberark.pas                  1.0.14
dellemc.enterprise_sonic      2.0.0
dellemc.openmanage            6.3.0
dellemc.os10                  1.1.1
dellemc.os6                   1.0.7
dellemc.os9                   1.0.4
f5networks.f5_modules         1.21.0
fortinet.fortimanager         2.1.7
fortinet.fortios              2.2.1
frr.frr                       2.0.0
gluster.gluster               1.0.2
google.cloud                  1.0.2
grafana.grafana               1.1.0
hetzner.hcloud                1.9.0
hpe.nimble                    1.1.4
ibm.qradar                    2.1.0
ibm.spectrum_virtualize       1.10.0
infinidat.infinibox           1.3.12
infoblox.nios_modules         1.4.1
inspur.ispim                  1.2.0
inspur.sm                     2.3.0
junipernetworks.junos         4.1.0
kubernetes.core               2.3.2
lowlydba.sqlserver            1.2.1
mellanox.onyx                 1.0.0
netapp.aws                    21.7.0
netapp.azure                  21.10.0
netapp.cloudmanager           21.21.0
netapp.elementsw              21.7.0
netapp.ontap                  22.0.1
netapp.storagegrid            21.11.1
netapp.um_info                21.8.0
netapp_eseries.santricity     1.3.1
netbox.netbox                 3.9.0
ngine_io.cloudstack           2.3.0
ngine_io.exoscale             1.0.0
ngine_io.vultr                1.1.2
openstack.cloud               1.10.0
openvswitch.openvswitch       2.1.0
ovirt.ovirt                   2.4.1
purestorage.flasharray        1.15.0
purestorage.flashblade        1.10.0
purestorage.fusion            1.2.0
sensu.sensu_go                1.13.1
splunk.es                     2.1.0
t_systems_mms.icinga_director 1.31.4
theforeman.foreman            3.7.0
vmware.vmware_rest            2.2.0
vultr.cloud                   1.3.1
vyos.vyos                     4.0.0
wti.remote                    1.0.4

# /home/default/.ansible/collections/ansible_collections
Collection                                Version
----------------------------------------- -------
ansible.posix                             1.4.0
community.general                         6.1.0
middleware_automation.amq                 1.1.0
middleware_automation.redhat_csp_download 1.2.2
STEPS TO REPRODUCE

Run the latest latest amq with the following playbook

all:
  children:
    amq:
      children:
        ha1:
          hosts: xxxx
        ha2:
          hosts: xxxx
      vars:
        activemq_configure_firewalld: True
        activemq_prometheus_enabled: False
        activemq_cors_strict_checking: False
        activemq_ha_enabled: true
        activemq_shared_storage: true
        activemq_shared_storage_path: /data/amq-broker/shared
        ansible_user: xxxxx
        ansible_ssh_private_key_file: hostfiles/privkey
        activemq_offline_install: True
        activemq_version: 7.10.0
        activemq_dest: /opt/amq
        activemq_archive: "amq-broker-{{ activemq_version }}-bin.zip"
        activemq_installdir: "{{ activemq_dest }}/amq-broker-{{ activemq_version }}"
        activemq_shared_storage_mounted: true
EXPECTED RESULTS
ACTUAL RESULTS
TASK [middleware_automation.amq.activemq : Check prerequisites] ****************
task path: /home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/main.yml:2
included: /home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/prereqs.yml for 10.226.22.41, 10.226.22.40

TASK [middleware_automation.amq.activemq : Validate credentials] ***************
task path: /home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/prereqs.yml:18
ok: [10.226.22.41] => {"changed": false, "msg": "Installing activemq"}
ok: [10.226.22.40] => {"changed": false, "msg": "Installing activemq"}

TASK [middleware_automation.amq.activemq : Validate TLS config] ****************
task path: /home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/prereqs.yml:27
skipping: [10.226.22.41] => {"changed": false, "skip_reason": "Conditional result was False"}
skipping: [10.226.22.40] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [middleware_automation.amq.activemq : Validate TLS mutual auth config] ****
task path: /home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/prereqs.yml:36
skipping: [10.226.22.41] => {"changed": false, "skip_reason": "Conditional result was False"}
skipping: [10.226.22.40] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [middleware_automation.amq.activemq : Ensure required packages are installed] ***
task path: /home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/prereqs.yml:46
included: /home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/fastpackages.yml for 10.226.22.41, 10.226.22.40

TASK [middleware_automation.amq.activemq : Check if packages are already installed] ***
task path: /home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/fastpackages.yml:4
fatal: [10.226.22.40]: FAILED! => {"changed": true, "msg": "Unsupported parameters for (ansible.legacy.command) module: warn. Supported parameters include: executable, _uses_shell, strip_empty_ends, stdin_add_newline, stdin, removes, chdir, argv, creates, _raw_params."}
fatal: [10.226.22.41]: FAILED! => {"changed": true, "msg": "Unsupported parameters for (ansible.legacy.command) module: warn. Supported parameters include: stdin, removes, strip_empty_ends, stdin_add_newline, _raw_params, _uses_shell, chdir, argv, executable, creates."}

TASK [middleware_automation.amq.activemq : Add missing packages to the yum install list] ***
task path: /home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/fastpackages.yml:12
fatal: [10.226.22.41]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'stdout_lines'. 'dict object' has no attribute 'stdout_lines'\n\nThe error appears to be in '/home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/fastpackages.yml': line 12, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n  rescue:\n    - name: \"Add missing packages to the yum install list\"\n      ^ here\n"}
fatal: [10.226.22.40]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'stdout_lines'. 'dict object' has no attribute 'stdout_lines'\n\nThe error appears to be in '/home/default/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/fastpackages.yml': line 12, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n  rescue:\n    - name: \"Add missing packages to the yum install list\"\n      ^ here\n"}

PLAY RECAP *********************************************************************
10.226.22.40               : ok=12   changed=1    unreachable=0    failed=1    skipped=2    rescued=1    ignored=0   
10.226.22.41               : ok=12   changed=1    unreachable=0    failed=1    skipped=2    rescued=1    ignored=0 
RobertFloor commented 1 year ago

Somehow the problem is in the middleware_automation.amq version, the command

ansible-galaxy collection install middleware_automation.amq

installs version 1.1.0

ansible-galaxy collection build amq
ansible-galaxy collection install middleware_automation-amq-*.tar.gz

instead installs the latest version: 1.1.1

guidograzioli commented 1 year ago

1.1.1 is still unreleased link (expect the release to galaxy today or tomorrow); when you build from the clone you build something you can define as 1.1.1-devel. As for the Unsupported parameters for (ansible.legacy.command) module: warn, it is something that stopped working in between ansible 2.12 and 2.14, I am currently do a round robin of all our collection to amend

RobertFloor commented 1 year ago

Thanks that should fix it