plugin

package
v0.0.0-...-52cd4e6 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2024 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Overview

Package plugin provide storage function

Index

Constants

View Source
const (
	// CAPACITY_UNIT unit of capacity
	CAPACITY_UNIT int64 = 1024 * 1024

	// PROTOCOL_DPC protocol DPC string
	PROTOCOL_DPC = "dpc"
)
View Source
const (
	// FusionStorageSan Fusion storage SAN type
	FusionStorageSan = iota
	// FusionStorageNas Fusion storage NAS type
	FusionStorageNas
)
View Source
const (
	// HyperMetroVstorePairActive defines active status for hyper metro vstore
	HyperMetroVstorePairActive = "0"
	// HyperMetroVstorePairLinkStatusConnected defines connected status for hyper metro vstore
	HyperMetroVstorePairLinkStatusConnected = "1"
	// HyperMetroDomainActive defines active status for hyper metro domain
	HyperMetroDomainActive = "1"
	// HyperMetroDomainRunningStatusNormal defines normal status for hyper metro domain running status
	HyperMetroDomainRunningStatusNormal = "0"

	// ConsistentSnapshotsSpecification defines consistent snapshot limits
	ConsistentSnapshotsSpecification = "128"
)
View Source
const (
	// DoradoV6PoolUsageType defines pool usage type of dorado v6
	DoradoV6PoolUsageType = "0"

	// ProtocolNfs defines protocol type nfs
	ProtocolNfs = "nfs"
	// ProtocolNfsPlus defines protocol type nfs+
	ProtocolNfsPlus = "nfs+"

	// SystemVStore default value is 0
	SystemVStore = "0"
)
View Source
const (
	// DTreeStorage defines DTree storage name
	DTreeStorage = "oceanstor-dtree"
)
View Source
const (
	// SectorSize means Sector size
	SectorSize int64 = 512
)

Variables

This section is empty.

Functions

func RegPlugin

func RegPlugin(storageType string, plugin Plugin)

RegPlugin used to register plugin

Types

type FusionStorageNasPlugin

type FusionStorageNasPlugin struct {
	FusionStoragePlugin
	// contains filtered or unexported fields
}

FusionStorageNasPlugin implements storage Plugin interface

func (*FusionStorageNasPlugin) AttachVolume

func (p *FusionStorageNasPlugin) AttachVolume(context.Context, string, map[string]interface{}) (map[string]interface{}, error)

func (*FusionStorageNasPlugin) CreateSnapshot

func (p *FusionStorageNasPlugin) CreateSnapshot(ctx context.Context,
	lunName, snapshotName string) (map[string]interface{}, error)

CreateSnapshot used to create snapshot

func (*FusionStorageNasPlugin) CreateVolume

func (p *FusionStorageNasPlugin) CreateVolume(ctx context.Context, name string, parameters map[string]interface{}) (
	utils.Volume, error)

CreateVolume used to create volume

func (*FusionStorageNasPlugin) DeleteDTreeVolume

func (p *FusionStorageNasPlugin) DeleteDTreeVolume(ctx context.Context, m map[string]interface{}) error

DeleteDTreeVolume used to delete DTree volume

func (*FusionStorageNasPlugin) DeleteSnapshot

func (p *FusionStorageNasPlugin) DeleteSnapshot(ctx context.Context,
	snapshotParentID, snapshotName string) error

DeleteSnapshot used to delete snapshot

func (*FusionStorageNasPlugin) DeleteVolume

func (p *FusionStorageNasPlugin) DeleteVolume(ctx context.Context, name string) error

DeleteVolume used to delete volume

func (*FusionStorageNasPlugin) DetachVolume

func (p *FusionStorageNasPlugin) DetachVolume(context.Context, string, map[string]interface{}) error

func (*FusionStorageNasPlugin) ExpandDTreeVolume

func (p *FusionStorageNasPlugin) ExpandDTreeVolume(ctx context.Context, m map[string]interface{}) (bool, error)

ExpandDTreeVolume used to expand DTree volume

func (*FusionStorageNasPlugin) ExpandVolume

func (p *FusionStorageNasPlugin) ExpandVolume(ctx context.Context,
	name string,
	size int64) (bool, error)

ExpandVolume used to expand volume

func (*FusionStorageNasPlugin) GetOnline

