Description of problem: Currently, it's just ignites the process to check for upgrade, which is somewhat useless (I assume one can check the event of the result, etc. - messy). Just make is synchronous and return a True/False if upgrade is available.
Example: host_service = connection.system_service().hosts_service().host_service(host.id) is_upgrade = host_service.upgrade_check() To my surprise, is_upgrade is None. I expected a Boolean.
This is quite problematic, because the whole "check-for-upgrade" flow needs to be asynchronous: 1. By default it's executed periodically by engine itself and because it may take really long time to fetch repositories updates on the host 2. If we make it synchronous, the also UI would be blocked when check for upgrade is executed form webadmin So the only option is probably to execute check-for-upgrade flow asynchronously and then periodically check host status (or job status) until the check-for-upgrade flow finished.
We didn't get to this bug for more than 2 years, and it's not being considered for the upcoming 4.4. It's unlikely that it will ever be addressed so I'm suggesting to close it. If you feel this needs to be addressed and want to work on it please remove cond nack and target accordingly.
ok, closing. Please reopen if still relevant/you want to work on it.