mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
Allow setting of memory and disk drives.
This commit is contained in:
parent
b5a96c90e9
commit
212ea7b3ed
2 changed files with 33 additions and 8 deletions
|
@ -10,6 +10,12 @@ module Fog
|
|||
|
||||
attribute :name
|
||||
attribute :cpu
|
||||
attribute :mem
|
||||
attribute :ide_0_0, :aliases => 'ide:0:0'
|
||||
attribute :ide_0_1, :aliases => 'ide:0:1'
|
||||
attribute :ide_1_0, :aliases => 'ide:1:0'
|
||||
attribute :ide_1_1, :aliases => 'ide:1:1'
|
||||
attribute :boot
|
||||
attribute :persistent
|
||||
attribute :vnc_password, :aliases => 'vnc:password'
|
||||
attribute :status
|
||||
|
@ -38,7 +44,7 @@ module Fog
|
|||
end
|
||||
|
||||
def allowed_attributes
|
||||
allowed = [:name, :cpu, :persistent, :vnc_password]
|
||||
allowed = [:name, :cpu, :mem, :persistent, :vnc_password]
|
||||
attributes.select {|k,v| allowed.include? k}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,15 +5,16 @@ Shindo.tests('Fog::Compute[:serverlove] | server requests', ['serverlove']) do
|
|||
'name' => String,
|
||||
'user' => String,
|
||||
'status' => String,
|
||||
'started' => String,
|
||||
'started' => Fog::Nullable::String,
|
||||
'cpu' => Integer,
|
||||
'mem' => Integer,
|
||||
'persistent' => Fog::Nullable::String,
|
||||
'vnc:password' => String
|
||||
'vnc:password' => Fog::Nullable::String
|
||||
}
|
||||
|
||||
tests('success') do
|
||||
|
||||
attributes = { 'name' => 'Test', 'cpu' => '1000', 'persistent' => 'true' }
|
||||
attributes = { 'name' => 'Test', 'cpu' => '1000', 'mem' => '1000', 'persistent' => 'true' }
|
||||
|
||||
tests("#create_server").formats(@server_format) do
|
||||
@server = Fog::Compute[:serverlove].create_server(attributes).body
|
||||
|
@ -29,25 +30,43 @@ Shindo.tests('Fog::Compute[:serverlove] | server requests', ['serverlove']) do
|
|||
Fog::Compute[:serverlove].servers.get(@server['server']).name == "Diff"
|
||||
end
|
||||
|
||||
tests("#start_server").succeeds do
|
||||
Fog::Compute[:serverlove].start_server(@server['server'])
|
||||
tests("assigns drive to server").succeeds do
|
||||
@image = Fog::Compute[:serverlove].create_image('name' => 'Test', 'size' => '4234567890').body
|
||||
# Load centos
|
||||
Fog::Compute[:serverlove].load_standard_image(@image['drive'], '88ed067f-d2b8-42ce-a25f-5297818a3b6f')
|
||||
@server['ide:0:0'] = @image['drive']
|
||||
@server['boot'] = 'ide:0:0'
|
||||
Fog::Compute[:serverlove].update_server(@server['server'], { 'ide:0:0' => @server['ide:0:0'], 'boot' => 'ide:0:0'})
|
||||
end
|
||||
|
||||
tests("#reset_server").succeeds do
|
||||
tests("#start_server").returns(true) do
|
||||
Fog::Compute[:serverlove].start_server(@server['server'])
|
||||
Fog::Compute[:serverlove].servers.get(@server['server']).status == "active"
|
||||
end
|
||||
|
||||
tests("#reset_server").returns(true) do
|
||||
Fog::Compute[:serverlove].reset_server(@server['server'])
|
||||
Fog::Compute[:serverlove].servers.get(@server['server']).status == "active"
|
||||
end
|
||||
|
||||
tests("#shutdown_server").succeeds do
|
||||
Fog::Compute[:serverlove].shutdown_server(@server['server'])
|
||||
# Can't guarantee the OS will honour this command so don't test status
|
||||
end
|
||||
|
||||
tests("#stop_server").succeeds do
|
||||
tests("#stop_server").returns(true) do
|
||||
Fog::Compute[:serverlove].start_server(@server['server'])
|
||||
Fog::Compute[:serverlove].stop_server(@server['server'])
|
||||
Fog::Compute[:serverlove].servers.get(@server['server']).status == "stopped"
|
||||
end
|
||||
|
||||
tests("#destroy_server").succeeds do
|
||||
Fog::Compute[:serverlove].destroy_server(@server['server'])
|
||||
end
|
||||
|
||||
tests("destroy test drive").succeeds do
|
||||
Fog::Compute[:serverlove].destroy_image(@image['drive'])
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue