ganeti
Safe HaskellNone

Ganeti.Storage.Drbd.Types

Description

DRBD Data Types

This module holds the definition of the data types describing the status of DRBD.

Synopsis

Documentation

data DRBDStatus Source #

Data type contaning all the data about the status of DRBD.

Constructors

DRBDStatus 

Fields

Instances

Instances details
Eq DRBDStatus # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: DRBDStatus -> DRBDStatus -> Bool

(/=) :: DRBDStatus -> DRBDStatus -> Bool

Show DRBDStatus # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> DRBDStatus -> ShowS

show :: DRBDStatus -> String

showList :: [DRBDStatus] -> ShowS

JSON DRBDStatus #

The DRBDStatus instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result DRBDStatus

showJSON :: DRBDStatus -> JSValue

readJSONs :: JSValue -> Result [DRBDStatus]

showJSONs :: [DRBDStatus] -> JSValue

data VersionInfo Source #

Data type describing the DRBD version.

Constructors

VersionInfo 

Fields

  • version :: Maybe String

    DRBD driver version

  • api :: Maybe String

    The api version

  • proto :: Maybe String

    The protocol version

  • srcversion :: Maybe String

    The version of the source files

  • gitHash :: Maybe String

    Git hash of the source files

  • buildBy :: Maybe String

    Who built the binary (and, optionally, when)

Instances

Instances details
Eq VersionInfo # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: VersionInfo -> VersionInfo -> Bool

(/=) :: VersionInfo -> VersionInfo -> Bool

Show VersionInfo # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> VersionInfo -> ShowS

show :: VersionInfo -> String

showList :: [VersionInfo] -> ShowS

JSON VersionInfo #

The VersionInfo instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result VersionInfo

showJSON :: VersionInfo -> JSValue

readJSONs :: JSValue -> Result [VersionInfo]

showJSONs :: [VersionInfo] -> JSValue

data DeviceInfo Source #

Data type describing a device.

Constructors

UnconfiguredDevice Int

An DRBD minor marked as unconfigured

DeviceInfo

A configured DRBD minor

Fields

Instances

Instances details
Eq DeviceInfo # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: DeviceInfo -> DeviceInfo -> Bool

(/=) :: DeviceInfo -> DeviceInfo -> Bool

Show DeviceInfo # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> DeviceInfo -> ShowS

show :: DeviceInfo -> String

showList :: [DeviceInfo] -> ShowS

JSON DeviceInfo #

The DeviceInfo instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result DeviceInfo

showJSON :: DeviceInfo -> JSValue

readJSONs :: JSValue -> Result [DeviceInfo]

showJSONs :: [DeviceInfo] -> JSValue

data ConnState Source #

Data type describing the state of the connection.

Constructors

StandAlone

No network configuration available

Disconnecting

Temporary state during disconnection

Unconnected

Prior to a connection attempt

Timeout

Following a timeout in the communication

BrokenPipe

After the connection to the peer was lost

NetworkFailure

After the connection to the partner was lost

ProtocolError

After the connection to the partner was lost

TearDown

The peer is closing the connection

WFConnection

Waiting for the peer to become visible

WFReportParams

Waiting for first packet from peer

Connected

Connected, data mirroring active

StartingSyncS

Source of a full sync started by admin

StartingSyncT

Target of a full sync started by admin

WFBitMapS

Source of a just starting partial sync

WFBitMapT

Target of a just starting partial sync

WFSyncUUID

Synchronization is about to begin

SyncSource

Source of a running synchronization

SyncTarget

Target of a running synchronization

PausedSyncS

Source of a paused synchronization

PausedSyncT

Target of a paused synchronization

VerifyS

Source of a running verification

VerifyT

Target of a running verification

Unconfigured

The device is not configured

Instances

Instances details
Eq ConnState # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: ConnState -> ConnState -> Bool

(/=) :: ConnState -> ConnState -> Bool

Show ConnState # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> ConnState -> ShowS

show :: ConnState -> String

