Description of problem: On default installation when i run # foreman-rake rh_cloud_inventory:report:generate organization_id=1 --trace i will get traceback below ** Invoke rh_cloud_inventory:report:generate (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute rh_cloud_inventory:report:generate I, [timestamp #1] INFO -- : Started generating hosts report in /tmp/<hash> I, [timestamp #1] INFO -- : Report generation finished I, [timestamp #1] INFO -- : Archiving generated report I, [timestamp #1] INFO -- : tar: tar (child): /usr/share/foreman/report_for_1.tar.gz: Cannot open: Permission denied <<<<<<<<<< tar (child): Error is not recoverable: exiting now ./ ./metadata.json I, [timestamp #1] INFO -- : Tar command failed: pid 1 exit 0 Successfully generated /usr/share/foreman/report_for_1.tar.gz for organization id 1 # ls -al /usr/share/foreman/report_for_1.tar.gz ls: cannot access /usr/share/foreman/report_for_1.tar.gz: No such file or directory Version-Release number of selected component (if applicable): tfm-rubygem-foreman_rh_cloud-2.0.13.1-1.el7sat.noarch How reproducible: Always Steps to Reproduce: 1. Install satellite with rh_cloud 2. try to generate report with foreman-rake Actual results: INFO -- : tar: tar (child): /usr/share/foreman/report_for_1.tar.gz: Cannot open: Permission denied Expected results: No permission issue Additional info: Currently workarounded with # chown root:foreman /usr/share/foreman # chmod g+w /usr/share/foreman As foreman do not have permissions to write to its own homefolder it will always fail. So a) it should write report to some folder with write access b) its homefolder should have write access for foreman user
It's because the "current" folder is not writable by the user. You can specify another folder by setting "target=/writable/path" in the command. For example: foreman-rake rh_cloud_inventory:report:generate organization_id=1 target=/tmp/whatever/you/want
I can be in whatever folder i want, but because command does su foreman, default target folder will be always foreman ~ and it is not writable by foreman user. So you basically saying that i always must use target= because default target have permissions issues ? I don't think that is correct approach, in that case default target should be for example /tmp.
Also true. I'll probably add a default value to the target variable. At least you have a workaround. Thanks for reporting!
That seems sufficient to me. Thank you
Verified: Verified with: - Satellite 6.9.3 snap 3 - tfm-rubygem-foreman_rh_cloud-3.0.22-1.el7sat.noarch Test steps: - Run "foreman-rake rh_cloud_inventory:report:generate organization_id=1 --trace" Observation: - archive/report generated successfully. - rh_cloud_inventory:report:generate foreman-rake command uses /tmp directory for writing reports to. [root@dhcp-3-27 ~]# foreman-rake rh_cloud_inventory:report:generate organization_id=1 --trace ** Invoke rh_cloud_inventory:report:generate (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute rh_cloud_inventory:report:generate /usr/share/foreman is not writable by the current process Using /tmp/d20210617-35622-k5fu82 for the output Must specify either portal_user or organization_id I, [2021-06-17T12:04:02.405364 #35622] INFO -- : Started generating hosts report in /tmp/d20210617-35622-1t3qaaq I, [2021-06-17T12:04:02.421668 #35622] INFO -- : Adding slice 4093cfe2-4ae6-4d8e-bf29-af2a790957ed I, [2021-06-17T12:04:03.575030 #35622] INFO -- : slice 4093cfe2-4ae6-4d8e-bf29-af2a790957ed was created with 4 hosts I, [2021-06-17T12:04:03.575144 #35622] INFO -- : Report generation finished I, [2021-06-17T12:04:03.575168 #35622] INFO -- : Archiving generated report I, [2021-06-17T12:04:03.622146 #35622] INFO -- : tar: ./ ./metadata.json ./4093cfe2-4ae6-4d8e-bf29-af2a790957ed.json I, [2021-06-17T12:04:03.622374 #35622] INFO -- : Report archived successfully Successfully generated /tmp/d20210617-35622-k5fu82/report_for_1.tar.xz for organization id 1 [root@dhcp-3-27 ~]# ls -al /tmp/d20210617-35622-k5fu82/report_for_1.tar.xz -rw-r--r--. 1 foreman foreman 12020 Jun 17 12:04 /tmp/d20210617-35622-k5fu82/report_for_1.tar.xz Additional info: - Filed BZ#1973342 to remove "Must specify either portal_user or organization_id" message.
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 (Satellite 6.9.3 Async Bug Fix Update), 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/RHBA-2021:2636