Documentation
¶
Index ¶
- Constants
- Variables
- func AcquireTuningLock() error
- func ApplyTuning(isolatedDir string) error
- func ApplyTunings(tunings []definition.Tuning) error
- func CheckServiceHealth(service definition.Service) error
- func CountEvents(stmt string) (int64, error)
- func CreateToken(user *definition.User) (*gocloak.JWT, error)
- func GeDiskLatencyHistoryOfHosts(readStmt, writeStmt string) (*definition.StorageTimeSeries, error)
- func GetControllerVirtualIp(mgmtNet string) (string, error)
- func GetCpuAverageOfHosts(cpuStats []definition.ComputeStatistic) definition.ComputeStatistic
- func GetCpuHistoryOfHost(stmt string) ([]definition.TimeValue, error)
- func GetCpuHistoryOfVm(entityId string, period definition.Period) ([]definition.TimeValue, error)
- func GetCpuSummaryOfHost(hostname string) (*definition.ComputeStatistic, error)
- func GetCpuSummaryOfHosts(stmt string) (*definition.ComputeStatistic, error)
- func GetCpuUsageRankOfHosts(stmt string) (*definition.MetricRank, error)
- func GetCpuUsageRankOfVms(stmt string) (*definition.MetricRank, error)
- func GetDataCenterName() (string, error)
- func GetDataCenterVersion() (string, error)
- func GetDiskIopsHistoryOfHosts(readStmt, writeStmt string) (*definition.StorageTimeSeries, error)
- func GetDiskReadIopsHistoryOfVm(entityId, device string) ([]definition.TimeValue, error)
- func GetDiskReadIopsRankOfVms(stmt string) (*definition.MetricRank, error)
- func GetDiskStorageBandwidthHistory(readStmt, writeStmt string) (*definition.StorageTimeSeries, error)
- func GetDiskUsageHistoryOfHost(entityId string, period definition.Period) ([]definition.TimeValue, error)
- func GetDiskUsageRankOfHosts(stmt string) (*definition.MetricRank, error)
- func GetDiskWriteIopsHistoryOfVm(entityId, device string) ([]definition.TimeValue, error)
- func GetDiskWriteIopsRankOfVms(stmt string) (*definition.MetricRank, error)
- func GetEventFilterConditions(stmt string) ([]string, error)
- func GetEventRank(stmt string) ([]definition.EventStat, error)
- func GetEvents(stmt string) ([]definition.Event, error)
- func GetHostUsage(node *definition.Node) (*definition.HostUsage, error)
- func GetManagementIp(mgmtNet string) (string, error)
- func GetMemoryAverageOfHosts(spaceStats []definition.SpaceStatistic) definition.SpaceStatistic
- func GetMemoryHistoryOfHost(entityId string, period definition.Period) ([]definition.TimeValue, error)
- func GetMemoryHistoryOfVm(entityId string, period definition.Period) ([]definition.TimeValue, error)
- func GetMemoryUsageRankOfHosts(stmt string) (*definition.MetricRank, error)
- func GetMemoryUsageRankOfVms(stmt string) (*definition.MetricRank, error)
- func GetMemoryUsageSummaryOfHost(hostname string) (*definition.SpaceStatistic, error)
- func GetMemoryUsageSummaryOfHosts() (*definition.SpaceStatistic, error)
- func GetMgmtNet() (string, error)
- func GetNetworkTrafficInHistoryOfHost(entityId string, period definition.Period) ([]definition.TimeValue, error)
- func GetNetworkTrafficInHistoryOfVm(entityId, device string) ([]definition.TimeValue, error)
- func GetNetworkTrafficInRankOfHosts() (*definition.MetricRank, error)
- func GetNetworkTrafficInRankOfVms(stmt string) (*definition.MetricRank, error)
- func GetNetworkTrafficOutHistoryOfHost(entityId string, period definition.Period) ([]definition.TimeValue, error)
- func GetNetworkTrafficOutHistoryOfVm(entityId, device string) ([]definition.TimeValue, error)
- func GetNetworkTrafficOutRankOfHosts() (*definition.MetricRank, error)
- func GetNetworkTrafficOutRankOfVms(stmt string) (*definition.MetricRank, error)
- func GetNodeRole() (string, error)
- func GetTuning(name string) (*definition.Tuning, error)
- func GetTuningPolicy(filePath string) (*definition.TuningPolicy, error)
- func GetTuningValue(name string) (string, error)
- func GetUnhealthyServices() ([]definition.Service, error)
- func GetVmUsage() (*definition.VmUsage, error)
- func ImportClusterLicense(licensePath string) error
- func ImportNodeLicense(licensePath string) error
- func IsClusterSetReady() bool
- func IsEntityTypeValid(t string) bool
- func IsEventTypeValid(t string) bool
- func IsExpectedEmptyStdOut(err error) bool
- func IsGpuEnabled() bool
- func IsHaEnabled() (bool, error)
- func IsLocalDataCenter(dataCenter string) bool
- func IsMetricReportTypeValid(t string) bool
- func IsMetricTypeValid(t string) bool
- func IsModuleHealthy(moduleName string) bool
- func IsRepairable() bool
- func IsRepairing() bool
- func IsTuningApplied(tuning definition.Tuning) error
- func IsTuningDeleted(tuning definition.Tuning) bool
- func IsValidService(service string) bool
- func IsValidServiceAndModule(service, module string) bool
- func ListBuiltInIntegrations() []definition.Integration
- func ListHypervisors() ([]hypervisors.Hypervisor, error)
- func ListLicenses() ([]definition.License, error)
- func ListNodes() ([]*definition.Node, error)
- func ListTunings(opts definition.ListTuningOptions) ([]definition.Tuning, error)
- func ListTuningsFromOtherNodes() (map[string][]definition.Tuning, error)
- func ReadSettingSys(settingName string) (string, error)
- func ReleaseTuningLock() error
- func RepairModule(moduleName string) error
- func RepairServiceHealth(service definition.Service) error
- func SyncTunings()
- type DataCenterSummary
- type Error
- type Health
- type HealthCheck
- type HealthStatus
- type HostSummary
- type HostUsage
- type Overall
- type Role
- type Summary
- type VmStatus
- type VmSummary
Constants ¶
View Source
const ( TuningPolicyFile = "/etc/policies/tuning/tuning1_0.yml" // private tunings CubeSysHa = "cubesys.ha" CubeSysController = "cubesys.controller" CubeSysControllerVip = "cubesys.control.vip" CubeSysManagementNetwork = "cubesys.management" CubeNetIfAddrPrefix = "net.if.addr." NetIfAddrEth0 = "net.if.addr.eth0" // public tunings BarbicanDebugEnabled = "barbican.debug.enabled" CephDebugEnabled = "ceph.debug.enabled" CephMirrorMetaSync = "ceph.mirror.meta.sync" CinderBackupAccount = "cinder.backup.account" CinderBackupEndpoint = "cinder.backup.endpoint" CinderBackupOverride = "cinder.backup.override" CinderBackupPool = "cinder.backup.pool" CinderBackupSecret = "cinder.backup.secret" CinderBackupType = "cinder.backup.type" CinderDebugEnabled = "cinder.debug.enabled" CinderExternalAccount = "cinder.external.%d.account" CinderExternalDriver = "cinder.external.%d.driver" CinderExternalEndpoint = "cinder.external.%d.endpoint" CinderExternalName = "cinder.external.%d.name" CinderExternalPool = "cinder.external.%d.pool" CinderExternalSecret = "cinder.external.%d.secret" CubesysAlertLevel = "cubesys.alert.level" CubesysAlertLevelS = "cubesys.alert.level.%s" CubesysConntableMax = "cubesys.conntable.max" CubesysLogDefaultRetention = "cubesys.log.default.retention" CubesysProviderExtra = "cubesys.provider.extra" CyborgDebugEnabled = "cyborg.debug.enabled" DebugEnableCoreDumpS = "debug.enable_core_dump.%s" DebugEnableKdump = "debug.enable_kdump" DebugLevelS = "debug.level.%s" DebugMaxCoreDump = "debug.max_core_dump" DesignateDebugEnabled = "designate.debug.enabled" GlanceDebugEnabled = "glance.debug.enabled" GlanceExportRp = "glance.export.rp" HeatDebugEnabled = "heat.debug.enabled" InfluxdbCuratorRp = "influxdb.curator.rp" IronicDebugEnabled = "ironic.debug.enabled" IronicDeployServer = "ironic.deploy.server" KapacitorAlertCheckEnabled = "kapacitor.alert.check.enabled" KapacitorAlertCheckEventId = "kapacitor.alert.check.eventid" KapacitorAlertCheckInterval = "kapacitor.alert.check.interval" KapacitorAlertExtraPrefix = "kapacitor.alert.extra.prefix" KapacitorAlertFlowBase = "kapacitor.alert.flow.base" KapacitorAlertFlowThreshold = "kapacitor.alert.flow.threshold" KapacitorAlertFlowUnit = "kapacitor.alert.flow.unit" KeystoneDebugEnabled = "keystone.debug.enabled" ManilaDebugEnabled = "manila.debug.enabled" ManilaVolumeType = "manila.volume.type" MasakariHostEvacuateAll = "masakari.host.evacuate_all" MasakariWaitPeriod = "masakari.wait.period" MonascaDebugEnabled = "monasca.debug.enabled" MysqlBackupCuratorRp = "mysql.backup.curator.rp" NetIfMtuName = "net.if.mtu.<name>" NetLacpDefaultRate = "net.lacp.default.rate" NetLacpDefaultXmit = "net.lacp.default.xmit" NeutronDebugEnabled = "neutron.debug.enabled" NovaControlHostMemory = "nova.control.host.memory" NovaControlHostVcpu = "nova.control.host.vcpu" NovaDebugEnabled = "nova.debug.enabled" NovaGpuType = "nova.gpu.type" NovaOvercommitCpuRatio = "nova.overcommit.cpu.ratio" NovaOvercommitDiskRatio = "nova.overcommit.disk.ratio" NovaOvercommitRamRatio = "nova.overcommit.ram.ratio" NtpDebugEnabled = "ntp.debug.enabled" OctaviaDebugEnabled = "octavia.debug.enabled" OctaviaHa = "octavia.ha" OpensearchCuratorRp = "opensearch.curator.rp" OpensearchHeapSize = "opensearch.heap.size" SenlinDebugEnabled = "senlin.debug.enabled" SkylineDebugEnabled = "skyline.debug.enabled" SnapshotApplyAction = "snapshot.apply.action" SnapshotApplyPolicyIgnore = "snapshot.apply.policy.ignore" SshdBindToAllInterfaces = "sshd.bind_to_all_interfaces" SshdSessionInactivity = "sshd.session.inactivity" TimeTimezone = "time.timezone" UpdateSecurityAutoUpdate = "update.security.autoupdate" WatcherDebugEnabled = "watcher.debug.enabled" // setting sys SysProductDescription = "sys.product.description" SysProductVersion = "sys.product.version" )
Variables ¶
View Source
var ( OrderSensitiveServices = []definition.Service{ { Name: "clusterLink", Category: "core", Modules: []definition.Module{ {Name: "link", IsAutoRepairable: false}, {Name: "clock", IsAutoRepairable: true}, {Name: "dns", IsAutoRepairable: false}, }, }, { Name: "clusterSys", Category: "core", Modules: []definition.Module{ {Name: "bootstrap", IsAutoRepairable: false}, {Name: "license", IsAutoRepairable: false}, }, }, { Name: "clusterSettings", Category: "core", Modules: []definition.Module{ {Name: "etcd", IsAutoRepairable: true}, {Name: "nodelist", IsAutoRepairable: false}, }, }, { Name: "haCluster", Category: "core", Modules: []definition.Module{ {Name: "hacluster", IsAutoRepairable: true}, }, }, { Name: "msgQueue", Category: "core", Modules: []definition.Module{ {Name: "rabbitmq", IsAutoRepairable: true}, }, }, { Name: "iaasDb", Category: "core", Modules: []definition.Module{ {Name: "mysql", IsAutoRepairable: true}, {Name: "mongodb", IsAutoRepairable: true}, }, }, { Name: "virtualIp", Category: "core", Modules: []definition.Module{ {Name: "vip", IsAutoRepairable: true}, {Name: "haproxy_ha", IsAutoRepairable: true}, }, }, { Name: "storage", Category: "storage", Modules: []definition.Module{ {Name: "ceph", IsAutoRepairable: false}, {Name: "ceph_mon", IsAutoRepairable: true}, {Name: "ceph_mgr", IsAutoRepairable: true}, {Name: "ceph_mds", IsAutoRepairable: true}, {Name: "ceph_osd", IsAutoRepairable: true}, {Name: "ceph_rgw", IsAutoRepairable: true}, {Name: "rbd_target", IsAutoRepairable: false}, }, }, { Name: "apiService", Category: "core", Modules: []definition.Module{ {Name: "haproxy", IsAutoRepairable: true}, {Name: "httpd", IsAutoRepairable: true}, {Name: "skyline", IsAutoRepairable: true}, {Name: "lmi", IsAutoRepairable: true}, {Name: "memcache", IsAutoRepairable: true}, }, }, { Name: "singleSignOn", Category: "core", Modules: []definition.Module{ {Name: "k3s", IsAutoRepairable: true}, {Name: "keycloak", IsAutoRepairable: true}, }, }, { Name: "network", Category: "cloud computing", Modules: []definition.Module{ {Name: "neutron", IsAutoRepairable: true}, }, }, { Name: "compute", Category: "cloud computing", Modules: []definition.Module{ {Name: "nova", IsAutoRepairable: true}, {Name: "cyborg", IsAutoRepairable: true}, }, }, { Name: "bareMetal", Category: "cloud computing", Modules: []definition.Module{ {Name: "ironic", IsAutoRepairable: true}, }, }, { Name: "image", Category: "cloud computing", Modules: []definition.Module{ {Name: "glance", IsAutoRepairable: true}, }, }, { Name: "blockStor", Category: "cloud computing", Modules: []definition.Module{ {Name: "cinder", IsAutoRepairable: true}, }, }, { Name: "fileStor", Category: "cloud computing", Modules: []definition.Module{ {Name: "manila", IsAutoRepairable: true}, }, }, { Name: "objectStor", Category: "cloud computing", Modules: []definition.Module{ {Name: "swift", IsAutoRepairable: false}, }, }, { Name: "orchestration", Category: "cloud computing", Modules: []definition.Module{ {Name: "heat", IsAutoRepairable: true}, }, }, { Name: "lbaas", Category: "cloud computing", Modules: []definition.Module{ {Name: "octavia", IsAutoRepairable: true}, }, }, { Name: "dnsaas", Category: "cloud computing", Modules: []definition.Module{ {Name: "designate", IsAutoRepairable: true}, }, }, { Name: "k8saas", Category: "cloud computing", Modules: []definition.Module{ {Name: "rancher", IsAutoRepairable: false}, }, }, { Name: "instanceHa", Category: "cloud computing", Modules: []definition.Module{ {Name: "masakari", IsAutoRepairable: true}, }, }, { Name: "businessLogic", Category: "cloud computing", Modules: []definition.Module{ {Name: "senlin", IsAutoRepairable: true}, {Name: "watcher", IsAutoRepairable: true}, }, }, { Name: "dataPipe", Category: "infrascope", Modules: []definition.Module{ {Name: "zookeeper", IsAutoRepairable: true}, {Name: "kafka", IsAutoRepairable: true}, }, }, { Name: "metrics", Category: "infrascope", Modules: []definition.Module{ {Name: "monasca", IsAutoRepairable: true}, {Name: "telegraf", IsAutoRepairable: true}, {Name: "grafana", IsAutoRepairable: true}, }, }, { Name: "logAnalytics", Category: "infrascope", Modules: []definition.Module{ {Name: "filebeat", IsAutoRepairable: true}, {Name: "auditbeat", IsAutoRepairable: true}, {Name: "logstash", IsAutoRepairable: true}, {Name: "opensearch", IsAutoRepairable: true}, {Name: "opensearch-dashboards", IsAutoRepairable: true}, }, }, { Name: "notifications", Category: "infrascope", Modules: []definition.Module{ {Name: "influxdb", IsAutoRepairable: true}, {Name: "kapacitor", IsAutoRepairable: true}, }, }, { Name: "node", IsInternalViewOnly: true, Modules: []definition.Module{ {Name: "node", IsAutoRepairable: false}, }, }, } Modules = map[string]definition.Module{} ModuleToService = map[string]string{} ServiceToCategory = map[string]string{} ServiceToModules = map[string][]definition.Module{} )
View Source
var ( BarbicanDebugEnabledSpec = &definition.TuningSpec{ Name: BarbicanDebugEnabled, Description: "Set to true to enable barbican verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllGeneralRoles, } CephDebugEnabledSpec = &definition.TuningSpec{ Name: CephDebugEnabled, Description: "Set to true to enable ceph debug logs.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllGeneralRoles, } CephMirrorMetaSyncSpec = &definition.TuningSpec{ Name: CephMirrorMetaSync, Description: "Set to true to enable automatically volume metadata sync.", Limitation: definition.TuningLimitation{ Type: "bool", Default: true, }, Roles: definition.ControlRoles, } CinderBackupAccountSpec = &definition.TuningSpec{ Name: CinderBackupAccount, Description: "Set cinder backup storage account.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllGeneralRoles, } CinderBackupEndpointSpec = &definition.TuningSpec{ Name: CinderBackupEndpoint, Description: "Set cinder backup storage endpoint.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CinderBackupOverrideSpec = &definition.TuningSpec{ Name: CinderBackupOverride, Description: "Enable override cinder backup configurations.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } CinderBackupPoolSpec = &definition.TuningSpec{ Name: CinderBackupPool, Description: "Set cinder backup storage pool.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CinderBackupSecretSpec = &definition.TuningSpec{ Name: CinderBackupSecret, Description: "Set cinder backup storage account secret.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CinderBackupTypeSpec = &definition.TuningSpec{ Name: CinderBackupType, Description: "Set cinder backup storage type <cube-storage|cube-swift>.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CinderDebugEnabledSpec = &definition.TuningSpec{ Name: CinderDebugEnabled, Description: "Set to true to enable cinder verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } CinderExternalAccountSpec = &definition.TuningSpec{ Name: CinderExternalAccount, Description: "Set cinder external storage account.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CinderExternalDriverSpec = &definition.TuningSpec{ Name: CinderExternalDriver, Description: "Set cinder external storage type name <cube|purestorage>.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CinderExternalEndpointSpec = &definition.TuningSpec{ Name: CinderExternalEndpoint, Description: "Set cinder external storage endpoint.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CinderExternalNameSpec = &definition.TuningSpec{ Name: CinderExternalName, Description: "Set cinder external storage rule name.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CinderExternalPoolSpec = &definition.TuningSpec{ Name: CinderExternalPool, Description: "Set cinder external storage pool.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CinderExternalSecretSpec = &definition.TuningSpec{ Name: CinderExternalSecret, Description: "Set cinder external storage account secret.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CubesysAlertLevelSpec = &definition.TuningSpec{ Name: CubesysAlertLevel, Description: "Set health alert sensible level. (0: default, 1: highly sensitive)", Limitation: definition.TuningLimitation{ Type: "int", Default: 0, Min: 0, Max: 2147483647, }, Roles: definition.AllRoles, } CubesysAlertLevelSSpec = &definition.TuningSpec{ Name: CubesysAlertLevelS, Description: "Set health alert sensible level for service %s. (0: default, 1: highly sensitive)", Limitation: definition.TuningLimitation{ Type: "int", Default: 0, Min: 0, Max: 2147483647, }, Roles: definition.AllRoles, } CubesysConntableMaxSpec = &definition.TuningSpec{ Name: CubesysConntableMax, Description: "Set max connection table size.", Limitation: definition.TuningLimitation{ Type: "int", Default: 262144, Min: 0, Max: 2147483647, }, Roles: definition.AllRoles, } CubesysLogDefaultRetentionSpec = &definition.TuningSpec{ Name: CubesysLogDefaultRetention, Description: "Set log file retention policy in days.", Limitation: definition.TuningLimitation{ Type: "int", Default: 14, Min: 0, Max: 365, }, Roles: definition.AllRoles, } CubesysProviderExtraSpec = &definition.TuningSpec{ Name: CubesysProviderExtra, Description: "Set extra provider interfaces ('pvd-' prefix and <= 15 chars) [IF.2:pvd-xxx,eth2:pvd-yyy,...].", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.AllRoles, } CyborgDebugEnabledSpec = &definition.TuningSpec{ Name: CyborgDebugEnabled, Description: "Set to true to enable cyborg verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } DebugEnableCoreDumpSSpec = &definition.TuningSpec{ Name: DebugEnableCoreDumpS, Description: "Enable core dump for process %s", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } DebugEnableKdumpSpec = &definition.TuningSpec{ Name: DebugEnableKdump, Description: "Enable kdump to collect dump from kernel panic", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } DebugLevelSSpec = &definition.TuningSpec{ Name: DebugLevelS, Description: "Set debug level for process %s", Limitation: definition.TuningLimitation{ Type: "int", Default: 0, Min: 0, Max: 9, }, Roles: definition.AllRoles, } DebugMaxCoreDumpSpec = &definition.TuningSpec{ Name: DebugMaxCoreDump, Description: "Set the total number of core files before oldest are removed", Limitation: definition.TuningLimitation{ Type: "int", Default: 0, Min: 0, Max: 999, }, Roles: definition.AllRoles, } DesignateDebugEnabledSpec = &definition.TuningSpec{ Name: DesignateDebugEnabled, Description: "Set to true to enable designate verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.ControlRoles, } GlanceDebugEnabledSpec = &definition.TuningSpec{ Name: GlanceDebugEnabled, Description: "Set to true to enable glance verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } GlanceExportRpSpec = &definition.TuningSpec{ Name: GlanceExportRp, Description: "glance export retention policy in copies.", Limitation: definition.TuningLimitation{ Type: "int", Default: 3, Min: 0, Max: 255, }, Roles: definition.AllRoles, } HeatDebugEnabledSpec = &definition.TuningSpec{ Name: HeatDebugEnabled, Description: "Set to true to enable heat verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } InfluxdbCuratorRpSpec = &definition.TuningSpec{ Name: InfluxdbCuratorRp, Description: "influxdb curator retention policy in days.", Limitation: definition.TuningLimitation{ Type: "int", Default: 7, Min: 0, Max: 365, }, Roles: definition.AllRoles, } IronicDebugEnabledSpec = &definition.TuningSpec{ Name: IronicDebugEnabled, Description: "Set to true to enable ironic verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllGeneralRoles, } IronicDeployServerSpec = &definition.TuningSpec{ Name: IronicDeployServer, Description: "Set to true to enable ironic deploy server (dhcp/tftp/pxe/http).", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllGeneralRoles, } KapacitorAlertCheckEnabledSpec = &definition.TuningSpec{ Name: KapacitorAlertCheckEnabled, Description: "Set true to enable kapacitor alert check.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.ControlRoles, } KapacitorAlertCheckEventIdSpec = &definition.TuningSpec{ Name: KapacitorAlertCheckEventId, Description: "Set kapacitor alert check eventid.", Limitation: definition.TuningLimitation{ Type: "string", Default: "SYS00002W", }, Roles: definition.ControlRoles, } KapacitorAlertCheckIntervalSpec = &definition.TuningSpec{ Name: KapacitorAlertCheckInterval, Description: "Set kapacitor alert check interval (default to 60m).", Limitation: definition.TuningLimitation{ Type: "string", Default: "60m", }, Roles: definition.ControlRoles, } KapacitorAlertExtraPrefixSpec = &definition.TuningSpec{ Name: KapacitorAlertExtraPrefix, Description: "Set kapacitor alert message prefix.", Limitation: definition.TuningLimitation{ Type: "string", Default: "Cube", }, Roles: definition.ControlRoles, } KapacitorAlertFlowBaseSpec = &definition.TuningSpec{ Name: KapacitorAlertFlowBase, Description: "Set kapacitor alert base for abnormal flow.", Limitation: definition.TuningLimitation{ Type: "string", Default: "7d", }, Roles: definition.ControlRoles, } KapacitorAlertFlowThresholdSpec = &definition.TuningSpec{ Name: KapacitorAlertFlowThreshold, Description: "Set kapacitor alert threshold for abnormal flow.", Limitation: definition.TuningLimitation{ Type: "int", Default: 30, Min: 0, Max: 65535, }, Roles: definition.ControlRoles, } KapacitorAlertFlowUnitSpec = &definition.TuningSpec{ Name: KapacitorAlertFlowUnit, Description: "Set kapacitor alert unit for abnormal flow.", Limitation: definition.TuningLimitation{ Type: "string", Default: "5m", }, Roles: definition.ControlRoles, } KeystoneDebugEnabledSpec = &definition.TuningSpec{ Name: KeystoneDebugEnabled, Description: "Set to true to enable keystone verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } ManilaDebugEnabledSpec = &definition.TuningSpec{ Name: ManilaDebugEnabled, Description: "Set to true to enable manila verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } ManilaVolumeTypeSpec = &definition.TuningSpec{ Name: ManilaVolumeType, Description: "Set manila backend volume type.", Limitation: definition.TuningLimitation{ Type: "string", Default: "CubeStorage", }, Roles: definition.AllRoles, } MasakariHostEvacuateAllSpec = &definition.TuningSpec{ Name: MasakariHostEvacuateAll, Description: "Set to true to enable evacuate all instances when host goes down.", Limitation: definition.TuningLimitation{ Type: "bool", Default: true, }, Roles: definition.AllRoles, } MasakariWaitPeriodSpec = &definition.TuningSpec{ Name: MasakariWaitPeriod, Description: "Set wait period after service update", Limitation: definition.TuningLimitation{ Type: "int", Default: 0, Min: 0, Max: 99999, }, Roles: definition.ControlRoles, } MonascaDebugEnabledSpec = &definition.TuningSpec{ Name: MonascaDebugEnabled, Description: "Set to true to enable monasca verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } MysqlBackupCuratorRpSpec = &definition.TuningSpec{ Name: MysqlBackupCuratorRp, Description: "mysql backup retention policy in weeks.", Limitation: definition.TuningLimitation{ Type: "int", Default: 14, Min: 0, Max: 52, }, Roles: definition.AllRoles, } NetIfMtuNameSpec = &definition.TuningSpec{ Name: NetIfMtuName, Description: "Set interface MTU (MTU of parent interface must be greater than its VLAN interface).", Limitation: definition.TuningLimitation{ Type: "int", Default: 1500, Min: 68, Max: 65536, }, Roles: definition.AllRoles, } Name: NetIpv4TcpSyncookies, Description: "Turn on the Linux SYN cookies implementation.", Limitation: definition.TuningLimitation{ Type: "bool", Default: true, }, Roles: definition.AllRoles, } NetLacpDefaultRateSpec = &definition.TuningSpec{ Name: NetLacpDefaultRate, Description: "Set default LACP rate (fast/slow).", Limitation: definition.TuningLimitation{ Type: "string", Default: "fast", }, Roles: definition.AllRoles, } NetLacpDefaultXmitSpec = &definition.TuningSpec{ Name: NetLacpDefaultXmit, Description: "Set default LACP transmit hash policy (layer2/layer2+3/layer3+4).", Limitation: definition.TuningLimitation{ Type: "string", Default: "layer3+4", }, Roles: definition.AllRoles, } NeutronDebugEnabledSpec = &definition.TuningSpec{ Name: NeutronDebugEnabled, Description: "Set to true to enable neutron verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } NovaControlHostMemorySpec = &definition.TuningSpec{ Name: NovaControlHostMemory, Description: "Amount of memory in MB to reserve for the control host.", Limitation: definition.TuningLimitation{ Type: "int", Default: 0, Min: 0, Max: 524288, }, Roles: definition.ComputeRoles, } NovaControlHostVcpuSpec = &definition.TuningSpec{ Name: NovaControlHostVcpu, Description: "Amount of vcpu to reserve for the control host.", Limitation: definition.TuningLimitation{ Type: "int", Default: 0, Min: 0, Max: 128, }, Roles: []*definition.Role{definition.GetControlConvergeRole(), definition.GetEdgeCoreRole()}, } NovaDebugEnabledSpec = &definition.TuningSpec{ Name: NovaDebugEnabled, Description: "Set to true to enable nova verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } NovaGpuTypeSpec = &definition.TuningSpec{ Name: NovaGpuType, Description: "Specify a supported gpu type instances would get.", Limitation: definition.TuningLimitation{ Type: "string", Default: "", }, Roles: definition.ComputeRoles, Selector: definition.Selector{ Enabled: true, Labels: map[string]string{"isGpuEnabled": "true"}, }, } NovaOvercommitCpuRatioSpec = &definition.TuningSpec{ Name: NovaOvercommitCpuRatio, Description: "Specify an allowed CPU overcommitted ratio.", Limitation: definition.TuningLimitation{ Type: "float", Default: 16.0, }, Roles: definition.AllRoles, } NovaOvercommitDiskRatioSpec = &definition.TuningSpec{ Name: NovaOvercommitDiskRatio, Description: "Specify an allowed disk overcommitted ratio.", Limitation: definition.TuningLimitation{ Type: "float", Default: 1.0, }, Roles: definition.AllRoles, } NovaOvercommitRamRatioSpec = &definition.TuningSpec{ Name: NovaOvercommitRamRatio, Description: "Specify an allowed RAM overcommitted ratio.", Limitation: definition.TuningLimitation{ Type: "float", Default: 1.5, }, Roles: definition.AllRoles, } NtpDebugEnabledSpec = &definition.TuningSpec{ Name: NtpDebugEnabled, Description: "Set to true to enable ntp verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } OctaviaDebugEnabledSpec = &definition.TuningSpec{ Name: OctaviaDebugEnabled, Description: "Set to true to enable octavia verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } OctaviaHaSpec = &definition.TuningSpec{ Name: OctaviaHa, Description: "Set to true to enable octavia HA mode.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } OpensearchCuratorRpSpec = &definition.TuningSpec{ Name: OpensearchCuratorRp, Description: "opensearch curator retention policy in days.", Limitation: definition.TuningLimitation{ Type: "int", Default: 7, Min: 0, Max: 365, }, Roles: definition.AllRoles, } OpensearchHeapSizeSpec = &definition.TuningSpec{ Name: OpensearchHeapSize, Description: "Set opensearch heap size in MB.", Limitation: definition.TuningLimitation{ Type: "int", Default: 1024, Min: 256, Max: 65536, }, Roles: definition.AllRoles, } SenlinDebugEnabledSpec = &definition.TuningSpec{ Name: SenlinDebugEnabled, Description: "Set to true to enable senlin verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } SkylineDebugEnabledSpec = &definition.TuningSpec{ Name: SkylineDebugEnabled, Description: "Set to true to enable skyline verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } SnapshotApplyActionSpec = &definition.TuningSpec{ Name: SnapshotApplyAction, Description: "Set snapshot apply action <apply|revert>.", Limitation: definition.TuningLimitation{ Type: "string", Default: "apply", }, Roles: definition.AllRoles, } SnapshotApplyPolicyIgnoreSpec = &definition.TuningSpec{ Name: SnapshotApplyPolicyIgnore, Description: "Set snapshot apply policy ignore <true|false>.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } SshdBindToAllInterfacesSpec = &definition.TuningSpec{ Name: SshdBindToAllInterfaces, Description: "Set to true to bind sshd to all interfaces.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } SshdSessionInactivitySpec = &definition.TuningSpec{ Name: SshdSessionInactivity, Description: "Set sshd session inactivity timeout in seconds.", Limitation: definition.TuningLimitation{ Type: "int", Default: 0, Min: 0, Max: 86400, }, Roles: definition.AllRoles, } TimeTimezoneSpec = &definition.TuningSpec{ Name: TimeTimezone, Description: "Set system timezone.", Limitation: definition.TuningLimitation{ Type: "string", Default: "UTC", }, Roles: definition.AllRoles, } UpdateSecurityAutoUpdateSpec = &definition.TuningSpec{ Name: UpdateSecurityAutoUpdate, Description: "Set to true to enable security autoupdate.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } WatcherDebugEnabledSpec = &definition.TuningSpec{ Name: WatcherDebugEnabled, Description: "Set to true to enable watcher verbose log.", Limitation: definition.TuningLimitation{ Type: "bool", Default: false, }, Roles: definition.AllRoles, } )
Functions ¶
func AcquireTuningLock ¶
func AcquireTuningLock() error
func ApplyTuning ¶
func ApplyTunings ¶
func ApplyTunings(tunings []definition.Tuning) error
func CheckServiceHealth ¶
func CheckServiceHealth(service definition.Service) error
func CountEvents ¶
func CreateToken ¶
func CreateToken(user *definition.User) (*gocloak.JWT, error)
func GeDiskLatencyHistoryOfHosts ¶
func GeDiskLatencyHistoryOfHosts(readStmt, writeStmt string) (*definition.StorageTimeSeries, error)
func GetControllerVirtualIp ¶
func GetCpuAverageOfHosts ¶
func GetCpuAverageOfHosts(cpuStats []definition.ComputeStatistic) definition.ComputeStatistic
func GetCpuHistoryOfHost ¶
func GetCpuHistoryOfHost(stmt string) ([]definition.TimeValue, error)
func GetCpuHistoryOfVm ¶
func GetCpuHistoryOfVm(entityId string, period definition.Period) ([]definition.TimeValue, error)
func GetCpuSummaryOfHost ¶
func GetCpuSummaryOfHost(hostname string) (*definition.ComputeStatistic, error)
func GetCpuSummaryOfHosts ¶
func GetCpuSummaryOfHosts(stmt string) (*definition.ComputeStatistic, error)
func GetCpuUsageRankOfHosts ¶
func GetCpuUsageRankOfHosts(stmt string) (*definition.MetricRank, error)
func GetCpuUsageRankOfVms ¶
func GetCpuUsageRankOfVms(stmt string) (*definition.MetricRank, error)
func GetDataCenterName ¶
func GetDataCenterVersion ¶
func GetDiskIopsHistoryOfHosts ¶
func GetDiskIopsHistoryOfHosts(readStmt, writeStmt string) (*definition.StorageTimeSeries, error)
func GetDiskReadIopsHistoryOfVm ¶
func GetDiskReadIopsHistoryOfVm(entityId, device string) ([]definition.TimeValue, error)
func GetDiskReadIopsRankOfVms ¶
func GetDiskReadIopsRankOfVms(stmt string) (*definition.MetricRank, error)
func GetDiskStorageBandwidthHistory ¶
func GetDiskStorageBandwidthHistory(readStmt, writeStmt string) (*definition.StorageTimeSeries, error)
func GetDiskUsageHistoryOfHost ¶
func GetDiskUsageHistoryOfHost(entityId string, period definition.Period) ([]definition.TimeValue, error)
func GetDiskUsageRankOfHosts ¶
func GetDiskUsageRankOfHosts(stmt string) (*definition.MetricRank, error)
func GetDiskWriteIopsHistoryOfVm ¶
func GetDiskWriteIopsHistoryOfVm(entityId, device string) ([]definition.TimeValue, error)
func GetDiskWriteIopsRankOfVms ¶
func GetDiskWriteIopsRankOfVms(stmt string) (*definition.MetricRank, error)
func GetEventRank ¶
func GetEventRank(stmt string) ([]definition.EventStat, error)
func GetHostUsage ¶
func GetHostUsage(node *definition.Node) (*definition.HostUsage, error)
func GetManagementIp ¶
func GetMemoryAverageOfHosts ¶
func GetMemoryAverageOfHosts(spaceStats []definition.SpaceStatistic) definition.SpaceStatistic
func GetMemoryHistoryOfHost ¶
func GetMemoryHistoryOfHost(entityId string, period definition.Period) ([]definition.TimeValue, error)
func GetMemoryHistoryOfVm ¶
func GetMemoryHistoryOfVm(entityId string, period definition.Period) ([]definition.TimeValue, error)
func GetMemoryUsageRankOfHosts ¶
func GetMemoryUsageRankOfHosts(stmt string) (*definition.MetricRank, error)
func GetMemoryUsageRankOfVms ¶
func GetMemoryUsageRankOfVms(stmt string) (*definition.MetricRank, error)
func GetMemoryUsageSummaryOfHost ¶
func GetMemoryUsageSummaryOfHost(hostname string) (*definition.SpaceStatistic, error)
func GetMemoryUsageSummaryOfHosts ¶
func GetMemoryUsageSummaryOfHosts() (*definition.SpaceStatistic, error)
func GetMgmtNet ¶
func GetNetworkTrafficInHistoryOfHost ¶
func GetNetworkTrafficInHistoryOfHost(entityId string, period definition.Period) ([]definition.TimeValue, error)
func GetNetworkTrafficInHistoryOfVm ¶
func GetNetworkTrafficInHistoryOfVm(entityId, device string) ([]definition.TimeValue, error)
func GetNetworkTrafficInRankOfHosts ¶
func GetNetworkTrafficInRankOfHosts() (*definition.MetricRank, error)
func GetNetworkTrafficInRankOfVms ¶
func GetNetworkTrafficInRankOfVms(stmt string) (*definition.MetricRank, error)
func GetNetworkTrafficOutHistoryOfHost ¶
func GetNetworkTrafficOutHistoryOfHost(entityId string, period definition.Period) ([]definition.TimeValue, error)
func GetNetworkTrafficOutHistoryOfVm ¶
func GetNetworkTrafficOutHistoryOfVm(entityId, device string) ([]definition.TimeValue, error)
func GetNetworkTrafficOutRankOfHosts ¶
func GetNetworkTrafficOutRankOfHosts() (*definition.MetricRank, error)
func GetNetworkTrafficOutRankOfVms ¶
func GetNetworkTrafficOutRankOfVms(stmt string) (*definition.MetricRank, error)
func GetNodeRole ¶
func GetTuningPolicy ¶
func GetTuningPolicy(filePath string) (*definition.TuningPolicy, error)
func GetTuningValue ¶
func GetUnhealthyServices ¶
func GetUnhealthyServices() ([]definition.Service, error)
func GetVmUsage ¶
func GetVmUsage() (*definition.VmUsage, error)
func ImportClusterLicense ¶
func ImportNodeLicense ¶
func IsClusterSetReady ¶
func IsClusterSetReady() bool
func IsEntityTypeValid ¶
func IsEventTypeValid ¶
func IsExpectedEmptyStdOut ¶
func IsGpuEnabled ¶
func IsGpuEnabled() bool
func IsHaEnabled ¶
func IsLocalDataCenter ¶
M2 TODO: Check if the data center is local
func IsMetricReportTypeValid ¶
func IsMetricTypeValid ¶
func IsModuleHealthy ¶
func IsRepairable ¶
func IsRepairable() bool
func IsRepairing ¶
func IsRepairing() bool
M1 TODO: Waiting for COS developer to implement the /var/run/{markerfile} to check if the data center is repairing.
func IsTuningApplied ¶
func IsTuningApplied(tuning definition.Tuning) error
func IsTuningDeleted ¶
func IsTuningDeleted(tuning definition.Tuning) bool
func IsValidService ¶
func IsValidServiceAndModule ¶
func ListBuiltInIntegrations ¶
func ListBuiltInIntegrations() []definition.Integration
func ListHypervisors ¶
func ListHypervisors() ([]hypervisors.Hypervisor, error)
func ListLicenses ¶
func ListLicenses() ([]definition.License, error)
func ListNodes ¶
func ListNodes() ([]*definition.Node, error)
func ListTunings ¶
func ListTunings(opts definition.ListTuningOptions) ([]definition.Tuning, error)
func ListTuningsFromOtherNodes ¶
func ListTuningsFromOtherNodes() (map[string][]definition.Tuning, error)
func ReadSettingSys ¶
func ReleaseTuningLock ¶
func ReleaseTuningLock() error
func RepairModule ¶
func RepairServiceHealth ¶
func RepairServiceHealth(service definition.Service) error
func SyncTunings ¶
func SyncTunings()
Types ¶
type DataCenterSummary ¶
type DataCenterSummary struct {
Usage definition.DataCenterUsage `json:"usage"`
}
func GetDataCenterUsage ¶
func GetDataCenterUsage(hostSummary *HostSummary) (*DataCenterSummary, error)
type Health ¶
type Health struct { *definition.DataCenter `json:"dataCenter,omitempty" bson:"dataCenter,omitempty"` *Overall `json:"overall,omitempty" bson:"overall"` Services []definition.Service `json:"services" bson:"services"` }
func (*Health) CopyEmptyServiceStruct ¶
func (*Health) HasUnhealthyService ¶
type HealthCheck ¶
type HealthStatus ¶
type HealthStatus struct { Category string `json:"category"` Name string `json:"name"` Module string `json:"module"` History []HealthCheck `json:"history"` }
type HostSummary ¶
func GetHostSummary ¶
func GetHostSummary() (*HostSummary, error)
func (*HostSummary) ListCpuUsages ¶
func (h *HostSummary) ListCpuUsages() []definition.ComputeStatistic
func (*HostSummary) ListMemoryUsages ¶
func (h *HostSummary) ListMemoryUsages() []definition.SpaceStatistic
type HostUsage ¶
type HostUsage struct { Role string `json:"role"` Name string `json:"name"` Address string `json:"address"` definition.HostUsage `json:"usage"` }
type Role ¶
type Role struct { ControlConverged int `json:"controlConverged"` Control int `json:"control"` Compute int `json:"compute"` Storage int `json:"storage"` }
func GetRoleStatus ¶
type Summary ¶
type Summary struct { DataCenter DataCenterSummary `json:"dataCenter"` Host HostSummary `json:"host"` Vm VmSummary `json:"vm"` }
func GetDataCenterSummary ¶
type VmStatus ¶
type VmStatus struct { Total int `json:"total"` Running int `json:"running"` Stopped int `json:"stopped"` Suspend int `json:"suspend"` Paused int `json:"paused"` Error int `json:"error"` }
func GetVmStatus ¶
type VmSummary ¶
type VmSummary struct { Status VmStatus `json:"status"` definition.VmUsage `json:"usage"` }
func GetVmSummary ¶
Click to show internal directories.
Click to hide internal directories.