Project

Profile

Help

Issue #751

closed

rpm repo list --details fails if a repo has 0 importers

Added by amacdona@redhat.com about 9 years ago. Updated about 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Low
Assignee:
Category:
-
Sprint/Milestone:
-
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.

Also available in: Atom PDF