Project

General

Profile

Actions

Bug #10957

closed

Warning error on "Monitor/Statistics" webpage

Added by Claudiu Nagy over 9 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Statistics
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Due to some limitations/bugs in linux containers sometimes the value returned by facter for memoryfree is not correct. It does not contain the unit of measure (MB, GB, etc). I have such a case and in the database where there is a value for memoryfree of "8.00 " . Because of that value the "Monitor/Statistics" can't be accessed with the below warning:

RuntimeError
Unknown string: "8.00 "!
lib/core_extensions.rb:139:in `rescue in to_gb'
lib/core_extensions.rb:128:in `to_gb'
app/models/fact_value.rb:101:in `block in to_gb'
app/models/fact_value.rb:100:in `to_gb'
app/models/fact_value.rb:58:in `mem_average'
app/controllers/statistics_controller.rb:9:in `index'
app/controllers/concerns/application_shared.rb:13:in `set_timezone'
app/models/concerns/foreman/thread_session.rb:32:in `clear_thread'
lib/middleware/catch_json_parse_errors.rb:9:in `call'
lib/core_extensions.rb:129:in `to_gb'

Looking at the "to_gb" ruby code in "lib/core_extensions.rb" i was under the impression that such a case should work:

      case unit.to_sym
      when nil, :B, :byte          then (value.to_f / Foreman::SIZE[:giga])

But of course it doesn't.

Should a situation where memoryfree equals "8.00 " (no unit in there) give an error or should it work?

P.S. I do have a patch for "to_gb" that will work if the value is similar to "8.00 ".

Actions

Also available in: Atom PDF