This patch adds the local LVM control code from Cinder into os-brick. Nova has it's own copy of code that does basically the same thing. This patch is the first step to migrating both Cinder and Nova to using the same exact code for managing local lvm volume groups and volumes. This is NOT a replacement for the Cinder lvm volume driver, but the low level lvm management code. Change-Id: I80a1ac859b9f3aa50262a8d0db750a00cb3e2dc4 implements blueprint: local-dev-lvm-to-os-brick
106 lines
3.5 KiB
XML
106 lines
3.5 KiB
XML
# os-brick command filters
|
|
# This file should be owned by (and only-writeable by) the root user
|
|
|
|
[Filters]
|
|
# remotefs/remotefs.py: 'mount', '-t', 'sofs' ...
|
|
mount: CommandFilter, mount, root
|
|
|
|
# initiator/linuxscsi.py: 'blockdev', '--flushbufs', device
|
|
blockdev: RegExpFilter, blockdev, root, blockdev, (--getsize64|--flushbufs), /dev/.*
|
|
|
|
# initiator/linuxscsi.py: 'tee', canonpath
|
|
tee: CommandFilter, tee, root
|
|
|
|
# remotefs/remotefs.py: 'mkdir', canonpath
|
|
mkdir: CommandFilter, mkdir, root
|
|
|
|
# remotefs/remotefs.py: 'chown', '-R', 'root'
|
|
chown: RegExpFilter, chown, root, chown root:root /etc/pstorage/clusters/(?!.*/\.\.).*
|
|
|
|
# initiator/connector.py: 'ip', 'addr', 'list'
|
|
ip: CommandFilter, ip, root
|
|
|
|
# initiator/connector.py: 'dd', if=%(path)s % ("path": path}
|
|
dd: CommandFilter, dd, root
|
|
|
|
# initiator/connector.py: 'iscsiadm', '-m', ...
|
|
iscsiadm: CommandFilter, iscsiadm, root
|
|
|
|
# initiator/connector.py: 'aoe-revalidate', aoedev
|
|
# initiator/connector.py: 'aoe-discover'
|
|
# initiator/connector.py: 'aoe-flush'
|
|
aoe-revalidate: CommandFilter, aoe-revalidate, root
|
|
aoe-discover: CommandFilter, aoe-discover, root
|
|
aoe-flush: CommandFilter, aoe-flush, root
|
|
|
|
# initiator/connector.py:
|
|
read_initiator: ReadFileFilter, /etc/iscsi/initiatorname.iscsi
|
|
|
|
# initiator/connector.py: 'multipath', '-ll'
|
|
# initiator/linuxscsi.py: 'multipath', '-ll'
|
|
multipath: CommandFilter, multipath, root
|
|
|
|
# initiator/connector.py: 'multipathd', 'show', 'status'
|
|
multipathd: CommandFilter, multipathd, root
|
|
|
|
# initiator/linuxfc.py: 'systool', '-c', 'fc_host', '-v'
|
|
systool: CommandFilter, systool, root
|
|
|
|
# initiator/linuxscsi.py:: 'sg_scan', device
|
|
sg_scan: CommandFilter, sg_scan, root
|
|
|
|
# remotefs/remotefs.py: 'cp', '-f', tmp_bs_path
|
|
cp: CommandFilter, cp, root
|
|
|
|
# initiator/connector.py:
|
|
drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, root, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid
|
|
|
|
# initiator/connector.py
|
|
sds_cli: CommandFilter, /usr/local/bin/sds/sds_cli, root
|
|
|
|
# initiator/connector.py
|
|
drbdadm: CommandFilter, drbdadm, root
|
|
|
|
# initiator/connector.py: 'vgc-cluster', 'domain-list', '-l'
|
|
# initiator/connector.py: 'vgc-cluster', 'space-set-apphosts', '-n'...
|
|
vgc-cluster: CommandFilter, vgc-cluster, root
|
|
|
|
# initiator/linuxscsi.py
|
|
scsi_id: CommandFilter, /lib/udev/scsi_id, root
|
|
|
|
# local_dev lvm related commands
|
|
|
|
# LVM related show commands
|
|
pvs: EnvFilter, env, root, LC_ALL=C, pvs
|
|
vgs: EnvFilter, env, root, LC_ALL=C, vgs
|
|
lvs: EnvFilter, env, root, LC_ALL=C, lvs
|
|
lvdisplay: EnvFilter, env, root, LC_ALL=C, lvdisplay
|
|
|
|
# local_dev/lvm.py: 'vgcreate', vg_name, pv_list
|
|
vgcreate: CommandFilter, vgcreate, root
|
|
|
|
# local_dev/lvm.py: 'lvcreate', '-L', sizestr, '-n', volume_name,..
|
|
# local_dev/lvm.py: 'lvcreate', '-L', ...
|
|
lvcreate: EnvFilter, env, root, LC_ALL=C, lvcreate
|
|
lvcreate_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, lvcreate
|
|
|
|
# local_dev/lvm.py: 'lvextend', '-L' '%(new_size)s', '%(lv_name)s' ...
|
|
# local_dev/lvm.py: 'lvextend', '-L' '%(new_size)s', '%(thin_pool)s' ...
|
|
lvextend: EnvFilter, env, root, LC_ALL=C, lvextend
|
|
lvextend_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, lvextend
|
|
|
|
# local_dev/lvm.py: 'lvremove', '-f', %s/%s % ...
|
|
lvremove: CommandFilter, lvremove, root
|
|
|
|
# local_dev/lvm.py: 'lvrename', '%(vg)s', '%(orig)s' '(new)s'...
|
|
lvrename: CommandFilter, lvrename, root
|
|
|
|
# local_dev/lvm.py: 'lvchange -a y -K <lv>'
|
|
lvchange: CommandFilter, lvchange, root
|
|
|
|
# local_dev/lvm.py: 'lvconvert', '--merge', snapshot_name
|
|
lvconvert: CommandFilter, lvconvert, root
|
|
|
|
# local_dev/lvm.py: 'udevadm', 'settle'
|
|
udevadm: CommandFilter, udevadm, root
|