'Return information about all pools on ISE'

def _get_pools(self):

    pools = []
    pool = {}
    vol_cnt = 0
    url = '/storage/pools'
    resp = self._send_cmd('GET', url)
    status = resp['status']
    if (status != 200):
        LOG.warning('Could    not    get    pool    information    (%s)!', status)
        return (pools, vol_cnt)
    xml_tree = etree.fromstring(resp['content'])
    for child in xml_tree:
        if (child.tag != 'pool'):
            continue
        tag = child.find('name')
        if (tag is not None):
            pool['pool_ise_name'] = tag.text
        tag = child.find('globalid')
        if (tag is not None):
            pool['globalid'] = tag.text
        tag = child.find('id')
        if (tag is not None):
            pool['pool_name'] = tag.text
        tag = child.find('status')
        if (tag is not None):
            pool['status'] = tag.attrib['string']
            details = tag.find('details')
            if (details is not None):
                detail = details.find('detail')
                if (detail is not None):
                    pool['status_details'] = detail.text
        pool = self._fill_in_available_capacity(child, pool)
        pool = self._fill_in_used_capacity(child, pool)
        media = child.find('media')
        if (media is not None):
            medium = media.find('medium')
            if (medium is not None):
                health = medium.find('health')
                if (health is not None):
                    pool['health'] = int(health.text)
                tier = medium.find('tier')
                if (tier is not None):
                    pool['media'] = tier.attrib['string']
        cap = child.find('IOPSmincap')
        if (cap is not None):
            pool['minIOPS_capacity'] = cap.text
        cap = child.find('IOPSmaxcap')
        if (cap is not None):
            pool['maxIOPS_capacity'] = cap.text
        cap = child.find('IOPSburstcap')
        if (cap is not None):
            pool['burstIOPS_capacity'] = cap.text
        pool['total_capacity_gb'] = int((pool['free_capacity_gb'] + pool['allocated_capacity_gb']))
        pool['QoS_support'] = self.configuration.ise_qos
        pool['reserved_percentage'] = 0
        pools.append(pool)
        volumes = child.find('volumes')
        if (volumes is not None):
            vol_cnt += len(volumes)
    return (pools, vol_cnt)
