Better error messaging and logging for v2 registry requests
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)master
							parent
							
								
									41703e2bb7
								
							
						
					
					
						commit
						d96d4aa9f0
					
				| 
						 | 
				
			
			@ -132,7 +132,7 @@ func (r *Session) HeadV2ImageBlob(ep *Endpoint, imageName, sumType, sum string,
 | 
			
		|||
		// return something indicating blob push needed
 | 
			
		||||
		return false, nil
 | 
			
		||||
	}
 | 
			
		||||
	return false, fmt.Errorf("Failed to mount %q - %s:%s : %d", imageName, sumType, sum, res.StatusCode)
 | 
			
		||||
	return false, utils.NewHTTPRequestError(fmt.Sprintf("Server error: %d trying head request for %s - %s:%s", res.StatusCode, imageName, sumType, sum), res)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (r *Session) GetV2ImageBlob(ep *Endpoint, imageName, sumType, sum string, blobWrtr io.Writer, auth *RequestAuthorization) error {
 | 
			
		||||
| 
						 | 
				
			
			@ -189,7 +189,7 @@ func (r *Session) GetV2ImageBlobReader(ep *Endpoint, imageName, sumType, sum str
 | 
			
		|||
		if res.StatusCode == 401 {
 | 
			
		||||
			return nil, 0, errLoginRequired
 | 
			
		||||
		}
 | 
			
		||||
		return nil, 0, utils.NewHTTPRequestError(fmt.Sprintf("Server error: %d trying to pull %s blob", res.StatusCode, imageName), res)
 | 
			
		||||
		return nil, 0, utils.NewHTTPRequestError(fmt.Sprintf("Server error: %d trying to pull %s blob - %s:%s", res.StatusCode, imageName, sumType, sum), res)
 | 
			
		||||
	}
 | 
			
		||||
	lenStr := res.Header.Get("Content-Length")
 | 
			
		||||
	l, err := strconv.ParseInt(lenStr, 10, 64)
 | 
			
		||||
| 
						 | 
				
			
			@ -246,7 +246,12 @@ func (r *Session) PutV2ImageBlob(ep *Endpoint, imageName, sumType, sumStr string
 | 
			
		|||
		if res.StatusCode == 401 {
 | 
			
		||||
			return errLoginRequired
 | 
			
		||||
		}
 | 
			
		||||
		return utils.NewHTTPRequestError(fmt.Sprintf("Server error: %d trying to push %s blob", res.StatusCode, imageName), res)
 | 
			
		||||
		errBody, err := ioutil.ReadAll(res.Body)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
		log.Debugf("Unexpected response from server: %q %#v", errBody, res.Header)
 | 
			
		||||
		return utils.NewHTTPRequestError(fmt.Sprintf("Server error: %d trying to push %s blob - %s:%s", res.StatusCode, imageName, sumType, sumStr), res)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
| 
						 | 
				
			
			@ -272,13 +277,16 @@ func (r *Session) PutV2ImageManifest(ep *Endpoint, imageName, tagName string, ma
 | 
			
		|||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	b, _ := ioutil.ReadAll(res.Body)
 | 
			
		||||
	res.Body.Close()
 | 
			
		||||
	defer res.Body.Close()
 | 
			
		||||
	if res.StatusCode != 200 {
 | 
			
		||||
		if res.StatusCode == 401 {
 | 
			
		||||
			return errLoginRequired
 | 
			
		||||
		}
 | 
			
		||||
		log.Debugf("Unexpected response from server: %q %#v", b, res.Header)
 | 
			
		||||
		errBody, err := ioutil.ReadAll(res.Body)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
		log.Debugf("Unexpected response from server: %q %#v", errBody, res.Header)
 | 
			
		||||
		return utils.NewHTTPRequestError(fmt.Sprintf("Server error: %d trying to push %s:%s manifest", res.StatusCode, imageName, tagName), res)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue