From 9d8e809899b9a644d0fcd5a26fb7dad3d40f8dc6 Mon Sep 17 00:00:00 2001 From: Manuel Hutter <manuel@hutter.io> Date: Tue, 23 Oct 2018 08:36:36 +0200 Subject: [PATCH] Don't try to remove server if it does not exist When a server does not exist anymore (eg if it has been removed manually before removing it from docker-machine), gracefully handle the situation and ensure the accompanying SSH-Key is removed aswell. Fixes: #18 --- driver.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/driver.go b/driver.go index 939fe04..f6902f5 100644 --- a/driver.go +++ b/driver.go @@ -341,10 +341,14 @@ func (d *Driver) Remove() error { return errors.Wrap(err, "could not get server handle") } - log.Infof(" -> Destroying server %s[%d] in...", srv.Name, srv.ID) - - if _, err := d.getClient().Server.Delete(context.Background(), srv); err != nil { - return errors.Wrap(err, "could not delete server") + if srv == nil { + log.Infof(" -> Server does not exist anymore") + } else { + log.Infof(" -> Destroying server %s[%d] in...", srv.Name, srv.ID) + + if _, err := d.getClient().Server.Delete(context.Background(), srv); err != nil { + return errors.Wrap(err, "could not delete server") + } } } -- GitLab