func (p *FusionStorageNasPlugin) GetOnline() bool

GetOnline gets the online status of plugin

func (*FusionStorageNasPlugin) Init

func (p *FusionStorageNasPlugin) Init(ctx context.Context, config map[string]interface{},
	parameters map[string]interface{}, keepLogin bool) error

Init used to init the plugin

func (*FusionStorageNasPlugin) NewPlugin

func (p *FusionStorageNasPlugin) NewPlugin() Plugin

NewPlugin used to create new plugin

func (*FusionStorageNasPlugin) QueryVolume

func (p *FusionStorageNasPlugin) QueryVolume(ctx context.Context, name string, params map[string]interface{}) (
	utils.Volume, error)

QueryVolume used to query volume

func (*FusionStorageNasPlugin) SetOnline

func (p *FusionStorageNasPlugin) SetOnline(online bool)

SetOnline sets the online status of plugin

func (*FusionStorageNasPlugin) UpdateBackendCapabilities

func (p *FusionStorageNasPlugin) UpdateBackendCapabilities(ctx context.Context) (map[string]interface{},
	map[string]interface{}, error)

UpdateBackendCapabilities to update the backend capabilities, such as thin, thick, qos and etc.

func (*FusionStorageNasPlugin) UpdateMetroRemotePlugin

func (p *FusionStorageNasPlugin) UpdateMetroRemotePlugin(context.Context, Plugin)

func (*FusionStorageNasPlugin) UpdatePoolCapabilities

func (p *FusionStorageNasPlugin) UpdatePoolCapabilities(ctx context.Context,
	poolNames []string) (map[string]interface{}, error)

UpdatePoolCapabilities used to update pool capabilities

func (*FusionStorageNasPlugin) Validate

func (p *FusionStorageNasPlugin) Validate(ctx context.Context, param map[string]interface{}) error

Validate used to validate FusionStorageNasPlugin parameters

type FusionStoragePlugin

type FusionStoragePlugin struct {
	// contains filtered or unexported fields
}

FusionStoragePlugin defines the plugin for Fusion storage

func (*FusionStoragePlugin) AttachVolume

func (p *FusionStoragePlugin) AttachVolume(context.Context, string, map[string]interface{}) (map[string]interface{}, error)

func (*FusionStoragePlugin) DetachVolume

func (p *FusionStoragePlugin) DetachVolume(context.Context, string, map[string]interface{}) error

func (*FusionStoragePlugin) GetOnline

func (p *FusionStoragePlugin) GetOnline() bool

GetOnline gets the online status of plugin

func (*FusionStoragePlugin) Logout

func (p *FusionStoragePlugin) Logout(ctx context.Context)

Logout is to logout the storage session

func (*FusionStoragePlugin) ModifyVolume

func (p *FusionStoragePlugin) ModifyVolume(ctx context.Context, volumeName string,
	modifyType pkgVolume.ModifyVolumeType, param map[string]string) error

ModifyVolume used to modify volume hyperMetro status

func (*FusionStoragePlugin) SetOnline

func (p *FusionStoragePlugin) SetOnline(online bool)

SetOnline sets the online status of plugin

func (*FusionStoragePlugin) SupportQoSParameters

func (p *FusionStoragePlugin) SupportQoSParameters(ctx context.Context, qosConfig string) error

SupportQoSParameters checks requested QoS parameters support by FusionStorage plugin

func (*FusionStoragePlugin) UpdateBackendCapabilities

func (p *FusionStoragePlugin) UpdateBackendCapabilities() (map[string]interface{}, map[string]interface{}, error)

UpdateBackendCapabilities is used to update backend capabilities

func (*FusionStoragePlugin) UpdateMetroRemotePlugin

func (p *FusionStoragePlugin) UpdateMetroRemotePlugin(context.Context, Plugin)

type FusionStorageSanPlugin

type FusionStorageSanPlugin struct {
	FusionStoragePlugin
	// contains filtered or unexported fields
}

FusionStorageSanPlugin implements storage Plugin interface

func (*FusionStorageSanPlugin) AttachVolume

func (p *FusionStorageSanPlugin) AttachVolume(ctx context.Context, name string,
	parameters map[string]interface{}) (map[string]interface{}, error)

AttachVolume attach volume to node and return storage mapping info.

