features

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// PodMutatingWebhook enables mutating webhook for Pods creations.
	PodMutatingWebhook featuregate.Feature = "PodMutatingWebhook"

	// PodValidatingWebhook enables validating webhook for Pods creations or updates.
	PodValidatingWebhook featuregate.Feature = "PodValidatingWebhook"

	// ElasticQuotaMutatingWebhook enables mutating webhook for ElasticQuotas  creations
	ElasticQuotaMutatingWebhook featuregate.Feature = "ElasticMutatingWebhook"

	// ElasticQuotaValidatingWebhook enables validating webhook for ElasticQuotas creations or updates
	ElasticQuotaValidatingWebhook featuregate.Feature = "ElasticValidatingWebhook"

	// NodeMutatingWebhook enables mutating webhook for Node Creation or updates
	NodeMutatingWebhook featuregate.Feature = "NodeMutatingWebhook"

	// NodeValidatingWebhook enables validating webhook for Node Creation or updates
	NodeValidatingWebhook featuregate.Feature = "NodeValidatingWebhook"

	// ConfigMapValidatingWebhook enables validating webhook for configmap Creation or updates
	ConfigMapValidatingWebhook featuregate.Feature = "ConfigMapValidatingWebhook"

	// ColocationProfileSkipMutatingResources config whether to update resourceName according to priority by default
	ColocationProfileSkipMutatingResources featuregate.Feature = "ColocationProfileSkipMutatingResources"

	// WebhookFramework enables webhook framework, global feature-gate for webhook
	WebhookFramework featuregate.Feature = "WebhookFramework"

	// MultiQuotaTree enables multi quota tree.
	MultiQuotaTree featuregate.Feature = "MultiQuotaTree"

	// ElasticQuotaIgnorePodOverhead ignore pod.spec.overhead when accounting pod requests
	ElasticQuotaIgnorePodOverhead featuregate.Feature = "ElasticQuotaIgnorePodOverhead"

	// ElasticQuotaGuaranteeUsage enable guarantee the quota usage
	// In some specific scenarios, resources that have been allocated to users are considered
	// to belong to the users and will not be preempted back.
	ElasticQuotaGuaranteeUsage featuregate.Feature = "ElasticQuotaGuaranteeUsage"

	// DisableDefaultQuota disable default quota.
	DisableDefaultQuota featuregate.Feature = "DisableDefaultQuota"

	// SupportParentQuotaSubmitPod enables parent Quota submit pod
	SupportParentQuotaSubmitPod featuregate.Feature = "SupportParentQuotaSubmitPod"
)
View Source
const (
	// owner: @zwzhang0107
	// alpha: v0.1
	//
	// AuditEvents is used to audit recent events.
	AuditEvents featuregate.Feature = "AuditEvents"

	// owner: @zwzhang0107
	// alpha: v0.1
	//
	// AuditEventsHTTPHandler is used to get recent events from koordlet port.
	AuditEventsHTTPHandler featuregate.Feature = "AuditEventsHTTPHandler"

	// owner: @zwzhang0107 @saintube
	// alpha: v0.1
	// beta: v1.1
	//
	// BECPUSuppress suppresses cpuset for best-effort pod according to node cpu usage.
	BECPUSuppress featuregate.Feature = "BECPUSuppress"

	// owner: @zwzhang0107 @saintube
	// alpha: v1.4
	//
	// BECPUManager manages cpuset of best-effort pod, this feature cannot work with BECPUSuppress together
	// TODO use BECPUManager to replace BECPUSuppress for advanced cpu management for be pods
	BECPUManager featuregate.Feature = "BECPUManager"

	// owner: @zwzhang0107 @saintube
	// alpha: v0.4
	//
	// BECPUEvict evicts best-effort pod when they lack of resource.
	BECPUEvict featuregate.Feature = "BECPUEvict"

	// owner: @zwzhang0107 @saintube
	// alpha: v0.4
	//
	// BEMemoryEvict evict best-effort pod based on node memory usage.
	BEMemoryEvict featuregate.Feature = "BEMemoryEvict"

	// owner: @saintube @zwzhang0107
	// alpha: v0.2
	// beta: v1.1
	//
	// CPUBurst set cpu.cfs_burst_us; scale up cpu.cfs_quota_us if pod cpu throttled
	CPUBurst featuregate.Feature = "CPUBurst"

	// owner: @chzhj @saintube @zwzhang0107
	// alpha: v1.2
	// SystemConfig set /proc/sys/vm/min_free_kbytes; /proc/sys/vm/watermark_scale_factor
	SystemConfig featuregate.Feature = "SystemConfig"

	// owner: @saintube @zwzhang0107
	// alpha: v0.3
	// beta: v1.1
	//
	// RdtResctrl sets intel rdt resctrl for processes belonging to ls or be pods
	RdtResctrl featuregate.Feature = "RdtResctrl"

	// owner: @saintube @zwzhang0107
	// alpha: v0.3
	//
	// CgroupReconcile reconciles qos config for resources like cpu, memory, disk, etc.
	// This will be divided into several independent features according to
	// https://github.com/koordinator-sh/koordinator/issues/174
	CgroupReconcile featuregate.Feature = "CgroupReconcile"

	// owner: @Joseph @zwzhang0107
	// alpha: v0.5
	// beta: v1.1
	//
	// NodeTopologyReport report node topology info to api-server through crd.
	NodeTopologyReport featuregate.Feature = "NodeTopologyReport"

	// owner: @jasonliu747 @Joseph
	// alpha: v0.6
	//
	// Accelerators enables GPU related feature in koordlet. Only Nvidia GPUs supported.
	Accelerators featuregate.Feature = "Accelerators"

	// owner: @songtao98 @zwzhang0107
	// alpha: v1.0
	//
	// CPICollector enables cpi collector feature of koordlet.
	CPICollector featuregate.Feature = "CPICollector"

	// owner: @bowen-intel
	// alpha: v0.1
	//
	// Libpfm4 enables libpfm4 feature of koordlet.
	Libpfm4 featuregate.Feature = "Libpfm4"

	// owner: @songtao98 @zwzhang0107
	// alpha: v1.0
	//
	// PSICollector enables psi collector feature of koordlet.
	PSICollector featuregate.Feature = "PSICollector"

	// owner: @TheBeatles1994 @chzhj @zwzhang0107
	// alpha: v1.3
	//
	// BlkIOReconcile enables block I/O QoS feature of koordlet.
	BlkIOReconcile featuregate.Feature = "BlkIOReconcile"

	// owner: @BUPT-wxq
	// alpha v1.4
	//
	// ColdPageCollector enables coldPageCollector feature of koordlet.
	ColdPageCollector featuregate.Feature = "ColdPageCollector"

	// HugePageReport enables hugepage collector feature of koordlet.
	// This feature supports reporting of hugepages.
	// The koord-scheduler will allocate hugepage information based on the user's hugepage request and add it to the Pod's annotations.
	// Format: scheduling.koordinator.sh/resource-status: '{"numaNodeResources":[{"node":1,"resources":{"hugepages-1Gi":"50Gi"}}]}'.
	// Backend applications can enable the hugepages based on the allocation results.
	// For example, the CSI mounts the pre-allocated hugepages into the pod.
	HugePageReport featuregate.Feature = "HugePageReport"
)
View Source
const (
	// owner: @joseph
	// alpha: v0.1
	//
	// CompatibleCSIStorageCapacity is used to set a custom CSIStorageCapacity informer to
	// be compatible with clusters that do not support v1.CSIStorageCapacity.
	// The k8s v1.22 version needs to enable the FeatureGate
	CompatibleCSIStorageCapacity featuregate.Feature = "CompatibleCSIStorageCapacity"

	// owner: @joseph
	// alpha: v0.1
	//
	// DisableCSIStorageCapacityInformer is used to disable CSIStorageCapacity informer
	// Versions below k8s v1.22 need to enable the FeatureGate
	DisableCSIStorageCapacityInformer featuregate.Feature = "DisableCSIStorageCapacityInformer"

	// owner: @joseph
	// alpha: v0.1
	//
	// CompatiblePodDisruptionBudget is used to set a custom PodDisruptionBudget informer to
	// be compatible with clusters that do not support v1.PodDisruptionBudget.
	// Versions below k8s v1.22 need to enable the FeatureGate
	CompatiblePodDisruptionBudget featuregate.Feature = "CompatiblePodDisruptionBudget"

	// owner: @joseph
	// alpha: v0.1
	//
	// DisablePodDisruptionBudgetInformer is used to disable PodDisruptionBudget informer
	DisablePodDisruptionBudgetInformer featuregate.Feature = "DisablePodDisruptionBudgetInformer"

	// owner: @joseph
	// alpha: v0.1
	//
	// ResizePod is used to enable resize pod feature
	ResizePod featuregate.Feature = "ResizePod"

	CSIStorageCapacity featuregate.Feature = "CSIStorageCapacity"

	GenericEphemeralVolume featuregate.Feature = "GenericEphemeralVolume"

	PodDisruptionBudget featuregate.Feature = "PodDisruptionBudget"
)
View Source
const (
	DisablePVCReservation featuregate.Feature = "DisablePVCReservation"
)

Variables

View Source
var (
	DefaultMutableKoordletFeatureGate featuregate.MutableFeatureGate = featuregate.NewFeatureGate()
	DefaultKoordletFeatureGate        featuregate.FeatureGate        = DefaultMutableKoordletFeatureGate
)

Functions

func IsFeatureDisabled added in v1.1.0

func IsFeatureDisabled(nodeSLO *slov1alpha1.NodeSLO, feature featuregate.Feature) (bool, error)

IsFeatureDisabled returns whether the featuregate is disabled by nodeSLO config

func SetDefaultFeatureGates

func SetDefaultFeatureGates()

Types

This section is empty.

Jump to

Keyboard shortcuts

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