 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- Variables
- func CapturePanic()
- func CheckTuningSpec(tuning Tuning) error
- func GenNodeToken(hostname, advertiseAddr string) string
- func GenerateNodeHashByMacAddr() (string, error)
- func GetEmailRecipients() ([]email.Recipient, error)
- func GetEmailSenders() ([]email.Sender, error)
- func GetLicenseSearcher() bleve.Index
- func GetLocalTunings() *sync.Map
- func GetMacAddr(interfaceName string) (string, error)
- func GetNodeSearcher() bleve.Index
- func GetRadosGatewayUrl() string
- func GetRegisteredServices() ([]*registry.Service, error)
- func GetSlackChannels() ([]slack.Channel, error)
- func GetSystemSerial() (string, error)
- func GetTuningSearcher() bleve.Index
- func GetTuningSpecs() *sync.Map
- func HealthDB() string
- func HostnameNodeMap() (map[string]Node, error)
- func InitLicenseSearchIndex() error
- func InitNodeSearchIndex() error
- func InitTuningSearchIndex() error
- func IsLocalNode(hostname string) bool
- func IsPageRequired(pageNum, pageSize string) bool
- func RepairCollection() string
- func SetLocalTuning(tuning Tuning)
- func SetTuningSpec(name string, spec *TuningSpec)
- func SettingsDB() string
- func SeverityFullName(severity string) string
- func SeverityShortName(severity string) string
- func ShouldIHandleTheTuning(name string) bool
- func SyncNodes()
- func SyncRoleNodes()
- func TimPastRFC3339(duration time.Duration) string
- func TimeISO8601Z(t time.Time) string
- func TimeLocal() string
- func TimeLocalISO8601(t time.Time) string
- func TimeLocalRFC3339(t time.Time) string
- func TimeNowRFC3339() string
- func TimeNowRFC3339Z() string
- func TimePastRFC3339Z(duration time.Duration) string
- func TimeRFC3339(duration time.Duration) string
- func TimeRFC3339Z(t time.Time) string
- func TimeUTC(t time.Time) string
- func TitlePrefixCollection() string
- func TuningCollection(name string) string
- func TuningDB() string
- func TuningReqCollection() string
- type Additional
- type BlockDevice
- type ComputeStatistic
- type Dashboard
- type DataCenter
- type DataCenterUsage
- type Error
- type Event
- type EventFilter
- type EventStat
- type Expiry
- type Health
- type HealthCheck
- type Host
- type HostFilter
- type HostNetworkPacket
- type HostPercentageUsage
- type HostUsage
- type InstanceFilter
- type Integration
- type Issue
- type Label
- type License
- type LicenseNode
- type Limit
- type ListTuningOptions
- type MetricHistory
- type MetricRank
- type Module
- type NetworkInterface
- type Node
- func (n *Node) CreateSupportFileUrl(file support.File) string
- func (n *Node) DownloadSupportFileUrl(setname, filename string) string
- func (n *Node) GenAuthHeader() (string, string)
- func (n *Node) GetBearerToken() string
- func (n *Node) GetMetricUrl(metric, view string) string
- func (n *Node) GetNodeDetailsUrl() string
- func (n *Node) GetSupportFileUrl() string
- func (n *Node) GetTuningUrl() string
- func (n *Node) IsLocal() bool
- func (n *Node) MatchHardwareSerial(hardwareSerials []string) bool
- func (n *Node) PatchSettingTaskUrl(setting setting.Options) string
- func (n *Node) PatchSupportFileTaskUrl(file support.File) string
- func (n *Node) PatchTriggerTaskUrl(trigger trigger.Options) string
- func (n *Node) PatchTuningTaskUrl(tuning Tuning) string
- func (n *Node) PatchTuningUrl(tuning Tuning) string
 
