theforeman / foreman-ansible-modules

Ansible modules for interacting with the Foreman API and various plugin APIs such as Katello
GNU General Public License v3.0
145 stars 162 forks source link

Task does not read file #1722

Closed techietubby closed 3 months ago

techietubby commented 3 months ago
SUMMARY

I can manually create the template using the UI but not with Ansible. The variables in my playbook work for all other tasks.

TASK [hammer : Hammer | Create secure partition table (file)] ******************************************************************************************
fatal: [foreman.xxx.com]: FAILED! => {"changed": false, "msg": "Error while reading template file: [Errno 2] No such file or directory: '/ansible/foreman/roles/hammer/files/kickstart_secure.erb'"}
...ignoring
Perform task: TASK: hammer : Hammer | Create installation media (N)o/(y)es/(c)ontinue: ^C [ERROR]: User interrupted execution
root@proxmox:/ansible/foreman# ls /ansible/foreman/roles/hammer/files/kickstart_secure.erb
/ansible/foreman/roles/hammer/files/kickstart_secure.erb
ISSUE TYPE
ANSIBLE VERSION
# ansible --version
ansible [core 2.14.3]
  config file = None
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] (/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True
COLLECTION VERSION
# /usr/lib/python3/dist-packages/ansible_collections
Collection                    Version
----------------------------- -------
amazon.aws                    5.2.0
ansible.netcommon             4.1.0
ansible.posix                 1.5.1
ansible.utils                 2.9.0
ansible.windows               1.13.0
arista.eos                    6.0.0
awx.awx                       21.12.0
azure.azcollection            1.14.0
check_point.mgmt              4.0.0
chocolatey.chocolatey         1.4.0
cisco.aci                     2.4.0
cisco.asa                     4.0.0
cisco.dnac                    6.6.3
cisco.intersight              1.0.23
cisco.ios                     4.3.1
cisco.iosxr                   4.1.0
cisco.ise                     2.5.12
cisco.meraki                  2.15.1
cisco.mso                     2.2.1
cisco.nso                     1.0.3
cisco.nxos                    4.1.0
cisco.ucs                     1.8.0
cloud.common                  2.1.2
cloudscale_ch.cloud           2.2.4
community.aws                 5.2.0
community.azure               2.0.0
community.ciscosmb            1.0.5
community.crypto              2.11.0
community.digitalocean        1.23.0
community.dns                 2.5.1
community.docker              3.4.2
community.fortios             1.0.0
community.general             6.4.0
community.google              1.0.0
community.grafana             1.5.4
community.hashi_vault         4.1.0
community.hrobot              1.7.0
community.libvirt             1.2.0
community.mongodb             1.5.1
community.mysql               3.6.0
community.network             5.0.0
community.okd                 2.3.0
community.postgresql          2.3.2
community.proxysql            1.5.1
community.rabbitmq            1.2.3
community.routeros            2.7.0
community.sap                 1.0.0
community.sap_libs            1.4.0
community.skydive             1.0.0
community.sops                1.6.1
community.vmware              3.4.0
community.windows             1.12.0
community.zabbix              1.9.2
containers.podman             1.10.1
cyberark.conjur               1.2.0
cyberark.pas                  1.0.17
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
dellemc.powerflex             1.5.0
dellemc.unity                 1.5.0
f5networks.f5_modules         1.22.1
fortinet.fortimanager         2.1.7
fortinet.fortios              2.2.2
frr.frr                       2.0.0
gluster.gluster               1.0.2
google.cloud                  1.1.2
grafana.grafana               1.1.1
hetzner.hcloud                1.10.0
hpe.nimble                    1.1.4
ibm.qradar                    2.1.0
ibm.spectrum_virtualize       1.11.0
infinidat.infinibox           1.3.12
infoblox.nios_modules         1.4.1
inspur.ispim                  1.3.0
inspur.sm                     2.3.0
junipernetworks.junos         4.1.0
kubernetes.core               2.4.0
lowlydba.sqlserver            1.3.1
mellanox.onyx                 1.0.0
netapp.aws                    21.7.0
netapp.azure                  21.10.0
netapp.cloudmanager           21.22.0
netapp.elementsw              21.7.0
netapp.ontap                  22.3.0
netapp.storagegrid            21.11.1
netapp.um_info                21.8.0
netapp_eseries.santricity     1.4.0
netbox.netbox                 3.11.0
ngine_io.cloudstack           2.3.0
ngine_io.exoscale             1.0.0
ngine_io.vultr                1.1.3
openstack.cloud               1.10.0
openvswitch.openvswitch       2.1.0
ovirt.ovirt                   2.4.1
purestorage.flasharray        1.17.0
purestorage.flashblade        1.10.0
purestorage.fusion            1.3.0
sensu.sensu_go                1.13.2
splunk.es                     2.1.0
t_systems_mms.icinga_director 1.32.0
theforeman.foreman            3.9.0
vmware.vmware_rest            2.2.0
vultr.cloud                   1.7.0
vyos.vyos                     4.0.0
wti.remote                    1.0.4
KATELLO/FOREMAN VERSION
# rpm -q tfm-rubygem-katello foreman
package tfm-rubygem-katello is not installed
foreman-3.9.1-1.el8.noarch
[root@foreman ~]# yum install tfm-rubygem-katello
Last metadata expiration check: 1:40:45 ago on Mon 25 Mar 2024 07:22:39 CET.
No match for argument: tfm-rubygem-katello
Error: Unable to find a match: tfm-rubygem-katello
STEPS TO REPRODUCE

- name: Hammer | Create installation media
  theforeman.foreman.installation_medium:
    name:        "{{ item.name }}"
    locations:
      - "{{ hammer.location.name }}"
    organizations:
      - "{{ hammer.organisation.name|default('NotSet') }}"
    operatingsystems:
      - "{{ item.os }} {{ item.major }}"
    path:        "{{ item.url }}"
    server_url:  "https://{{ system_host_name }}"
    username:    "{{ hammer.username|default('NotSet') }}"
    password:    "{{ hammer.password|default('NotSet') }}"
    state: present
  with_items:
  - "{{ media }}"
  ignore_errors: true
  tags: hammer
EXPECTED RESULTS

Partition table is created.

ACTUAL RESULTS
TASK [hammer : Hammer | Create secure partition table] *************************************************************************************************
fatal: [foreman.xxx.com]: FAILED! => {"changed": false, "msg": "Error while reading template file: [Errno 2] No such file or directory: '/ansible/foreman/roles/hammer/files/kickstart_secure.erb'"}

ls /ansible/foreman/roles/hammer/files/kickstart_secure.erb finds the file.

evgeni commented 3 months ago

does /ansible/foreman/roles/hammer/files/kickstart_secure.erb exist on the foreman.xxx.com host? Your ls shows it on proxmox, but is that the same thing? The module looks for the file on the system it's executed against, and that is foreman.xxx.com.

techietubby commented 3 months ago

Hi, Yes I found this eventually. The strange thing was I then got another error and it turned-out to be a typo in the .ERB file.