Skip to content
Browse files

Rename test.py -> example.py

synced from lvm2.

Signed-off-by: Andy Grover <agrover@redhat.com>
  • Loading branch information...
1 parent fcb712b commit cc8aa53f14964546c2a4427a7ef9903f7ba62572 @agrover committed Oct 15, 2012
Showing with 120 additions and 104 deletions.
  1. +120 −0 example.py
  2. +0 −104 test.py
View
120 example.py
@@ -0,0 +1,120 @@
+#
+# Copyright (C) 2012 Red Hat, Inc. All rights reserved.
+#
+# This file is part of LVM2.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+#-----------------------------
+# Python example code:
+#-----------------------------
+
+import lvm
+
+# Note: This example will create a logical unit, tag it and
+# delete it, don't run this on production box!
+
+#Dump information about PV
+def print_pv(pv):
+ print 'PV name: ', pv.getName(), ' ID: ', pv.getUuid(), 'Size: ', pv.getSize()
+
+
+#Dump some information about a specific volume group
+def print_vg(vg_name):
+ #Open read only
+ vg = lvm.vgOpen(vg_name, 'r')
+
+ print 'Volume group:', vg_name, 'Size: ', vg.getSize()
+
+ #Retrieve a list of Physical volumes for this volume group
+ pv_list = vg.listPVs()
+
+ #Print out the physical volumes
+ for p in pv_list:
+ print_pv(p)
+
+ #Get a list of logical volumes in this volume group
+ lv_list = vg.listLVs()
+ if len(lv_list):
+ for l in lv_list:
+ print 'LV name: ', l.getName(), ' ID: ', l.getUuid()
+ else:
+ print 'No logical volumes present!'
+
+ vg.close()
+
+#Returns the name of a vg with space available
+def find_vg_with_free_space():
+ free_space = 0
+ rc = None
+
+ vg_names = lvm.listVgNames()
+ for v in vg_names:
+ vg = lvm.vgOpen(v, 'r')
+ c_free = vg.getFreeSize()
+ if c_free > free_space:
+ free_space = c_free
+ rc = v
+ vg.close()
+
+ return rc
+
+#Walk through the volume groups and fine one with space in which we can
+#create a new logical volume
+def create_delete_logical_volume():
+ vg_name = find_vg_with_free_space()
+
+ print 'Using volume group ', vg_name, ' for example'
+
+ if vg_name:
+ vg = lvm.vgOpen(vg_name, 'w')
+ lv = vg.createLvLinear('python_lvm_ok_to_delete', vg.getFreeSize())
+
+ if lv:
+ print 'New lv, id= ', lv.getUuid()
+
+ #Create a tag
+ lv.addTag('Demo_tag')
+
+ #Get the tags
+ tags = lv.getTags()
+ for t in tags:
+ #Remove tag
+ lv.removeTag(t)
+
+ lv.deactivate()
+
+ #Try to rename
+ lv.rename("python_lvm_renamed")
+ print 'LV name= ', lv.getName()
+ lv.remove()
+
+ vg.close()
+ else:
+ print 'No free space available to create demo lv!'
+
+if __name__ == '__main__':
+ #What version
+ print 'lvm version=', lvm.getVersion()
+
+ #Get a list of volume group names
+ vg_names = lvm.listVgNames()
+
+ #For each volume group display some information about each of them
+ for vg_i in vg_names:
+ print_vg(vg_i)
+
+ #Demo creating a logical volume
+ create_delete_logical_volume()
+
View
104 test.py
@@ -1,104 +0,0 @@
-#-----------------------------
-#Python example code:
-#-----------------------------
-
-import lvm
-
-# Note: This example will create a logical unit, tag it and
-# delete it, don't run this on production box!
-
-#Dump information about PV
-def print_pv(pv):
- print 'PV name: ', pv.getName(), ' ID: ' , pv.getUuid() , 'Size: ' , pv.getSize()
-
-
-#Dump some information about a specific volume group
-def print_vg(h, vg_name):
-
- #Open read only
- vg = h.vgOpen(vg_name, 'r')
-
- print 'Volume group:', vg_name, 'Size: ', vg.getSize()
-
- #Retrieve a list of Physical volumes for this volume group
- pv_list = vg.listPVs()
-
- #Print out the physical volumes
- for p in pv_list:
- print_pv(p)
-
- #Get a list of logical volumes in this volume group
- lv_list = vg.listLVs()
- if len(lv_list):
- for l in lv_list:
- print 'LV name: ', l.getName(), ' ID: ', l.getUuid()
- else:
- print 'No logical volumes present!'
-
- vg.close()
-
-#Returns the name of a vg with space available
-def find_vg_with_free_space(h):
- free_space = 0
- rc = None
-
- vg_names = l.listVgNames()
- for v in vg_names:
- vg = h.vgOpen(v, 'r')
- c_free = vg.getFreeSize()
- if c_free > free_space:
- free_space = c_free
- rc = v
- vg.close()
-
- return rc
-
-#Walk through the volume groups and fine one with space in which we can
-#create a new logical volume
-def create_delete_logical_volume(h):
- vg_name = find_vg_with_free_space(h)
-
- print 'Using volume group ', vg_name , ' for example'
-
- if vg_name:
- vg = h.vgOpen(vg_name, 'w')
- lv = vg.createLvLinear('python_lvm_ok_to_delete', vg.getFreeSize())
-
- if lv:
- print 'New lv, id= ' , lv.getUuid()
-
- #Create a tag
- lv.addTag('Demo_tag')
-
- #Get the tags
- tags = lv.getTags()
- for t in tags:
- #Remove tag
- lv.removeTag(t)
-
- lv.deactivate()
- lv.remove()
-
- vg.close()
- else:
- print 'No free space available to create demo lv!'
-
-if __name__ == '__main__':
- #Create a new LVM instance
- l = lvm.Liblvm()
-
- #What version
- print 'lvm version=', l.getVersion()
-
- #Get a list of volume group names
- vg_names = l.listVgNames()
-
- #For each volume group display some information about each of them
- for vg_i in vg_names:
- print_vg(l, vg_i)
-
- #Demo creating a logical volume
- create_delete_logical_volume(l)
-
- #Close
- l.close()

0 comments on commit cc8aa53

Please sign in to comment.
Something went wrong with that request. Please try again.