Actions
Issue #2476
closedpulp publish fail when selinux is disabled
Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
2.10.3
Platform Release:
2.11.1
OS:
Fedora 23
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2, SELinux
Sprint:
Quarter:
Description
failed pulp-smash test failed on:
python -m nose --logging-level INFO pulp_smash/tests/rpm/api_v2/test_upload_publish.py
journalctl :
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) Task pulp.server.managers.repo.publish.publish[598f7734-2a9d-4b5a-bf4b-80885bf14631] raised unexpected: OS
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) Traceback (most recent call last):
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 240, in trace_task
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) R = retval = fun(*args, **kwargs)
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/server/async/tasks.py", line 488, in __call__
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) return super(Task, self).__call__(*args, **kwargs)
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/server/async/tasks.py", line 103, in __call__
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) return super(PulpTask, self).__call__(*args, **kwargs)
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 437, in __protected_call__
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) return self.run(*args, **kwargs)
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/server/controllers/repository.py", line 971, in publish
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) result = check_publish(repo_obj, dist_id, dist_inst, transfer_repo, conduit, call_config)
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/server/controllers/repository.py", line 1063, in check_publis
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) result = _do_publish(repo_obj, dist_id, dist_inst, transfer_repo, conduit, call_config)
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/server/controllers/repository.py", line 1115, in _do_publish
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) publish_report = publish_repo(transfer_repo, conduit, call_config)
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/server/async/tasks.py", line 673, in wrap_f
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) return f(*args, **kwargs)
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp_rpm/plugins/pulp_rpm/plugins/distributors/yum/distributor.py", line 174,
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) return self._publisher.process_lifecycle()
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/plugins/util/publish_step.py", line 566, in process_lifecycle
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) super(PluginStep, self).process_lifecycle()
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/plugins/util/publish_step.py", line 163, in process_lifecycle
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) step.process()
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/plugins/util/publish_step.py", line 253, in process
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) self._process_block()
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/plugins/util/publish_step.py", line 297, in _process_block
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) self.process_main()
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/home/vagrant/devel/pulp/server/pulp/plugins/util/publish_step.py", line 906, in process_main
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) selinux.restorecon(timestamp_master_dir.encode('utf-8'), recursive=True)
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) File "/usr/lib64/python2.7/site-packages/selinux/__init__.py", line 110, in restorecon
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) status, context = matchpathcon(path, mode)
Dec 07 18:14:09 dev.example.com pulp[41161]: celery.worker.job:ERROR: (41161-59744) OSError: [Errno 2] No such file or directory
Selinux is disabled. I tried to reproduce with
import selinux
selinux.restorecon("/root")
with same result as above ^^^
after some debugging, I found that restorecon returns
errno.ENOENT when selinux is disabled, however code catches only
errno.EPERM and errno.ENODATA
I haven't try to run on the same machine with selinux enabled.
Updated by dkliban@redhat.com over 7 years ago
I was able to reproduce the issue. I have a patch coming soon.
Added by dkliban@redhat.com over 7 years ago
Added by dkliban@redhat.com over 7 years ago
Revision c260ee22 | View on GitHub
Problem: Publish fails when SELinux is disabled
Solution: Explicitly check if SELinux is enabled before calling restorecon
Updated by dkliban@redhat.com over 7 years ago
- Status changed from NEW to POST
Updated by dkliban@redhat.com over 7 years ago
- Status changed from POST to MODIFIED
Applied in changeset pulp|c260ee22e04ad1ada3b0449435f7c88557ec2de0.
Updated by pthomas@redhat.com over 7 years ago
- Status changed from 5 to 6
verified
[root@qe-blade-05 ~]# pulp-admin rpm repo create --repo-id rpm --feed https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-signed/
Successfully created repository [rpm]
[root@qe-blade-05 ~]# getenforce
Disabled
[root@qe-blade-05 ~]# pulp-admin rpm repo sync run --repo-id rpm
+----------------------------------------------------------------------+
Synchronizing Repository [rpm]
+----------------------------------------------------------------------+
This command may be exited via ctrl+c without affecting the request.
Downloading metadata...
[|]
... completed
Downloading repository content...
[==================================================] 100%
RPMs: 32/32 items
Delta RPMs: 0/0 items
... completed
Downloading distribution files...
[==================================================] 100%
Distributions: 0/0 items
... completed
Importing errata...
[-]
... completed
Importing package groups/categories...
[-]
... completed
Cleaning duplicate packages...
[-]
... completed
Task Succeeded
Initializing repo metadata
[-]
... completed
Publishing Distribution files
[-]
... completed
Publishing RPMs
[==================================================] 100%
32 of 32 items
... completed
Publishing Delta RPMs
... skipped
Publishing Errata
[==================================================] 100%
4 of 4 items
... completed
Publishing Comps file
[==================================================] 100%
4 of 4 items
... completed
Publishing Metadata.
[-]
... completed
Closing repo metadata
[-]
... completed
Generating sqlite files
... skipped
Generating HTML files
... skipped
Publishing files to web
[-]
... completed
Writing Listings File
[-]
... completed
Task Succeeded
</pe>
Updated by semyers over 7 years ago
- Status changed from 6 to CLOSED - CURRENTRELEASE
Actions
Problem: Publish fails when SELinux is disabled
Solution: Explicitly check if SELinux is enabled before calling restorecon
closes #2476 https://pulp.plan.io/issues/2476