From 82ce7eccba5ca65c8a1de7d979f89223b53dd791 Mon Sep 17 00:00:00 2001 From: NickrenREN Date: Tue, 22 Aug 2017 10:14:32 +0800 Subject: [PATCH] Add ephemeral local storage resource name first --- pkg/api/resource.go | 7 +++++++ pkg/api/types.go | 8 +++++++- staging/src/k8s.io/api/core/v1/resource.go | 7 +++++++ staging/src/k8s.io/api/core/v1/types.go | 8 +++++++- 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/pkg/api/resource.go b/pkg/api/resource.go index 27b7fd66500..415de84fb03 100644 --- a/pkg/api/resource.go +++ b/pkg/api/resource.go @@ -60,3 +60,10 @@ func (self *ResourceList) StorageOverlay() *resource.Quantity { } return &resource.Quantity{} } + +func (self *ResourceList) StorageEphemeral() *resource.Quantity { + if val, ok := (*self)[ResourceEphemeralStorage]; ok { + return &val + } + return &resource.Quantity{} +} diff --git a/pkg/api/types.go b/pkg/api/types.go index 4d626b5d095..334ecfd090d 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -3170,9 +3170,11 @@ const ( // Local Storage for scratch space, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) // The resource name for ResourceStorageScratch is alpha and it can change across releases. ResourceStorageScratch ResourceName = "storage.kubernetes.io/scratch" + // Local ephemeral storage, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) + // The resource name for ResourceEphemeralStorage is alpha and it can change across releases. + ResourceEphemeralStorage ResourceName = "ephemeral-storage" // NVIDIA GPU, in devices. Alpha, might change: although fractional and allowing values >1, only one whole device per node is assigned. ResourceNvidiaGPU ResourceName = "alpha.kubernetes.io/nvidia-gpu" - // Number of Pods that may be running on this Node: see ResourcePods ) const ( @@ -3722,10 +3724,14 @@ const ( ResourceRequestsMemory ResourceName = "requests.memory" // Storage request, in bytes ResourceRequestsStorage ResourceName = "requests.storage" + // Local ephemeral storage request, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) + ResourceRequestsEphemeralStorage ResourceName = "requests.ephemeral-storage" // CPU limit, in cores. (500m = .5 cores) ResourceLimitsCPU ResourceName = "limits.cpu" // Memory limit, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) ResourceLimitsMemory ResourceName = "limits.memory" + // Local ephemeral storage limit, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) + ResourceLimitsEphemeralStorage ResourceName = "limits.ephemeral-storage" ) // A ResourceQuotaScope defines a filter that must match each object tracked by a quota diff --git a/staging/src/k8s.io/api/core/v1/resource.go b/staging/src/k8s.io/api/core/v1/resource.go index 0d1c1dccd29..08d1d3a3e69 100644 --- a/staging/src/k8s.io/api/core/v1/resource.go +++ b/staging/src/k8s.io/api/core/v1/resource.go @@ -61,3 +61,10 @@ func (self *ResourceList) StorageOverlay() *resource.Quantity { } return &resource.Quantity{} } + +func (self *ResourceList) StorageEphemeral() *resource.Quantity { + if val, ok := (*self)[ResourceEphemeralStorage]; ok { + return &val + } + return &resource.Quantity{} +} diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index 2444bf0a46d..172e3fc707f 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -3603,9 +3603,11 @@ const ( // Local Storage for scratch space, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) // The resource name for ResourceStorageScratch is alpha and it can change across releases. ResourceStorageScratch ResourceName = "storage.kubernetes.io/scratch" + // Local ephemeral storage, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) + // The resource name for ResourceEphemeralStorage is alpha and it can change across releases. + ResourceEphemeralStorage ResourceName = "ephemeral-storage" // NVIDIA GPU, in devices. Alpha, might change: although fractional and allowing values >1, only one whole device per node is assigned. ResourceNvidiaGPU ResourceName = "alpha.kubernetes.io/nvidia-gpu" - // Number of Pods that may be running on this Node: see ResourcePods ) const ( @@ -4251,10 +4253,14 @@ const ( ResourceRequestsMemory ResourceName = "requests.memory" // Storage request, in bytes ResourceRequestsStorage ResourceName = "requests.storage" + // Local ephemeral storage request, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) + ResourceRequestsEphemeralStorage ResourceName = "requests.ephemeral-storage" // CPU limit, in cores. (500m = .5 cores) ResourceLimitsCPU ResourceName = "limits.cpu" // Memory limit, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) ResourceLimitsMemory ResourceName = "limits.memory" + // Local ephemeral storage limit, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) + ResourceLimitsEphemeralStorage ResourceName = "limits.ephemeral-storage" ) // A ResourceQuotaScope defines a filter that must match each object tracked by a quota