func (*FusionStorageSanPlugin) CreateSnapshot

func (p *FusionStorageSanPlugin) CreateSnapshot(ctx context.Context,
	lunName, snapshotName string) (map[string]interface{}, error)

CreateSnapshot used to create snapshot

func (*FusionStorageSanPlugin) CreateVolume

func (p *FusionStorageSanPlugin) CreateVolume(ctx context.Context, name string, parameters map[string]interface{}) (
	utils.Volume, error)

CreateVolume used to create volume

func (*FusionStorageSanPlugin) DeleteDTreeVolume

func (p *FusionStorageSanPlugin) DeleteDTreeVolume(ctx context.Context, m map[string]interface{}) error

DeleteDTreeVolume used to delete DTree volume

func (*FusionStorageSanPlugin) DeleteSnapshot

func (p *FusionStorageSanPlugin) DeleteSnapshot(ctx context.Context,
	snapshotParentID, snapshotName string) error

DeleteSnapshot used to delete snapshot

func (*FusionStorageSanPlugin) DeleteVolume

func (p *FusionStorageSanPlugin) DeleteVolume(ctx context.Context, name string) error

DeleteVolume used to delete volume

func (*FusionStorageSanPlugin) DetachVolume

func (p *FusionStorageSanPlugin) DetachVolume(ctx context.Context,
	name string,
	parameters map[string]interface{}) error

DetachVolume used to detach volume from node

func (*FusionStorageSanPlugin) ExpandDTreeVolume

func (p *FusionStorageSanPlugin) ExpandDTreeVolume(ctx context.Context, m map[string]interface{}) (bool, error)

ExpandDTreeVolume used to expand DTree volume

func (*FusionStorageSanPlugin) ExpandVolume

func (p *FusionStorageSanPlugin) ExpandVolume(ctx context.Context, name string, size int64) (bool, error)

ExpandVolume used to expand volume

func (*FusionStorageSanPlugin) GetOnline

func (p *FusionStorageSanPlugin) GetOnline() bool

GetOnline gets the online status of plugin

func (*FusionStorageSanPlugin) Init

func (p *FusionStorageSanPlugin) Init(ctx context.Context, config map[string]interface{},
	parameters map[string]interface{}, keepLogin bool) error

Init used to init the plugin

func (*FusionStorageSanPlugin) NewPlugin

func (p *FusionStorageSanPlugin) NewPlugin() Plugin

NewPlugin used to create new plugin

func (*FusionStorageSanPlugin) QueryVolume

func (p *FusionStorageSanPlugin) QueryVolume(ctx context.Context, name string, params map[string]interface{}) (
	utils.Volume, error)

QueryVolume used to query volume

func (*FusionStorageSanPlugin) SetOnline

func (p *FusionStorageSanPlugin) SetOnline(online bool)

SetOnline sets the online status of plugin

func (*FusionStorageSanPlugin) UpdateBackendCapabilities

func (p *FusionStorageSanPlugin) UpdateBackendCapabilities(ctx context.Context) (map[string]interface{},
	map[string]interface{}, error)

UpdateBackendCapabilities used to update backend capabilities

func (*FusionStorageSanPlugin) UpdateMetroRemotePlugin

func (p *FusionStorageSanPlugin) UpdateMetroRemotePlugin(context.Context, Plugin)

func (*FusionStorageSanPlugin) UpdatePoolCapabilities

func (p *FusionStorageSanPlugin) UpdatePoolCapabilities(ctx context.Context,
	poolNames []string) (map[string]interface{}, error)

UpdatePoolCapabilities used to update pool capabilities

func (*FusionStorageSanPlugin) Validate

func (p *FusionStorageSanPlugin) Validate(ctx context.Context, param map[string]interface{}) error

Validate used to validate FusionStorageSanPlugin parameters

type OceanstorDTreePlugin

type OceanstorDTreePlugin struct {
	OceanstorPlugin
	// contains filtered or unexported fields
}

OceanstorDTreePlugin implements storage Plugin interface

func (*OceanstorDTreePlugin) AttachVolume

func (p *OceanstorDTreePlugin) AttachVolume(context.Context, string, map[string]interface{}) (map[string]interface{}, error)

func (*OceanstorDTreePlugin) CreateSnapshot

