'Update VG info for this instantiation.
Used to update member fields of object and
provide a dict of info for caller.
:returns: Dictionaries of VG info'

def update_volume_group_info(self):

    vg_list = self.get_all_volume_groups(self._root_helper, self.vg_name)
    if (len(vg_list) != 1):
        LOG.error('Unable    to    find    VG:    %s', self.vg_name)
        raise exception.VolumeGroupNotFound(vg_name=self.vg_name)
    self.vg_size = float(vg_list[0]['size'])
    self.vg_free_space = float(vg_list[0]['available'])
    self.vg_lv_count = int(vg_list[0]['lv_count'])
    self.vg_uuid = vg_list[0]['uuid']
    total_vols_size = 0.0
    if (self.vg_thin_pool is not None):
        for lv in self.get_lv_info(self._root_helper, self.vg_name):
            lvsize = lv['size']
            if (not lv['size'][(-1)].isdigit()):
                lvsize = lvsize[:(-1)]
            if (lv['name'] == self.vg_thin_pool):
                self.vg_thin_pool_size = lvsize
                tpfs = self._get_thin_pool_free_space(self.vg_name, self.vg_thin_pool)
                self.vg_thin_pool_free_space = tpfs
            else:
                total_vols_size = (total_vols_size + float(lvsize))
        total_vols_size = round(total_vols_size, 2)
    self.vg_provisioned_capacity = total_vols_size
