diff --git a/library/cloud/digital_ocean b/library/cloud/digital_ocean index c2359ade5d..d020b07b8a 100644 --- a/library/cloud/digital_ocean +++ b/library/cloud/digital_ocean @@ -189,19 +189,13 @@ class Droplet(JsonfyMixIn): def is_powered_on(self): return self.status == 'active' - def update_attr(self, attrs=None, times=5): + def update_attr(self, attrs=None): if attrs: for k, v in attrs.iteritems(): setattr(self, k, v) else: json = self.manager.show_droplet(self.id) - if not json['ip_address']: - if times > 0: - time.sleep(2) - self.update_attr(times=times-1) - else: - raise TimeoutError('No ip is found.', self.id) - else: + if json['ip_address']: self.update_attr(json) def power_on(self): @@ -221,6 +215,8 @@ class Droplet(JsonfyMixIn): time.sleep(min(20, end_time-time.time())) self.update_attr() if self.is_powered_on(): + if not self.ip_address: + raise TimeoutError('No ip is found.', self.id) return raise TimeoutError('Wait for droplet running timeout', self.id)