class Crowbar::Client::Command::Upgrade::Prechecks
Implementation for the upgrade status command
Public Instance Methods
execute()
click to toggle source
# File lib/crowbar/client/command/upgrade/prechecks.rb, line 34 def execute request.process do |request| case request.code when 200 formatter = Formatter::Hash.new( format: provide_format, headings: ["Check ID", "Passed", "Required", "Errors", "Help"], values: Filter::Hash.new( filter: provide_filter, values: content_from(request) ).result ) if formatter.empty? err "No checks" else say formatter.result next unless provide_format == :table say "Make sure that there are no errors for the required checks" \ " before executing the next step." say "Next step: 'crowbarctl upgrade prepare'" end else err request.parsed_response["error"] end end end
request()
click to toggle source
# File lib/crowbar/client/command/upgrade/prechecks.rb, line 28 def request @request ||= Request::Upgrade::Prechecks.new( args ) end
Protected Instance Methods
content_from(request)
click to toggle source
# File lib/crowbar/client/command/upgrade/prechecks.rb, line 64 def content_from(request) [].tap do |row| request.parsed_response["checks"].each do |check_id, values| # make the check_id server agnostic # the check_id could be named differently in the server response check_ids = values["errors"].keys if values["errors"].any? if check_ids check_ids.each do |id| row.push(parsed_checks(id, values)) end else row.push(parsed_checks(check_id, values)) end end end end
parsed_checks(check_id, values)
click to toggle source
# File lib/crowbar/client/command/upgrade/prechecks.rb, line 82 def parsed_checks(check_id, values) { check_id: check_id, passed: values["passed"], required: values["required"], errors: if values["errors"].key?(check_id) values["errors"][check_id]["data"].inspect end, help: if values["errors"].key?(check_id) values["errors"][check_id]["help"].inspect end } end