Revision d1687c6f tools/lvmstrap

b/tools/lvmstrap
47 47
from ganeti.utils import RunCmd
48 48
from ganeti import constants
49 49

  
50
USAGE = ("\tlvmstrap.py diskinfo\n"
51
         "\tlvmstrap.py [--vgname=NAME] { --alldisks | --disks DISKLIST }"
50
USAGE = ("\tlvmstrap diskinfo\n"
51
         "\tlvmstrap [--vgname=NAME] [--allow-removable]"
52
         " { --alldisks | --disks DISKLIST }"
52 53
         " create")
53 54

  
54 55
verbose_flag = False
......
143 144
  parser.add_option("-v", "--verbose",
144 145
                    action="store_true", dest="verbose", default=False,
145 146
                    help="print command execution messages to stdout")
147
  parser.add_option("-r", "--allow-removable",
148
                    action="store_true", dest="removable_ok", default=False,
149
                    help="allow and use removable devices too")
146 150
  parser.add_option("-g", "--vg-name", type="string",
147 151
                    dest="vgname", default="xenvg", metavar="NAME",
148 152
                    help="the volume group to be created [default: xenvg]")
......
353 357
  return vgname
354 358

  
355 359

  
356
def GetDiskList():
360
def GetDiskList(opts):
357 361
  """Computes the block device list for this system.
358 362

  
359 363
  This function examines the /sys/block tree and using information
......
386 390
    removable = int(f.read().strip())
387 391
    f.close()
388 392

  
389
    if removable:
393
    if removable and not opts.removable_ok:
390 394
      continue
391 395

  
392 396
    dev = ReadDev("/sys/block/%s" % name)
......
471 475
  return mpath, whatvg, fileinfo
472 476

  
473 477

  
474
def ShowDiskInfo():
478
def ShowDiskInfo(opts):
475 479
  """Shows a nicely formatted block device list for this system.
476 480

  
477 481
  This function shows the user a table with the informations gathered
......
480 484

  
481 485
  """
482 486
  mounts = GetMountInfo()
483
  dlist = GetDiskList()
487
  dlist = GetDiskList(opts)
484 488

  
485 489
  print "------- Disk information -------"
486 490
  print ("%5s %7s %4s %5s %-10s %s" %
......
650 654
    a list of disk names, e.g. ['sda', 'sdb']
651 655
  """
652 656

  
653
  sysdisks = GetDiskList()
657
  sysdisks = GetDiskList(options)
654 658
  if not sysdisks:
655 659
    raise PrereqError("no disks found (I looked for"
656 660
                      " non-removable block devices).")
......
689 693
  vgname = options.vgname
690 694
  command = args.pop(0)
691 695
  if command == "diskinfo":
692
    ShowDiskInfo()
696
    ShowDiskInfo(options)
693 697
    return
694 698
  if command != "create":
695 699
    Usage()

Also available in: Unified diff