Description of problem: When I pass nonsense keys to the yum importer, it happily takes them. When I do the same thing to the distributor, it results in a traceback. Version-Release number of selected component (if applicable): master How reproducible: always Steps to Reproduce: 1. Create a test repository: pulp-admin rpm repo create --repo-id zoo --feed https://repos.fedorapeople.org/repos/pulp/pulp/demo_repos/zoo/ 2. Update the distributor: curl -i -H "Accept: application/json" -X PUT -d '{ "distributor_config": {"NOTAKEY":"NOTAVALUE"}}' -u admin:admin -k 'https://localhost/pulp/api/v2/repositories/zoo/distributors/yum_distributor/' 3. Retrieve the resulting task: curl -i -H "Accept: application/json" -X GET -u admin:admin -k 'https://localhost/pulp/api/v2/tasks/<task-id>/' 4. Update the importer: curl -i -H "Accept: application/json" -X PUT -d '{ "importer_config": {"NOTAKEY":"NOTAVALUE"}}' -u admin:admin -k 'https://localhost/pulp/api/v2/repositories/zoo/importers/yum_importer/' 5. Retrieve the resulting task: curl -i -H "Accept: application/json" -X GET -u admin:admin -k 'https://localhost/pulp/api/v2/tasks/<task-id>/' Actual results: Distributor results: { "_href": "/pulp/api/v2/tasks/52d953d4-3d7c-4b5e-8b15-02c0bf84ae05/", "_id": { "$oid": "53e3a2cab53073e66875f0ed" }, "_ns": "task_status", "error": { "code": "PLP0000", "data": {}, "description": "Configuration key [NOTAKEY] is not supported", "sub_errors": [] }, "exception": null, "finish_time": "2014-08-07T16:01:14Z", "id": "53e3a2ca7bc8f6604cd176ca", "progress_report": {}, "queue": "reserved_resource_worker-4.com.dq", "result": null, "spawned_tasks": [], "start_time": "2014-08-07T16:01:14Z", "state": "error", "tags": [ "pulp:repository:zoo", "pulp:repository_distributor:yum_distributor", "pulp:action:update_distributor" ], "task_id": "52d953d4-3d7c-4b5e-8b15-02c0bf84ae05", "task_type": "pulp.server.tasks.repository.distributor_update", "traceback": "Traceback (most recent call last):\n File \"/usr/lib/python2.7/site-packages/celery/app/trace.py\", line 240, in trace_task\n R = retval = fun(*args, **kwargs)\n File \"/home/jcline/devel/pulp/server/pulp/server/async/tasks.py\", line 306, in __call__\n return super(Task, self).__call__(*args, **kwargs)\n File \"/usr/lib/python2.7/site-packages/celery/app/trace.py\", line 437, in __protected_call__\n return self.run(*args, **kwargs)\n File \"/home/jcline/devel/pulp/server/pulp/server/tasks/repository.py\", line 143, in distributor_update\n distributor = manager.update_distributor_config(repo_id, distributor_id, config, auto_publish)\n File \"/home/jcline/devel/pulp/server/pulp/server/managers/repo/distributor.py\", line 333, in update_distributor_config\n raise PulpDataException(message)\nPulpDataException: Configuration key [NOTAKEY] is not supported\n" } Importer results: { "_href": "/pulp/api/v2/tasks/cb0d38a4-d11f-4bb9-8dd1-dccf5163e33c/", "_id": { "$oid": "53e3a275b53073e66875f0ec" }, "_ns": "task_status", "error": null, "exception": null, "finish_time": "2014-08-07T15:59:49Z", "id": "53e3a2757bc8f6604cd176c9", "progress_report": {}, "queue": "reserved_resource_worker-2.com.dq", "result": { "_id": { "$oid": "53e267d17bc8f602856d69c0" }, "_ns": "repo_importers", "config": { "NOTAKEY": "NOTAVALUE", "feed": "https://repos.fedorapeople.org/repos/pulp/pulp/demo_repos/zoo/" }, "id": "yum_importer", "importer_type_id": "yum_importer", "last_sync": "2014-08-06T20:11:47Z", "repo_id": "zoo", "scheduled_syncs": [], "scratchpad": null }, "spawned_tasks": [], "start_time": "2014-08-07T15:59:49Z", "state": "finished", "tags": [ "pulp:repository:zoo", "pulp:repository_importer:yum_importer", "pulp:action:update_importer" ], "task_id": "cb0d38a4-d11f-4bb9-8dd1-dccf5163e33c", "task_type": "pulp.server.managers.repo.importer.update_importer_config", "traceback": null } Expected results: Either both accept unused keys, or both do not. Additional info:
Moved to https://pulp.plan.io/issues/484