Bug 1393778 - 'NoneType' object has no attribute 'get' on display info for docker and atomic/ostree repos
Summary: 'NoneType' object has no attribute 'get' on display info for docker and atomi...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Update Infrastructure for Cloud Providers
Classification: Red Hat
Component: Tools
Version: 3.0.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: 3.0.0
Assignee: bizhang
QA Contact: Irina Gulina
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-10 10:31 UTC by Irina Gulina
Modified: 2017-03-01 22:13 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-03-01 22:13:39 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:0367 0 normal SHIPPED_LIVE Red Hat Update Infrastructure 3.0 Release 2017-03-02 03:05:22 UTC

Description Irina Gulina 2016-11-10 10:31:52 UTC
Description of problem:
'i' - display detailed information on a repository for a docker repo returns an unexpected error

Version-Release number of selected component (if applicable):
ISO 20161109

How reproducible:
always

Steps to Reproduce:
1. add a docker repo
2. 'i' - display detailed information on a repository
3. see an unexpected error

Actual results:

rhui (repo) => ad

Unique ID for the container (alphanumerics, _, and - only):
rhel7_beta_docker

Name of the container in the registry: [rhel7_beta_docker]:
rhel7.3-beta/rhel7.3

Display name for the container: [rhel7_beta_docker]:


The following container will be added:
  Container Id:              rhel7_beta_docker
  Display Name:              rhel7_beta_docker
  Upstream Container Name:   rhel7.3-beta/rhel7.3
Proceed? (y/n) y

Successfully added container rhel7_beta_docker

------------------------------------------------------------------------------
rhui (repo) => i

Select one or more repositories:

  Custom Repositories

  Red Hat Repositories
    -  1 : rhel7_beta_docker

Enter value (1-1) to toggle selection, 'c' to confirm selections, or '?' for more commands: 1

Select one or more repositories:

  Custom Repositories

  Red Hat Repositories
    x  1 : rhel7_beta_docker

Enter value (1-1) to toggle selection, 'c' to confirm selections, or '?' for more commands: c


An unexpected error has occurred during the last operation.
More information can be found in /root/.rhui/rhui.log.

2016-11-10 05:18:18,019 - Unexpected error caught at the shell level
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/rhui/tools/shell.py", line 88, in safe_listen
    self.listen(clear=first_run)
  File "/usr/lib/python2.7/site-packages/rhui/tools/shell.py", line 127, in listen
    Shell.listen(self)
  File "/usr/lib/python2.7/site-packages/rhui/common/shell.py", line 186, in listen
    item.func(*args, **item.kwargs)
  File "/usr/lib/python2.7/site-packages/rhui/tools/screens/repo.py", line 99, in info
    render.display_repo_details(self.prompt, repo)
  File "/usr/lib/python2.7/site-packages/rhui/tools/render.py", line 150, in display_repo_details
    gpg_keys = repo.get("config").get("gpgkey", [])
AttributeError: 'NoneType' object has no attribute 'get'

Expected results:
Detailed information on a docker repo as any other repo.

Comment 1 Irina Gulina 2016-11-10 10:32:53 UTC
List and delete a docker repo works fine.

Comment 4 Irina Gulina 2016-11-11 17:09:15 UTC
There is the same issue with atomic/ostree repos: 

>> rhui (repo) => i

Select one or more repositories:

  Custom Repositories

  Red Hat Repositories
    -  1 : Beta RHEL RHUI Everything 7 Source Srpms (x86_64)
    -  2 : Beta RHEL RHUI Server 7 Optional OS (x86_64)
    -  3 : RHEL RHUI Atomic 7 Ostree Repo (Version 7.3)
    -  4 : RHEL RHUI Server 7 7server Extras Source Srpms (x86_64)
    -  5 : Red Hat Update Infrastructure 2.0 (RPMs) (6Server-i386)
    -  6 : Red Hat Update Infrastructure 2.0 (RPMs) (6Server-x86_64)
    -  7 : rhel6_docker
    -  8 : rhel7
    -  9 : rhel_cert_docker

Enter value (1-9) to toggle selection, 'c' to confirm selections, or '?' for more commands: 3

