service

package
v2.10.0 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2024 License: Apache-2.0 Imports: 49 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxRetries                    = 10
	RetrySleepTime                = 1000 * time.Millisecond
	AccessZoneParam               = "AccessZone"
	ExportPathParam               = "Path"
	IsiPathParam                  = "IsiPath"
	IsiVolumePathPermissionsParam = "IsiVolumePathPermissions"
	AzServiceIPParam              = "AzServiceIP"
	RootClientEnabledParam        = "RootClientEnabled"
	RootClientEnabledParamDefault = "false"
	DeleteSnapshotMarker          = "DELETE_SNAPSHOT"
	IgnoreDotAndDotDotSubDirs     = 2
	ClusterNameParam              = "ClusterName"
	SoftLimitParam                = "SoftLimit"
	SoftLimitParamDefault         = ""
	AdvisoryLimitParam            = "AdvisoryLimit"
	AdvisoryLimitParamDefault     = ""
	SoftGracePrdParam             = "SoftGracePrd"
	SoftGracePrdParamDefault      = ""

	// Parameters to set quota limit from pvc
	PVCSoftLimitParam     = "pvcSoftLimit"
	PVCAdvisoryLimitParam = "pvcAdvisoryLimit"
	PVCSoftGracePrdParam  = "pvcSoftGracePrd"
	// KeyCSIPVCName represents key for csi pvc name
	KeyCSIPVCName = "csi.storage.k8s.io/pvc/name"
	// KeyReplicationEnabled represents key for replication enabled
	KeyReplicationEnabled = "isReplicationEnabled"

	// KeyReplicationVGPrefix represents key for replication vg prefix
	KeyReplicationVGPrefix = "volumeGroupPrefix"
	// KeyReplicationRemoteSystem represents key for replication remote system
	KeyReplicationRemoteSystem = "remoteSystem"
	// KeyReplicationRemoteAccessZone represents key for replication remote access zone
	KeyReplicationRemoteAccessZone = "remoteAccessZone"
	// KeyReplicationRemoteAzServiceIP represents key for replication remote AzServiceIP
	KeyReplicationRemoteAzServiceIP = "remoteAzServiceIP"
	// KeyReplicationRemoteRootClientEnabled represents key for replication remote root client enabled
	KeyReplicationRemoteRootClientEnabled = "remoteRootClientEnabled"
	// KeyReplicationIgnoreNamespaces represents key for replication ignore namespaces
	KeyReplicationIgnoreNamespaces = "ignoreNamespaces"
	// KeyCSIPVCNamespace represents key for csi pvc namespace
	KeyCSIPVCNamespace = "csi.storage.k8s.io/pvc/namespace"
	// KeyReplicationRPO represents key for replication RPO
	KeyReplicationRPO         = "rpo"
	RpoFiveMinutes    RPOEnum = "Five_Minutes"
	RpoFifteenMinutes RPOEnum = "Fifteen_Minutes"
	RpoThirtyMinutes  RPOEnum = "Thirty_Minutes"
	RpoOneHour        RPOEnum = "One_Hour"
	RpoSixHours       RPOEnum = "Six_Hours"
	RpoTwelveHours    RPOEnum = "Twelve_Hours"
	RpoOneDay         RPOEnum = "One_Day"
)

constants

View Source
const (
	PolicySchedulingManual    = ""
	PolicySchedulingAutomatic = "when-source-modified"
	WritesEnabled             = "writes_enabled"
	WritesDisabled            = "writes_disabled"
	ResyncPolicyCreated       = "resync_policy_created"
)

constants for ease of understanding

Variables

View Source
var DriverConfigParamsFile string

DriverConfigParamsFile is the name of the input driver config params file

View Source
var Manifest = map[string]string{
	"url":    "http://github.com/dell/csi-isilon",
	"semver": core.SemVer,
	"commit": core.CommitSha32,
	"formed": core.CommitTime.Format(time.RFC1123),
}

Manifest is the SP's manifest.

Functions

func GetLogger

func GetLogger(ctx context.Context) (context.Context, *logrus.Entry)

GetLogger creates custom logger handler

func GetRunIDLog

func GetRunIDLog(ctx context.Context) (context.Context, *logrus.Entry, string)

GetRunIDLog function returns logger with runID

func MarshalSyncMapToJSON

func MarshalSyncMapToJSON(m *sync.Map) ([]byte, error)

MarshalSyncMapToJSON marshal the sync Map to Json

Types

type ArrayConnectivityStatus

type ArrayConnectivityStatus struct {
	LastSuccess int64 `json:"lastSuccess"` // connectivity status
	LastAttempt int64 `json:"lastAttempt"` // last timestamp attempted to check connectivity
}

ArrayConnectivityStatus Status of the array probe

type IsilonClusterConfig

type IsilonClusterConfig struct {
	ClusterName   string `yaml:"clusterName"`
	Endpoint      string `yaml:"endpoint"`
	EndpointPort  string `yaml:"endpointPort,omitempty"`
	MountEndpoint string `yaml:"mountEndpoint,omitempty"` // This field is used to retain the orignal Endpoint after CSM-Authorization has been injected
	EndpointURL   string

	User                      string `yaml:"username"`
	Password                  string `yaml:"password"`
	SkipCertificateValidation *bool  `yaml:"skipCertificateValidation,omitempty"`
	IsiPath                   string `yaml:"isiPath,omitempty"`
	IsiVolumePathPermissions  string `yaml:"isiVolumePathPermissions,omitempty"`
	IsDefault                 *bool  `yaml:"isDefault,omitempty"`
	ReplicationCertificateID  string `yaml:"replicationCertificateID,omitempty"`
	IgnoreUnresolvableHosts   *bool  `yaml:"ignoreUnresolvableHosts,omitempty"`
	// contains filtered or unexported fields
}

IsilonClusterConfig To hold config details of a isilon cluster

func (IsilonClusterConfig) String

func (s IsilonClusterConfig) String() string

To display the IsilonClusterConfig of a cluster

type IsilonClusters

type IsilonClusters struct {
	IsilonClusters []IsilonClusterConfig `yaml:"isilonClusters"`
}

IsilonClusters To unmarshal secret.yaml file

type Opts

type Opts struct {
	Port                      string
	AccessZone                string
	Path                      string
	IsiVolumePathPermissions  string
	SkipCertificateValidation bool
	AutoProbe                 bool
	QuotaEnabled              bool
	Verbose                   uint
	CustomTopologyEnabled     bool
	KubeConfigPath            string

	MaxVolumesPerNode int64

	IsHealthMonitorEnabled  bool
	IgnoreUnresolvableHosts bool
	// contains filtered or unexported fields
}

Opts defines service configuration options.

type RPOEnum

type RPOEnum string

RPOEnum represents valid rpo values

func (RPOEnum) IsValid

func (rpo RPOEnum) IsValid() error

IsValid - checks valid RPO

func (RPOEnum) ToInt

func (rpo RPOEnum) ToInt() (int, error)

ToInt - converts to seconds

type Service

type Service interface {
	csi.ControllerServer
	csi.IdentityServer
	csi.NodeServer
	BeforeServe(context.Context, *gocsi.StoragePlugin, net.Listener) error
	RegisterAdditionalServers(server *grpc.Server)
}

Service is the CSI service provider.

func New

func New() Service

New returns a new Service.

Directories

Path Synopsis
mock
k8s

Jump to

Keyboard shortcuts

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