func (p *OceanstorDTreePlugin) CreateSnapshot(ctx context.Context, s, s2 string) (map[string]interface{}, error)

CreateSnapshot used to create snapshot

func (*OceanstorDTreePlugin) CreateVolume

func (p *OceanstorDTreePlugin) CreateVolume(ctx context.Context, name string, parameters map[string]interface{}) (
	utils.Volume, error)

CreateVolume used to create volume

func (*OceanstorDTreePlugin) DeleteDTreeVolume

func (p *OceanstorDTreePlugin) DeleteDTreeVolume(ctx context.Context, params map[string]interface{}) error

DeleteDTreeVolume used to delete DTree volume

func (*OceanstorDTreePlugin) DeleteSnapshot

func (p *OceanstorDTreePlugin) DeleteSnapshot(ctx context.Context, s, s2 string) error

DeleteSnapshot used to delete snapshot

func (*OceanstorDTreePlugin) DeleteVolume

func (p *OceanstorDTreePlugin) DeleteVolume(ctx context.Context, name string) error

DeleteVolume used to delete volume

func (*OceanstorDTreePlugin) DetachVolume

func (p *OceanstorDTreePlugin) DetachVolume(context.Context, string, map[string]interface{}) error

func (*OceanstorDTreePlugin) ExpandDTreeVolume

func (p *OceanstorDTreePlugin) ExpandDTreeVolume(ctx context.Context, params map[string]interface{}) (bool, error)

ExpandDTreeVolume used to expand DTree volume

func (*OceanstorDTreePlugin) ExpandVolume

func (p *OceanstorDTreePlugin) ExpandVolume(ctx context.Context, name string, size int64) (bool, error)

ExpandVolume used to expand volume

func (*OceanstorDTreePlugin) GetOnline

func (p *OceanstorDTreePlugin) GetOnline() bool

GetOnline gets the online status of plugin

func (*OceanstorDTreePlugin) Init

func (p *OceanstorDTreePlugin) Init(ctx context.Context, config map[string]interface{},
	parameters map[string]interface{}, keepLogin bool) error

Init used to init the plugin

func (*OceanstorDTreePlugin) ModifyVolume

func (p *OceanstorDTreePlugin) ModifyVolume(ctx context.Context, volumeName string,
	modifyType pkgVolume.ModifyVolumeType, param map[string]string) error

ModifyVolume used to modify volume hyperMetro status

func (*OceanstorDTreePlugin) NewPlugin

func (p *OceanstorDTreePlugin) NewPlugin() Plugin

NewPlugin used to create new plugin

func (*OceanstorDTreePlugin) QueryVolume

func (p *OceanstorDTreePlugin) QueryVolume(ctx context.Context, name string, parameters map[string]interface{}) (
	utils.Volume, error)

QueryVolume used to query volume

func (*OceanstorDTreePlugin) SetOnline

func (p *OceanstorDTreePlugin) SetOnline(online bool)

SetOnline sets the online status of plugin

func (*OceanstorDTreePlugin) UpdateBackendCapabilities

func (p *OceanstorDTreePlugin) UpdateBackendCapabilities(ctx context.Context) (map[string]interface{},
	map[string]interface{}, error)

UpdateBackendCapabilities used to update backend capabilities

func (*OceanstorDTreePlugin) UpdateMetroRemotePlugin

func (p *OceanstorDTreePlugin) UpdateMetroRemotePlugin(context.Context, Plugin)

func (*OceanstorDTreePlugin) UpdatePoolCapabilities

func (p *OceanstorDTreePlugin) UpdatePoolCapabilities(ctx context.Context, poolNames []string) (map[string]interface{},
	error)

UpdatePoolCapabilities used to update pool capabilities

func (*OceanstorDTreePlugin) Validate

func (p *OceanstorDTreePlugin) Validate(ctx context.Context, param map[string]interface{}) error

Validate used to validate OceanstorDTreePlugin parameters

type OceanstorNasPlugin

type OceanstorNasPlugin struct {
	OceanstorPlugin
	// contains filtered or unexported fields
}

OceanstorNasPlugin implements storage Plugin interface

func (*OceanstorNasPlugin) AttachVolume

func (p *OceanstorNasPlugin) AttachVolume(context.Context, string, map[string]interface{}) (map[string]interface{}, error)