- type Page
- type Period
- type Product
- type RankPoint
- type RawBlockDevice
- type RawLicense
- type RawTuningLimitation
- type RawTuningSpec
- type ReairingInfo
- type Role
- type Selector
- type Service
- type Setting
- type SpaceStatistic
- type StorageIopsSeries
- type StorageLatencySeries
- type StorageTimeSeries
- type SystemFilter
- type TimeBytesPoint
- type TimeMillisecondPoint
- type TimeOpsPoint
- type TimePacketsPoint
- type TimeUsedPercent
- type TimeValue
- type TitlePrefix
- type TrafficStatistic
- type Tuning
- func (t *Tuning) Bytes() ([]byte, error)
- func (t *Tuning) CopyAndOverrideHost(node Node) Tuning
- func (t *Tuning) GenTaskUpdate() Tuning
- func (t *Tuning) GenerateId() string
- func (t *Tuning) IncludeHost(hostname string) bool
- func (t *Tuning) IncludeHosts(hosts []string) bool
- func (t *Tuning) InitHosts(hosts []string)
- func (t *Tuning) InitOkStatus()
- func (t *Tuning) InitResetStatus()
- func (t *Tuning) InitStatus(current, desired string)
- func (t *Tuning) InitUpdateStatus()
- func (t *Tuning) JoinHosts() string
- func (t *Tuning) SearchKey() string
- func (t *Tuning) SetCompleted()
- func (t *Tuning) SetDesired(status string)
- func (t *Tuning) SetError()
- func (t *Tuning) SetNodeInfo(role, address string)
- func (t *Tuning) SetUpdated()
- func (t *Tuning) SetUpdating()
- func (t *Tuning) StrValue() string
 
- type TuningLimitation
- type TuningPolicy
- type TuningReset
- type TuningSpec
- type TuningToggle
- type TuningUpdate
- type User
- type VerificationDetails
- type VmDiskIopsUsage
- type VmMetricsUsage
- type VmNetworkTrafficUsage
- type VmPercentageUsage
- type VmUsage
Constants ¶
      View Source
      
  
    const ( Tokens = "tokens" Logout = "logout" )
      View Source
      
  
    const ( Healths = "healths" AscSort = `columns: ["_time"], desc: false` DescSort = `columns: ["_time"], desc: true` )
      View Source
      
  
    const ( Summary = "summary" Metrics = "metrics" )
      View Source
      
  
    const ( Nodes = "nodes" DataCenterHelpUrl = "https://www.bigstack.co/contact-us" )
      View Source
      
  
    const ( RoleControl = "control" RoleCompute = "compute" RoleStorage = "storage" RoleControlConverged = "control-converged" RoleModerator = "moderator" RoleEdgeCore = "edge-core" )
      View Source
      
  
    const ( ISO8601 = "2006-01-02T15:04:05" ISO8601Z = "2006-01-02T15:04:05+00:00" RFC3339 = time.RFC3339 RFC3339Z = "2006-01-02T15:04:05Z07:00" )
      View Source
      
  
    const ( Tunings = "tunings" TuningRecordTTL = 3600 )
      View Source
      
  
    const (
	ApiDoc = "api-doc"
)
    
      View Source
      
  
    const (
	DataCenters = "datacenters"
)
    
      View Source
      
  
    const (
	Events = "events"
)
    
      View Source
      
  
    const (
	Grafana = "grafana"
)
    
      View Source
      
  
    const (
	Integrations = "integrations"
)
    
      View Source
      
  
    const (
	Licenses = "licenses"
)
    
      View Source
      
  
    const (
	Me = "me"
)
    
      View Source
      
  
    const (
	NetMajorInterface = "eth0"
)
    
      View Source
      
  
    const (
	RadosGatewayPort = 8888
)
    
      View Source
      
  
    const (
	RegionAuto = "auto"
)
    
      View Source
      
  
    const (
	Services = "services"
)
    
      View Source
      
  
    const (
	Settings = "settings"
)
    
      View Source
      
  
