do_snapshot 0.3.7 → 0.3.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 06606ebf6e8df99c994ce845c7f5fa63996f53e1
4
- data.tar.gz: 42f86fa15f04f5e5d43e7785b0fcd46b6c0875e1
3
+ metadata.gz: 46aad1fb16f689f6ceb2a36e2213b8cb84953edd
4
+ data.tar.gz: 611d90d5c0c746df41b371b642769073e9c083ab
5
5
  SHA512:
6
- metadata.gz: cbaea0198b09721b86e4419b5fb1aba1c1935469be3a7fb0fe16d9be044857767150fa7b5e5cc4da3b546b6e5ee353ce5466ca3cd096ba5fa8156f067d8ce499
7
- data.tar.gz: f04fe0b3897ca82876cbc33b7b952017bcd9e569953c101486eae2a34304c73fffb90d3b56deb63bfa78931a8576a2a83ede049087586405f78286cac6d4d93f
6
+ metadata.gz: d002bcb79714fb283d8ba1e45b69f48fbf91abe7c5eb48b58051f9ad7bde60f6546cd7b9e52232193751b9beac51e94c3fc3cead6f08655f05926981c8de7730
7
+ data.tar.gz: 3d7ca6ca589ac35fecee9605b26cf08d4a36aa031eebdce33e02845c47ca2d076d3d333d6803b8286dd743328ce9a48bb4a1f7dd9ca03611ea994b70151bd0d7
@@ -40,6 +40,19 @@ module DoSnapshot
40
40
  logger.error "Droplet #{id} is still running. Skipping."
41
41
  end
42
42
 
43
+ # Request Power On for droplet
44
+ #
45
+ def power_on(id)
46
+ # noinspection RubyResolve
47
+ event = ::DigitaloceanC::Droplet.power_on(id)
48
+ case event && event.status
49
+ when 'OK'
50
+ logger.info "Droplet id: #{id} is requested for Power On."
51
+ else
52
+ logger.error "Droplet id: #{id} is failed to request for Power On."
53
+ end
54
+ end
55
+
43
56
  # Power Off request for Droplet
44
57
  #
45
58
  def stop_droplet(id)
@@ -49,7 +62,7 @@ module DoSnapshot
49
62
  fail event.message unless event.status.include? 'OK'
50
63
 
51
64
  # noinspection RubyResolve
52
- wait_shutdown(id)
65
+ wait_event(event.event_id)
53
66
  rescue => e
54
67
  raise DropletShutdownError.new(id), e.message, e.backtrace
55
68
  end
@@ -116,19 +129,6 @@ module DoSnapshot
116
129
  # noinspection RubyResolve,RubyResolve
117
130
  event.event.percentage && event.event.percentage.include?('100') ? true : false
118
131
  end
119
-
120
- # Request Power On for droplet
121
- #
122
- def power_on(id)
123
- # noinspection RubyResolve
124
- event = ::DigitaloceanC::Droplet.power_on(id)
125
- case event && event.status
126
- when 'OK'
127
- logger.info "Droplet id: #{id} is requested for Power On."
128
- else
129
- logger.error "Droplet id: #{id} is failed to request for Power On."
130
- end
131
- end
132
132
  end
133
133
  end
134
134
  end
@@ -42,6 +42,21 @@ module DoSnapshot
42
42
  logger.error "Droplet #{id} is still running. Skipping."
43
43
  end
44
44
 
45
+ # Request Power On for droplet
46
+ #
47
+ def power_on(id)
48
+ # noinspection RubyResolve
49
+ response = client.droplet.power_on(id)
50
+
51
+ fail DoSnapshot::EventError.new(id), response.message unless response.respond_to?(:action)
52
+
53
+ if response.action.status.include?('in-progress')
54
+ logger.info "Droplet id: #{id} is requested for Power On."
55
+ else
56
+ logger.error "Droplet id: #{id} is failed to request for Power On."
57
+ end
58
+ end
59
+
45
60
  # Power Off request for Droplet
46
61
  #
47
62
  def stop_droplet(id)
@@ -124,21 +139,6 @@ module DoSnapshot
124
139
  # noinspection RubyResolve,RubyResolve
125
140
  response.action.status.include?('completed') ? true : false
126
141
  end
127
-
128
- # Request Power On for droplet
129
- #
130
- def power_on(id)
131
- # noinspection RubyResolve
132
- response = client.droplet.power_on(id)
133
-
134
- fail DoSnapshot::EventError.new(id), response.message unless response.respond_to?(:action)
135
-
136
- if response.action.status.include?('in-progress')
137
- logger.info "Droplet id: #{id} is requested for Power On."
138
- else
139
- logger.error "Droplet id: #{id} is failed to request for Power On."
140
- end
141
- end
142
142
  end
143
143
  end
144
144
  end
@@ -86,7 +86,7 @@ module DoSnapshot
86
86
  def power_on_failed_droplets
87
87
  processed_droplet_ids
88
88
  .select { |id| api.inactive?(id) }
89
- .each { |id| api.start_droplet(id) }
89
+ .each { |id| api.power_on(id) }
90
90
  end
91
91
 
92
92
  # API launcher
@@ -2,5 +2,5 @@
2
2
  # Current version
3
3
  #
4
4
  module DoSnapshot
5
- VERSION = '0.3.7'
5
+ VERSION = '0.3.8'
6
6
  end
@@ -112,24 +112,20 @@ RSpec.describe DoSnapshot::Adapter::Digitalocean do
112
112
  it 'with success' do
113
113
  stub_event_done(event_id)
114
114
  stub_droplet_stop(droplet_id)
115
- stub_droplet_inactive(droplet_id)
116
115
 
117
116
  instance.stop_droplet(droplet_id)
118
117
 
119
118
  expect(a_request(:get, droplet_stop_url))
120
119
  .to have_been_made
121
- expect(a_request(:get, droplet_url))
120
+ expect(a_request(:get, event_find_url))
122
121
  .to have_been_made
123
122
  end
124
123
 
125
124
  it 'with error' do
126
125
  stub_droplet_stop_fail(droplet_id)
127
- stub_droplet(droplet_id)
128
126
 
129
- instance.timeout = 1
130
127
  expect { instance.stop_droplet(droplet_id) }
131
128
  .to raise_error(DoSnapshot::DropletShutdownError)
132
- instance.timeout = timeout
133
129
  expect(DoSnapshot.logger.buffer)
134
130
  .to include 'Droplet id: 100823 is Failed to Power Off.'
135
131
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: do_snapshot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Merkulov