Merge pull request #7207 from Luap99/pod/ctr-exists-error

Improve error message when creating a pod/ctr with the same name
This commit is contained in:
OpenShift Merge Robot 2020-08-04 15:46:13 +02:00 committed by GitHub
commit d4cf3c589d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 4 deletions

View File

@ -2347,11 +2347,19 @@ func (s *BoltState) AddPod(pod *Pod) error {
// Check if we already have something with the given ID and name
idExist := idsBkt.Get(podID)
if idExist != nil {
return errors.Wrapf(define.ErrPodExists, "ID %s is in use", pod.ID())
err = define.ErrPodExists
if allPodsBkt.Get(idExist) == nil {
err = define.ErrCtrExists
}
return errors.Wrapf(err, "ID \"%s\" is in use", pod.ID())
}
nameExist := namesBkt.Get(podName)
if nameExist != nil {
return errors.Wrapf(define.ErrPodExists, "name %s is in use", pod.Name())
err = define.ErrPodExists
if allPodsBkt.Get(nameExist) == nil {
err = define.ErrCtrExists
}
return errors.Wrapf(err, "name \"%s\" is in use", pod.Name())
}
// We are good to add the pod

View File

@ -586,11 +586,19 @@ func (s *BoltState) addContainer(ctr *Container, pod *Pod) error {
// Check if we already have a container with the given ID and name
idExist := idsBucket.Get(ctrID)
if idExist != nil {
return errors.Wrapf(define.ErrCtrExists, "ID %s is in use", ctr.ID())
err = define.ErrCtrExists
if allCtrsBucket.Get(idExist) == nil {
err = define.ErrPodExists
}
return errors.Wrapf(err, "ID \"%s\" is in use", ctr.ID())
}
nameExist := namesBucket.Get(ctrName)
if nameExist != nil {
return errors.Wrapf(define.ErrCtrExists, "name %s is in use", ctr.Name())
err = define.ErrCtrExists
if allCtrsBucket.Get(nameExist) == nil {
err = define.ErrPodExists
}
return errors.Wrapf(err, "name \"%s\" is in use", ctr.Name())
}
// No overlapping containers