Documentation
¶
Overview ¶
Package utilwrappers consists of code that manipulates by os utils and use code from linuxutils for that
Interfaces descriptions: 1. FSOperations works with file system and holds compound methods for interacting with it 2. PartitionOperations works with partition on the system and holds compound methods for interacting with it
Index ¶
Constants ¶
const ( // NumberOfRetriesToSyncPartTable how many times to sync fs tab NumberOfRetriesToSyncPartTable = 3 // SleepBetweenRetriesToSyncPartTable default timeout between fs tab sync attempt SleepBetweenRetriesToSyncPartTable = 3 * time.Second )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FSOperations ¶
type FSOperations interface { // PrepareAndPerformMount composite methods which is prepare source and destination directories // and performs mount operation from src to dst PrepareAndPerformMount(src, dst string, bindMount, dstIsDir bool) error // MountFakeTmpfs does attach of a temporary folder on failure MountFakeTmpfs(volumeID, dst string) error // UnmountWithCheck unmount operation UnmountWithCheck(path string) error fs.WrapFS }
FSOperations is holds idempotent methods that consists of WrapFS methods
type FSOperationsImpl ¶
FSOperationsImpl is a base implementation for FSOperation interface
func NewFSOperationsImpl ¶
func NewFSOperationsImpl(e command.CmdExecutor, log *logrus.Logger) *FSOperationsImpl
NewFSOperationsImpl constructor for FSOperationsImpl and returns pointer on it
func (*FSOperationsImpl) MountFakeTmpfs ¶
func (fsOp *FSOperationsImpl) MountFakeTmpfs(volumeID, dst string) error
MountFakeTmpfs does attach of temp folder in read only mode
func (*FSOperationsImpl) PrepareAndPerformMount ¶
func (fsOp *FSOperationsImpl) PrepareAndPerformMount(src, dst string, bindMount, dstIsDir bool) error
PrepareAndPerformMount (idempotent) implementation of FSOperations method create (if isn't exist) dst folder on node and perform mount from src to dst if bindMount set to true - mount operation will contain "--bind" option if error occurs and dst has created during current method call then dst will be removed
func (*FSOperationsImpl) UnmountWithCheck ¶
func (fsOp *FSOperationsImpl) UnmountWithCheck(path string) error
UnmountWithCheck idempotent implemetation of unmount operation check whether path is mounted and only if yes - try to unmount
type Partition ¶
type Partition struct { Device string Name string Num string TableType string Label string PartUUID string Ephemeral bool }
Partition is hold all attributes of partition on block device
func (*Partition) GetFullPath ¶
GetFullPath return full path of partition, that path could be used for file system operations
type PartitionOperations ¶
type PartitionOperations interface { // PreparePartition is fully prepare partition on node for use PreparePartition(p Partition) (*Partition, error) // ReleasePartition is fully release resources that had consumed by partition on node ReleasePartition(p Partition) error // SearchPartName returns partition name SearchPartName(device, partUUID string) string ph.WrapPartition }
PartitionOperations is a high-level interface that encapsulates all low-level operations with partitions on node
type PartitionOperationsImpl ¶
type PartitionOperationsImpl struct { ph.WrapPartition // contains filtered or unexported fields }
PartitionOperationsImpl is a base implementation for PartitionOperations interface
func NewPartitionOperationsImpl ¶
func NewPartitionOperationsImpl(e command.CmdExecutor, log *logrus.Logger) *PartitionOperationsImpl
NewPartitionOperationsImpl constructor for PartitionOperationsImpl and returns pointer on it
func (*PartitionOperationsImpl) PreparePartition ¶
func (d *PartitionOperationsImpl) PreparePartition(p Partition) (*Partition, error)
PreparePartition completely creates and prepares partition p on node After that FS could be created on partition
func (*PartitionOperationsImpl) ReleasePartition ¶
func (d *PartitionOperationsImpl) ReleasePartition(p Partition) error
ReleasePartition completely removes partition p
func (*PartitionOperationsImpl) SearchPartName ¶
func (d *PartitionOperationsImpl) SearchPartName(device, partUUID string) string
SearchPartName search (with retries) partition with UUID partUUID on device and returns partition name e.g. "1" for /dev/sda1, "p1n1" for /dev/loopbackp1n1