func (*OceanstorNasPlugin) CreateSnapshot

func (p *OceanstorNasPlugin) CreateSnapshot(ctx context.Context,
	fsName, snapshotName string) (map[string]interface{}, error)

CreateSnapshot used to create snapshot

func (*OceanstorNasPlugin) CreateVolume

func (p *OceanstorNasPlugin) CreateVolume(ctx context.Context, name string, parameters map[string]interface{}) (
	utils.Volume, error)

CreateVolume used to create volume

func (*OceanstorNasPlugin) DeleteDTreeVolume

func (p *OceanstorNasPlugin) DeleteDTreeVolume(ctx context.Context, m map[string]interface{}) error

DeleteDTreeVolume used to delete DTree volume

func (*OceanstorNasPlugin) DeleteSnapshot

func (p *OceanstorNasPlugin) DeleteSnapshot(ctx context.Context, snapshotParentId, snapshotName string) error

DeleteSnapshot used to delete snapshot

func (*OceanstorNasPlugin) DeleteVolume

func (p *OceanstorNasPlugin) DeleteVolume(ctx context.Context, name string) error

DeleteVolume used to delete volume

func (*OceanstorNasPlugin) DetachVolume

func (p *OceanstorNasPlugin) DetachVolume(context.Context, string, map[string]interface{}) error

func (*OceanstorNasPlugin) ExpandDTreeVolume

func (p *OceanstorNasPlugin) ExpandDTreeVolume(ctx context.Context, m map[string]interface{}) (bool, error)

ExpandDTreeVolume used to expand DTree volume

func (*OceanstorNasPlugin) ExpandVolume

func (p *OceanstorNasPlugin) ExpandVolume(ctx context.Context, name string, size int64) (bool, error)

ExpandVolume used to expand volume

func (*OceanstorNasPlugin) GetLocal2HyperMetroParameters

func (p *OceanstorNasPlugin) GetLocal2HyperMetroParameters(ctx context.Context, VolumeId string,
	parameters map[string]string) (map[string]interface{}, error)

GetLocal2HyperMetroParameters used to get local -> hyperMetro parameters

func (*OceanstorNasPlugin) GetOnline

func (p *OceanstorNasPlugin) GetOnline() bool

GetOnline gets the online status of plugin

func (*OceanstorNasPlugin) Init

func (p *OceanstorNasPlugin) Init(ctx context.Context, config map[string]interface{},
	parameters map[string]interface{}, keepLogin bool) error

Init used to init the plugin

func (*OceanstorNasPlugin) ModifyVolume

func (p *OceanstorNasPlugin) ModifyVolume(ctx context.Context, VolumeId string, modifyType pkgVolume.ModifyVolumeType,
	param map[string]string) error

ModifyVolume used to modify volume hyperMetro status

func (*OceanstorNasPlugin) NewPlugin

func (p *OceanstorNasPlugin) NewPlugin() Plugin

NewPlugin used to create new plugin

func (*OceanstorNasPlugin) QueryVolume

func (p *OceanstorNasPlugin) QueryVolume(ctx context.Context, name string, parameters map[string]interface{}) (
	utils.Volume, error)

QueryVolume used to query volume

func (*OceanstorNasPlugin) SetOnline

func (p *OceanstorNasPlugin) SetOnline(online bool)

SetOnline sets the online status of plugin

func (*OceanstorNasPlugin) UpdateBackendCapabilities

func (p *OceanstorNasPlugin) UpdateBackendCapabilities(ctx context.Context) (map[string]interface{},
	map[string]interface{}, error)

UpdateBackendCapabilities used to update backend capabilities

func (*OceanstorNasPlugin) UpdateMetroRemotePlugin

func (p *OceanstorNasPlugin) UpdateMetroRemotePlugin(ctx context.Context, remote Plugin)

UpdateMetroRemotePlugin used to convert metroRemotePlugin to OceanstorSanPlugin

func (*OceanstorNasPlugin) UpdatePoolCapabilities

func (p *OceanstorNasPlugin) UpdatePoolCapabilities(ctx context.Context,
	poolNames []string) (map[string]interface{}, error)

UpdatePoolCapabilities used to update pool capabilities

func (*OceanstorNasPlugin) UpdateSupportMetroByRemoteLicense

