Project

General

Profile

Actions

Bug #24534

closed

Pulp will fail in a dynflow action and the action will still pass.

Added by John Mitsch almost 6 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Category:
Repositories
Target version:
Difficulty:
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

Found while looking at https://projects.theforeman.org/issues/24115/ -

Pulp will fail with something like this


Aug  3 15:51:51 wings pulp: pulp.server.async.tasks:INFO: [29b9b967] Task failed : [29b9b967-6068-43a1-9925-d3261373eb41]
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184) Task pulp.server.managers.repo.importer.update_importer_config[29b9b967-6068-43a1-9925-d3261373eb41] raised unexpected: PulpDataException('Configuration errors:\nThe configuration parameter <basic_auth_password> requires the <basic_auth_username> parameter to also be set.',)
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184) Traceback (most recent call last):
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)   File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 367, in trace_task
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)     R = retval = fun(*args, **kwargs)
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)   File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 529, in __call__
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)     return super(Task, self).__call__(*args, **kwargs)
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)   File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 107, in __call__
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)     return super(PulpTask, self).__call__(*args, **kwargs)
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)   File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 622, in __protected_call__
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)     return self.run(*args, **kwargs)
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)   File "/usr/lib/python2.7/site-packages/pulp/server/controllers/importer.py", line 280, in update_importer_config
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)     validate_importer_config(repo_obj, repo_importer.importer_type_id, repo_importer.config)
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)   File "/usr/lib/python2.7/site-packages/pulp/server/controllers/importer.py", line 177, in validate_importer_config
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184)     raise exceptions.PulpDataException(message)
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184) PulpDataException: Configuration errors:
Aug  3 15:51:51 wings pulp: celery.app.trace:ERROR: [29b9b967] (6274-89184) The configuration parameter <basic_auth_password> requires the <basic_auth_username> parameter to also be set.

but no notice of this is given to the user and actions complete successfully.

This can be recreated with the steps to https://projects.theforeman.org/issues/24115/ - but you will have to revert the fix or comment out the validator added.

The concern of this issue is that we aren't actually handling pulp errors. There are most likely other ways to recreate this, if you can send a bad request to pulp, it seems it is not reported to the user at all. I'm not sure of the scope of this - if its true for all pulp actions?

Actions

Also available in: Atom PDF