module Overcloud::Flavor
Public Instance Methods
create_flavor(flavor_parameters)
click to toggle source
# File lib/egon/overcloud/undercloud_handle/flavor.rb, line 14 def create_flavor(flavor_parameters) flavor = service('Compute').flavors.create(flavor_parameters) if flavor_parameters.key?(:extra_specs) create_flavor_extra_specs(flavor.id, flavor_parameters[:extra_specs]) end end
create_flavor_extra_specs(flavor_id, extra_specs)
click to toggle source
# File lib/egon/overcloud/undercloud_handle/flavor.rb, line 25 def create_flavor_extra_specs(flavor_id, extra_specs) get_flavor(flavor_id).create_metadata(extra_specs) end
create_flavor_from_node(node)
click to toggle source
# File lib/egon/overcloud/undercloud_handle/flavor.rb, line 29 def create_flavor_from_node(node) cpus = node.properties['cpus'] memory_mb = node.properties['memory_mb'] local_gb = node.properties['local_gb'] cpu_arch = node.properties['cpu_arch'] flavor_parameters = { :name => 'Flavor-' + cpus + '-' + cpu_arch + '-' + memory_mb + '-' + local_gb, :ram => memory_mb, :vcpus => cpus, :disk => local_gb, :is_public => true, :extra_specs => { :cpu_arch => cpu_arch, :'capabilities:boot_option' => 'local', } } if !flavor_exists?(flavor_parameters) create_flavor(flavor_parameters) end end
flavor_exists?(flavor_parameters)
click to toggle source
# File lib/egon/overcloud/undercloud_handle/flavor.rb, line 52 def flavor_exists?(flavor_parameters) for flavor in list_flavors if flavor.ram == flavor_parameters[:ram].to_i && flavor.vcpus == flavor_parameters[:vcpus].to_i && flavor.disk == flavor_parameters[:disk].to_i && flavor.metadata['cpu_arch'] == flavor_parameters[:extra_specs][:cpu_arch] return true end end false end
get_flavor(flavor_id)
click to toggle source
# File lib/egon/overcloud/undercloud_handle/flavor.rb, line 10 def get_flavor(flavor_id) service('Compute').flavors.get(flavor_id) end
get_flavor_extra_specs(flavor_id)
click to toggle source
# File lib/egon/overcloud/undercloud_handle/flavor.rb, line 21 def get_flavor_extra_specs(flavor_id) get_flavor(flavor_id).metadata end
list_flavors()
click to toggle source
# File lib/egon/overcloud/undercloud_handle/flavor.rb, line 6 def list_flavors service('Compute').flavors.all end