cubecos

package
v0.0.1-dev-5e16f90 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 11, 2025 License: Apache-2.0 Imports: 50 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LicenseValid              = 1
	LicenseExpired            = 251
	LicenseNotInstalled       = 252
	LicenseInvalidHardware    = 253
	LicenseInvalidSignature   = 254
	LicenseSysytemCompromised = 255
)
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>"
	NetIpv4TcpSyncookies        = "net.ipv4.tcp_syncookies"
	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", IsRepairable: false},
				{Name: "clock", IsRepairable: true},
				{Name: "dns", IsRepairable: false},
			},
		},
		{
			Name:     "clusterSys",
			Category: "core",
			Modules: []definition.Module{
				{Name: "bootstrap", IsRepairable: false},
				{Name: "license", IsRepairable: false},
			},
		},
		{
			Name:     "clusterSettings",
			Category: "core",
			Modules: []definition.Module{
				{Name: "etcd", IsRepairable: true},
				{Name: "nodelist", IsRepairable: false},
			},
		},
		{
			Name:     "haCluster",
			Category: "core",
			Modules: []definition.Module{
				{Name: "hacluster", IsRepairable: true},
			},
		},
		{
			Name:     "msgQueue",
			Category: "core",
			Modules: []definition.Module{
				{Name: "rabbitmq", IsRepairable: true},
			},
		},
		{
			Name:     "iaasDb",
			Category: "core",
			Modules: []definition.Module{
				{Name: "mysql", IsRepairable: true},
				{Name: "mongodb", IsRepairable: true},
			},
		},
		{
			Name:     "virtualIp",
			Category: "core",
			Modules: []definition.Module{
				{Name: "vip", IsRepairable: true},
				{Name: "haproxy_ha", IsRepairable: true},
			},
		},
		{
			Name:     "storage",
			Category: "storage",
			Modules: []definition.Module{
				{Name: "ceph", IsRepairable: false},
				{Name: "ceph_mon", IsRepairable: true},
				{Name: "ceph_mgr", IsRepairable: true},
				{Name: "ceph_mds", IsRepairable: true},
				{Name: "ceph_osd", IsRepairable: true},
				{Name: "ceph_rgw", IsRepairable: true},
				{Name: "rbd_target", IsRepairable: false},
			},
		},
		{
			Name:     "apiService",
			Category: "core",
			Modules: []definition.Module{
				{Name: "haproxy", IsRepairable: true},
				{Name: "httpd", IsRepairable: true},
				{Name: "skyline", IsRepairable: true},
				{Name: "lmi", IsRepairable: true},
				{Name: "memcache", IsRepairable: true},
				{Name: "api", IsRepairable: true},
			},
		},
		{
			Name:     "singleSignOn",
			Category: "core",
			Modules: []definition.Module{
				{Name: "k3s", IsRepairable: true},
				{Name: "keycloak", IsRepairable: true},
			},
		},
		{
			Name:     "network",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "neutron", IsRepairable: true},
			},
		},
		{
			Name:     "compute",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "nova", IsRepairable: true},
				{Name: "cyborg", IsRepairable: true},
			},
		},
		{
			Name:     "bareMetal",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "ironic", IsRepairable: true},
			},
		},
		{
			Name:     "image",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "glance", IsRepairable: true},
			},
		},
		{
			Name:     "blockStor",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "cinder", IsRepairable: true},
			},
		},
		{
			Name:     "fileStor",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "manila", IsRepairable: true},
			},
		},
		{
			Name:     "objectStor",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "swift", IsRepairable: false},
			},
		},
		{
			Name:     "orchestration",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "heat", IsRepairable: true},
			},
		},
		{
			Name:     "lbaas",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "octavia", IsRepairable: true},
			},
		},
		{
			Name:     "dnsaas",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "designate", IsRepairable: true},
			},
		},
		{
			Name:     "k8saas",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "rancher", IsRepairable: false},
			},
		},
		{
			Name:     "instanceHa",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "masakari", IsRepairable: true},
			},
		},
		{
			Name:     "businessLogic",
			Category: "cloud computing",
			Modules: []definition.Module{
				{Name: "senlin", IsRepairable: true},
				{Name: "watcher", IsRepairable: true},
			},
		},
		{
			Name:     "dataPipe",
			Category: "infrascope",
			Modules: []definition.Module{
				{Name: "zookeeper", IsRepairable: true},
				{Name: "kafka", IsRepairable: true},
			},
		},
		{
			Name:     "metrics",
			Category: "infrascope",
			Modules: []definition.Module{
				{Name: "monasca", IsRepairable: true},
				{Name: "telegraf", IsRepairable: true},
				{Name: "grafana", IsRepairable: true},
			},
		},
		{
			Name:     "logAnalytics",
			Category: "infrascope",
			Modules: []definition.Module{
				{Name: "filebeat", IsRepairable: true},
				{Name: "auditbeat", IsRepairable: true},
				{Name: "logstash", IsRepairable: true},
				{Name: "opensearch", IsRepairable: true},
				{Name: "opensearch-dashboards", IsRepairable: true},
			},
		},
		{
			Name:     "notifications",
			Category: "infrascope",
			Modules: []definition.Module{
				{Name: "influxdb", IsRepairable: true},
				{Name: "kapacitor", IsRepairable: true},
			},
		},
		{
			Name:               "node",
			IsInternalViewOnly: true,
			Modules: []definition.Module{
				{Name: "node", IsRepairable: 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: "",
			Regex:   "",
		},
		Roles: definition.AllGeneralRoles,
	}
	CinderBackupEndpointSpec = &definition.TuningSpec{
		Name:        CinderBackupEndpoint,
		Description: "Set cinder backup storage endpoint.",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "",
			Regex:   "",
		},
		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: "",
			Regex:   "",
		},
		Roles: definition.AllRoles,
	}
	CinderBackupSecretSpec = &definition.TuningSpec{
		Name:        CinderBackupSecret,
		Description: "Set cinder backup storage account secret.",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "",
			Regex:   "",
		},
		Roles: definition.AllRoles,
	}
	CinderBackupTypeSpec = &definition.TuningSpec{
		Name:        CinderBackupType,
		Description: "Set cinder backup storage type <cube-storage|cube-swift>.",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "",
			Regex:   "",
		},
		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: "",
			Regex:   "",
		},
		Roles: definition.AllRoles,
	}
	CinderExternalDriverSpec = &definition.TuningSpec{
		Name:        CinderExternalDriver,
		Description: "Set cinder external storage type name <cube|purestorage>.",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "",
			Regex:   "",
		},
		Roles: definition.AllRoles,
	}
	CinderExternalEndpointSpec = &definition.TuningSpec{
		Name:        CinderExternalEndpoint,
		Description: "Set cinder external storage endpoint.",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "",
			Regex:   "",
		},
		Roles: definition.AllRoles,
	}
	CinderExternalNameSpec = &definition.TuningSpec{
		Name:        CinderExternalName,
		Description: "Set cinder external storage rule name.",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "",
			Regex:   "",
		},
		Roles: definition.AllRoles,
	}
	CinderExternalPoolSpec = &definition.TuningSpec{
		Name:        CinderExternalPool,
		Description: "Set cinder external storage pool.",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "",
			Regex:   "",
		},
		Roles: definition.AllRoles,
	}
	CinderExternalSecretSpec = &definition.TuningSpec{
		Name:        CinderExternalSecret,
		Description: "Set cinder external storage account secret.",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "",
			Regex:   "",
		},
		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: "",
			Regex:   "",
		},
		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",
			Regex:   "",
		},
		Roles: definition.ControlRoles,
	}
	KapacitorAlertCheckIntervalSpec = &definition.TuningSpec{
		Name:        KapacitorAlertCheckInterval,
		Description: "Set kapacitor alert check interval (default to 60m).",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "60m",
			Regex:   "",
		},
		Roles: definition.ControlRoles,
	}
	KapacitorAlertExtraPrefixSpec = &definition.TuningSpec{
		Name:        KapacitorAlertExtraPrefix,
		Description: "Set kapacitor alert message prefix.",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "Cube",
			Regex:   "",
		},
		Roles: definition.ControlRoles,
	}
	KapacitorAlertFlowBaseSpec = &definition.TuningSpec{
		Name:        KapacitorAlertFlowBase,
		Description: "Set kapacitor alert base for abnormal flow.",
		Limitation: definition.TuningLimitation{
			Type:    "string",
			Default: "7d",
			Regex:   "",
		},
		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",
			Regex:   "",
		},
		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",
			Regex:   "",
		},
		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,
	}
	NetIpv4TcpSyncookiesSpec = &definition.TuningSpec{
		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",
			Regex:   "",
		},
		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",
			Regex:   "",
		},
		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: "",
			Regex:   "",
		},
		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",
			Regex:   "",
		},
		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",
			Regex:   "",
		},
		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 ApplyTrigger

