Class: AvstCloud::RackspaceServer
- Inherits:
-
CloudServer
- Object
- CloudServer
- AvstCloud::RackspaceServer
- Defined in:
- lib/avst-cloud/rackspace_server.rb
Constant Summary
Constants inherited from CloudServer
Instance Attribute Summary
Attributes inherited from CloudServer
#access_password, #access_user, #ip_address, #server, #server_name
Instance Method Summary collapse
Methods inherited from CloudServer
#bootstrap, #initialize, #post_provisioning_commands, #provision, #run_tasks, #status, #wait_for_state
Methods included from Logging
included, logger, #logger, logger=, mask_message, show_passwords=
Constructor Details
This class inherits a constructor from AvstCloud::CloudServer
Instance Method Details
#destroy ⇒ Object
54 55 56 57 58 59 60 61 62 |
# File 'lib/avst-cloud/rackspace_server.rb', line 54 def destroy if @server logger.debug "Killing #{@server_name}" @server.destroy logger.debug "Server #{@server_name} destroyed...".green else raise "Server #{@server_name} does not exist!".red end end |
#start ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/avst-cloud/rackspace_server.rb', line 41 def start if @server logger.debug "Starting #{@server_name}" @server.reboot 'HARD' logger.debug "Waiting for ACTIVE state..." wait_for_state() {|serv| serv.ready?} logger.debug "[DONE]\n\n" logger.debug "Server #{@server_name} started...".green else raise "Server #{@server_name} does not exist!".red end end |
#stop ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/avst-cloud/rackspace_server.rb', line 20 def stop if @server logger.debug "Stopping #{@server_name}" shutdown_command = AvstCloud::SshCommandTask.new(['shutdown -h now']) begin run_tasks([AvstCloud::WaitUntilReady.new, shutdown_command]) rescue IOError => e logger.debug "Connection closed #{e.message}" unless e. == "closed stream" raise "Error while shutting down server. Expected Connection closed. Got #{e.message}" end end logger.debug "Waiting for SHUTOFF state..." wait_for_state() {|serv| serv.state == 'SHUTOFF'} logger.debug "[DONE]\n\n" logger.debug "Server #{@server_name} stopped...".green else raise "Server #{@server_name} does not exist!".red end end |