const (
	Triggers = "triggers"
)
    Variables ¶
      View Source
      
  
    var ( DefaultKeycloakRealm = "master" DefaultIdpSamlMetadataPath = fmt.Sprintf("/auth/realms/%s/protocol/saml/descriptor", DefaultKeycloakRealm) DefaultSpSamlMetadataPath = "/saml/metadata" DefaultApiServerKey = "/var/www/certs/server.key" DefaultApiServerCert = "/var/www/certs/server.cert" DefaultIdentifierFormat = "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" DefaultOidcClientId = "token-connect" DefaultOidcClientSecret = "" DefaultOidcClientOpts = gocloak.Client{ ClientID: gocloak.StringP(DefaultOidcClientId), Protocol: gocloak.StringP("openid-connect"), PublicClient: gocloak.BoolP(false), ClientAuthenticatorType: gocloak.StringP("client-secret"), StandardFlowEnabled: gocloak.BoolP(true), DirectAccessGrantsEnabled: gocloak.BoolP(true), Attributes: &map[string]string{ "access.token.lifespan": "7200", }, } DefaultNodeToken = "" LogoutRedirectUrl = "" )
      View Source
      
  
    var ( HostID string Hostname string DataCenterName string DataCenterVersion string DataCenterNumericVersion string DataCenterVip string ListenIp string ListenAddr string ListenPort int AdvertiseIp string AdvertiseAddr string AdvertisePort int MgmtNet string MgmtIP string StorageNet string StorageIP string IsHaEnabled bool IsGpuEnabled bool )
      View Source
      
  
    var ( CurrentRole string Roles = []string{RoleControl, RoleCompute, RoleStorage, RoleControlConverged, RoleModerator, RoleEdgeCore} ControlRole = newControlRole() ComputeRole = newComputeRole() StorageRole = newStorageRole() ControlConvergedRole = newControlConvergeRole() ModeratorRole = newModeratorRole() EdgeCoreRole = newEdgeCoreRole() AllRoles = []*Role{ ControlRole, ComputeRole, StorageRole, ControlConvergedRole, ModeratorRole, EdgeCoreRole, } AllGeneralRoles = []*Role{ ControlRole, ComputeRole, StorageRole, ControlConvergedRole, } ControlRoles = []*Role{ ControlRole, ControlConvergedRole, } ComputeRoles = []*Role{ ComputeRole, ControlConvergedRole, EdgeCoreRole, } )
      View Source
      
  
    var ( Day = 24 * time.Hour LocalTimeZone = "+00:00" LocalTimeZoneSeconds = 0 LocalTimeFixedZone = time.FixedZone("", LocalTimeZoneSeconds) )
      View Source
      
  
    var (
	CreateRecordIfNotExist = options.Update().SetUpsert(true)
)
    
      View Source
      
  
    var (
	SerialNumber = ""
)
    
      View Source
      
  
var (
	V1ApiDocUrl = ""
)
    Functions ¶
func CapturePanic ¶
func CapturePanic()
func CheckTuningSpec ¶
func GenNodeToken ¶
func GetEmailRecipients ¶
func GetEmailSenders ¶
func GetLicenseSearcher ¶
func GetLicenseSearcher() bleve.Index
func GetLocalTunings ¶
func GetMacAddr ¶
func GetNodeSearcher ¶
func GetNodeSearcher() bleve.Index
func GetRadosGatewayUrl ¶
func GetRadosGatewayUrl() string
func GetRegisteredServices ¶
func GetSlackChannels ¶
func GetSystemSerial ¶
func GetTuningSearcher ¶
func GetTuningSearcher() bleve.Index
func GetTuningSpecs ¶
func HostnameNodeMap ¶
func InitLicenseSearchIndex ¶
func InitLicenseSearchIndex() error
func InitNodeSearchIndex ¶
func InitNodeSearchIndex() error
func InitTuningSearchIndex ¶
func InitTuningSearchIndex() error
func IsLocalNode ¶
func IsPageRequired ¶
func RepairCollection ¶
func RepairCollection() string
func SetLocalTuning ¶
func SetLocalTuning(tuning Tuning)
func SetTuningSpec ¶
func SetTuningSpec(name string, spec *TuningSpec)
func SettingsDB ¶
func SettingsDB() string
func SeverityFullName ¶
func SeverityShortName ¶
func ShouldIHandleTheTuning ¶
func SyncRoleNodes ¶
func SyncRoleNodes()
func TimPastRFC3339 ¶
func TimeISO8601Z ¶
func TimeLocalISO8601 ¶
func TimeLocalRFC3339 ¶
func TimeNowRFC3339 ¶
func TimeNowRFC3339() string
func TimeNowRFC3339Z ¶
func TimeNowRFC3339Z() string
func TimePastRFC3339Z ¶
func TimeRFC3339 ¶
func TimeRFC3339Z ¶
func TitlePrefixCollection ¶
func TitlePrefixCollection() string
func TuningCollection ¶
func TuningReqCollection ¶
func TuningReqCollection() string
Types ¶
type Additional ¶
type BlockDevice ¶
type ComputeStatistic ¶
type DataCenter ¶
type DataCenter struct {
	Id          string `json:"id,omitempty" bson:"id"`
	Name        string `json:"name" bson:"name"`
	Version     string `json:"version" bson:"version"`
	VirtualIp   string `json:"virtualIp" bson:"virtualIp"`
	IsLocal     bool   `json:"isLocal" bson:"isLocal"`
	IsHaEnabled bool   `json:"isHaEnabled" bson:"isHaEnabled"`
	UtcTimeZone string `json:"utcTimeZone,omitempty" bson:"utcTimeZone"`
	Additional  `json:"additional,omitempty" bson:"additional"`
}
    func (*DataCenter) SetDetailsByInitedInfo ¶
func (d *DataCenter) SetDetailsByInitedInfo()
M1 TODO: have to think about if we 1). need to add the Id of datacenter 2). if (1) is true, then what's factor to generate the Id
type DataCenterUsage ¶
type DataCenterUsage struct {
	Cpu    ComputeStatistic `json:"cpu"`
	Memory SpaceStatistic   `json:"memory"`
}
    type Event ¶
type Event struct {
	Type        string         `json:"type"`
	Severity    string         `json:"severity"`
	Id          string         `json:"id"`
	Description string         `json:"description"`
	Host        string         `json:"host"`
	Category    string         `json:"category"`
	Service     string         `json:"service"`
	Metadata    map[string]any `json:"metadata"`
	Time        string         `json:"time"`
}
    type EventFilter ¶
type EventFilter struct {
	System   SystemFilter   `json:"system"`
	Instance InstanceFilter `json:"instance"`
	Host     HostFilter     `json:"host"`
}
    type HealthCheck ¶
type HealthCheck struct {
	Time   string `json:"time"`
	Status string `json:"status"`
	*Error `json:"error,omitempty"`
}
    func (*HealthCheck) IsNg ¶
func (h *HealthCheck) IsNg() bool
type Host ¶
type HostFilter ¶
type HostNetworkPacket ¶
type HostNetworkPacket struct {
	Id      string             `json:"id"`
	Name    string             `json:"name"`
	Packets float64            `json:"packets"`
	History []TimePacketsPoint `json:"history"`
}
    type HostPercentageUsage ¶
type HostPercentageUsage struct {
	Id          string            `json:"id"`
	Name        string            `json:"name"`
	UsedPercent float64           `json:"usedPercent"`
	History     []TimeUsedPercent `json:"history"`
}
    type HostUsage ¶
type HostUsage struct {
	Cpu    ComputeStatistic `json:"cpu"`
	Memory SpaceStatistic   `json:"memory"`
}
    type InstanceFilter ¶
type Integration ¶
type License ¶
type License struct {
	Name        string   `json:"name" yaml:"name" bson:"name"`
	Type        string   `json:"type" yaml:"type" bson:"type"`
	Hostname    string   `json:"hostname,omitzero" yaml:"hostname" bson:"hostname"`
	Hosts       []string `json:"hosts,omitempty" yaml:"hosts" bson:"hosts"`
	Serial      string   `json:"serial,omitzero" yaml:"serial" bson:"serial"`
	Product     `json:"product" yaml:"product" bson:"product"`
	Issue       `json:"issue" yaml:"issue" bson:"issue"`
	Quantity    string `json:"quantity" yaml:"quantity" bson:"quantity"`
	SupportPlan string `json:"supportPlan" yaml:"supportPlan" bson:"supportPlan"`
	Expiry      `json:"expiry" yaml:"expiry" bson:"expiry"`
	Status      status.License `json:"status" yaml:"status" bson:"status"`
}
    type LicenseNode ¶
type ListTuningOptions ¶
type ListTuningOptions struct {
	AllNodes bool
}
    type MetricHistory ¶
type MetricRank ¶
type Module ¶
type Module struct {
	Name         string         `json:"name" bson:"name"`
	Status       *status.Health `json:"status,omitempty" bson:"status,omitempty"`
	IsRepairable bool           `json:"-" bson:"isRepairable"`
	Description  string         `json:"description,omitempty" bson:"description"`
}
    func (*Module) InitOkStatus ¶
func (m *Module) InitOkStatus()
func (*Module) SetRepairingStatus ¶
func (m *Module) SetRepairingStatus()
func (*Module) SetUnhealthyStatus ¶
func (m *Module) SetUnhealthyStatus()
type NetworkInterface ¶
type NetworkInterface struct {
	Label       string `json:"label" yaml:"label" bson:"label"`
	BusIdSlaves string `json:"busIdSlaves" yaml:"busIdSlaves" bson:"busIdSlaves"`
	Driver      string `json:"driver" yaml:"driver" bson:"driver"`
	State       string `json:"state" yaml:"state" bson:"state"`
	Speed       string `json:"speed" yaml:"speed" bson:"speed"`
}
    type Node ¶
type Node struct {
	Id                string `json:"id" yaml:"id"`
	SerialNumber      string `json:"serialNumber" yaml:"serialNumber"`
	DataCenter        string `json:"dataCenter" yaml:"dataCenter"`
	Hostname          string `json:"hostname" yaml:"hostname"`
	Role              string `json:"role" yaml:"role"`
	Protocol          string `json:"protocol,omitempty" yaml:"protocol,omitempty" bson:"protocol,omitempty"`
	Address           string `json:"address" yaml:"address"`
	Ip                string `json:"ip" yaml:"ip"`
	ManagementIP      string `json:"managementIP" yaml:"managementIP"`
	StorageIP         string `json:"storageIP" yaml:"storageIP"`
	License           `json:"license" yaml:"license,omitempty" bson:"license,omitempty"`
	Status            string             `json:"status" yaml:"status"`
	CpuSpec           string             `json:"cpuSpec" yaml:"cpuSpec" bson:"cpuSpec"`
	NetworkInterfaces []NetworkInterface `json:"networkInterfaces" yaml:"networkInterfaces" bson:"networkInterfaces"`
	BlockDevices      []BlockDevice      `json:"blockDevices" yaml:"blockDevices" bson:"blockDevices"`
	Vcpu              ComputeStatistic   `json:"vcpu" yaml:"vcpu" bson:"vcpu"`
	Memory            SpaceStatistic     `json:"memory" yaml:"memory" bson:"memory"`
	Storage           SpaceStatistic     `json:"storage" yaml:"storage" bson:"storage"`
	UptimeSeconds     float64            `json:"uptimeSeconds" yaml:"uptimeSeconds" bson:"uptimeSeconds"`
	Token             string             `json:"-" yaml:"-" bson:"-"`
	Labels            map[string]string  `json:"labels,omitempty" yaml:"labels,omitempty" bson:"labels,omitempty"`
}
    func GetControllerNodes ¶
func GetNodeByHostname ¶
func GetNodesByRole ¶
func GetOneOfControllerNode ¶
func (*Node) DownloadSupportFileUrl ¶
func (*Node) GenAuthHeader ¶
func (*Node) GetBearerToken ¶
func (*Node) GetMetricUrl ¶
func (*Node) GetNodeDetailsUrl ¶
func (*Node) GetSupportFileUrl ¶
func (*Node) GetTuningUrl ¶
func (*Node) MatchHardwareSerial ¶
func (*Node) PatchSettingTaskUrl ¶
func (*Node) PatchSupportFileTaskUrl ¶
func (*Node) PatchTriggerTaskUrl ¶
func (*Node) PatchTuningTaskUrl ¶
func (*Node) PatchTuningUrl ¶
type Page ¶
type Page struct {
	Total          int64 `json:"total"`
	Number         int   `json:"number"`
	Size           int   `json:"size"`
	TotalItemCount int64 `json:"totalItemCount"`
}
    func (Page) IsRequired ¶
type RawBlockDevice ¶
type RawBlockDevice struct {
	Serial      string   `json:"serial"`
	Name        string   `json:"name"`
	Size        string   `json:"size"`
	Rota        bool     `json:"rota"`
	MountPoints []string `json:"mountpoints"`
}
    func (*RawBlockDevice) IsMainBlockDevice ¶
func (r *RawBlockDevice) IsMainBlockDevice() bool
type RawLicense ¶
type RawLicense struct {
	Name     string `json:"name" yaml:"name" bson:"name"`
	Type     string `json:"type" yaml:"type" bson:"type"`
	Hostname string `json:"hostname" yaml:"hostname" bson:"hostname"`
	Product  string `json:"product" yaml:"product" bson:"product"`
	Feature  string `json:"feature" yaml:"feature" bson:"feature"`
	Quantity string `json:"quantity" yaml:"quantity" bson:"quantity"`
	SLA      string `json:"sla" yaml:"sla" bson:"sla"`
	Serial   string `json:"serial" yaml:"serial" bson:"serial"`
	Check    int    `json:"check" yaml:"check" bson:"check"`
	IssueBy  string `json:"issueby" yaml:"issueby" bson:"issueby"`
	IssueTo  string `json:"issueto" yaml:"issueto" bson:"issueto"`
	Hardware string `json:"hardware" yaml:"hardware" bson:"hardware"`
	Expiry   string `json:"expiry" yaml:"expiry" bson:"expiry"`
	Date     string `json:"date" yaml:"date" bson:"date"`
	Days     int    `json:"days" yaml:"days" bson:"days"`
}
    type RawTuningLimitation ¶
type RawTuningSpec ¶
type RawTuningSpec struct {
	Name        string              `json:"name"`
	Description string              `json:"description"`
	Limitation  RawTuningLimitation `json:"limitation"`
}
    type ReairingInfo ¶
type Role ¶
type Role struct {
	Name  string `json:"name" bson:"name"`
	Hosts []Host `json:"hosts" bson:"hosts"`
	Nodes []Node `json:"-"`
}
    func GetComputeRole ¶
func GetComputeRole() *Role
func GetControlConvergeRole ¶
func GetControlConvergeRole() *Role
func GetControlRole ¶
func GetControlRole() *Role
func GetControlRoles ¶
func GetControlRoles() []*Role
func GetEdgeCoreRole ¶
func GetEdgeCoreRole() *Role
func GetModeratorRole ¶
func GetModeratorRole() *Role
func GetRolesToHandleTuning ¶
func GetStorageRole ¶
func GetStorageRole() *Role
func (*Role) IsNodeEmpty ¶
type Service ¶
type Service struct {
	Name               string         `json:"name" bson:"name"`
	Category           string         `json:"category" bson:"category"`
	Status             *status.Health `json:"status,omitempty" bson:"status,omitempty"`
	Modules            []Module       `json:"modules" bson:"modules"`
	IsInternalViewOnly bool           `json:"-" bson:"isInternalViewOnly"`
}
    func (*Service) ConvergeUnhealthyStatus ¶
func (*Service) CopyModuleEmptyStruct ¶
func (*Service) InitOkStatus ¶
func (s *Service) InitOkStatus()
func (*Service) IsStatusOk ¶
func (*Service) SetRepairingStatus ¶
func (s *Service) SetRepairingStatus(repairingInfo ReairingInfo)
type SpaceStatistic ¶
type StorageIopsSeries ¶
type StorageIopsSeries struct {
	Unit  string         `json:"unit"`
	Read  []TimeOpsPoint `json:"read"`
	Write []TimeOpsPoint `json:"write"`
}
    type StorageLatencySeries ¶
type StorageLatencySeries struct {
	Read  []TimeMillisecondPoint `json:"read"`
	Write []TimeMillisecondPoint `json:"write"`
}
    type StorageTimeSeries ¶
type SystemFilter ¶
type TimeBytesPoint ¶
type TimeMillisecondPoint ¶
type TimeOpsPoint ¶
type TimePacketsPoint ¶
type TimeUsedPercent ¶
type TitlePrefix ¶
type TitlePrefix struct {
	Value string `json:"value" bson:"value"`
}
    type TrafficStatistic ¶
type Tuning ¶
type Tuning struct {
	Id          string           `json:"id,omitempty" yaml:"-" bson:"id"`
	Name        string           `json:"name" yaml:"name" bson:"name"`
	Value       any              `json:"value" yaml:"value" bson:"value"`
	Description string           `json:"description" yaml:"-" bson:"-"`
	Enabled     bool             `json:"enabled" yaml:"enabled" bson:"enabled"`
	IsModified  bool             `json:"isModified" yaml:"-" bson:"-"`
	Limitation  TuningLimitation `json:"limitation" yaml:"-" bson:"-"`
	*Node  `json:"node,omitempty" yaml:"-" bson:"-"`
	Hosts  []Host         `json:"hosts" yaml:"-" bson:"-"`
	Roles  []Role         `json:"roles,omitempty" yaml:"-" bson:"-"`
	Status *status.Tuning `json:"status,omitempty" yaml:"-" bson:"status,omitempty"`
}
    func GetLocalTuning ¶
func ListLocalTunings ¶
func ListLocalTunings() []Tuning
func (*Tuning) CopyAndOverrideHost ¶
func (*Tuning) GenTaskUpdate ¶
func (*Tuning) GenerateId ¶
func (*Tuning) IncludeHost ¶
func (*Tuning) IncludeHosts ¶
func (*Tuning) InitOkStatus ¶
func (t *Tuning) InitOkStatus()
func (*Tuning) InitResetStatus ¶
func (t *Tuning) InitResetStatus()
func (*Tuning) InitStatus ¶
func (*Tuning) InitUpdateStatus ¶
func (t *Tuning) InitUpdateStatus()
func (*Tuning) SetCompleted ¶
func (t *Tuning) SetCompleted()
func (*Tuning) SetDesired ¶
func (*Tuning) SetNodeInfo ¶
func (*Tuning) SetUpdated ¶
func (t *Tuning) SetUpdated()
func (*Tuning) SetUpdating ¶
func (t *Tuning) SetUpdating()
type TuningLimitation ¶
type TuningPolicy ¶
type TuningPolicy struct {
	Name    string   `json:"name" yaml:"name"`
	Version string   `json:"version" yaml:"version"`
	Enabled bool     `json:"enabled" yaml:"enabled"`
	Tunings []Tuning `json:"tunings" yaml:"tunings"`
}
    func (*TuningPolicy) AppendTuning ¶
func (t *TuningPolicy) AppendTuning(tuning Tuning)
func (*TuningPolicy) AppendTunings ¶
func (t *TuningPolicy) AppendTunings(tunings []Tuning)
func (*TuningPolicy) DeleteTuning ¶
func (t *TuningPolicy) DeleteTuning(name string)
func (*TuningPolicy) HasMatchedTuning ¶
func (t *TuningPolicy) HasMatchedTuning(tuning Tuning) bool
func (*TuningPolicy) UpdateOrAppendTuning ¶
func (t *TuningPolicy) UpdateOrAppendTuning(tuning Tuning)
type TuningReset ¶
type TuningReset struct {
	Hosts []string `json:"hosts"`
}
    type TuningSpec ¶
type TuningSpec struct {
	Name        string           `json:"name"`
	Description string           `json:"description"`
	Limitation  TuningLimitation `json:"limitation"`
	Roles       []*Role          `json:"roles"`
	Selector    `json:"-"`
}
    func GetTuningSpec ¶
func GetTuningSpec(name string) (*TuningSpec, error)
func ListTuningSpecs ¶
func ListTuningSpecs() []TuningSpec
func (*TuningSpec) IsInLimitedRange ¶
func (t *TuningSpec) IsInLimitedRange(value int) bool
type TuningToggle ¶
type TuningUpdate ¶
type VerificationDetails ¶
type VerificationDetails struct {
	License     `json:"license" yaml:"license" bson:"license"`
	EffectNodes []LicenseNode `json:"effectNodes" yaml:"effectNodes" bson:"effectNodes"`
}
    type VmDiskIopsUsage ¶
type VmDiskIopsUsage struct {
	Id      string         `json:"id"`
	Name    string         `json:"name"`
	Device  string         `json:"device,omitempty"`
	Ops     float64        `json:"ops"`
	History []TimeOpsPoint `json:"history"`
}
    type VmMetricsUsage ¶
type VmMetricsUsage struct {
	Id          string            `json:"id"`
	Name        string            `json:"name"`
	Device      string            `json:"device,omitempty"`
	UsedPercent float64           `json:"usedPercent"`
	History     []TimeUsedPercent `json:"history"`
}
    type VmNetworkTrafficUsage ¶
type VmNetworkTrafficUsage struct {
	Id      string             `json:"id"`
	Name    string             `json:"name"`
	Device  string             `json:"device,omitempty"`
	Packets float64            `json:"packets"`
	History []TimePacketsPoint `json:"history"`
}
    type VmPercentageUsage ¶
type VmPercentageUsage struct {
	Id          string            `json:"id"`
	Name        string            `json:"name"`
	UsedPercent float64           `json:"usedPercent"`
	History     []TimeUsedPercent `json:"history"`
}
    type VmUsage ¶
type VmUsage struct {
	Vcpu    ComputeStatistic `json:"vcpu"`
	Memory  SpaceStatistic   `json:"memory"`
	Storage SpaceStatistic   `json:"storage"`
}
    
       Source Files
      ¶
      Source Files
      ¶
    
   Click to show internal directories. 
   Click to hide internal directories.