Skip to content

Commit 012a988

Browse files
committed
destroyServer waits until DELETE action is completed
1 parent a204f23 commit 012a988

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/cloud/digitalocean/provisioner.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ class Provisioner {
123123

124124
/**
125125
* Destroys cloud server; assumes OAuth has already been completed
126+
* This method will use this.waitDigitalOceanActions_() to wait until the server is deleted
126127
* @param {String} droplet name, as a string
127128
* @return {Promise.<void>}
128129
*/
@@ -137,12 +138,19 @@ class Provisioner {
137138
'message': 'Droplet ' + name + ' doesnt exist'
138139
});
139140
}
141+
this.state_.cloud = {};
142+
this.state_.cloud.vm = resp.droplet;
140143
return this.doRequest_('DELETE', 'droplets/' + resp.droplet.id);
141144
}).then((resp: any) => {
142145
if (resp.status.startsWith('204')) {
143-
return Promise.resolve<void>();
146+
// Wait until server is deleted
147+
this.sendStatus_('CLOUD_WAITING_VM');
148+
return this.waitDigitalOceanActions_();
149+
} else {
150+
return Promise.reject(new Error('error deleting droplet'));
144151
}
145-
return Promise.reject(new Error('error deleting droplet'));
152+
}).then(() => {
153+
return Promise.resolve<void>();
146154
});
147155
}
148156

0 commit comments

Comments
 (0)