resvol

package
v3.0.0-beta13 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2026 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Overview

Package resvol is the volume resource driver

A volume resource is linked to a volume object named <name> in the namespace of the service.

The volume object contains disk and fs resources configured by the <pool> that created it, so the service doesn't have to embed driver keywords that would prevent the service from being run on another cluster with different capabilities.

Access: * rwo Read Write Once * rwx Read Write Many * roo Read Only Once * rox Read Only Many

Index

Constants

View Source
const (
	Usage int = iota
	NoUsage
)

Variables

This section is empty.

Functions

func New

func New() resource.Driver

Types

type T

type T struct {
	resource.T
	datarecv.DataRecv
	Name     string `json:"name"`
	Access   string `json:"access"`
	Pool     string `json:"pool"`
	PoolType string `json:"type"`
	Size     *int64 `json:"size"`
	Format   bool   `json:"format"`
	VolNodes []string

	// Context
	Path          naming.Path
	Topology      topology.T
	Nodes         []string
	ObjectParents []string
}

func (*T) CanInstall

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

func (*T) Configure

func (t *T) Configure() error

Configure installs a resource backpointer in the DataStoreInstall

func (*T) ExposedDevices

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

func (*T) Head

func (t *T) Head() string

func (*T) Label

func (t *T) Label(_ 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) PostMove

func (t *T) PostMove(ctx context.Context, to string) error

func (*T) PreMove

func (t *T) PreMove(ctx context.Context, to string) error

func (*T) PreMoveRollback

func (t *T) PreMoveRollback(ctx context.Context, to string) error

func (*T) ProvisionAsFollower

func (t *T) ProvisionAsFollower(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) 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) UnprovisionAsLeader

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

func (*T) ValidateNodesAndName

func (t *T) ValidateNodesAndName() error

func (*T) Volume

func (t *T) Volume() (object.Vol, error)

Jump to

Keyboard shortcuts

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