func ApplyTrigger(isolatedDir string) error

func ApplyTriggers

func ApplyTriggers(triggers []trigger.Options) error

func ApplyTuning

func ApplyTuning(isolatedDir string) error

func ApplyTunings

func ApplyTunings(tunings []definition.Tuning) error

func CheckServiceHealth

func CheckServiceHealth(service v1.Service) error

func CountEvents

func CountEvents(stmt string) (int64, error)

func CreateSupportCommentFile

func CreateSupportCommentFile(file support.File) (string, error)

func CreateSupportFile

func CreateSupportFile(file support.File) error

func CreateToken

func CreateToken(user *definition.User) (*gocloak.JWT, error)

func GeDiskLatencyHistoryOfHosts

func GeDiskLatencyHistoryOfHosts(readStmt, writeStmt string) (*definition.StorageTimeSeries, error)

func GenModuleHealthHistoryQuery

func GenModuleHealthHistoryQuery(moduleName, past string, onlyLast bool) string

func GetControllerVirtualIp

func GetControllerVirtualIp(mgmtNet string) (string, error)

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 GetDataCenterName() (string, error)

func GetDataCenterNumericVersion

func GetDataCenterNumericVersion() (string, error)

func GetDataCenterVersion

func GetDataCenterVersion() (string, error)

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 GetEventFilterConditions

