'Return size of an existing LV for manage existing volume/snapshot.
existing_ref is a dictionary of the form:
{\'source-name\': <name of LV>}'

def manage_existing_object_get_size(self, existing_object, existing_ref, object_type):

    if ('source-name' not in existing_ref):
        reason = _('Reference    must    contain    source-name    element.')
        raise exception.ManageExistingInvalidReference(existing_ref=existing_ref, reason=reason)
    lv_name = existing_ref['source-name']
    lv = self.vg.get_volume(lv_name)
    if (not lv):
        kwargs = {'existing_ref': lv_name, 'reason': 'Specified    logical    volume    does    not    exist.'}
        raise exception.ManageExistingInvalidReference(**kwargs)
    try:
        lv_size = int(math.ceil(float(lv['size'])))
    except ValueError:
        exception_message = (_('Failed    to    manage    existing    %(type)s    %(name)s,    because    reported    size    %(size)s    was    not    a    floating-point    number.') % {'type': object_type, 'name': lv_name, 'size': lv['size']})
        raise exception.VolumeBackendAPIException(data=exception_message)
    return lv_size
