Actions
Issue #751
closedrpm repo list --details fails if a repo has 0 importers
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Master
Platform Release:
2.7.0
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Easy Fix, Pulp 2
Sprint:
Quarter:
Description
Description
If the importer is removed from a repo, listing the repos with the --details flag results in a traceback.
To reproduce
1. Create a new repo
$ pulp-admin rpm repo create --repo-id test
Successfully created repository [test]
[austin@localhost playpen]$ pulp-admin rpm repo list --details
+----------------------------------------------------------------------+
RPM Repositories
+----------------------------------------------------------------------+
Id: test
Display Name: test
Description: None
Content Unit Counts:
Notes:
Importers:
Config:
Id: yum_importer
Importer Type Id: yum_importer
Last Sync: None
Repo Id: test
Scheduled Syncs:
Distributors:
Auto Publish: True
Config:
Http: False
Https: True
Relative URL: test
Distributor Type Id: yum_distributor
Id: yum_distributor
Last Publish: None
Repo Id: test
Scheduled Publishes:
Auto Publish: False
Config:
Http: False
Https: True
Distributor Type Id: export_distributor
Id: export_distributor
Last Publish: None
Repo Id: test
Scheduled Publishes:
2. List the importers
$ curl -s -H "Accept: application/json" -H "WebFrameworkSwitch: webpy" -X GET -k -u admin:admin https://localhost/pulp/api/v2/repositories/test/importers/ | python -mjson.tool
[
{
"_id": {
"$oid": "55009152e138233f6b25e4be"
},
"_ns": "repo_importers",
"config": {},
"id": "yum_importer",
"importer_type_id": "yum_importer",
"last_sync": null,
"repo_id": "test",
"scheduled_syncs": [],
"scratchpad": null
}
]
3. Delete the importer
$ curl -s -H "Accept: application/json" -H "WebFrameworkSwitch: webpy" -X DELETE -k -u admin:admin https://localhost/pulp/api/v2/repositories/test/importers/yum_importer/ | python -mjson.tool
{
"error": null,
"result": null,
"spawned_tasks": [
{
"_href": "/pulp/api/v2/tasks/7e1838df-6cc7-47f8-b35b-a34e6440caf5/",
"task_id": "7e1838df-6cc7-47f8-b35b-a34e6440caf5"
}
]
}
4. List the repos with details
$ pulp-admin -v rpm repo list --details
+----------------------------------------------------------------------+
RPM Repositories
+----------------------------------------------------------------------+
2015-03-11 15:10:04,441 - ERROR - Client-side exception occurred
Traceback (most recent call last):
File "/home/austin/devel/pulp/client_lib/pulp/client/extensions/core.py", line 474, in run
exit_code = Cli.run(self, args)
File "/usr/lib/python2.7/site-packages/okaara/cli.py", line 974, in run
exit_code = command_or_section.execute(self.prompt, remaining_args)
File "/home/austin/devel/pulp/client_lib/pulp/client/extensions/extensions.py", line 211, in execute
return self.method(*arg_list, **clean_kwargs)
File "/home/austin/devel/pulp/client_lib/pulp/client/commands/repo/cudl.py", line 339, in run
self.display_repositories(**kwargs)
File "/home/austin/devel/pulp/client_lib/pulp/client/commands/repo/cudl.py", line 370, in display_repositories
repo_list = self.get_repositories(query_params, **kwargs)
File "/home/austin/devel/pulp_rpm/extensions_admin/pulp_rpm/extensions/admin/repo_list.py", line 38, in get_repositories
imp_config = r['importers'][0]['config'] # there can only be one importer
IndexError: list index out of range
An unexpected error has occurred. More information may be found using the -v
flag.
Actions
Fixed --details failure if no importers present
https://pulp.plan.io/issues/751
fixes #751