Documentation ¶
Index ¶
- Constants
- Variables
- func FindFromDevicePath(logger *zap.SugaredLogger, mountDevice string) ([]string, error)
- func FindFromMountPointPath(logger *zap.SugaredLogger, diskByPaths []string) ([]string, error)
- func GetDiskPathFromMountPath(logger *zap.SugaredLogger, mountPath string) ([]string, error)
- type Disk
- type Interface
- func New(logger *zap.SugaredLogger, iqn, ipv4 string, port int) Interface
- func NewFromDevicePath(logger *zap.SugaredLogger, mountDevice string) (Interface, error)
- func NewFromISCSIDisk(logger *zap.SugaredLogger, sd *Disk) Interface
- func NewFromMountPointPath(logger *zap.SugaredLogger, mountPath string) (Interface, error)
- func NewFromPVDisk(logger *zap.SugaredLogger) Interface
Constants ¶
const ( // ISCSIDEVICE is the map key to get or save iscci device ISCSIDEVICE = "iscsi_device" // ISCSIIQN is the map key to get or save iSCSI IQN ISCSIIQN = "iscci_iqn" // ISCSIIP is the map key to get or save iSCSI IP ISCSIIP = "iscsi_ip" // ISCSIPORT is the map key to get or save iSCSI Port ISCSIPORT = "iscsi_port" )
Variables ¶
var ErrMountPointNotFound = errors.New("mount point not found")
ErrMountPointNotFound is returned when a given path does not appear to be a mount point.
Functions ¶
func FindFromDevicePath ¶
func FindFromDevicePath(logger *zap.SugaredLogger, mountDevice string) ([]string, error)
FindFromDevicePath extracts the IQN, IPv4 address, and port from a iSCSI mount device path. i.e. /dev/disk/by-path/ip-<ip>:<port>-iscsi-<IQN>-lun-1
func FindFromMountPointPath ¶
func FindFromMountPointPath(logger *zap.SugaredLogger, diskByPaths []string) ([]string, error)
FindFromMountPointPath gets /dev/disk/by-path/ip-<ip>:<port>-iscsi-<IQN>-lun-1 from the given mount point path.
func GetDiskPathFromMountPath ¶
func GetDiskPathFromMountPath(logger *zap.SugaredLogger, mountPath string) ([]string, error)
GetDiskPathFromMountPath resolves a directory to a block device
Types ¶
type Interface ¶
type Interface interface { // AddToDB adds the iSCSI node record for the target. AddToDB() error // DeviceOpened determines if the device is in use elsewhere // on the system, i.e. still mounted. DeviceOpened(pathname string) (bool, error) // FormatAndMount formats the given disk, if needed, and mounts it. That is // if the disk is not formatted and it is not being mounted as read-only it // will format it first then mount it. Otherwise, if the disk is already // formatted or it is being mounted as read-only, it will be mounted without // formatting. FormatAndMount(source string, target string, fstype string, options []string) error //Mount only mounts the disk. In case if formatting is handled by different functionality. // This function doesn't bother for checking the format again. Mount(source string, target string, fstype string, options []string) error // Login logs into the iSCSI target. Login() error // Logout logs out the iSCSI target. Logout() error // updates the queue depth for iSCSI target UpdateQueueDepth() error // RemoveFromDB removes the iSCSI target from the database. RemoveFromDB() error // SetAutomaticLogin sets the iSCSI node to automatically login at machine // start-up. SetAutomaticLogin() error // UnmountPath is a common unmount routine that unmounts the given path and // deletes the remaining directory if successful. UnmountPath(path string) error Resize(devicePath string, volumePath string) (bool, error) Rescan(devicePath string) error GetBlockSizeBytes(devicePath string) (int64, error) }
Interface mounts iSCSI voumes.
func New ¶
func New(logger *zap.SugaredLogger, iqn, ipv4 string, port int) Interface
New creates a new iSCSI handler.
func NewFromDevicePath ¶
func NewFromDevicePath(logger *zap.SugaredLogger, mountDevice string) (Interface, error)
NewFromDevicePath extracts the IQN, IPv4 address, and port from a iSCSI mount device path. i.e. /dev/disk/by-path/ip-<ip>:<port>-iscsi-<IQN>-lun-1
func NewFromISCSIDisk ¶
func NewFromISCSIDisk(logger *zap.SugaredLogger, sd *Disk) Interface
NewFromISCSIDisk creates a new iSCSI handler from ISCSIDisk.
func NewFromMountPointPath ¶
func NewFromMountPointPath(logger *zap.SugaredLogger, mountPath string) (Interface, error)
NewFromMountPointPath gets /dev/disk/by-path/ip-<ip>:<port>-iscsi-<IQN>-lun-1 from the given mount point path.
func NewFromPVDisk ¶
func NewFromPVDisk(logger *zap.SugaredLogger) Interface
NewFromPVDisk creates a new PV handler from PVDisk.