Skip to content

Commit

Permalink
api: add oldestKubeletVersion
Browse files Browse the repository at this point in the history
Signed-off-by: Peter Hunt <[email protected]>
  • Loading branch information
haircommander committed Nov 5, 2024
1 parent 31eea82 commit b43906d
Show file tree
Hide file tree
Showing 22 changed files with 283 additions and 21 deletions.
3 changes: 3 additions & 0 deletions api/hypershift/v1beta1/hosted_controlplane.go
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,9 @@ type HostedControlPlaneStatus struct {

// NodeCount tracks the number of nodes in the HostedControlPlane.
NodeCount *int `json:"nodeCount,omitempty"`

// OldestKubeletVersion tracks the oldest kubelet version in a hosted cluster
OldestKubeletVersion *string `json:"oldestKubeletVersion,omitempty"`
}

type APIEndpoint struct {
Expand Down
5 changes: 5 additions & 0 deletions api/hypershift/v1beta1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -2933,13 +2933,43 @@ spec:
rule: self == oldSelf
subnetID:
description: |-
SubnetID is the subnet ID of an existing subnet where the load balancer for node egress will be created. This
subnet is expected to be a subnet within the VNET specified in VnetID. This subnet is expected to exist under the
same subscription as SubscriptionID.
In ARO HCP, managed services will create the aforementioned load balancer in ResourceGroupName.
subnetID is the subnet ID of an existing subnet where the nodes in the nodepool will be created. This can be a
different subnet than the one listed in the HostedCluster, HostedCluster.Spec.Platform.Azure.SubnetID, but must
exist in the same network, HostedCluster.Spec.Platform.Azure.VnetID, and must exist under the same subscription ID,
HostedCluster.Spec.Platform.Azure.SubscriptionID.
subnetID is immutable once set.
The subnetID should be in the format `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}`.
The subscriptionId in the encryptionSetID must be a valid UUID. It should be 5 groups of hyphen separated hexadecimal characters in the form 8-4-4-4-12.
The resourceGroupName should be between 1 and 90 characters, consisting only of alphanumeric characters, hyphens, underscores, periods and paranthesis and must not end with a period (.) character.
The vnetName should be between 2 and 64 characters, consisting only of alphanumeric characters, hyphens, underscores and periods and must not end with either a period (.) or hyphen (-) character.
The subnetName should be between 1 and 80 characters, consisting only of alphanumeric characters, hyphens and underscores and must start with an alphanumeric character and must not end with a period (.) or hyphen (-) character.
maxLength: 355
minLength: 1
type: string
x-kubernetes-validations:
- message: encryptionSetID must be in the format `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}`
rule: size(self.split('/')) == 11 && self.matches('^/subscriptions/.*/resourceGroups/.*/providers/Microsoft.Network/virtualNetworks/.*/subnets/.*$')
- message: The resourceGroupName should be between 1 and 90
characters, consisting only of alphanumeric characters,
hyphens, underscores, periods and paranthesis
rule: self.split('/')[4].matches('[a-zA-Z0-9-_\\(\\)\\.]{1,90}')
- message: the resourceGroupName in the subnetID must not
end with a period (.) character
rule: '!self.split(''/'')[4].endsWith(''.'')'
- message: The vnetName should be between 2 and 64 characters,
consisting only of alphanumeric characters, hyphens, underscores
and periods
rule: self.split('/')[8].matches('[a-zA-Z0-9-_\\.]{2,64}')
- message: the vnetName in the subnetID must not end with
either a period (.) or hyphen (-) character
rule: '!self.split(''/'')[8].endsWith(''.'') && !self.split(''/'')[8].endsWith(''-'')'
- message: The subnetName should be between 1 and 80 characters,
consisting only of alphanumeric characters, hyphens and
underscores and must start with an alphanumeric character
rule: self.split('/')[10].matches('[a-zA-Z0-9][a-zA-Z0-9-_\\.]{0,79}')
- message: the subnetName in the subnetID must not end with
a period (.) or hyphen (-) character
rule: '!self.split(''/'')[10].endsWith(''.'') && !self.split(''/'')[10].endsWith(''-'')'
- message: SubnetID is immutable
rule: self == oldSelf
subscriptionID:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2915,13 +2915,43 @@ spec:
rule: self == oldSelf
subnetID:
description: |-
SubnetID is the subnet ID of an existing subnet where the load balancer for node egress will be created. This
subnet is expected to be a subnet within the VNET specified in VnetID. This subnet is expected to exist under the
same subscription as SubscriptionID.
In ARO HCP, managed services will create the aforementioned load balancer in ResourceGroupName.
subnetID is the subnet ID of an existing subnet where the nodes in the nodepool will be created. This can be a
different subnet than the one listed in the HostedCluster, HostedCluster.Spec.Platform.Azure.SubnetID, but must
exist in the same network, HostedCluster.Spec.Platform.Azure.VnetID, and must exist under the same subscription ID,
HostedCluster.Spec.Platform.Azure.SubscriptionID.
subnetID is immutable once set.
The subnetID should be in the format `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}`.
The subscriptionId in the encryptionSetID must be a valid UUID. It should be 5 groups of hyphen separated hexadecimal characters in the form 8-4-4-4-12.
The resourceGroupName should be between 1 and 90 characters, consisting only of alphanumeric characters, hyphens, underscores, periods and paranthesis and must not end with a period (.) character.
The vnetName should be between 2 and 64 characters, consisting only of alphanumeric characters, hyphens, underscores and periods and must not end with either a period (.) or hyphen (-) character.
The subnetName should be between 1 and 80 characters, consisting only of alphanumeric characters, hyphens and underscores and must start with an alphanumeric character and must not end with a period (.) or hyphen (-) character.
maxLength: 355
minLength: 1
type: string
x-kubernetes-validations:
- message: encryptionSetID must be in the format `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}`
rule: size(self.split('/')) == 11 && self.matches('^/subscriptions/.*/resourceGroups/.*/providers/Microsoft.Network/virtualNetworks/.*/subnets/.*$')
- message: The resourceGroupName should be between 1 and 90
characters, consisting only of alphanumeric characters,
hyphens, underscores, periods and paranthesis
rule: self.split('/')[4].matches('[a-zA-Z0-9-_\\(\\)\\.]{1,90}')
- message: the resourceGroupName in the subnetID must not
end with a period (.) character
rule: '!self.split(''/'')[4].endsWith(''.'')'
- message: The vnetName should be between 2 and 64 characters,
consisting only of alphanumeric characters, hyphens, underscores
and periods
rule: self.split('/')[8].matches('[a-zA-Z0-9-_\\.]{2,64}')
- message: the vnetName in the subnetID must not end with
either a period (.) or hyphen (-) character
rule: '!self.split(''/'')[8].endsWith(''.'') && !self.split(''/'')[8].endsWith(''-'')'
- message: The subnetName should be between 1 and 80 characters,
consisting only of alphanumeric characters, hyphens and
underscores and must start with an alphanumeric character
rule: self.split('/')[10].matches('[a-zA-Z0-9][a-zA-Z0-9-_\\.]{0,79}')
- message: the subnetName in the subnetID must not end with
a period (.) or hyphen (-) character
rule: '!self.split(''/'')[10].endsWith(''.'') && !self.split(''/'')[10].endsWith(''-'')'
- message: SubnetID is immutable
rule: self == oldSelf
subscriptionID:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3917,6 +3917,10 @@ spec:
with the name of an identity provider defined on the HostedCluster.
This is populated after the infrastructure is ready.
type: string
oldestKubeletVersion:
description: OldestKubeletVersion tracks the oldest kubelet version
in a hosted cluster
type: string
platform:
description: Platform contains platform-specific status of the HostedCluster
properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4162,6 +4162,10 @@ spec:
with the name of an identity provider defined on the HostedCluster.
This is populated after the infrastructure is ready.
type: string
oldestKubeletVersion:
description: OldestKubeletVersion tracks the oldest kubelet version
in a hosted cluster
type: string
platform:
description: Platform contains platform-specific status of the HostedCluster
properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3926,6 +3926,10 @@ spec:
with the name of an identity provider defined on the HostedCluster.
This is populated after the infrastructure is ready.
type: string
oldestKubeletVersion:
description: OldestKubeletVersion tracks the oldest kubelet version
in a hosted cluster
type: string
platform:
description: Platform contains platform-specific status of the HostedCluster
properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4147,6 +4147,10 @@ spec:
with the name of an identity provider defined on the HostedCluster.
This is populated after the infrastructure is ready.
type: string
oldestKubeletVersion:
description: OldestKubeletVersion tracks the oldest kubelet version
in a hosted cluster
type: string
platform:
description: Platform contains platform-specific status of the HostedCluster
properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2877,13 +2877,43 @@ spec:
rule: self == oldSelf
subnetID:
description: |-
SubnetID is the subnet ID of an existing subnet where the load balancer for node egress will be created. This
subnet is expected to be a subnet within the VNET specified in VnetID. This subnet is expected to exist under the
same subscription as SubscriptionID.

In ARO HCP, managed services will create the aforementioned load balancer in ResourceGroupName.
subnetID is the subnet ID of an existing subnet where the nodes in the nodepool will be created. This can be a
different subnet than the one listed in the HostedCluster, HostedCluster.Spec.Platform.Azure.SubnetID, but must
exist in the same network, HostedCluster.Spec.Platform.Azure.VnetID, and must exist under the same subscription ID,
HostedCluster.Spec.Platform.Azure.SubscriptionID.
subnetID is immutable once set.
The subnetID should be in the format `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}`.
The subscriptionId in the encryptionSetID must be a valid UUID. It should be 5 groups of hyphen separated hexadecimal characters in the form 8-4-4-4-12.
The resourceGroupName should be between 1 and 90 characters, consisting only of alphanumeric characters, hyphens, underscores, periods and paranthesis and must not end with a period (.) character.
The vnetName should be between 2 and 64 characters, consisting only of alphanumeric characters, hyphens, underscores and periods and must not end with either a period (.) or hyphen (-) character.
The subnetName should be between 1 and 80 characters, consisting only of alphanumeric characters, hyphens and underscores and must start with an alphanumeric character and must not end with a period (.) or hyphen (-) character.
maxLength: 355
minLength: 1
type: string
x-kubernetes-validations:
- message: encryptionSetID must be in the format `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}`
rule: size(self.split('/')) == 11 && self.matches('^/subscriptions/.*/resourceGroups/.*/providers/Microsoft.Network/virtualNetworks/.*/subnets/.*$')
- message: The resourceGroupName should be between 1 and 90
characters, consisting only of alphanumeric characters,
hyphens, underscores, periods and paranthesis
rule: self.split('/')[4].matches('[a-zA-Z0-9-_\\(\\)\\.]{1,90}')
- message: the resourceGroupName in the subnetID must not
end with a period (.) character
rule: '!self.split(''/'')[4].endsWith(''.'')'
- message: The vnetName should be between 2 and 64 characters,
consisting only of alphanumeric characters, hyphens, underscores
and periods
rule: self.split('/')[8].matches('[a-zA-Z0-9-_\\.]{2,64}')
- message: the vnetName in the subnetID must not end with
either a period (.) or hyphen (-) character
rule: '!self.split(''/'')[8].endsWith(''.'') && !self.split(''/'')[8].endsWith(''-'')'
- message: The subnetName should be between 1 and 80 characters,
consisting only of alphanumeric characters, hyphens and
underscores and must start with an alphanumeric character
rule: self.split('/')[10].matches('[a-zA-Z0-9][a-zA-Z0-9-_\\.]{0,79}')
- message: the subnetName in the subnetID must not end with
a period (.) or hyphen (-) character
rule: '!self.split(''/'')[10].endsWith(''.'') && !self.split(''/'')[10].endsWith(''-'')'
- message: SubnetID is immutable
rule: self == oldSelf
subscriptionID:
Expand Down Expand Up @@ -3893,6 +3923,10 @@ spec:
with the name of an identity provider defined on the HostedCluster.
This is populated after the infrastructure is ready.
type: string
oldestKubeletVersion:
description: OldestKubeletVersion tracks the oldest kubelet version
in a hosted cluster
type: string
platform:
description: Platform contains platform-specific status of the HostedCluster
properties:
Expand Down
Loading

0 comments on commit b43906d

Please sign in to comment.