fog-brightbox 0.2.0 → 0.3.0
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/fog/brightbox/compute.rb +2 -0
- data/lib/fog/brightbox/models/compute/server.rb +9 -28
- data/lib/fog/brightbox/requests/compute/reboot_server.rb +21 -0
- data/lib/fog/brightbox/requests/compute/reset_server.rb +21 -0
- data/lib/fog/brightbox/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c828f450aae49fe5ef940159c7cdaee50804594
|
4
|
+
data.tar.gz: 6ab4e5663ebb90199b0e01b8d38cf117479c4d27
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7ba85e84d50f9689c9262836196c02629e470613d26cbd403c0319f16cc513bc09d06ca8d7f0e4762cbe2dec4f0dc4212058bb9289e35702c3d27a20e480381
|
7
|
+
data.tar.gz: 19d9f5dfac3c1825c9bc21749a1baf5ff68c4f0b87a3a210c519dd90837c2e0fcf19a008a6c037ed4ebf106cbbf4d9543873d798abf2a3b29f124a17b1849e9b
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
### 0.3.0 / 2014-08-12
|
2
|
+
|
3
|
+
Enhancements:
|
4
|
+
|
5
|
+
* Use improved reset and reboot requests for the `Server#reboot` method
|
6
|
+
allowing requests without having to fake restarts with a start/stop. This
|
7
|
+
keeps the VNC console active.
|
8
|
+
|
1
9
|
### 0.2.0 / 2014-08-07
|
2
10
|
|
3
11
|
Enhancements:
|
@@ -144,6 +144,7 @@ module Fog
|
|
144
144
|
request :lock_resource_server
|
145
145
|
request :map_cloud_ip
|
146
146
|
request :move_servers_server_group
|
147
|
+
request :reboot_server
|
147
148
|
request :reject_user_collaboration
|
148
149
|
request :remove_listeners_load_balancer
|
149
150
|
request :remove_nodes_load_balancer
|
@@ -154,6 +155,7 @@ module Fog
|
|
154
155
|
request :reset_password_database_server
|
155
156
|
request :reset_secret_api_client
|
156
157
|
request :reset_secret_application
|
158
|
+
request :reset_server
|
157
159
|
request :resend_collaboration
|
158
160
|
request :reject_user_collaboration
|
159
161
|
request :shutdown_server
|
@@ -74,21 +74,26 @@ module Fog
|
|
74
74
|
service.snapshot_server(identity)
|
75
75
|
end
|
76
76
|
|
77
|
-
#
|
78
|
-
# so needs to attempt a shutdown/stop, wait and start again.
|
77
|
+
# Issues a hard reset to the server (or an OS level reboot command)
|
79
78
|
#
|
80
79
|
# Default behaviour is a hard reboot because it is more reliable
|
81
80
|
# because the state of the server's OS is irrelevant.
|
82
81
|
#
|
82
|
+
# @example Hard reset
|
83
|
+
# @server.reboot
|
84
|
+
#
|
85
|
+
# @example Soft reset
|
86
|
+
# @server.reboot(false)
|
87
|
+
#
|
83
88
|
# @param [Boolean] use_hard_reboot
|
84
89
|
# @return [Boolean]
|
85
90
|
def reboot(use_hard_reboot = true)
|
86
91
|
requires :identity
|
87
92
|
if ready?
|
88
93
|
if use_hard_reboot
|
89
|
-
|
94
|
+
service.reset_server(identity)
|
90
95
|
else
|
91
|
-
|
96
|
+
service.reboot_server(identity)
|
92
97
|
end
|
93
98
|
else
|
94
99
|
# Not able to reboot if not ready in the first place
|
@@ -188,30 +193,6 @@ module Fog
|
|
188
193
|
def mapping_identity
|
189
194
|
interfaces.first["id"]
|
190
195
|
end
|
191
|
-
|
192
|
-
private
|
193
|
-
|
194
|
-
# Hard reboots are fast, avoiding the OS by doing a "power off"
|
195
|
-
def hard_reboot
|
196
|
-
stop
|
197
|
-
wait_for { !ready? }
|
198
|
-
start
|
199
|
-
end
|
200
|
-
|
201
|
-
# Soft reboots often timeout if the OS missed the request so we do more
|
202
|
-
# error checking trying to detect the timeout
|
203
|
-
#
|
204
|
-
# @todo Needs cleaner error handling when the OS times out
|
205
|
-
def soft_reboot
|
206
|
-
shutdown
|
207
|
-
# FIXME: Using side effect of wait_for's (evaluated block) to detect timeouts
|
208
|
-
begin
|
209
|
-
wait_for(20) { !ready? }
|
210
|
-
start
|
211
|
-
rescue Fog::Errors::Timeout
|
212
|
-
false
|
213
|
-
end
|
214
|
-
end
|
215
196
|
end
|
216
197
|
end
|
217
198
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class Brightbox
|
4
|
+
class Real
|
5
|
+
# Shuts down and resets the server without disconnecting the console.
|
6
|
+
#
|
7
|
+
# @param [String] identifier Unique reference to identify the resource
|
8
|
+
#
|
9
|
+
# @return [Hash] if successful Hash version of JSON object
|
10
|
+
#
|
11
|
+
# @see https://api.gb1.brightbox.com/1.0/#server_reboot_server
|
12
|
+
#
|
13
|
+
def reboot_server(identifier)
|
14
|
+
return nil if identifier.nil? || identifier == ""
|
15
|
+
wrapped_request("post", "/1.0/servers/#{identifier}/reboot", [202])
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class Brightbox
|
4
|
+
class Real
|
5
|
+
# Resets the server without disconnecting the console.
|
6
|
+
#
|
7
|
+
# @param [String] identifier Unique reference to identify the resource
|
8
|
+
#
|
9
|
+
# @return [Hash] if successful Hash version of JSON object
|
10
|
+
#
|
11
|
+
# @see https://api.gb1.brightbox.com/1.0/#server_reset_server
|
12
|
+
#
|
13
|
+
def reset_server(identifier)
|
14
|
+
return nil if identifier.nil? || identifier == ""
|
15
|
+
wrapped_request("post", "/1.0/servers/#{identifier}/reset", [202])
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-brightbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Thornthwaite
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fog-core
|
@@ -263,6 +263,7 @@ files:
|
|
263
263
|
- lib/fog/brightbox/requests/compute/lock_resource_server.rb
|
264
264
|
- lib/fog/brightbox/requests/compute/map_cloud_ip.rb
|
265
265
|
- lib/fog/brightbox/requests/compute/move_servers_server_group.rb
|
266
|
+
- lib/fog/brightbox/requests/compute/reboot_server.rb
|
266
267
|
- lib/fog/brightbox/requests/compute/reject_user_collaboration.rb
|
267
268
|
- lib/fog/brightbox/requests/compute/remove_firewall_policy.rb
|
268
269
|
- lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb
|
@@ -274,6 +275,7 @@ files:
|
|
274
275
|
- lib/fog/brightbox/requests/compute/reset_password_database_server.rb
|
275
276
|
- lib/fog/brightbox/requests/compute/reset_secret_api_client.rb
|
276
277
|
- lib/fog/brightbox/requests/compute/reset_secret_application.rb
|
278
|
+
- lib/fog/brightbox/requests/compute/reset_server.rb
|
277
279
|
- lib/fog/brightbox/requests/compute/shutdown_server.rb
|
278
280
|
- lib/fog/brightbox/requests/compute/snapshot_database_server.rb
|
279
281
|
- lib/fog/brightbox/requests/compute/snapshot_server.rb
|