'Standard utility for generic volume groups.
:param group: the generic volume group object to be created
:param interval: Interval in seconds between retries
:param retries: Retry count
:returns: array, extra specs dict list
:raises: VolumeBackendAPIException'

def get_volume_group_utils(self, group, interval, retries):

    arrays = set()
    extraspecs_dict_list = []
    if isinstance(group, Group):
        for volume_type in group.volume_types:
            extraspecs_dict = self._update_extra_specs_list(volume_type.extra_specs, volume_type.id, interval, retries)
            extraspecs_dict_list.append(extraspecs_dict)
            arrays.add(extraspecs_dict[EXTRA_SPECS][ARRAY])
    else:
        msg = _('Unable    to    get    volume    type    ids.')
        LOG.error(msg)
        raise exception.VolumeBackendAPIException(data=msg)
    if (len(arrays) != 1):
        if (not arrays):
            msg = (_('Failed    to    get    an    array    associated    with    volume    group:    %(groupid)s.') % {'groupid': group.id})
        else:
            msg = (_('There    are    multiple    arrays    associated    with    volume    group:    %(groupid)s.') % {'groupid': group.id})
        LOG.error(msg)
        raise exception.VolumeBackendAPIException(data=msg)
    array = arrays.pop()
    return (array, extraspecs_dict_list)
