clean up pet set code

Change-Id: I60562bb1aa44436a23cfc5e50d6037adcce417c6
This commit is contained in:
m1093782566 2016-09-02 11:02:18 +08:00
parent c9fda51d77
commit 7dd675ef32
2 changed files with 22 additions and 27 deletions

View File

@ -153,8 +153,10 @@ func newFakePetClient() *fakePetClient {
type fakePetClient struct { type fakePetClient struct {
pets []*pcb pets []*pcb
claims []api.PersistentVolumeClaim claims []api.PersistentVolumeClaim
petsCreated, petsDeleted int petsCreated int
claimsCreated, claimsDeleted int petsDeleted int
claimsCreated int
claimsDeleted int
recorder record.EventRecorder recorder record.EventRecorder
petHealthChecker petHealthChecker
} }

View File

@ -225,18 +225,9 @@ func (p *apiServerPetClient) DeletePVCs(pet *pcb) error {
return nil return nil
} }
func (p *apiServerPetClient) getPVC(pvcName, pvcNamespace string) (*api.PersistentVolumeClaim, bool, error) { func (p *apiServerPetClient) getPVC(pvcName, pvcNamespace string) (*api.PersistentVolumeClaim, error) {
found := true
pvc, err := claimClient(p.c, pvcNamespace).Get(pvcName) pvc, err := claimClient(p.c, pvcNamespace).Get(pvcName)
if errors.IsNotFound(err) { return pvc, err
found = false
}
if !found {
return nil, found, nil
} else if err != nil {
return nil, found, err
}
return pvc, true, nil
} }
func (p *apiServerPetClient) createPVC(pvc *api.PersistentVolumeClaim) error { func (p *apiServerPetClient) createPVC(pvc *api.PersistentVolumeClaim) error {
@ -246,23 +237,25 @@ func (p *apiServerPetClient) createPVC(pvc *api.PersistentVolumeClaim) error {
// SyncPVCs syncs pvcs in the given pcb. // SyncPVCs syncs pvcs in the given pcb.
func (p *apiServerPetClient) SyncPVCs(pet *pcb) error { func (p *apiServerPetClient) SyncPVCs(pet *pcb) error {
errMsg := "" errmsg := ""
// Create new claims. // Create new claims.
for i, pvc := range pet.pvcs { for i, pvc := range pet.pvcs {
_, exists, err := p.getPVC(pvc.Name, pet.parent.Namespace) _, err := p.getPVC(pvc.Name, pet.parent.Namespace)
if !exists { if err != nil {
if errors.IsNotFound(err) {
var err error var err error
if err = p.createPVC(&pet.pvcs[i]); err != nil { if err = p.createPVC(&pet.pvcs[i]); err != nil {
errMsg += fmt.Sprintf("Failed to create %v: %v", pvc.Name, err) errmsg += fmt.Sprintf("Failed to create %v: %v", pvc.Name, err)
} }
p.event(pet.parent, "Create", fmt.Sprintf("pvc: %v", pvc.Name), err) p.event(pet.parent, "Create", fmt.Sprintf("pvc: %v", pvc.Name), err)
} else if err != nil { } else {
errMsg += fmt.Sprintf("Error trying to get pvc %v, %v.", pvc.Name, err) errmsg += fmt.Sprintf("Error trying to get pvc %v, %v.", pvc.Name, err)
}
} }
// TODO: Check resource requirements and accessmodes, update if necessary // TODO: Check resource requirements and accessmodes, update if necessary
} }
if len(errMsg) != 0 { if len(errmsg) != 0 {
return fmt.Errorf("%v", errMsg) return fmt.Errorf("%v", errmsg)
} }
return nil return nil
} }