func (p *OceanstorNasPlugin) UpdateSupportMetroByRemoteLicense(ctx context.Context,
	capabilities map[string]interface{})

UpdateSupportMetroByRemoteLicense updates the support metro capability by remote storage license

func (*OceanstorNasPlugin) Validate

func (p *OceanstorNasPlugin) Validate(ctx context.Context, param map[string]interface{}) error

Validate used to validate OceanstorNasPlugin parameters

type OceanstorPlugin

type OceanstorPlugin struct {
	// contains filtered or unexported fields
}

OceanstorPlugin provides oceanstor plugin base operations

func (*OceanstorPlugin) AttachVolume

func (p *OceanstorPlugin) AttachVolume(context.Context, string, map[string]interface{}) (map[string]interface{}, error)

func (*OceanstorPlugin) DetachVolume

func (p *OceanstorPlugin) DetachVolume(context.Context, string, map[string]interface{}) error

func (*OceanstorPlugin) GetOnline

func (p *OceanstorPlugin) GetOnline() bool

GetOnline gets the online status of plugin

func (*OceanstorPlugin) Logout

func (p *OceanstorPlugin) Logout(ctx context.Context)

Logout is to logout the storage session

func (*OceanstorPlugin) SetOnline

func (p *OceanstorPlugin) SetOnline(online bool)

SetOnline sets the online status of plugin

func (*OceanstorPlugin) SupportQoSParameters

func (p *OceanstorPlugin) SupportQoSParameters(ctx context.Context, qosConfig string) error

SupportQoSParameters checks requested QoS parameters support by Oceanstor plugin

func (*OceanstorPlugin) UpdateBackendCapabilities

func (p *OceanstorPlugin) UpdateBackendCapabilities(ctx context.Context) (map[string]interface{},
	map[string]interface{}, error)

UpdateBackendCapabilities used to update backend capabilities

func (*OceanstorPlugin) UpdateMetroRemotePlugin

func (p *OceanstorPlugin) UpdateMetroRemotePlugin(context.Context, Plugin)

type OceanstorSanPlugin

type OceanstorSanPlugin struct {
	OceanstorPlugin
	// contains filtered or unexported fields
}

OceanstorSanPlugin implements storage Plugin interface

func (*OceanstorSanPlugin) AttachVolume

func (p *OceanstorSanPlugin) AttachVolume(ctx context.Context, name string,
	parameters map[string]interface{}) (map[string]interface{}, error)

AttachVolume attach volume to node,return storage mapping info.

func (*OceanstorSanPlugin) CreateSnapshot

func (p *OceanstorSanPlugin) CreateSnapshot(ctx context.Context,
	lunName, snapshotName string) (map[string]interface{}, error)

CreateSnapshot used to create snapshot

func (*OceanstorSanPlugin) CreateVolume

func (p *OceanstorSanPlugin) CreateVolume(ctx context.Context,
	name string,
	parameters map[string]interface{}) (utils.Volume, error)

CreateVolume used to create volume

func (*OceanstorSanPlugin) DeleteDTreeVolume

func (p *OceanstorSanPlugin) DeleteDTreeVolume(ctx context.Context, m map[string]interface{}) error

DeleteDTreeVolume used to delete DTree volume

func (*OceanstorSanPlugin) DeleteSnapshot

func (p *OceanstorSanPlugin) DeleteSnapshot(ctx context.Context,
	snapshotParentID, snapshotName string) error

DeleteSnapshot used to delete snapshot

func (*OceanstorSanPlugin) DeleteVolume

func (p *OceanstorSanPlugin) DeleteVolume(ctx context.Context, name string) error

DeleteVolume used to delete volume

func (*OceanstorSanPlugin) DetachVolume

func (p *OceanstorSanPlugin) DetachVolume(ctx context.Context, name string, parameters map[string]interface{}) error

DetachVolume used to detach volume from node

func (*OceanstorSanPlugin) ExpandDTreeVolume

func (p *OceanstorSanPlugin) ExpandDTreeVolume(ctx context.Context, m map[string]interface{}) (bool, error)

ExpandDTreeVolume used to expand DTree volume

func (*OceanstorSanPlugin) ExpandVolume

func (p *OceanstorSanPlugin) ExpandVolume(ctx context.Context, name string, size int64) (bool, error)

ExpandVolume used to expand volume

