Merge pull request #13651 from RichardScothern/v1-mirror-fix
Fallback to pull from hub if mirrors unavailable.
This commit is contained in:
commit
1f903f652c
1 changed files with 4 additions and 5 deletions
|
@ -142,7 +142,6 @@ func makeMirrorRepoInfo(repoInfo *registry.RepositoryInfo, mirror string) *regis
|
|||
|
||||
func configureV2Mirror(repoInfo *registry.RepositoryInfo, s *registry.Service) (*registry.Endpoint, *registry.RepositoryInfo, error) {
|
||||
mirrors := repoInfo.Index.Mirrors
|
||||
|
||||
if len(mirrors) == 0 {
|
||||
// no mirrors configured
|
||||
return nil, nil, nil
|
||||
|
@ -151,13 +150,11 @@ func configureV2Mirror(repoInfo *registry.RepositoryInfo, s *registry.Service) (
|
|||
v1MirrorCount := 0
|
||||
var v2MirrorEndpoint *registry.Endpoint
|
||||
var v2MirrorRepoInfo *registry.RepositoryInfo
|
||||
var lastErr error
|
||||
for _, mirror := range mirrors {
|
||||
mirrorRepoInfo := makeMirrorRepoInfo(repoInfo, mirror)
|
||||
endpoint, err := registry.NewEndpoint(mirrorRepoInfo.Index, nil)
|
||||
if err != nil {
|
||||
logrus.Errorf("Unable to create endpoint for %s: %s", mirror, err)
|
||||
lastErr = err
|
||||
continue
|
||||
}
|
||||
if endpoint.Version == 2 {
|
||||
|
@ -182,9 +179,11 @@ func configureV2Mirror(repoInfo *registry.RepositoryInfo, s *registry.Service) (
|
|||
return v2MirrorEndpoint, v2MirrorRepoInfo, nil
|
||||
}
|
||||
if v2MirrorEndpoint != nil && v1MirrorCount > 0 {
|
||||
lastErr = fmt.Errorf("v1 and v2 mirrors configured")
|
||||
return nil, nil, fmt.Errorf("v1 and v2 mirrors configured")
|
||||
}
|
||||
return nil, nil, lastErr
|
||||
// No endpoint could be established with the given mirror configurations
|
||||
// Fallback to pulling from the hub as per v1 behavior.
|
||||
return nil, nil, nil
|
||||
}
|
||||
|
||||
func (s *TagStore) pullFromV2Mirror(mirrorEndpoint *registry.Endpoint, repoInfo *registry.RepositoryInfo,
|
||||
|
|
Loading…
Add table
Reference in a new issue