Documentation ¶
Overview ¶
Package admin is a convenience layer to support the administration of CephFS volumes, subvolumes, etc.
Unlike the cephfs package this API does not map to APIs provided by ceph libraries themselves. This API is not yet stable and is subject to change.
This package only supports ceph "nautilus" and "octopus" at this time.
Index ¶
- Constants
- Variables
- type ByteCount
- type CloneOptions
- type CloneSource
- type CloneState
- type CloneStatus
- type DaemonID
- type DaemonStatusFileSystemInfo
- type DaemonStatusInfo
- type DaemonStatusPeer
- type DaemonStatusPeerInfo
- type DaemonStatusPeerStats
- type DaemonStatusResults
- type FSAdmin
- func (fsa *FSAdmin) CancelClone(volume, group, clone string) error
- func (fsa *FSAdmin) CloneStatus(volume, group, clone string) (*CloneStatus, error)
- func (fsa *FSAdmin) CloneSubVolumeSnapshot(volume, group, subvolume, snapshot, name string, o *CloneOptions) error
- func (fsa *FSAdmin) CreateSubVolume(volume, group, name string, o *SubVolumeOptions) error
- func (fsa *FSAdmin) CreateSubVolumeGroup(volume, name string, o *SubVolumeGroupOptions) error
- func (fsa *FSAdmin) CreateSubVolumeSnapshot(volume, group, source, name string) error
- func (fsa *FSAdmin) DisableMirroringModule() error
- func (fsa *FSAdmin) DisableModule(module string) error
- func (fsa *FSAdmin) EnableMirroringModule(force bool) error
- func (fsa *FSAdmin) EnableModule(module string, force bool) error
- func (fsa *FSAdmin) EnumerateVolumes() ([]VolumeIdent, error)
- func (fsa *FSAdmin) ForceRemoveSubVolume(volume, group, name string) error
- func (fsa *FSAdmin) ForceRemoveSubVolumeGroup(volume, name string) error
- func (fsa *FSAdmin) ForceRemoveSubVolumeSnapshot(volume, group, subvolume, name string) error
- func (fsa *FSAdmin) ListFileSystems() ([]FSPoolInfo, error)
- func (fsa *FSAdmin) ListSubVolumeGroups(volume string) ([]string, error)
- func (fsa *FSAdmin) ListSubVolumeSnapshots(volume, group, name string) ([]string, error)
- func (fsa *FSAdmin) ListSubVolumes(volume, group string) ([]string, error)
- func (fsa *FSAdmin) ListVolumes() ([]string, error)
- func (fsa *FSAdmin) ProtectSubVolumeSnapshot(volume, group, subvolume, name string) error
- func (fsa *FSAdmin) RemoveSubVolume(volume, group, name string) error
- func (fsa *FSAdmin) RemoveSubVolumeGroup(volume, name string) error
- func (fsa *FSAdmin) RemoveSubVolumeSnapshot(volume, group, subvolume, name string) error
- func (fsa *FSAdmin) RemoveSubVolumeWithFlags(volume, group, name string, o SubVolRmFlags) error
- func (fsa *FSAdmin) ResizeSubVolume(volume, group, name string, newSize QuotaSize, noShrink bool) (*SubVolumeResizeResult, error)
- func (fsa *FSAdmin) SnapshotMirror() *SnapshotMirrorAdmin
- func (fsa *FSAdmin) SubVolumeGroupPath(volume, name string) (string, error)
- func (fsa *FSAdmin) SubVolumeInfo(volume, group, name string) (*SubVolumeInfo, error)
- func (fsa *FSAdmin) SubVolumePath(volume, group, name string) (string, error)
- func (fsa *FSAdmin) SubVolumeSnapshotInfo(volume, group, subvolume, name string) (*SubVolumeSnapshotInfo, error)
- func (fsa *FSAdmin) UnprotectSubVolumeSnapshot(volume, group, subvolume, name string) error
- func (fsa *FSAdmin) VolumeStatus(name string) (*VolumeStatus, error)
- type FSPoolInfo
- type Feature
- type FileSystemID
- type NotImplementedError
- type NotProtectedError
- type PeerInfo
- type PeerListResults
- type PeerUUID
- type QuotaSize
- type RadosCommander
- type SnapshotMirrorAdmin
- func (sma *SnapshotMirrorAdmin) Add(fsname, path string) error
- func (sma *SnapshotMirrorAdmin) CreatePeerBootstrapToken(fsname, client, site string) (string, error)
- func (sma *SnapshotMirrorAdmin) DaemonStatus(fsname string) (DaemonStatusResults, error)
- func (sma *SnapshotMirrorAdmin) Disable(fsname string) error
- func (sma *SnapshotMirrorAdmin) Enable(fsname string) error
- func (sma *SnapshotMirrorAdmin) ImportPeerBoostrapToken(fsname, token string) error
- func (sma *SnapshotMirrorAdmin) PeerList(fsname string) (PeerListResults, error)
- func (sma *SnapshotMirrorAdmin) Remove(fsname, path string) error
- type SubVolRmFlags
- type SubVolumeGroupOptions
- type SubVolumeInfo
- type SubVolumeOptions
- type SubVolumeResizeResult
- type SubVolumeSnapshotInfo
- type SubVolumeState
- type TimeStamp
- type VolumeIdent
- type VolumePool
- type VolumeStatus
Constants ¶
const ( // ClonePending is the state of a pending clone. ClonePending = CloneState("pending") // CloneInProgress is the state of a clone in progress. CloneInProgress = CloneState("in-progress") // CloneComplete is the state of a complete clone. CloneComplete = CloneState("complete") // CloneFailed is the state of a failed clone. CloneFailed = CloneState("failed") )
const ( // SnapshotCloneFeature indicates a subvolume supports cloning. SnapshotCloneFeature = Feature("snapshot-clone") // SnapshotAutoprotectFeature indicates a subvolume does not require // manually protecting a subvolume before cloning. SnapshotAutoprotectFeature = Feature("snapshot-autoprotect") // SnapshotRetentionFeature indicates a subvolume supports retaining // snapshots on subvolume removal. SnapshotRetentionFeature = Feature("snapshot-retention") )
const ( // StateUnset indicates a subvolume without any state. StateUnset = SubVolumeState("") // StateInit indicates that the subvolume is in initializing state. StateInit = SubVolumeState("init") // StatePending indicates that the subvolume is in pending state. StatePending = SubVolumeState("pending") // StateInProgress indicates that the subvolume is in in-progress state. StateInProgress = SubVolumeState("in-progress") // StateFailed indicates that the subvolume is in failed state. StateFailed = SubVolumeState("failed") // StateComplete indicates that the subvolume is in complete state. StateComplete = SubVolumeState("complete") // StateCanceled indicates that the subvolume is in canceled state. StateCanceled = SubVolumeState("canceled") // StateSnapRetained indicates that the subvolume is in // snapshot-retained state. StateSnapRetained = SubVolumeState("snapshot-retained") )
const Infinite = specialSize("infinite")
Infinite is a special QuotaSize value that can be used to clear size limits on a subvolume.
const NoGroup = ""
NoGroup should be used when an optional subvolume group name is not specified.
Variables ¶
var ( // ErrStatusNotEmpty is an alias for commands.ErrStatusNotEmpty ErrStatusNotEmpty = commands.ErrStatusNotEmpty // ErrBodyNotEmpty is an alias for commands.ErrBodyNotEmpty ErrBodyNotEmpty = commands.ErrBodyNotEmpty )
Functions ¶
This section is empty.
Types ¶
type CloneOptions ¶
CloneOptions are used to specify optional values to be used when creating a new subvolume clone.
type CloneSource ¶
type CloneSource struct { Volume string `json:"volume"` Group string `json:"group"` SubVolume string `json:"subvolume"` Snapshot string `json:"snapshot"` }
CloneSource contains values indicating the source of a clone.
type CloneState ¶
type CloneState string
CloneState is used to define constant values used to determine the state of a clone.
type CloneStatus ¶
type CloneStatus struct { State CloneState `json:"state"` Source CloneSource `json:"source"` }
CloneStatus reports on the status of a subvolume clone.
type DaemonID ¶ added in v0.11.0
type DaemonID uint
DaemonID represents the ID of a cephfs mirroring daemon.
type DaemonStatusFileSystemInfo ¶ added in v0.11.0
type DaemonStatusFileSystemInfo struct { FileSystemID FileSystemID `json:"filesystem_id"` Name string `json:"name"` DirectoryCount int64 `json:"directory_count"` Peers []DaemonStatusPeerInfo `json:"peers"` }
DaemonStatusFileSystemInfo represents information about a mirrored file system.
type DaemonStatusInfo ¶ added in v0.11.0
type DaemonStatusInfo struct { DaemonID DaemonID `json:"daemon_id"` FileSystems []DaemonStatusFileSystemInfo `json:"filesystems"` }
DaemonStatusInfo maps file system IDs to information about that file system.
type DaemonStatusPeer ¶ added in v0.11.0
type DaemonStatusPeer struct { ClientName string `json:"client_name"` ClusterName string `json:"cluster_name"` FSName string `json:"fs_name"` }
DaemonStatusPeer contains fields detailing a remote peer.
type DaemonStatusPeerInfo ¶ added in v0.11.0
type DaemonStatusPeerInfo struct { UUID PeerUUID `json:"uuid"` Remote DaemonStatusPeer `json:"remote"` Stats DaemonStatusPeerStats `json:"stats"` }
DaemonStatusPeerInfo contains fields representing information about a remote peer.
type DaemonStatusPeerStats ¶ added in v0.11.0
type DaemonStatusPeerStats struct { FailureCount uint64 `json:"failure_count"` RecoveryCount uint64 `json:"recovery_count"` }
DaemonStatusPeerStats contains fields detailing the a remote peer's stats.
type DaemonStatusResults ¶ added in v0.11.0
type DaemonStatusResults []DaemonStatusInfo
DaemonStatusResults maps mirroring daemon IDs to information about that mirroring daemon.
type FSAdmin ¶
type FSAdmin struct {
// contains filtered or unexported fields
}
FSAdmin is used to administrate CephFS within a ceph cluster.
func New ¶
New creates an FSAdmin automatically based on the default ceph configuration file. If more customization is needed, create a *rados.Conn as you see fit and use NewFromConn to use that connection with these administrative functions.
func NewFromConn ¶
func NewFromConn(conn RadosCommander) *FSAdmin
NewFromConn creates an FSAdmin management object from a preexisting rados connection. The existing connection can be rados.Conn or any type implementing the RadosCommander interface. This may be useful if the calling layer needs to inject additional logging, error handling, fault injection, etc.
func (*FSAdmin) CancelClone ¶
CancelClone stops the background processes that populate a clone. CancelClone does not delete the clone.
Similar To:
ceph fs clone cancel <volume> --group_name=<group> <clone>
func (*FSAdmin) CloneStatus ¶
func (fsa *FSAdmin) CloneStatus(volume, group, clone string) (*CloneStatus, error)
CloneStatus returns data reporting the status of a subvolume clone.
Similar To:
ceph fs clone status <volume> --group_name=<group> <clone>
func (*FSAdmin) CloneSubVolumeSnapshot ¶
func (fsa *FSAdmin) CloneSubVolumeSnapshot(volume, group, subvolume, snapshot, name string, o *CloneOptions) error
CloneSubVolumeSnapshot clones the specified snapshot from the subvolume. The group, subvolume, and snapshot parameters specify the source for the clone, and only the source. Additional properties of the clone, such as the subvolume group that the clone will be created in and the pool layout may be specified using the clone options parameter.
Similar To:
ceph fs subvolume snapshot clone <volume> --group_name=<group> <subvolume> <snapshot> <name> [...]
func (*FSAdmin) CreateSubVolume ¶
func (fsa *FSAdmin) CreateSubVolume(volume, group, name string, o *SubVolumeOptions) error
CreateSubVolume sends a request to create a CephFS subvolume in a volume, belonging to an optional subvolume group.
Similar To:
ceph fs subvolume create <volume> --group-name=<group> <name> ...
func (*FSAdmin) CreateSubVolumeGroup ¶
func (fsa *FSAdmin) CreateSubVolumeGroup(volume, name string, o *SubVolumeGroupOptions) error
CreateSubVolumeGroup sends a request to create a subvolume group in a volume.
Similar To:
ceph fs subvolumegroup create <volume> <group_name> ...
func (*FSAdmin) CreateSubVolumeSnapshot ¶
CreateSubVolumeSnapshot creates a new snapshot from the source subvolume.
Similar To:
ceph fs subvolume snapshot create <volume> --group-name=<group> <source> <name>
func (*FSAdmin) DisableMirroringModule ¶ added in v0.11.0
DisableMirroringModule will disable the mirroring module for cephfs.
Similar To:
ceph mgr module disable mirroring
func (*FSAdmin) DisableModule ¶ added in v0.11.0
DisableModule will disable the specified manager module.
Similar To:
ceph mgr module disable <module>
func (*FSAdmin) EnableMirroringModule ¶ added in v0.11.0
EnableMirroringModule will enable the mirroring module for cephfs.
Similar To:
ceph mgr module enable mirroring [--force]
func (*FSAdmin) EnableModule ¶ added in v0.11.0
EnableModule will enable the specified manager module.
Similar To:
ceph mgr module enable <module> [--force]
func (*FSAdmin) EnumerateVolumes ¶
func (fsa *FSAdmin) EnumerateVolumes() ([]VolumeIdent, error)
EnumerateVolumes returns a list of volume-name volume-id pairs.
func (*FSAdmin) ForceRemoveSubVolume ¶
ForceRemoveSubVolume will delete a CephFS subvolume in a volume and optional subvolume group.
Similar To:
ceph fs subvolume rm <volume> --group-name=<group> <name> --force
func (*FSAdmin) ForceRemoveSubVolumeGroup ¶
ForceRemoveSubVolumeGroup will delete a subvolume group in a volume. Similar To:
ceph fs subvolumegroup rm <volume> <group_name> --force
func (*FSAdmin) ForceRemoveSubVolumeSnapshot ¶
ForceRemoveSubVolumeSnapshot removes the specified snapshot from the subvolume.
Similar To:
ceph fs subvolume snapshot rm <volume> --group-name=<group> <subvolume> <name> --force
func (*FSAdmin) ListFileSystems ¶
func (fsa *FSAdmin) ListFileSystems() ([]FSPoolInfo, error)
ListFileSystems lists file systems along with the pools occupied by those file systems.
Similar To:
ceph fs ls
func (*FSAdmin) ListSubVolumeGroups ¶
ListSubVolumeGroups returns a list of subvolume groups belonging to the specified volume.
Similar To:
ceph fs subvolumegroup ls cephfs <volume>
func (*FSAdmin) ListSubVolumeSnapshots ¶
ListSubVolumeSnapshots returns a listing of snapshots for a given subvolume.
Similar To:
ceph fs subvolume snapshot ls <volume> --group-name=<group> <name>
func (*FSAdmin) ListSubVolumes ¶
ListSubVolumes returns a list of subvolumes belonging to the volume and optional subvolume group.
Similar To:
ceph fs subvolume ls <volume> --group-name=<group>
func (*FSAdmin) ListVolumes ¶
ListVolumes return a list of volumes in this Ceph cluster.
Similar To:
ceph fs volume ls
func (*FSAdmin) ProtectSubVolumeSnapshot ¶
ProtectSubVolumeSnapshot protects the specified snapshot.
Similar To:
ceph fs subvolume snapshot protect <volume> --group-name=<group> <subvolume> <name>
func (*FSAdmin) RemoveSubVolume ¶
RemoveSubVolume will delete a CephFS subvolume in a volume and optional subvolume group.
Similar To:
ceph fs subvolume rm <volume> --group-name=<group> <name>
func (*FSAdmin) RemoveSubVolumeGroup ¶
RemoveSubVolumeGroup will delete a subvolume group in a volume. Similar To:
ceph fs subvolumegroup rm <volume> <group_name>
func (*FSAdmin) RemoveSubVolumeSnapshot ¶
RemoveSubVolumeSnapshot removes the specified snapshot from the subvolume.
Similar To:
ceph fs subvolume snapshot rm <volume> --group-name=<group> <subvolume> <name>
func (*FSAdmin) RemoveSubVolumeWithFlags ¶ added in v0.7.0
func (fsa *FSAdmin) RemoveSubVolumeWithFlags(volume, group, name string, o SubVolRmFlags) error
RemoveSubVolumeWithFlags will delete a CephFS subvolume in a volume and optional subvolume group. This function accepts a SubVolRmFlags type that can be used to specify flags that modify the operations behavior. Equivalent to RemoveSubVolume with no flags set. Equivalent to ForceRemoveSubVolume if only the "Force" flag is set.
Similar To:
ceph fs subvolume rm <volume> --group-name=<group> <name> [...flags...]
func (*FSAdmin) ResizeSubVolume ¶
func (fsa *FSAdmin) ResizeSubVolume( volume, group, name string, newSize QuotaSize, noShrink bool) (*SubVolumeResizeResult, error)
ResizeSubVolume will resize a CephFS subvolume. The newSize value may be a ByteCount or the special Infinite constant. Setting noShrink to true will prevent reducing the size of the volume below the current used size.
Similar To:
ceph fs subvolume resize <volume> --group-name=<group> <name> ...
func (*FSAdmin) SnapshotMirror ¶ added in v0.11.0
func (fsa *FSAdmin) SnapshotMirror() *SnapshotMirrorAdmin
SnapshotMirror returns a new SnapshotMirrorAdmin to be used for the administration of snapshot mirroring features.
func (*FSAdmin) SubVolumeGroupPath ¶
SubVolumeGroupPath returns the path to the subvolume from the root of the file system.
Similar To:
ceph fs subvolumegroup getpath <volume> <group_name>
func (*FSAdmin) SubVolumeInfo ¶
func (fsa *FSAdmin) SubVolumeInfo(volume, group, name string) (*SubVolumeInfo, error)
SubVolumeInfo returns information about the specified subvolume.
Similar To:
ceph fs subvolume info <volume> --group-name=<group> <name>
func (*FSAdmin) SubVolumePath ¶
SubVolumePath returns the path to the subvolume from the root of the file system.
Similar To:
ceph fs subvolume getpath <volume> --group-name=<group> <name>
func (*FSAdmin) SubVolumeSnapshotInfo ¶
func (fsa *FSAdmin) SubVolumeSnapshotInfo(volume, group, subvolume, name string) (*SubVolumeSnapshotInfo, error)
SubVolumeSnapshotInfo returns information about the specified subvolume snapshot.
Similar To:
ceph fs subvolume snapshot info <volume> --group-name=<group> <subvolume> <name>
func (*FSAdmin) UnprotectSubVolumeSnapshot ¶
UnprotectSubVolumeSnapshot removes protection from the specified snapshot.
Similar To:
ceph fs subvolume snapshot unprotect <volume> --group-name=<group> <subvolume> <name>
func (*FSAdmin) VolumeStatus ¶
func (fsa *FSAdmin) VolumeStatus(name string) (*VolumeStatus, error)
VolumeStatus returns a VolumeStatus object for the given volume name.
Similar To:
ceph fs status cephfs <name>
type FSPoolInfo ¶
type FSPoolInfo struct { Name string `json:"name"` MetadataPool string `json:"metadata_pool"` MetadataPoolID int `json:"metadata_pool_id"` DataPools []string `json:"data_pools"` DataPoolIDs []int `json:"data_pool_ids"` }
FSPoolInfo contains the name of a file system as well as the metadata and data pools. Pool information is available by ID or by name.
type Feature ¶
type Feature string
Feature is used to define constant values for optional features on subvolumes.
type FileSystemID ¶ added in v0.11.0
type FileSystemID uint
FileSystemID represents the ID of a cephfs file system.
type NotImplementedError ¶
type NotImplementedError = commands.NotImplementedError
NotImplementedError is an alias for commands.NotImplementedError.
type NotProtectedError ¶
type NotProtectedError struct {
// contains filtered or unexported fields
}
NotProtectedError error values will be returned by CloneSubVolumeSnapshot in the case that the source snapshot needs to be protected but is not. The requirement for a snapshot to be protected prior to cloning varies by Ceph version.
type PeerInfo ¶ added in v0.11.0
type PeerInfo struct { ClientName string `json:"client_name"` SiteName string `json:"site_name"` FSName string `json:"fs_name"` MonHost string `json:"mon_host"` }
PeerInfo includes information about a cephfs mirroring peer.
type PeerListResults ¶ added in v0.11.0
PeerListResults maps a peer's UUID to information about that peer.
type PeerUUID ¶ added in v0.11.0
type PeerUUID string
PeerUUID represents the UUID of a cephfs mirroring peer.
type QuotaSize ¶
type QuotaSize interface {
// contains filtered or unexported methods
}
QuotaSize interface values can be used to change the size of a volume.
type RadosCommander ¶
type RadosCommander = ccom.RadosCommander
RadosCommander provides an interface to execute JSON-formatted commands that allow the cephfs administrative functions to interact with the Ceph cluster.
type SnapshotMirrorAdmin ¶ added in v0.11.0
type SnapshotMirrorAdmin struct {
// contains filtered or unexported fields
}
SnapshotMirrorAdmin helps administer the snapshot mirroring features of cephfs. Snapshot mirroring is only available in ceph pacific and later.
func (*SnapshotMirrorAdmin) Add ¶ added in v0.11.0
func (sma *SnapshotMirrorAdmin) Add(fsname, path string) error
Add a path in the file system to be mirrored.
Similar To:
ceph fs snapshot mirror add <fs_name> <path>
func (*SnapshotMirrorAdmin) CreatePeerBootstrapToken ¶ added in v0.11.0
func (sma *SnapshotMirrorAdmin) CreatePeerBootstrapToken( fsname, client, site string) (string, error)
CreatePeerBootstrapToken returns a token that can be used to create a peering association between this site an another site.
Similar To:
ceph fs snapshot mirror peer_bootstrap create <fs_name> <client_entity> <site-name>
func (*SnapshotMirrorAdmin) DaemonStatus ¶ added in v0.11.0
func (sma *SnapshotMirrorAdmin) DaemonStatus(fsname string) ( DaemonStatusResults, error)
DaemonStatus returns information on the status of cephfs mirroring daemons associated with the given file system.
Similar To:
ceph fs snapshot mirror daemon status <fs_name>
func (*SnapshotMirrorAdmin) Disable ¶ added in v0.11.0
func (sma *SnapshotMirrorAdmin) Disable(fsname string) error
Disable snapshot mirroring for the given file system.
Similar To:
ceph fs snapshot mirror disable <fs_name>
func (*SnapshotMirrorAdmin) Enable ¶ added in v0.11.0
func (sma *SnapshotMirrorAdmin) Enable(fsname string) error
Enable snapshot mirroring for the given file system.
Similar To:
ceph fs snapshot mirror enable <fs_name>
func (*SnapshotMirrorAdmin) ImportPeerBoostrapToken ¶ added in v0.11.0
func (sma *SnapshotMirrorAdmin) ImportPeerBoostrapToken(fsname, token string) error
ImportPeerBoostrapToken creates an association between another site, one that has provided a token, with the current site.
Similar To:
ceph fs snapshot mirror peer_bootstrap import <fs_name> <token>
func (*SnapshotMirrorAdmin) PeerList ¶ added in v0.11.0
func (sma *SnapshotMirrorAdmin) PeerList(fsname string) ( PeerListResults, error)
PeerList returns information about peers associated with the given file system.
Similar To:
ceph fs snapshot mirror peer_list <fs_name>
func (*SnapshotMirrorAdmin) Remove ¶ added in v0.11.0
func (sma *SnapshotMirrorAdmin) Remove(fsname, path string) error
Remove a path in the file system from mirroring.
Similar To:
ceph fs snapshot mirror remove <fs_name> <path>
type SubVolRmFlags ¶ added in v0.7.0
SubVolRmFlags may be used to specify behavior modifying flags when removing sub volumes.
type SubVolumeGroupOptions ¶
SubVolumeGroupOptions are used to specify optional, non-identifying, values to be used when creating a new subvolume group.
type SubVolumeInfo ¶
type SubVolumeInfo struct { Type string `json:"type"` Path string `json:"path"` State SubVolumeState `json:"state"` Uid int `json:"uid"` Gid int `json:"gid"` Mode int `json:"mode"` BytesPercent string `json:"bytes_pcent"` BytesUsed ByteCount `json:"bytes_used"` BytesQuota QuotaSize `json:"-"` DataPool string `json:"data_pool"` PoolNamespace string `json:"pool_namespace"` Atime TimeStamp `json:"atime"` Mtime TimeStamp `json:"mtime"` Ctime TimeStamp `json:"ctime"` CreatedAt TimeStamp `json:"created_at"` Features []Feature `json:"features"` }
SubVolumeInfo reports various informational values about a subvolume.
type SubVolumeOptions ¶
type SubVolumeOptions struct { Size ByteCount Uid int Gid int Mode int PoolLayout string NamespaceIsolated bool }
SubVolumeOptions are used to specify optional, non-identifying, values to be used when creating a new subvolume.
type SubVolumeResizeResult ¶
type SubVolumeResizeResult struct { BytesUsed ByteCount `json:"bytes_used"` BytesQuota ByteCount `json:"bytes_quota"` BytesPercent string `json:"bytes_pcent"` }
SubVolumeResizeResult reports the size values returned by the ResizeSubVolume function, as reported by Ceph.
type SubVolumeSnapshotInfo ¶
type SubVolumeSnapshotInfo struct { CreatedAt TimeStamp `json:"created_at"` DataPool string `json:"data_pool"` HasPendingClones string `json:"has_pending_clones"` Protected string `json:"protected"` Size ByteCount `json:"size"` }
SubVolumeSnapshotInfo reports various informational values about a subvolume.
type SubVolumeState ¶ added in v0.8.0
type SubVolumeState string
SubVolumeState is used to define constant value for the state of a subvolume.
type TimeStamp ¶
TimeStamp abstracts some of the details about date+time stamps returned by ceph via JSON.
func (*TimeStamp) UnmarshalJSON ¶
UnmarshalJSON implements the json Unmarshaler interface.
type VolumeIdent ¶
VolumeIdent contains a pair of file system identifying values: the volume name and the volume ID.
type VolumePool ¶
type VolumePool struct { ID int `json:"id"` Name string `json:"name"` Type string `json:"type"` Available uint64 `json:"avail"` Used uint64 `json:"used"` }
VolumePool reports on the pool status for a CephFS volume.
type VolumeStatus ¶
type VolumeStatus struct { MDSVersion string `json:"mds_version"` Pools []VolumePool `json:"pools"` }
VolumeStatus reports various properties of a CephFS volume. TODO: Fill in.