<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_hosting_device_status(self, context, host, status_info):
 """Report status changes for hosting devices. :param context: contains user information :param host: originator of callback :param status_info: Dictionary with list of hosting device ids for each type of hosting device status to be updated i.e.:: { HD_ACTIVE: list_of_ids_of_active_hds, HD_NOT_RESPONDING: list_of_ids_of_not_responding_hds, HD_DEAD: list_of_ids_of_dead_hds, } """

        for status, hd_ids in six.iteritems(status_info):
            # update hosting device entry in db to new status
            hd_spec = {'hosting_device': {'status': status}}
            for hd_id in hd_ids:
                self._dmplugin.update_hosting_device(context, hd_id, hd_spec)
            if status == const.HD_DEAD or status == const.HD_ERROR:
                self._dmplugin.handle_non_responding_hosting_devices(
                    context, host, hd_ids)