Select one or more repositories:

  Custom Repositories

  Red Hat Repositories
    -  1 : Beta RHEL RHUI Everything 7 Source Srpms (x86_64)
    -  2 : Beta RHEL RHUI Server 7 Optional OS (x86_64)
    x  3 : RHEL RHUI Atomic 7 Ostree Repo (Version 7.3)
    -  4 : RHEL RHUI Server 7 7server Extras Source Srpms (x86_64)
    -  5 : Red Hat Update Infrastructure 2.0 (RPMs) (6Server-i386)
    -  6 : Red Hat Update Infrastructure 2.0 (RPMs) (6Server-x86_64)
    -  7 : rhel6_docker
    -  8 : rhel7
    -  9 : rhel_cert_docker

Enter value (1-9) to toggle selection, 'c' to confirm selections, or '?' for more commands: c



An unexpected error has occurred during the last operation.
More information can be found in /root/.rhui/rhui.log.



Unexpected error caught at the shell level
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/rhui/tools/shell.py", line 88, in safe_listen
    self.listen(clear=first_run)
  File "/usr/lib/python2.7/site-packages/rhui/tools/shell.py", line 127, in listen
    Shell.listen(self)
  File "/usr/lib/python2.7/site-packages/rhui/common/shell.py", line 186, in listen
    item.func(*args, **item.kwargs)
  File "/usr/lib/python2.7/site-packages/rhui/tools/screens/repo.py", line 99, in info
    render.display_repo_details(self.prompt, repo)
  File "/usr/lib/python2.7/site-packages/rhui/tools/render.py", line 150, in display_repo_details
    gpg_keys = repo.get("config").get("gpgkey", [])
AttributeError: 'NoneType' object has no attribute 'get'

Comment 5 Irina Gulina 2016-11-16 07:39:44 UTC
on RHEL7 build 20161115: 

Failed QA for a docker repo: 

rhui (repo) => ad

Name of the container in the registry: 
bla

Could not find bla on registry https://registry.access.redhat.com, please make sure that the name is valid

Name of the container in the registry: 
rhcertification/redhat-certification

Unique ID for the container (alphanumerics, _, and - only): [rhcertification_redhat-certification]


Display name for the container: [rhcertification_redhat-certification]:
rh_certification_docker

The following container will be added:
  Container Id:              rhcertification_redhat-certification
  Display Name:              rh_certification_docker
  Upstream Container Name:   rhcertification/redhat-certification
Proceed? (y/n) y

Successfully added container rh_certification_docker

------------------------------------------------------------------------------
rhui (repo) => l

Red Hat Repositories
  rh_certification_docker


------------------------------------------------------------------------------
rhui (repo) => i

Select one or more repositories:

  Custom Repositories

  Red Hat Repositories
    -  1 : rh_certification_docker

Enter value (1-1) to toggle selection, 'c' to confirm selections, or '?' for more commands: 1

Select one or more repositories:

  Custom Repositories

  Red Hat Repositories
    x  1 : rh_certification_docker

Enter value (1-1) to toggle selection, 'c' to confirm selections, or '?' for more commands: c


Name:                rh_certification_docker
Type:                Red Hat

An unexpected error has occurred during the last operation.
More information can be found in /root/.rhui/rhui.log.

2016-11-16 02:26:43,003 - Unexpected error caught at the shell level
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/rhui/tools/shell.py", line 88, in safe_listen
    self.listen(clear=first_run)
  File "/usr/lib/python2.7/site-packages/rhui/tools/shell.py", line 127, in listen
    Shell.listen(self)
  File "/usr/lib/python2.7/site-packages/rhui/common/shell.py", line 186, in listen
    item.func(*args, **item.kwargs)
  File "/usr/lib/python2.7/site-packages/rhui/tools/screens/repo.py", line 100, in info
    render.display_repo_details(self.prompt, repo)
  File "/usr/lib/python2.7/site-packages/rhui/tools/render.py", line 158, in display_repo_details
    prompt.write('Relative Path:       %s' % repo['config'][relative_url_key])
KeyError: 'config'

For Atomic/ostree repo it fails with the same error.

Comment 6 Irina Gulina 2016-11-23 10:09:58 UTC
ISO 20161122

on 'i' - display detailed information on a repository' OSTree repos are missing 'Relative Path'. And maybe it will be good to add 'Redirected URL' for Docker repos.

>> rhui (repo) => i

Select one or more repositories:

  Custom Repositories

  Red Hat Repositories
    -  1 : RHEL RHUI Atomic 7 Ostree Repo (Version 7.3)
    -  2 : RHEL RHUI Server 7 Containers (7Server-x86_64)
    -  3 : rhel7.o Docker

Enter value (1-3) to toggle selection, 'c' to confirm selections, or '?' for more commands: a

