Documentation
¶
Index ¶
- type HostAZ
- type HostAZExtractor
- type HostCapabilities
- type HostCapabilitiesExtractor
- type HostPinnedProjects
- type HostPinnedProjectsExtractor
- type HostUtilization
- type HostUtilizationExtractor
- type VMHostResidency
- type VMHostResidencyExtractor
- type VMLifeSpanHistogramBucket
- type VMLifeSpanHistogramExtractor
- type VMLifeSpanRaw
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HostAZ ¶
type HostAZExtractor ¶
type HostAZExtractor struct { // Common base for all extractors that provides standard functionality. plugins.BaseExtractor[ struct{}, HostAZ, ] }
func (*HostAZExtractor) Extract ¶
func (e *HostAZExtractor) Extract() ([]plugins.Feature, error)
Extract the traits of a compute host from the database.
func (*HostAZExtractor) GetName ¶
func (*HostAZExtractor) GetName() string
Name of this feature extractor that is used in the yaml config, for logging etc.
func (HostAZExtractor) Triggers ¶
func (HostAZExtractor) Triggers() []string
Get message topics that trigger a re-execution of this extractor.
type HostCapabilities ¶
type HostCapabilities struct { // Name of the OpenStack compute host. ComputeHost string `db:"compute_host"` // Comma-separated list of traits assigned to the compute host. Traits string `db:"traits"` // The type of hypervisor running on the compute host. HypervisorType string `db:"hypervisor_type"` }
Feature that maps the traits of a compute host in OpenStack.
func (HostCapabilities) Indexes ¶
func (HostCapabilities) Indexes() []db.Index
Indexes for the feature.
func (HostCapabilities) TableName ¶
func (HostCapabilities) TableName() string
Table under which the feature is stored.
type HostCapabilitiesExtractor ¶
type HostCapabilitiesExtractor struct { // Common base for all extractors that provides standard functionality. plugins.BaseExtractor[ struct{}, HostCapabilities, ] }
Extractor that extracts the traits of a compute host.
func (*HostCapabilitiesExtractor) Extract ¶
func (e *HostCapabilitiesExtractor) Extract() ([]plugins.Feature, error)
Extract the traits of a compute host from the database.
func (*HostCapabilitiesExtractor) GetName ¶
func (*HostCapabilitiesExtractor) GetName() string
Name of this feature extractor that is used in the yaml config, for logging etc.
func (HostCapabilitiesExtractor) Triggers ¶
func (HostCapabilitiesExtractor) Triggers() []string
Get message topics that trigger a re-execution of this extractor.
type HostPinnedProjects ¶
type HostPinnedProjects struct { // The name of the aggregate where the filter is defined AggregateName *string `db:"aggregate_name"` // UUID of the aggregate where the filter is defined AggregateUUID *string `db:"aggregate_uuid"` // Tenant ID that belongs to the filter ProjectID *string `db:"project_id"` // Name of the OpenStack compute host. ComputeHost *string `db:"compute_host"` }
HostPinnedProjects represents the mapping between compute hosts and their tenant restrictions. This feature tracks which projects are allowed on specific hosts based on Nova aggregate tenant isolation filters. Hosts without restrictions have a NULL project_id, indicating they accept workloads from any project. See the docs: https://docs.openstack.org/nova/latest/admin/scheduling.html#aggregatemultitenancyisolation
func (HostPinnedProjects) Indexes ¶
func (HostPinnedProjects) Indexes() []db.Index
Indexes for the feature.
func (HostPinnedProjects) TableName ¶
func (HostPinnedProjects) TableName() string
Table under which the feature is stored.
type HostPinnedProjectsExtractor ¶
type HostPinnedProjectsExtractor struct { // Common base for all extractors that provides standard functionality. plugins.BaseExtractor[ struct{}, HostPinnedProjects, ] }
Extractor that extracts the pinned projects of a compute host.
func (*HostPinnedProjectsExtractor) Extract ¶
func (e *HostPinnedProjectsExtractor) Extract() ([]plugins.Feature, error)
Extract the pinned projects of a compute host.
func (*HostPinnedProjectsExtractor) GetName ¶
func (*HostPinnedProjectsExtractor) GetName() string
Name of this feature extractor that is used in the yaml config, for logging etc.
func (HostPinnedProjectsExtractor) Triggers ¶
func (HostPinnedProjectsExtractor) Triggers() []string
Get message topics that trigger a re-execution of this extractor.
type HostUtilization ¶
type HostUtilization struct { // Name of the OpenStack compute host. ComputeHost string `db:"compute_host" json:"computeHost"` // VCPU resource usage VCPUsUsed float64 `db:"vcpus_used" json:"vcpusUsed"` VCPUsUtilizedPct float64 `db:"vcpus_utilized_pct" json:"vcpusUtilizedPct"` TotalVCPUsAllocatable float64 `db:"total_vcpus_allocatable" json:"totalVCPUsAllocatable"` // RAM resource usage RAMUsedMB float64 `db:"ram_used_mb" json:"ramUsedMB"` RAMUtilizedPct float64 `db:"ram_utilized_pct" json:"ramUtilizedPct"` TotalRAMAllocatableMB float64 `db:"total_ram_allocatable_mb" json:"totalRAMAllocatableMB"` // Disk resource usage DiskUsedGB float64 `db:"disk_used_gb" json:"diskUsedGB"` DiskUtilizedPct float64 `db:"disk_utilized_pct" json:"diskUtilizedPct"` TotalDiskAllocatableGB float64 `db:"total_disk_allocatable_gb" json:"totalDiskAllocatableGB"` }
Feature that maps how many resources are utilized on a compute host.
func (HostUtilization) Indexes ¶
func (HostUtilization) Indexes() []db.Index
Indexes for the feature.
func (HostUtilization) TableName ¶
func (HostUtilization) TableName() string
Table under which the feature is stored.
type HostUtilizationExtractor ¶
type HostUtilizationExtractor struct { // Common base for all extractors that provides standard functionality. plugins.BaseExtractor[ struct{}, HostUtilization, ] }
Extractor that extracts the utilization on a compute host.
func (*HostUtilizationExtractor) Extract ¶
func (e *HostUtilizationExtractor) Extract() ([]plugins.Feature, error)
Extract the utilization on a compute host. Depends on the OpenStack hypervisors to be synced.
func (*HostUtilizationExtractor) GetName ¶
func (*HostUtilizationExtractor) GetName() string
Name of this feature extractor that is used in the yaml config, for logging etc.
func (HostUtilizationExtractor) Triggers ¶
func (HostUtilizationExtractor) Triggers() []string
Get message topics that trigger a re-execution of this extractor.
type VMHostResidency ¶
type VMHostResidency struct { // Time the vm stayed on the host in seconds. Duration int `db:"duration"` // Flavor name of the virtual machine. FlavorName string `db:"flavor_name"` // The UUID of the virtual machine. InstanceUUID string `db:"instance_uuid"` // The migration uuid. MigrationUUID string `db:"migration_uuid"` // The host the VM was running on and needed to move out. SourceHost string `db:"source_host"` // The host the VM was moved to. TargetHost string `db:"target_host"` // The source node the VM was running on and needed to move out. SourceNode string `db:"source_node"` // The target node the VM was moved to. TargetNode string `db:"target_node"` // Who forced the VM to move out. UserID string `db:"user_id"` // To which project the user belongs that forced the VM to move out. ProjectID string `db:"project_id"` // Migration type (live-migration or resize). Type string `db:"type"` // Time when the migration was triggered in seconds since epoch. Time int `db:"time"` }
Feature that describes how long a vm was running on a host until it needed to move out, and the reason for the move (i.e., who forced it to move).
func (VMHostResidency) Indexes ¶
func (VMHostResidency) Indexes() []db.Index
Indexes for the feature.
func (VMHostResidency) TableName ¶
func (VMHostResidency) TableName() string
Table under which the feature is stored.
type VMHostResidencyExtractor ¶
type VMHostResidencyExtractor struct { // Common base for all extractors that provides standard functionality. plugins.BaseExtractor[ struct{}, VMHostResidency, ] }
Extractor that extracts the time elapsed until the first migration of a virtual machine.
func (*VMHostResidencyExtractor) Extract ¶
func (e *VMHostResidencyExtractor) Extract() ([]plugins.Feature, error)
Extract the time elapsed until the first migration of a virtual machine. Depends on the OpenStack servers and migrations to be synced.
func (*VMHostResidencyExtractor) GetName ¶
func (*VMHostResidencyExtractor) GetName() string
Name of this feature extractor that is used in the yaml config, for logging etc.
func (VMHostResidencyExtractor) Triggers ¶
func (VMHostResidencyExtractor) Triggers() []string
Get message topics that trigger a re-execution of this extractor.
type VMLifeSpanHistogramBucket ¶
type VMLifeSpanHistogramBucket struct { // Flavor name of the virtual machine. FlavorName string `db:"flavor_name"` // The bucket this life span falls into. Bucket float64 `db:"bucket"` // The value of the bucket. Value uint64 `db:"value"` // The count of vms that fell into this bucket. Count uint64 `db:"count"` // The sum of all durations that fell into this bucket. Sum float64 `db:"sum"` }
Feature that describes how long a vm existed before it was deleted.
func (VMLifeSpanHistogramBucket) Indexes ¶
func (VMLifeSpanHistogramBucket) Indexes() []db.Index
Indexes for the feature.
func (VMLifeSpanHistogramBucket) TableName ¶
func (VMLifeSpanHistogramBucket) TableName() string
Table under which the feature is stored.
type VMLifeSpanHistogramExtractor ¶
type VMLifeSpanHistogramExtractor struct { // Common base for all extractors that provides standard functionality. plugins.BaseExtractor[ struct{}, VMLifeSpanHistogramBucket, ] }
Extractor that extracts the time elapsed until the vm was deleted.
func (*VMLifeSpanHistogramExtractor) Extract ¶
func (e *VMLifeSpanHistogramExtractor) Extract() ([]plugins.Feature, error)
Extract the time elapsed until the first migration of a virtual machine. Depends on the OpenStack servers and migrations to be synced.
func (*VMLifeSpanHistogramExtractor) GetName ¶
func (*VMLifeSpanHistogramExtractor) GetName() string
Name of this feature extractor that is used in the yaml config, for logging etc.
func (VMLifeSpanHistogramExtractor) Triggers ¶
func (VMLifeSpanHistogramExtractor) Triggers() []string
Get message topics that trigger a re-execution of this extractor.