Actions
Bug #10957
closedWarning error on "Monitor/Statistics" webpage
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