Class: Kitchen::Driver::Cloud
- Inherits:
-
Object
- Object
- Kitchen::Driver::Cloud
- Defined in:
- lib/kitchen/driver/cloud.rb
Class Method Summary collapse
- .compute(config) ⇒ Object
- .create_server(instance, config) ⇒ Object
- .delete_server(instance, config, state) ⇒ Object
Class Method Details
.compute(config) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/kitchen/driver/cloud.rb', line 7 def self.compute(config) server_def = { provider: 'Rackspace' } opts = [:version, :rackspace_username, :rackspace_api_key, :rackspace_region] opts.each do |opt| server_def[opt] = config[opt] end Fog::Compute.new(server_def) end |
.create_server(instance, config) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/kitchen/driver/cloud.rb', line 24 def self.create_server(instance, config) server_def = { name: generate_name(instance), config_drive: true, user_data: File.read(config[:user_data]) } [:image_id, :flavor_id].each do |opt| server_def[opt] = config[opt] end server_def[:no_passwd_lock] = true server = compute(config).servers.new(server_def) server.save server end |
.delete_server(instance, config, state) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/kitchen/driver/cloud.rb', line 16 def self.delete_server(instance, config, state) server = compute(config).servers.get(state[:server_id]) server.destroy unless server.nil? state.delete(:server_id) state.delete(:hostname) state end |