Better credentials store error handling in resolve_authconfig

Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
Joffrey F 2016-09-06 14:58:41 -07:00
parent fbe1686e62
commit 219a8699f9
3 changed files with 8 additions and 7 deletions

View File

@ -106,8 +106,6 @@ def _resolve_authconfig_credstore(authconfig, registry, credstore_name):
# docker.io - in that case, it seems the full URL is necessary.
registry = 'https://index.docker.io/v1/'
log.debug("Looking for auth entry for {0}".format(repr(registry)))
if registry not in authconfig:
log.debug("No entry found")
store = dockerpycreds.Store(credstore_name)
try:
data = store.get(registry)
@ -122,10 +120,13 @@ def _resolve_authconfig_credstore(authconfig, registry, credstore_name):
'Password': data['Secret'],
})
return res
except dockerpycreds.CredentialsNotFound as e:
log.debug('No entry found')
return None
except dockerpycreds.StoreError as e:
log.error('Credentials store error: {0}'.format(repr(e)))
return None
raise errors.DockerException(
'Credentials store error: {0}'.format(repr(e))
)
def convert_to_hostname(url):

View File

@ -3,4 +3,4 @@ six>=1.4.0
websocket-client==0.32.0
backports.ssl_match_hostname>=3.5 ; python_version < '3.5'
ipaddress==1.0.16 ; python_version < '3.3'
docker-pycreds==0.1.0
docker-pycreds==0.2.0

View File

@ -12,7 +12,7 @@ requirements = [
'requests >= 2.5.2, < 2.11',
'six >= 1.4.0',
'websocket-client >= 0.32.0',
'docker-pycreds >= 0.1.0'
'docker-pycreds >= 0.2.0'
]
if sys.platform == 'win32':