Description of problem: When running ansible playbook on host, debug message which is supposed to contain parameters coming from Foreman is not fully printed Version-Release number of selected component (if applicable): satellite-6.4.0-3.beta.el7sat.noarch ansible-2.4.2.0-2.el7.noarch rubygem-smart_proxy_ansible-2.0.2-3.el7sat.noarch tfm-rubygem-foreman_ansible-2.0.4-1.el7sat.noarch tfm-rubygem-foreman_ansible_core-2.0.2-1.el7sat.noarch How reproducible: always Steps to Reproduce: 1. Have a Sat with ansible role imported (I have used "linuxhq.setup" from Galaxy) 2. Add host parameter "setup_motd: Hello world" 3. Click "Run Ansible roles" button Actual results: TASK [debug] ******************************************************************* ok: [rhel74.example.com] => { "msg": "These" } Expected results: Whole message with params should be printed Additional info: [root@sat640snap1 ~]# cat /tmp/foreman-playbook-48454835-a67f-4b5f-ad57-075074e3e467.yml --- - hosts: rhel74.example.com tasks: - debug: msg=These are the parameters "{{ foreman_params }}" roles: - linuxhq.setup [root@sat640snap1 ~]# cat /tmp/foreman-inventories/48454835-a67f-4b5f-ad57-075074e3e467 | json_reformat { "all": { "hosts": [ "rhel74.example.com" ], "vars": { } }, "_meta": { "hostvars": { "rhel74.example.com": { "foreman": { "ip": "192.168.122.223", "ip6": "", "environment_id": null, "environment_name": null, "last_report": null, "mac": "52:54:00:b4:11:58", "realm_id": null, "realm_name": null, "sp_mac": null, "sp_ip": null, "sp_name": null, "domain_id": 1, "domain_name": "example.com", "architecture_id": 1, "architecture_name": "x86_64", "operatingsystem_id": 2, "operatingsystem_name": "RedHat 7.4", "subnet_id": null, "subnet_name": null, "subnet6_id": null, "subnet6_name": null, "sp_subnet_id": null, "ptable_id": null, "ptable_name": null, "medium_id": null, "medium_name": null, "pxe_loader": null, "build": false, "comment": "", "disk": null, "installed_at": null, "model_id": 1, "hostgroup_id": null, "owner_id": 4, "owner_name": "Admin User", "owner_type": "User", "enabled": true, "managed": false, "use_image": null, "image_file": "", "uuid": null, "compute_resource_id": null, "compute_resource_name": null, "compute_profile_id": null, "compute_profile_name": null, "capabilities": [ "build" ], "provision_method": "build", "certname": "rhel74.example.com", "image_id": null, "image_name": null, "created_at": "2018-05-02T12:52:14.722Z", "updated_at": "2018-05-03T10:35:13.000Z", "last_compile": "2018-05-02T18:59:36.000Z", "global_status": 2, "global_status_label": "Error", "organization_id": 1, "organization_name": "Default Organization", "location_id": 2, "location_name": "Default Location", "puppet_status": 0, "model_name": "Standard PC (i440FX + PIIX, 1996)", "execution_status": 0, "execution_status_label": "Last execution succeeded", "errata_status": 1, "errata_status_label": "Could not calculate errata status, ensure host is registered and the katello-host-tools package is installed", "subscription_status": 2, "subscription_status_label": "Unentitled", "name": "rhel74.example.com", "id": 2, "puppet_proxy_id": null, "puppet_proxy_name": null, "puppet_ca_proxy_id": null, "puppet_ca_proxy_name": null, "openscap_proxy_id": null, "openscap_proxy_name": null, "puppet_proxy": null, "puppet_ca_proxy": null, "openscap_proxy": null, "hostgroup_name": null, "hostgroup_title": null, "content_facet_attributes": { "id": 1, "uuid": "3e79fe01-aff4-462d-9780-1c4d685ab02a", "content_view_id": 1, "content_view_name": "Default Organization View", "lifecycle_environment_id": 1, "lifecycle_environment_name": "Library", "content_source_id": null, "content_source_name": null, "kickstart_repository_id": null, "kickstart_repository_name": null, "errata_counts": { "security": 0, "bugfix": 0, "enhancement": 0, "total": 0 }, "applicable_package_count": 0, "upgradable_package_count": 0, "content_view": { "id": 1, "name": "Default Organization View" }, "lifecycle_environment": { "id": 1, "name": "Library" }, "content_source": null, "kickstart_repository": null }, "subscription_global_status": 2, "subscription_facet_attributes": { "id": 3, "uuid": "3e79fe01-aff4-462d-9780-1c4d685ab02a", "last_checkin": "2018-05-03T10:12:49.144Z", "service_level": "", "release_version": null, "autoheal": true, "registered_at": "2018-05-02T13:28:29.000Z", "registered_through": "sat640snap1.example.com", "user": { "id": 4, "login": "admin" } } }, "foreman_params": { "setup_moth": "Hello world", "remote_execution_ssh_keys": [ "ssh-rsa A...D foreman-proxy.com" ], "remote_execution_ssh_user": "root", "remote_execution_effective_user_method": "sudo", "remote_execution_connect_by_ip": false }, "foreman_ansible_roles": [ "linuxhq.setup" ], "ansible_connection": "ssh", "ansible_ssh_private_key_file": "~/.ssh/id_rsa_foreman_proxy", "ansible_winrm_server_cert_validation": "validate", "ansible_become": null, "ansible_user": "root", "ansible_ssh_pass": null, "ansible_port": "22", "ansible_ssh_port": "22", "ansible_ssh_user": "root", "remote_execution_ssh_user": "root", "remote_execution_effective_user_method": "sudo" } } } }
This problem is already solved in snap_6.4.0_5.0. I little edit topic of this bug. This debug works only when the playbook is pass. When there is a problem (in roles), debug of variables does not work. Ansible executes roles at first and tasks after that. When we change tasks to pre_tasks, it is executed before roles and we can debug varibales. ORIGINAL: tasks: - name: Display all parameters known for the Foreman host debug: var: foreman_params ... ---------------------- NEW VERSION: pre_tasks: - name: Display all parameters known for the Foreman host debug: var: foreman_params ...
Created redmine issue http://projects.theforeman.org/issues/25462 from this bug
Upstream bug assigned to oprazak
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/25462 has been resolved.
FailedQA. @Satellite-6.6.0 Snap9 tfm-rubygem-foreman_ansible-3.0.3-3.el7sat.noarch # sed 1,11d /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_ansible-*/app/views/foreman_ansible/job_templates/ansible_roles_-_ansible_default.erb --- - hosts: all pre_tasks: - name: Display all parameters known for the Foreman host debug: var: foreman_params roles: <%- if @host.all_ansible_roles.present? -%> <%= @host.all_ansible_roles.map { |role| " - #{role.name.strip}" }.join("\n") %> <%- end -%> >>> the fix (debug in pre_tasks) made it into compose ------- 1: 2:PLAY [all] ********************************************************************* 3: 4:TASK [Gathering Facts] ********************************************************* 5:ok: [host1.example.com] 6: 7:TASK [Display all parameters known for the Foreman host] *********************** 8:ok: [host1.example.com] => { 9: "foreman_params": "VARIABLE IS NOT DEFINED!" 10:} 11:PLAY RECAP ********************************************************************* 12:host1.example.com : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 13:Exit status: 0 ------ >>> debug msg is quite useless "foreman_params": "VARIABLE IS NOT DEFINED!"
in Snap10
Connecting redmine issue https://projects.theforeman.org/issues/27317 from this bug
The job template was not updated, the fix is to use 'foreman' instead of 'foreman_params' as a debug var.
VERIFIED. @Satellite 6.6.0 Snap18 tfm-rubygem-foreman_ansible-3.0.6-2.el7sat.noarch ------ 1: 2: PLAY [all] ********************************************************************* 3: 4: TASK [Gathering Facts] ********************************************************* 5: ok: [host1.example.com] 6: 7: TASK [Display all parameters known for the Foreman host] *********************** 8: ok: [host1.example.com] => 9: foreman: 10: content_view: Default_Organization_View 11: content_view_info: 12: components: {} 13: label: Default_Organization_View 14: latest-version: '1.0' 15: published: '2019-08-28T15:52:17.821Z' 16: version: '1.0' 17: domainname: example.com 18: foreman_config_groups: [] 19: foreman_host_collections: [] 20: foreman_interfaces: 21: - attached_to: null 22: attrs: 23: active: true 24: device: ens3 25: features: 26: busy_poll: off [fixed] 27: fcoe_mtu: off [fixed] .... 188: PLAY RECAP ********************************************************************* 189: host1.example.com : ok=14 changed=0 unreachable=0 failed=0 skipped=6 rescued=0 ignored=0 190: 191: Exit status: 0 >>> there is quite verbose debug info for the host play
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2019:3172