mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
7d5a88d2e9
Rackspace has [30GB compute nodes][1]. If you've got these nodes on your account and try to do a flavor.cores you an exception like: ``` TypeError: nil can't be coerced into Fixnum from /Users/philkates/.rvm/gems/ruby-1.9.3-p0/gems/fog-1.1.2/lib/fog/rackspace/models/compute/flavor.rb:37:in `*' from /Users/philkates/.rvm/gems/ruby-1.9.3-p0/gems/fog-1.1.2/lib/fog/rackspace/models/compute/flavor.rb:37:in `cores' from (irb):6:in `<main>' from ./bin/fog:52:in `block in <main>' from ./bin/fog:52:in `catch' from ./bin/fog:52:in `<main>' ``` This is my incredibly simplistic fix. [1]: http://www.rackspace.com/cloud/cloud_hosting_products/servers/pricing/
46 lines
749 B
Ruby
46 lines
749 B
Ruby
require 'fog/core/model'
|
|
|
|
module Fog
|
|
module Compute
|
|
class Rackspace
|
|
|
|
class Flavor < Fog::Model
|
|
|
|
identity :id
|
|
|
|
attribute :disk
|
|
attribute :name
|
|
attribute :ram
|
|
|
|
def bits
|
|
64
|
|
end
|
|
|
|
def cores
|
|
# Each server is assigned 4 virtual cores and
|
|
# given a percentage of CPU cycles based on size
|
|
4 * case ram
|
|
when 256
|
|
1/64.0
|
|
when 512
|
|
1/32.0
|
|
when 1024
|
|
1/16.0
|
|
when 2048
|
|
1/8.0
|
|
when 4096
|
|
1/4.0
|
|
when 8192
|
|
1/2.0
|
|
when 15872
|
|
1
|
|
when 30720
|
|
2
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
end
|
|
end
|