showList :: [ConnState] -> ShowS

JSON ConnState #

The ConnState instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result ConnState

showJSON :: ConnState -> JSValue

readJSONs :: JSValue -> Result [ConnState]

showJSONs :: [ConnState] -> JSValue

Arbitrary ConnState 
Instance details

Defined in Test.Ganeti.Storage.Drbd.Types

data LocalRemote a Source #

Algebraic data type describing something that has a local and a remote value.

Constructors

LocalRemote 

Fields

Instances

Instances details
Eq a => Eq (LocalRemote a) # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: LocalRemote a -> LocalRemote a -> Bool

(/=) :: LocalRemote a -> LocalRemote a -> Bool

Show a => Show (LocalRemote a) # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> LocalRemote a -> ShowS

show :: LocalRemote a -> String

showList :: [LocalRemote a] -> ShowS

data Role Source #

Data type describing.

Constructors

Primary

The device role is primary

Secondary

The device role is secondary

Unknown

The device role is unknown

Instances

Instances details
Eq Role # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: Role -> Role -> Bool

(/=) :: Role -> Role -> Bool

Show Role # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> Role -> ShowS

show :: Role -> String

showList :: [Role] -> ShowS

JSON Role #

The Role instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result Role

showJSON :: Role -> JSValue

readJSONs :: JSValue -> Result [Role]

showJSONs :: [Role] -> JSValue

Arbitrary Role 
Instance details

Defined in Test.Ganeti.Storage.Drbd.Types

Methods

arbitrary :: Gen Role

shrink :: Role -> [Role]

data DiskState Source #

Data type describing disk states.

Constructors

Diskless

No local block device assigned to the DRBD driver

Attaching

Reading meta data

Failed

I/O failure

Negotiating

Attach on an already-connected device

Inconsistent

The data is inconsistent between nodes.

Outdated

Data consistent but outdated

DUnknown

No network connection available

Consistent

Consistent data, but without network connection

UpToDate

Consistent, up-to-date. This is the normal state

Instances

Instances details
Eq DiskState # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: DiskState -> DiskState -> Bool

(/=) :: DiskState -> DiskState -> Bool

Show DiskState # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> DiskState -> ShowS

show :: DiskState -> String

showList :: [DiskState] -> ShowS

JSON DiskState #

The DiskState instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result DiskState

showJSON :: DiskState -> JSValue

readJSONs :: JSValue -> Result [DiskState]

showJSONs :: [DiskState] -> JSValue

Arbitrary DiskState 
Instance details

Defined in Test.Ganeti.Storage.Drbd.Types

data PerfIndicators Source #

Data type containing data about performance indicators.

Constructors

PerfIndicators 

Fields

  • networkSend :: Int

    KiB of data sent on the network

  • networkReceive :: Int

    KiB of data received from the network

  • diskWrite :: Int

    KiB of data written on local disk

  • diskRead :: Int

    KiB of data read from local disk

  • activityLog :: Int

    Number of updates of the activity log

  • bitMap :: Int

    Number of updates to the bitmap area of the metadata

  • localCount :: Int

    Number of open requests to the local I/O subsystem

  • pending :: Int

    Num of requests sent to the partner but not yet answered

  • unacknowledged :: Int

    Num of requests received by the partner but still to be answered

  • applicationPending :: Int

    Num of block I/O requests forwarded to DRBD but that have not yet been answered

  • epochs :: Maybe Int

    Number of epoch objects

  • writeOrder :: Maybe Char

    Currently used write ordering method

  • outOfSync :: Maybe Int

    KiB of storage currently out of sync

Instances

Instances details
Eq PerfIndicators # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Show PerfIndicators # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> PerfIndicators -> ShowS

show :: PerfIndicators -> String

showList :: [PerfIndicators] -> ShowS

JSON PerfIndicators #

The PerfIndicators instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result PerfIndicators

showJSON :: PerfIndicators -> JSValue

readJSONs :: JSValue -> Result [PerfIndicators]

