Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1957129 - foreman-rake rh_cloud_inventory:report:generate fails with Permission denied
Summary: foreman-rake rh_cloud_inventory:report:generate fails with Permission denied
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: RH Cloud - Inventory
Version: 6.9.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: 6.9.3
Assignee: Shimon Shtein
QA Contact: Jameer Pathan
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-05-05 08:34 UTC by Jan Jansky
Modified: 2024-06-14 01:27 UTC (History)
4 users (show)

Fixed In Version: tfm-rubygem-foreman_rh_cloud-3.0.22
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1972771 (view as bug list)
Environment:
Last Closed: 2021-07-01 14:56:52 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2021:2636 0 None None None 2021-07-01 14:57:22 UTC

Description Jan Jansky 2021-05-05 08:34:02 UTC
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

Comment 2 Shimon Shtein 2021-05-05 10:01:14 UTC
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

Comment 3 Jan Jansky 2021-05-05 10:12:20 UTC
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.

Comment 4 Shimon Shtein 2021-05-05 10:30:39 UTC
Also true. I'll probably add a default value to the target variable.

At least you have a workaround.

Thanks for reporting!

Comment 5 Jan Jansky 2021-05-05 10:45:33 UTC
That seems sufficient to me. Thank you

Comment 6 Jameer Pathan 2021-06-17 16:37:39 UTC
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.

Comment 11 errata-xmlrpc 2021-07-01 14:56:52 UTC
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


Note You need to log in before you can comment on or make changes to this bug.