Select one or more repositories:

  Custom Repositories

  Red Hat Repositories
    x  1 : RHEL RHUI Atomic 7 Ostree Repo (Version 7.3)
    x  2 : RHEL RHUI Server 7 Containers (7Server-x86_64)
    x  3 : rhel7.o Docker

Enter value (1-3) to toggle selection, 'c' to confirm selections, or '?' for more commands: c


Name:                RHEL RHUI Atomic 7 Ostree Repo (Version 7.3)
Type:                Red Hat
GPG Check:           Yes
Custom GPG Keys:     (None)
Red Hat GPG Key:     Yes
Package Count:       0
Last Sync:           Never
Next Sync:           11-23-2016 10:49

Name:                RHEL RHUI Server 7 Containers (7Server-x86_64)
Type:                Red Hat
Relative Path:       content/dist/rhel/rhui/server/7/7Server/x86_64/containers/
GPG Check:           Yes
Custom GPG Keys:     (None)
Red Hat GPG Key:     Yes
Package Count:       0
Last Sync:           11-23-2016 04:54
Next Sync:           11-23-2016 10:49

Name:                rhel7.o Docker
Type:                Red Hat
GPG Check:           Yes
Custom GPG Keys:     (None)
Red Hat GPG Key:     Yes
Package Count:       11
Last Sync:           11-23-2016 04:55
Next Sync:           11-23-2016 10:50


------------------------------------------------------------------------------
rhui (repo) => 

In pulp-admin, there is a 'Relative Path' for OSTree repo: 

>> pulp-admin -u admin -p admin repo list --repo-id rhel-rhui-atomic-7-ostree-repo-7Server-x86_64-rhel-atomic-host-7-x86_64-standard --details

...
                     2q6bU8Ssvgd41sXHSyxmrbY+nDYaRvzO3o7piXRr9US7vUmgLTLlxOO5crW
                     bhlxV vMkA3nUnaKcRKsDqd8QCtLqChIzyzUncG9m7RLFYt7sFrB9uoOyK
                     -----END CERTIFICATE----- 
  Id:               ostree_web_importer
  Importer Type Id: ostree_web_importer
  Last Sync:        None
  Repo Id:          rhel-rhui-atomic-7-ostree-repo-7Server-x86_64-rhel-atomic-ho
                    st-7-x86_64-standard
  Scratchpad:       None
Distributors:         
  Auto Publish:        True
  Config:              
    Http:          False
    Https:         True
    Protected:     False
    Relative Path: content/dist/rhel/rhui/atomic/7/7Server/x86_64/ostree/repo/


and for Docker it's a 'Redirected URL':
>> pulp-admin -u admin -p admin repo list --repo-id rhel7_0 --details
+----------------------------------------------------------------------+
                              Repositories
+----------------------------------------------------------------------+

Id:                   rhel7_0
Display Name:         rhel7.o Docker
Description:          rhel7.o Docker
Content Unit Counts:  
  Docker Blob:     3
  Docker Manifest: 4
  Docker Tag:      4
Notes:                
  Redhat-gpg-key: /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Scratchpad:           
Importers:            
  Config:           
    Feed:          https://registry.access.redhat.com
    Upstream Name: rhel7.0
  Id:               docker_importer
  Importer Type Id: docker_importer
  Last Sync:        2016-11-23T09:55:06Z
  Repo Id:          rhel7_0
  Scratchpad:       None
Distributors:         
  Auto Publish:        True
  Config:              
    Http:             False
    Https:            True
    Protected:        False
    Redirect-url:     https://cds.example.com/pulp/docker/rhel7_0/

Comment 7 Irina Gulina 2016-12-07 11:48:05 UTC
iso 20161206

Name:                RH Certification Docker
Type:                Red Hat
Relative Path:       https://cds.example.com/pulp/docker/rhcertification_redhat-certification/
GPG Check:           Yes
Custom GPG Keys:     (None)
Red Hat GPG Key:     Yes
Package Count:       0
Last Sync:           Never
Next Sync:           12-07-2016 12:34

Name:                RHEL RHUI Atomic 7 Ostree Repo (Version 7.3)
Type:                Red Hat
Relative Path:       content/dist/rhel/rhui/atomic/7/7Server/x86_64/ostree/repo/
GPG Check:           Yes
Custom GPG Keys:     (None)
Red Hat GPG Key:     Yes
Package Count:       0
Last Sync:           Never
Next Sync:           12-07-2016 11:53

Comment 8 errata-xmlrpc 2017-03-01 22:13:39 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:0367


Note You need to log in before you can comment on or make changes to this bug.