showJSONs :: [PerfIndicators] -> JSValue

data SyncStatus Source #

Data type containing data about the synchronization status of a device.

Constructors

SyncStatus 

Fields

Instances

Instances details
Eq SyncStatus # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: SyncStatus -> SyncStatus -> Bool

(/=) :: SyncStatus -> SyncStatus -> Bool

Show SyncStatus # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> SyncStatus -> ShowS

show :: SyncStatus -> String

showList :: [SyncStatus] -> ShowS

JSON SyncStatus #

The SyncStatus instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result SyncStatus

showJSON :: SyncStatus -> JSValue

readJSONs :: JSValue -> Result [SyncStatus]

showJSONs :: [SyncStatus] -> JSValue

data SizeUnit Source #

Data type describing a size unit for memory.

Constructors

KiloByte 
MegaByte 

Instances

Instances details
Eq SizeUnit # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: SizeUnit -> SizeUnit -> Bool

(/=) :: SizeUnit -> SizeUnit -> Bool

Show SizeUnit # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> SizeUnit -> ShowS

show :: SizeUnit -> String

showList :: [SizeUnit] -> ShowS

JSON SizeUnit #

The SizeUnit instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result SizeUnit

showJSON :: SizeUnit -> JSValue

readJSONs :: JSValue -> Result [SizeUnit]

showJSONs :: [SizeUnit] -> JSValue

Arbitrary SizeUnit 
Instance details

Defined in Test.Ganeti.Storage.Drbd.Types

data Time Source #

Data type describing a time (hh:mm:ss).

Constructors

Time 

Fields

Instances

Instances details
Eq Time # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: Time -> Time -> Bool

(/=) :: Time -> Time -> Bool

Show Time # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> Time -> ShowS

show :: Time -> String

showList :: [Time] -> ShowS

JSON Time #

The Time instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result Time

showJSON :: Time -> JSValue

readJSONs :: JSValue -> Result [Time]

showJSONs :: [Time] -> JSValue

data TimeUnit Source #

Data type describing a time unit.

Constructors

Second 

Instances

Instances details
Eq TimeUnit # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

(==) :: TimeUnit -> TimeUnit -> Bool

(/=) :: TimeUnit -> TimeUnit -> Bool

Show TimeUnit # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> TimeUnit -> ShowS

show :: TimeUnit -> String

showList :: [TimeUnit] -> ShowS

JSON TimeUnit #

The TimeUnit instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result TimeUnit

showJSON :: TimeUnit -> JSValue

readJSONs :: JSValue -> Result [TimeUnit]

showJSONs :: [TimeUnit] -> JSValue

Arbitrary TimeUnit 
Instance details

Defined in Test.Ganeti.Storage.Drbd.Types

data AdditionalInfo Source #

Additional device-specific cache-like information produced by drbd <= 8.0.

Internal debug information exported by old DRBD versions. Undocumented both in DRBD and here.

Constructors

AdditionalInfo 

Fields

Instances

Instances details
Eq AdditionalInfo # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Show AdditionalInfo # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> AdditionalInfo -> ShowS

show :: AdditionalInfo -> String

showList :: [AdditionalInfo] -> ShowS

data DrbdInstMinor Source #

Data type representing the pairing of a DRBD minor with an instance.

Constructors

DrbdInstMinor 

Fields

Instances

Instances details
Show DrbdInstMinor # 
Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

showsPrec :: Int -> DrbdInstMinor -> ShowS

show :: DrbdInstMinor -> String

showList :: [DrbdInstMinor] -> ShowS

JSON DrbdInstMinor #

The DrbdInstMinor instance of JSON.

Instance details

Defined in Ganeti.Storage.Drbd.Types

Methods

readJSON :: JSValue -> Result DrbdInstMinor

showJSON :: DrbdInstMinor -> JSValue

readJSONs :: JSValue -> Result [DrbdInstMinor]

showJSONs :: [DrbdInstMinor] -> JSValue