Documentation
¶
Overview ¶
Package schedulerstats returns information about block storage pool capacity and utilisation. Example:
listOpts := schedulerstats.ListOpts{
Detail: true,
}
allPages, err := schedulerstats.List(client, listOpts).AllPages()
if err != nil {
panic(err)
}
allStats, err := schedulerstats.ExtractStoragePools(allPages)
if err != nil {
panic(err)
}
for _, stat := range allStats {
fmt.Printf("%+v\n", stat)
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List makes a request against the API to list storage pool information.
Types ¶
type Capabilities ¶
type Capabilities struct {
// The following fields should be present in all storage drivers.
DriverVersion string `json:"driver_version"`
FreeCapacityGB float64 `json:"-"`
StorageProtocol string `json:"storage_protocol"`
TotalCapacityGB float64 `json:"-"`
VendorName string `json:"vendor_name"`
VolumeBackendName string `json:"volume_backend_name"`
// The following fields are optional and may have empty values depending
// on the storage driver in use.
ReservedPercentage int64 `json:"reserved_percentage"`
LocationInfo string `json:"location_info"`
QoSSupport bool `json:"QoS_support"`
ProvisionedCapacityGB float64 `json:"provisioned_capacity_gb"`
MaxOverSubscriptionRatio string `json:"-"`
ThinProvisioningSupport bool `json:"thin_provisioning_support"`
ThickProvisioningSupport bool `json:"thick_provisioning_support"`
TotalVolumes int64 `json:"total_volumes"`
FilterFunction string `json:"filter_function"`
GoodnessFuction string `json:"goodness_function"`
Multiattach bool `json:"multiattach"`
SparseCopyVolume bool `json:"sparse_copy_volume"`
}
Capabilities represents the information of an individual StoragePool.
func (*Capabilities) UnmarshalJSON ¶
func (r *Capabilities) UnmarshalJSON(b []byte) error
type ListOpts ¶
type ListOpts struct {
// ID of the tenant to look up storage pools for.
TenantID string `q:"tenant_id"`
// Whether to list extended details.
Detail bool `q:"detail"`
}
ListOpts controls the view of data returned (e.g globally or per project) via tenant_id and the verbosity via detail.
func (ListOpts) ToStoragePoolsListQuery ¶
ToStoragePoolsListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type StoragePool ¶
type StoragePool struct {
Name string `json:"name"`
Capabilities Capabilities `json:"capabilities"`
}
StoragePool represents an individual StoragePool retrieved from the schedulerstats API.
func ExtractStoragePools ¶
func ExtractStoragePools(p pagination.Page) ([]StoragePool, error)
ExtractStoragePools takes a List result and extracts the collection of StoragePools returned by the API.
type StoragePoolPage ¶
type StoragePoolPage struct {
pagination.SinglePageBase
}
StoragePoolPage is a single page of all List results.
func (StoragePoolPage) IsEmpty ¶
func (page StoragePoolPage) IsEmpty() (bool, error)
IsEmpty satisfies the IsEmpty method of the Page interface. It returns true if a List contains no results.