func GetEventFilterConditions(stmt string) ([]string, error)

func GetEventRank

func GetEventRank(stmt string) ([]definition.EventStat, error)

func GetEvents

func GetEvents(stmt string) ([]definition.Event, error)

func GetHostUsage

func GetHostUsage(node definition.Node) (*definition.HostUsage, error)

func GetManagementIp

func GetManagementIp(mgmtNet string) (string, error)

func GetMemoryAverageOfHosts

func GetMemoryAverageOfHosts(spaceStats []definition.SpaceStatistic) definition.SpaceStatistic

func GetMemoryHistoryOfHost

func GetMemoryHistoryOfHost(stmt string) ([]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 GetMgmtNet() (string, error)

func GetModuleHealthHistory

func GetModuleHealthHistory(moduleName, duration string, onlyLast bool) ([]v1.HealthCheck, error)

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 GetNodeRole() (string, error)

func GetRepairingInfo

func GetRepairingInfo() (*v1.ReairingInfo, error)

func GetServicesToCheckHealth

func GetServicesToCheckHealth() []v1.Service

func GetSupportFile

func GetSupportFile(file support.File) (string, error)

func GetSupportFileComment

func GetSupportFileComment(file string) (*support.File, error)

func GetSupportFileUrl

func GetSupportFileUrl(file support.File) (string, error)

func GetTriggerPolicy

func GetTriggerPolicy() (*trigger.Policy, error)

func GetTriggerPolicyByName

func GetTriggerPolicyByName(name string) (*trigger.Options, error)

func GetTuning

func GetTuning(name string) (*definition.Tuning, error)

func GetTuningPolicy

func GetTuningPolicy(filePath string) (*definition.TuningPolicy, error)

func GetTuningValue

func GetTuningValue(name string) (string, error)

func GetUnhealthyServices

func GetUnhealthyServices() ([]v1.Service, error)

func GetVmUsage

func GetVmUsage() (*definition.VmUsage, error)

func ImportClusterLicense

func ImportClusterLicense(licensePath string) error

func ImportNodeLicense

func ImportNodeLicense(licensePath string) error

func IsClusterSetReady

func IsClusterSetReady() bool

func IsEntityTypeValid

func IsEntityTypeValid(t string) bool

func IsEventTypeValid

func IsEventTypeValid(t string) bool

func IsExpectedEmptyStdOut

func IsExpectedEmptyStdOut(err error) bool

func IsGpuEnabled

func IsGpuEnabled() bool

func IsHaEnabled

func IsHaEnabled() (bool, error)

func IsLocalDataCenter

func IsLocalDataCenter(dataCenter string) bool

M2 TODO: Check if the data center is local

func IsMetricReportTypeValid

func IsMetricReportTypeValid(t string) bool

func IsMetricTypeValid

func IsMetricTypeValid(t string) bool

func IsModuleHealthy

func IsModuleHealthy(moduleName string) bool

func IsOvnSFlowEnabled

func IsOvnSFlowEnabled() bool

func IsRepairable

func IsRepairable() bool

func IsRepairableModule

func IsRepairableModule(module string) bool

func IsRepairing

func IsRepairing() bool

func IsSupportFile

func IsSupportFile(file string) bool

func IsTriggerApplied

func IsTriggerApplied(trigger trigger.Options) error

func IsTriggerExist

func IsTriggerExist(name string) bool

func IsTuningApplied

func IsTuningApplied(tuning definition.Tuning) error

func IsTuningDeleted

func IsTuningDeleted(tuning definition.Tuning) bool

func IsValidService

func IsValidService(service string) bool

func IsValidServiceAndModule

func IsValidServiceAndModule(service, module string) bool

func ListBuiltInIntegrations

func ListBuiltInIntegrations() []definition.Integration

func ListHostSupportFiles

func ListHostSupportFiles(opts support.ListFileOptions) ([]support.File, error)

func ListHypervisors

func ListHypervisors() ([]hypervisors.Hypervisor, error)

func ListLicenses

func ListLicenses() ([]definition.License, error)

func ListNodes

func ListNodes() ([]definition.Node, error)

func ListSupportFiles

func ListSupportFiles(opts support.ListFileOptions) ([]support.File, error)

func ListSupportFilesFromOtherNodes

func ListSupportFilesFromOtherNodes() ([]support.File, error)

func ListTunings

func ListTunings(opts definition.ListTuningOptions) ([]definition.Tuning, error)

func ListTuningsFromOtherNodes

func ListTuningsFromOtherNodes() (map[string][]definition.Tuning, error)

func PutSupportFileToBucket

func PutSupportFileToBucket(key string, file io.Reader) error

func ReadSettingSys

func ReadSettingSys(settingName string) (string, error)

func ReleaseTuningLock

func ReleaseTuningLock() error

func RepairModule

func RepairModule(moduleName string) error

func RepairServiceHealth

func RepairServiceHealth(service v1.Service) error

func SetSupportFileComment

func SetSupportFileComment(file support.File) error

func SyncBucketSecrete

func SyncBucketSecrete() error

func SyncBucketStore

func SyncBucketStore() error

func SyncDataCenterMetricsSummary

func SyncDataCenterMetricsSummary()

func SyncHealthHistory

func SyncHealthHistory()

func SyncSupportFiles

func SyncSupportFiles()

func SyncTriggers

func SyncTriggers()

func SyncTunings

func SyncTunings()

func UploadSupportFileToObjectStore

func UploadSupportFileToObjectStore(supportFile support.File) error

func VerifyLicense

func VerifyLicense(license string) (*definition.VerificationDetails, error)

Types

type DataCenterSummary

type DataCenterSummary struct {
	Usage definition.DataCenterUsage `json:"usage"`
}

func GetDataCenterUsage

func GetDataCenterUsage(hostSummary *HostSummary) (*DataCenterSummary, error)

type Health

type Health struct {
	*v1.DataCenter `json:"dataCenter,omitempty" bson:"dataCenter,omitempty"`
	*Overall       `json:"overall,omitempty" bson:"overall"`
	Services       []v1.Service `json:"services" bson:"services"`
}

func GetHealthSummary

func GetHealthSummary(duration string) Health

func (*Health) CopyEmptyServiceStruct

func (h *Health) CopyEmptyServiceStruct() Health

func (*Health) HasUnhealthyService

func (h *Health) HasUnhealthyService() bool

func (*Health) SetRepairingStatus

func (h *Health) SetRepairingStatus(service v1.Service)

type HealthStatus

type HealthStatus struct {
	Category     string           `json:"category"`
	Name         string           `json:"name"`
	Module       string           `json:"module"`
	IsRepairable bool             `json:"isRepairable"`
	History      []v1.HealthCheck `json:"history"`
}

func GetServiceHealthHistory

func GetServiceHealthHistory(serviceName, duration string) []HealthStatus

type HostSummary

type HostSummary struct {
	Role   `json:"role"`
	Usages []HostUsage `json:"usages"`
}

func GetHostSummary

func GetHostSummary() (*HostSummary, error)

func (*HostSummary) ListCpuUsages

func (h *HostSummary) ListCpuUsages() []definition.ComputeStatistic

func (*HostSummary) ListMemoryUsages

func (h *HostSummary) ListMemoryUsages() []definition.SpaceStatistic

func (*HostSummary) SetHostUsageByNodes

func (h *HostSummary) SetHostUsageByNodes(nodes []definition.Node)

func (*HostSummary) SetRoleUsageByHosts

func (h *HostSummary) SetRoleUsageByHosts()

type HostUsage

type HostUsage struct {
	Role    string                      `json:"role"`
	Name    string                      `json:"name"`
	Address string                      `json:"address"`
	Cpu     definition.ComputeStatistic `json:"cpu"`
	Memory  definition.SpaceStatistic   `json:"memory"`
}

type Overall

type Overall struct {
	Status status.Health `json:"status" bson:"status"`
}

type Role

type Role struct {
	ControlConverged RoleUsage `json:"controlConverged"`
	Control          RoleUsage `json:"control"`
	Compute          RoleUsage `json:"compute"`
	Storage          RoleUsage `json:"storage"`
	EdgeCore         RoleUsage `json:"edgeCore"`
	Moderator        RoleUsage `json:"moderator"`
}

func GetRoleStatus

func GetRoleStatus() (*Role, error)

type RoleUsage

type RoleUsage struct {
	Count  int                         `json:"count"`
	Cpu    definition.ComputeStatistic `json:"cpu"`
	Memory definition.SpaceStatistic   `json:"memory"`
}

type Summary

type Summary struct {
	DataCenter DataCenterSummary `json:"dataCenter"`
	Host       HostSummary       `json:"host"`
	Vm         VmSummary         `json:"vm"`
}

func GetDataCenterSummary

func GetDataCenterSummary() *Summary

func (*Summary) Bytes

func (s *Summary) Bytes() []byte

func (*Summary) String

func (s *Summary) String() string

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

func GetVmStatus() (*VmStatus, error)

type VmSummary

type VmSummary struct {
	Status             VmStatus `json:"status"`
	definition.VmUsage `json:"usage"`
}

func GetVmSummary

func GetVmSummary() (*VmSummary, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL