'Ensure that logical volume/snapshot logical volume is activated.
:param name: Name of LV to activate
:param is_snapshot: whether LV is a snapshot
:param permanent: whether we should drop skipactivation flag
:raises putils.ProcessExecutionError:'

def activate_lv(self, name, is_snapshot=False, permanent=False):

    if (is_snapshot and (not self.supports_snapshot_lv_activation)):
        return
    lv_path = ((self.vg_name + '/') + self._mangle_lv_name(name))
    cmd = ['lvchange', '-a', 'y', '--yes']
    if self.supports_lvchange_ignoreskipactivation:
        if permanent:
            cmd += ['-k', 'n']
        else:
            cmd.append('-K')
    cmd.append(lv_path)
    try:
        self._execute(root_helper=self._root_helper, run_as_root=True, *cmd)
    except putils.ProcessExecutionError as err:
        LOG.exception('Error    activating    LV')
        LOG.error('Cmd                    :%s', err.cmd)
        LOG.error('StdOut        :%s', err.stdout)
        LOG.error('StdErr        :%s', err.stderr)
        raise
