Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions app/models/concerns/fog_extensions/kubevirt/server.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,20 @@ module Server

attr_accessor :image_id

included do
alias_method :fog_memory, :memory

define_method(:memory) do
return fog_memory if fog_memory.is_a?(Numeric)
return nil if fog_memory.blank?

::Fog::Kubevirt::Utils::UnitConverter.convert(fog_memory, :b).to_i
rescue StandardError => e
Rails.logger.warn("Failed to convert memory '#{fog_memory}': #{e.message}")
nil
end
end

def to_s
name
end
Expand Down
8 changes: 0 additions & 8 deletions app/models/foreman_kubevirt/kubevirt.rb
Original file line number Diff line number Diff line change
Expand Up @@ -305,14 +305,6 @@ def max_memory
64.gigabytes
end

# Converts a given memory to bytes
#
# @param memory - The memory of the VM to convert
#
def convert_memory_to_bytes(memory)
convert_memory(memory, :b)
end

def plain_kubevirt_protocol
"plain.kubevirt.io".freeze
end
Expand Down
2 changes: 1 addition & 1 deletion app/views/compute_resources_vms/index/_kubevirt.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<tr>
<td><%= link_to_if_authorized vm.name, hash_for_compute_resource_vm_path(:compute_resource_id => @compute_resource, :id => vm.identity).merge(:auth_object => @compute_resource, :auth_action => 'view', :authorizer => authorizer) %></td>
<td><%= vm.cpu_cores %></td>
<td><%= number_to_human_size @compute_resource.convert_memory_to_bytes(vm.memory) %></td>
<td><%= number_to_human_size vm.memory %></td>
<td>
<span <%= vm_power_class(vm.ready?) %>>
<%= vm_state(vm) %></span>
Expand Down
2 changes: 1 addition & 1 deletion app/views/compute_resources_vms/show/_kubevirt.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
</tr>
<tr>
<td><%= _('Memory') %></td>
<td><%= number_to_human_size @compute_resource.convert_memory_to_bytes(@vm.memory) %></td>
<td><%= number_to_human_size @vm.memory %></td>
</tr>
<tr>
<td><%= _('Namespace') %></td>
Expand Down
10 changes: 0 additions & 10 deletions test/unit/foreman_kubevirt_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -163,14 +163,4 @@ def new_kubevirt_vcr
# verify default memory value is set
assert_equal "1024M", server.memory
end

test "converts memory to byte" do
Fog.mock!
compute_resource = new_kubevirt_vcr
assert_equal 1.gigabytes, compute_resource.convert_memory_to_bytes("1Gi")
assert_equal 1.megabytes, compute_resource.convert_memory_to_bytes("1Mi")
assert_equal 1_000_000_000, compute_resource.convert_memory_to_bytes("1G")
assert_equal 1_000_000, compute_resource.convert_memory_to_bytes("1M")
assert_equal 0, compute_resource.convert_memory_to_bytes("0b")
end
end
Loading