mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-28 05:36:08 +00:00
DRA: treat AdminAccess as a new feature gated field
Using the "normal" logic for a feature gated field simplifies the implementation of the feature gate. There is one (entirely theoretic!) problem with updating from 1.31: if a claim was allocated in 1.31 with admin access, the status field was not set because it didn't exist yet. If a driver now follows the current definition of "unset = off", then it will not grant admin access even though it should. This is theoretic because drivers are starting to support admin access with 1.32, so there shouldn't be any claim where this problem could occur.
This commit is contained in:
7
api/openapi-spec/swagger.json
generated
7
api/openapi-spec/swagger.json
generated
@@ -15524,7 +15524,7 @@
|
||||
"description": "DeviceRequest is a request for devices required for a claim. This is typically a request for a single resource like a device, but can also ask for several identical devices.\n\nA DeviceClassName is currently required. Clients must check that it is indeed set. It's absence indicates that something changed in a way that is not supported by the client yet, in which case it must refuse to handle the request.",
|
||||
"properties": {
|
||||
"adminAccess": {
|
||||
"description": "AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate.",
|
||||
"description": "AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"allocationMode": {
|
||||
@@ -15563,7 +15563,7 @@
|
||||
"description": "DeviceRequestAllocationResult contains the allocation result for one request.",
|
||||
"properties": {
|
||||
"adminAccess": {
|
||||
"description": "AdminAccess is a copy of the AdminAccess value in the request which caused this device to be allocated.\n\nNew allocations are required to have this set when the DRAAdminAccess feature gate is enabled. Old allocations made by Kubernetes 1.31 do not have it yet. Clients which want to support Kubernetes 1.31 need to look up the request and retrieve the value from there if this field is not set.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate.",
|
||||
"description": "AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"device": {
|
||||
@@ -15587,8 +15587,7 @@
|
||||
"request",
|
||||
"driver",
|
||||
"pool",
|
||||
"device",
|
||||
"adminAccess"
|
||||
"device"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
|
@@ -480,8 +480,7 @@
|
||||
"description": "DeviceRequest is a request for devices required for a claim. This is typically a request for a single resource like a device, but can also ask for several identical devices.\n\nA DeviceClassName is currently required. Clients must check that it is indeed set. It's absence indicates that something changed in a way that is not supported by the client yet, in which case it must refuse to handle the request.",
|
||||
"properties": {
|
||||
"adminAccess": {
|
||||
"default": false,
|
||||
"description": "AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate.",
|
||||
"description": "AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"allocationMode": {
|
||||
@@ -527,7 +526,7 @@
|
||||
"description": "DeviceRequestAllocationResult contains the allocation result for one request.",
|
||||
"properties": {
|
||||
"adminAccess": {
|
||||
"description": "AdminAccess is a copy of the AdminAccess value in the request which caused this device to be allocated.\n\nNew allocations are required to have this set when the DRAAdminAccess feature gate is enabled. Old allocations made by Kubernetes 1.31 do not have it yet. Clients which want to support Kubernetes 1.31 need to look up the request and retrieve the value from there if this field is not set.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate.",
|
||||
"description": "AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.\n\nThis is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"device": {
|
||||
@@ -555,8 +554,7 @@
|
||||
"request",
|
||||
"driver",
|
||||
"pool",
|
||||
"device",
|
||||
"adminAccess"
|
||||
"device"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
|
Reference in New Issue
Block a user