resfshost

package
v3.0.0-rc21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2026 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	KeywordDevice = keywords.Keyword{
		Attr:     "Device",
		Default:  "none",
		Example:  "/dev/disk/by-id/nvme-eui.002538ba11b75ec8",
		Option:   "dev",
		Scopable: true,
		Text:     keywords.NewText(fs, "text/kw/dev"),
	}
	KeywordMKFSOptions = keywords.Keyword{
		Attr:         "MKFSOptions",
		Converter:    "shlex",
		Default:      "",
		Option:       "mkfs_opt",
		Provisioning: true,
		Scopable:     true,
		Text:         keywords.NewText(fs, "text/kw/mkfs_opt"),
	}
	KeywordStatTimeout = keywords.Keyword{
		Attr:      "StatTimeout",
		Converter: "duration",
		Default:   "5s",
		Option:    "stat_timeout",
		Scopable:  true,
		Text:      keywords.NewText(fs, "text/kw/stat_timeout"),
	}
	KeywordMountPoint = keywords.Keyword{
		Attr:     "MountPoint",
		Example:  "/srv/{fqdn}",
		Option:   "mnt",
		Required: true,
		Scopable: true,
		Text:     keywords.NewText(fs, "text/kw/mnt"),
	}
	KeywordMountOptions = keywords.Keyword{
		Attr:     "MountOptions",
		Option:   "mnt_opt",
		Scopable: true,
		Text:     keywords.NewText(fs, "text/kw/mnt_opt"),
	}
	KeywordPromoteRW = keywords.Keyword{
		Attr:      "PromoteRW",
		Converter: "bool",
		Option:    "promote_rw",
		Text:      keywords.NewText(fs, "text/kw/promote_rw"),
	}
	KeywordZone = keywords.Keyword{
		Attr:     "Zone",
		Option:   "zone",
		Scopable: true,
		Text:     keywords.NewText(fs, "text/kw/zone"),
	}
	KeywordCheckRead = keywords.Keyword{
		Attr:      "CheckRead",
		Converter: "bool",
		Option:    "check_read",
		Scopable:  true,
		Text:      keywords.NewText(fs, "text/kw/check_read"),
	}

	KeywordsVirtual = []*keywords.Keyword{
		&KeywordMountPoint,
		&KeywordMountOptions,
		&KeywordDevice,
		&KeywordStatTimeout,
		&KeywordZone,
		&KeywordCheckRead,
	}

	KeywordsBase = []*keywords.Keyword{
		&KeywordMountPoint,
		&KeywordDevice,
		&KeywordMountOptions,
		&KeywordStatTimeout,
		&manifest.KWSCSIPersistentReservationKey,
		&manifest.KWSCSIPersistentReservationEnabled,
		&manifest.KWSCSIPersistentReservationNoPreemptAbort,
		&KeywordPromoteRW,
		&KeywordMKFSOptions,
		&KeywordZone,
		&KeywordCheckRead,
	}

	KeywordsPooling = []*keywords.Keyword{
		&KeywordMountPoint,
		&KeywordDevice,
		&KeywordMountOptions,
		&KeywordStatTimeout,
		&KeywordMKFSOptions,
		&KeywordZone,
		&KeywordCheckRead,
	}
)

Functions

func New

func New() resource.Driver

func NewF

func NewF(s string) func() resource.Driver

Types

type IsFormateder

type IsFormateder interface {
	IsFormated(context.Context, string) (bool, error)
}

type MKFSer

type MKFSer interface {
	MKFS(string, []string) error
}

type T

type T struct {
	resource.T
	resource.Restart
	resource.SCSIPersistentReservation
	datarecv.DataRecv
	Path            naming.Path
	MountPoint      string         `json:"mnt"`
	Device          string         `json:"dev"`
	Type            string         `json:"type"`
	MountOptions    string         `json:"mnt_opt"`
	StatTimeout     *time.Duration `json:"stat_timeout"`
	Zone            string         `json:"zone"`
	PRKey           string         `json:"prkey"`
	MKFSOptions     []string       `json:"mkfs_opt"`
	User            *user.User     `json:"user"`
	Group           *user.Group    `json:"group"`
	Perm            *os.FileMode   `json:"perm"`
	SCSIReservation bool           `json:"scsireserv"`
	NoPreemptAbort  bool           `json:"no_preempt_abort"`
	PromoteRW       bool           `json:"promote_rw"`
	CheckRead       bool           `json:"check_read"`
}

func (*T) CanInstall

func (t *T) CanInstall(ctx context.Context) (bool, error)

func (*T) ClaimedDevices

func (t *T) ClaimedDevices(ctx context.Context) device.L

func (*T) Configure

func (t *T) Configure() error

Configure installs a resource backpointer in the DataStoreInstall

func (*T) DriverID

func (t *T) DriverID() driver.ID

func (*T) Head

func (t *T) Head() string

func (*T) Info

func (t *T) Info(ctx context.Context) (resource.InfoKeys, error)

func (*T) Label

func (t *T) Label(ctx context.Context) string

Label implements Label from resource.Driver interface, it returns a formatted short description of the Resource

func (*T) Manifest

func (t *T) Manifest() *manifest.T

Manifest exposes to the core the input expected by the driver.

func (*T) Provision

func (t *T) Provision(ctx context.Context) error

func (*T) ProvisionAsLeader

func (t *T) ProvisionAsLeader(ctx context.Context) error

func (*T) Provisioned

func (t *T) Provisioned(ctx context.Context) (provisioned.T, error)

func (*T) ReservableDevices

func (t *T) ReservableDevices(ctx context.Context) device.L

func (*T) Start

func (t *T) Start(ctx context.Context) error

func (*T) Status

func (t *T) Status(ctx context.Context) status.T

func (*T) Stop

func (t *T) Stop(ctx context.Context) error

func (*T) SubDevices

func (t *T) SubDevices(ctx context.Context) device.L

func (*T) Unprovision

func (t *T) Unprovision(ctx context.Context) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL