Package pyanaconda :: Package storage :: Module devices
[hide private]
[frames] | no frames]

Module devices

source code


Device classes for use by anaconda.

This is the hierarchy of device objects that anaconda will use for
managing storage devices in the system. These classes will
individually make use of external support modules as needed to
perform operations specific to the type of device they represent.

TODO:
    - see how to do network devices (NetworkManager may help)
      - perhaps just a wrapper here
    - document return values of all methods/functions
    - find out what other kinds of wild and crazy devices we need to
      represent here (iseries? xen? more mainframe? mac? ps?)
        - PReP
          - this is a prime candidate for a PseudoDevice
        - DASD
        - ZFCP
        - XEN

What specifications do we allow?              new        existing
    partitions                              
        usage                                  +            +
            filesystem, partition type are implicit
        mountpoint                             +            +
        size
            exact                              +            -
            range                              +            -
            resize                             -            +
        format                                 -            +
        encryption                             +            +

        disk                                                 
            exact                              +            -
            set                                +            -
                how will we specify this?
                    partition w/ multiple parents cannot otherwise occur
        primary                                +            -

    mdraid sets
        filesystem (*)                         +            +
        mountpoint                             +            +
        size?                                                
        format                                 -            +
        encryption                             +            +

        level                                  +            ? 
        device minor                           +            ? 
        member devices                         +            ? 
        spares                                 +            ? 
        name?
        bitmap? (boolean)                      +            -

    volume groups
        name                                   +            - 
        member pvs                             +            +
        pesize                                 +            ?

    logical volumes
        filesystem                             +            +
        mountpoint                             +            +
        size
            exact                              +            ?
        format                                 -            +
        encryption                             +            +

        name                                   +            ?
        vgname                                 +            ?

Classes [hide private]
  Device
A generic device.
  NetworkStorageDevice
Virtual base class for network backed storage devices
  StorageDevice
A generic storage device.
  DiskDevice
A disk
  PartitionDevice
A disk partition.
  DMDevice
A device-mapper device
  DMLinearDevice
  DMCryptDevice
A dm-crypt device
  LUKSDevice
A mapped LUKS device.
  LVMVolumeGroupDevice
An LVM Volume Group
  LVMLogicalVolumeDevice
An LVM Logical Volume
  MDRaidArrayDevice
An mdraid (Linux RAID) device.
  DMRaidArrayDevice
A dmraid (device-mapper RAID) device
  MultipathDevice
A multipath device
  NoDevice
A nodev device for nodev filesystems like tmpfs.
  FileDevice
A file on a filesystem.
  SparseFileDevice
A sparse file on a filesystem.
  DirectoryDevice
A directory on a filesystem.
  LoopDevice
A loop device.
  iScsiDiskDevice
An iSCSI disk.
  FcoeDiskDevice
An FCoE disk.
  OpticalDevice
An optical drive, eg: cdrom, dvd+r, &c.
  ZFCPDiskDevice
A mainframe ZFCP disk.
  DASDDevice
A mainframe DASD.
  NFSDevice
An NFS device
  BTRFSDevice
Base class for BTRFS volume and sub-volume devices.
  BTRFSVolumeDevice
  BTRFSSubVolumeDevice
A btrfs subvolume pseudo-device.
Functions [hide private]
 
get_device_majors() source code
 
devicePathToName(devicePath) source code
 
deviceNameToDiskByPath(deviceName=None) source code
Variables [hide private]
  _ = lambda x:
  P_ = lambda x, y, z:
  log = logging.getLogger("storage")
  device_majors = get_device_majors()