'Retrieve status info from volume group.'

def _update_volume_status(self):

    data = {}
    data['volume_backend_name'] = (self._properties['backend_name'] or self._driver_name)
    data['vendor_name'] = self._properties['vendor_name']
    data['driver_version'] = self.VERSION
    data['reserved_percentage'] = self._properties['reserved_percentage']
    data['QoS_support'] = True
    try:
        (pools, lds, ldsets, used_ldns, hostports, max_ld_count) = self.parse_xml()
        pool_capacity = self.get_pool_capacity(pools, ldsets)
        data['total_capacity_gb'] = pool_capacity['total_capacity_gb']
        data['free_capacity_gb'] = pool_capacity['free_capacity_gb']
    except Exception:
        LOG.debug('_update_volume_status    Unexpected    error.    exception=%s', traceback.format_exc())
        data['total_capacity_gb'] = 0
        data['free_capacity_gb'] = 0
    return data
