From 50449007b970809beafaa59e0992f38d95613684 Mon Sep 17 00:00:00 2001 From: angiecris Date: Wed, 28 Feb 2018 12:44:06 -0800 Subject: [PATCH 1/3] delete datastore files recursively for all datastore types --- lib/install/management/store_files.go | 30 +++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/install/management/store_files.go b/lib/install/management/store_files.go index 2046fb7ab6..a30f81bfc9 100644 --- a/lib/install/management/store_files.go +++ b/lib/install/management/store_files.go @@ -43,6 +43,7 @@ func (d *Dispatcher) deleteImages(conf *config.VirtualContainerHostConfigSpec) e d.op.Info("Removing image stores") for _, imageDir := range conf.ImageStores { + imageDSes, err := d.session.Finder.DatastoreList(d.op, imageDir.Host) if err != nil { errs = append(errs, err.Error()) @@ -158,23 +159,22 @@ func (d *Dispatcher) isVSAN(ds *object.Datastore) bool { func (d *Dispatcher) deleteFilesIteratively(m *object.DatastoreFileManager, ds *object.Datastore, dsPath string) error { defer trace.End(trace.Begin(dsPath, d.op)) - if d.isVSAN(ds) { - // Get sorted result to make sure child files are listed ahead of their parent folder so we empty the folder before deleting it. - // This behaviour is specifically for vSan, as vSan sometimes throws an error when deleting a folder that is not empty. - res, err := d.getSortedChildren(ds, dsPath) - if err != nil { - if !types.IsFileNotFound(err) { - err = errors.Errorf("Failed to browse sub folders %q: %s", dsPath, err) - return err - } - d.op.Debugf("Folder %q is not found", dsPath) - return nil + // Get sorted result to make sure child files are listed ahead of their parent folder so we empty the folder before deleting it. + // This behaviour was specifically for vSan, as vSan sometimes throws an error when deleting a folder that is not empty. + // Sometimes for non-vSAN type datastores, deleting non-empty directories would throw error as well + res, err := d.getSortedChildren(ds, dsPath) + if err != nil { + if !types.IsFileNotFound(err) { + err = errors.Errorf("Failed to browse sub folders %q: %s", dsPath, err) + return err } + d.op.Debugf("Folder %q is not found", dsPath) + return nil + } - for _, path := range res { - if err = d.deleteVMFSFiles(m, ds, path); err != nil { - return err - } + for _, path := range res { + if err = d.deleteVMFSFiles(m, ds, path); err != nil { + return err } } From b2be439a6d48c0600ff95bd8d9811ce1edbf2a6e Mon Sep 17 00:00:00 2001 From: angiecris Date: Wed, 28 Feb 2018 12:46:14 -0800 Subject: [PATCH 2/3] fixup! delete datastore files recursively for all datastore types --- lib/install/management/store_files.go | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/install/management/store_files.go b/lib/install/management/store_files.go index a30f81bfc9..1c432ab6b1 100644 --- a/lib/install/management/store_files.go +++ b/lib/install/management/store_files.go @@ -43,7 +43,6 @@ func (d *Dispatcher) deleteImages(conf *config.VirtualContainerHostConfigSpec) e d.op.Info("Removing image stores") for _, imageDir := range conf.ImageStores { - imageDSes, err := d.session.Finder.DatastoreList(d.op, imageDir.Host) if err != nil { errs = append(errs, err.Error()) From 61c2ce7fba267313747011c6c42982f53346747c Mon Sep 17 00:00:00 2001 From: angiecris Date: Wed, 28 Feb 2018 12:50:37 -0800 Subject: [PATCH 3/3] trigger drone