do_snapshot 0.3.7 → 0.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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