func (*OceanstorSanPlugin) GetOnline

func (p *OceanstorSanPlugin) GetOnline() bool

GetOnline gets the online status of plugin

func (*OceanstorSanPlugin) Init

func (p *OceanstorSanPlugin) Init(ctx context.Context, config map[string]interface{},
	parameters map[string]interface{}, keepLogin bool) error

Init used to init the plugin

func (*OceanstorSanPlugin) ModifyVolume

func (p *OceanstorSanPlugin) ModifyVolume(ctx context.Context, volumeName string,
	modifyType pkgVolume.ModifyVolumeType, param map[string]string) error

ModifyVolume used to modify volume hyperMetro status

func (*OceanstorSanPlugin) NewPlugin

func (p *OceanstorSanPlugin) NewPlugin() Plugin

NewPlugin used to create new plugin

func (*OceanstorSanPlugin) QueryVolume

func (p *OceanstorSanPlugin) QueryVolume(ctx context.Context, name string, params map[string]interface{}) (
	utils.Volume, error)

QueryVolume used to query volume

func (*OceanstorSanPlugin) SetOnline

func (p *OceanstorSanPlugin) SetOnline(online bool)

SetOnline sets the online status of plugin

func (*OceanstorSanPlugin) UpdateBackendCapabilities

func (p *OceanstorSanPlugin) UpdateBackendCapabilities(ctx context.Context) (map[string]interface{},
	map[string]interface{}, error)

UpdateBackendCapabilities to update the block storage capabilities

func (*OceanstorSanPlugin) UpdateMetroRemotePlugin

func (p *OceanstorSanPlugin) UpdateMetroRemotePlugin(ctx context.Context, remote Plugin)

UpdateMetroRemotePlugin used to convert metroRemotePlugin to OceanstorSanPlugin

func (*OceanstorSanPlugin) UpdatePoolCapabilities

func (p *OceanstorSanPlugin) UpdatePoolCapabilities(ctx context.Context, poolNames []string) (map[string]interface{},
	error)

UpdatePoolCapabilities used to update pool capabilities

func (*OceanstorSanPlugin) Validate

func (p *OceanstorSanPlugin) Validate(ctx context.Context, param map[string]interface{}) error

Validate used to validate OceanstorSanPlugin parameters

type Plugin

type Plugin interface {
	NewPlugin() Plugin
	Init(context.Context, map[string]interface{}, map[string]interface{}, bool) error
	CreateVolume(context.Context, string, map[string]interface{}) (utils.Volume, error)
	QueryVolume(context.Context, string, map[string]interface{}) (utils.Volume, error)
	DeleteVolume(context.Context, string) error
	ExpandVolume(context.Context, string, int64) (bool, error)
	AttachVolume(context.Context, string, map[string]interface{}) (map[string]interface{}, error)
	DetachVolume(context.Context, string, map[string]interface{}) error
	ModifyVolume(context.Context, string, pkgVolume.ModifyVolumeType, map[string]string) error

	UpdateBackendCapabilities(context.Context) (map[string]interface{}, map[string]interface{}, error)
	UpdatePoolCapabilities(context.Context, []string) (map[string]interface{}, error)
	UpdateMetroRemotePlugin(context.Context, Plugin)
	CreateSnapshot(context.Context, string, string) (map[string]interface{}, error)
	DeleteSnapshot(context.Context, string, string) error
	SmartXQoSQuery
	Logout(context.Context)
	// Validate used to check parameters, include login verification
	Validate(context.Context, map[string]interface{}) error

	DeleteDTreeVolume(context.Context, map[string]interface{}) error
	ExpandDTreeVolume(context.Context, map[string]interface{}) (bool, error)

	// SetOnline sets the online status of plugin
	SetOnline(bool)
	// GetOnline gets the online status of plugin
	GetOnline() bool
}

Plugin defines storage plugin interfaces

func GetPlugin

func GetPlugin(storageType string) Plugin

GetPlugin used to get plugin by storage type

type SmartXQoSQuery

type SmartXQoSQuery interface {
	// SupportQoSParameters checks requested QoS parameters support by Plugin
	SupportQoSParameters(ctx context.Context, qos string) error
}

SmartXQoSQuery provides Quality of Service(QoS) Query operations

Jump to

Keyboard shortcuts

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