Project

Profile

Help

Issue #2476

closed

pulp publish fail when selinux is disabled

Added by jluza over 7 years ago. Updated about 5 years ago.

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.

Actions #1

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

Revision c260ee22 | View on GitHub

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

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

closes #2476 https://pulp.plan.io/issues/2476

Actions #2

Updated by dkliban@redhat.com over 7 years ago

  • Status changed from NEW to POST
Actions #3

Updated by dkliban@redhat.com over 7 years ago

  • Status changed from POST to MODIFIED
Actions #4

Updated by semyers over 7 years ago

  • Platform Release set to 2.11.1
Actions #5

Updated by semyers over 7 years ago

  • Status changed from MODIFIED to 5
Actions #6

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>
Actions #7

Updated by semyers over 7 years ago

  • Status changed from 6 to CLOSED - CURRENTRELEASE
Actions #9

Updated by bmbouter about 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF