Skip to content

Commit 641561e

Browse files
build(deps): Bump sigs.k8s.io/cluster-api-provider-aws/v2 from 2.7.1 to 2.8.1 in /hack/third-party/capa (#1089)
Bumps [sigs.k8s.io/cluster-api-provider-aws/v2](https://github.com/kubernetes-sigs/cluster-api-provider-aws) from 2.7.1 to 2.8.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/releases">sigs.k8s.io/cluster-api-provider-aws/v2's releases</a>.</em></p> <blockquote> <h2>v2.8.1</h2> <h1>Release notes for Cluster API Provider AWS (CAPA) v2.8.1</h1> <p><a href="https://cluster-api-aws.sigs.k8s.io/">Documentation</a></p> <blockquote> <p>There is no v2.8.0 GitHub release due to issues during the release process.</p> </blockquote> <h1>Changelog since v2.7.1</h1> <h2>Urgent Upgrade Notes</h2> <h3>(No, really, you MUST read this before you upgrade)</h3> <ul> <li><em><strong>Action required</strong></em> Bump CAPI to v1.9.z !! ACTION REQUIRED BEFORE UPGRADING !! If you are using the AWSManagedControlPlane to provision EKS clusters and you do not have a spec.Version specified in such resource (meaning you are relying on the default that AWS provides), you will need to either: a) explicitly set such <code>spec.Version</code> field before upgrading CAPA or b) disable the MachineSetPreflightChecks in your cluster either: b1) by setting this core CAPI feature gate to <code>false</code> b2) or by disabling it via the relevant annotation on all the machineSets belonging to said cluster (follow this guide on how to do this: <a href="https://cluster-api.sigs.k8s.io/tasks/experimental-features/machineset-preflight-checks">https://cluster-api.sigs.k8s.io/tasks/experimental-features/machineset-preflight-checks</a>). This is necessary as core CAPI 1.9 introduces a feature gate change, setting MachineSetPreflightChecks=true, which in turn relies on the presence of spec.Version and status.Version on the AWSManagedControlPlane object. We are planning a future refactor of these API fields in v1beta3 (<a href="https://redirect.github.com/kubernetes-sigs/cluster-api-provider-aws/issues/3853">kubernetes-sigs/cluster-api-provider-aws#3853</a>). Other places where you can find details on this are: <ul> <li><a href="https://redirect.github.com/kubernetes-sigs/cluster-api-provider-aws/issues/5225">kubernetes-sigs/cluster-api-provider-aws#5225</a></li> <li><a href="https://redirect.github.com/kubernetes-sigs/cluster-api/issues/11117">kubernetes-sigs/cluster-api#11117</a></li> <li><a href="https://kubernetes.slack.com/archives/CD6U2V71N/p1739783013734149">https://kubernetes.slack.com/archives/CD6U2V71N/p1739783013734149</a> (<a href="https://redirect.github.com/kubernetes-sigs/cluster-api-provider-aws/issues/5209">#5209</a>, <a href="https://github.com/damdo"><code>@​damdo</code></a>)</li> </ul> </li> <li><em><strong>Action required</strong></em> From this release onwards we recommend not creating clusters using the classic ELB (which is the default for the API). Classic ELB support is deprected and support will be removed in a future version. For new &amp; existing clusters that use a classic elb AND do not specify the health check protocol then the protocol will be changed/set to TCP instead of SSL. If you want to use a classic elb with an SSL healthcheck then you will need to specify the cipher suites to use in the KubeadmControlPlane:</li> </ul> <pre lang="yaml"><code>apiVersion: controlplane.cluster.x-k8s.io/v1beta1 kind: KubeadmControlPlane metadata: name: &quot;${CLUSTER_NAME}-control-plane&quot; spec: kubeadmConfigSpec: clusterConfiguration: apiServer: extraArgs: cloud-provider: external <pre><code> # This is needed for Kubernetes v1.30+ since else it uses the Go defaults which don't # work with AWS classic load balancers, see # kubernetes-sigs/cluster-api-provider-aws#5139. If you use # another load balancer type such as NLB, this is not needed. # # The list consists of the secure ciphers from Go 1.23.3, plus some less secure </code></pre> <p>&lt;/tr&gt;&lt;/table&gt;<br /> </code></pre></p> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/commit/49c75acbea08e311e48c1089c78d65ac5aabe42c"><code>49c75ac</code></a> Merge pull request <a href="https://redirect.github.com/kubernetes-sigs/cluster-api-provider-aws/issues/5428">#5428</a> from damdo/bump-cloudbuild-gcb-image-go-1.23</li> <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/commit/468aa37703893de7659cb3cd7effb7a2f4c73dd7"><code>468aa37</code></a> cloudbuild: bump gcb image to get go 1.23</li> <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/commit/29ef6c7f7dff5cf4c87904a9ea0b465d02092cb0"><code>29ef6c7</code></a> Merge pull request <a href="https://redirect.github.com/kubernetes-sigs/cluster-api-provider-aws/issues/5426">#5426</a> from mzazrivec/fix_doc_links</li> <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/commit/dea4012dff11314637c1db03a0ecc7b4ae56bab4"><code>dea4012</code></a> Merge pull request <a href="https://redirect.github.com/kubernetes-sigs/cluster-api-provider-aws/issues/5422">#5422</a> from nrb/retry-boskos-checkouts</li> <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/commit/6c938899a0265656e5744eb6e908304856d8ada3"><code>6c93889</code></a> Merge pull request <a href="https://redirect.github.com/kubernetes-sigs/cluster-api-provider-aws/issues/5418">#5418</a> from richardcase/fix_efs_e2e_test</li> <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/commit/1e93dc77b237cab3f2fe18a48ef0aaee07212d90"><code>1e93dc7</code></a> Retry boskos account checkouts</li> <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/commit/eb3ff6ead2d8d60ef26c6aa6642d0f702b98ec28"><code>eb3ff6e</code></a> refactor: remove old setup logic for AWSCluster</li> <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/commit/b7fcdffcd122ed72ae0b177af943b90f603e31fa"><code>b7fcdff</code></a> fix: efs e2e test breaking</li> <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/commit/5b02ba0098a31df716b45404d27276693d60ca12"><code>5b02ba0</code></a> Merge pull request <a href="https://redirect.github.com/kubernetes-sigs/cluster-api-provider-aws/issues/5425">#5425</a> from richardcase/5424_ensurepaused_fixed</li> <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/commit/afcd1184505d6a82c468326972ea930797b9a277"><code>afcd118</code></a> Fix links to superseded document</li> <li>Additional commits viewable in <a href="https://github.com/kubernetes-sigs/cluster-api-provider-aws/compare/v2.7.1...v2.8.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sigs.k8s.io/cluster-api-provider-aws/v2&package-manager=go_modules&previous-version=2.7.1&new-version=2.8.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jimmi Dyson <[email protected]>
1 parent cb7066d commit 641561e

File tree

8 files changed

+166
-82
lines changed

8 files changed

+166
-82
lines changed

api/external/sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2/awsmachine_types.go

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2121

2222
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
23-
"sigs.k8s.io/cluster-api/errors"
2423
)
2524

2625
const (
@@ -54,6 +53,16 @@ const (
5453
IgnitionStorageTypeOptionUnencryptedUserData = IgnitionStorageTypeOption("UnencryptedUserData")
5554
)
5655

56+
// NetworkInterfaceType is the type of network interface.
57+
type NetworkInterfaceType string
58+
59+
const (
60+
// NetworkInterfaceTypeENI means the network interface type is Elastic Network Interface.
61+
NetworkInterfaceTypeENI NetworkInterfaceType = NetworkInterfaceType("interface")
62+
// NetworkInterfaceTypeEFAWithENAInterface means the network interface type is Elastic Fabric Adapter with Elastic Network Adapter.
63+
NetworkInterfaceTypeEFAWithENAInterface NetworkInterfaceType = NetworkInterfaceType("efa")
64+
)
65+
5766
// AWSMachineSpec defines the desired state of an Amazon EC2 instance.
5867
type AWSMachineSpec struct {
5968
// ProviderID is the unique identifier as specified by the cloud provider.
@@ -153,6 +162,12 @@ type AWSMachineSpec struct {
153162
// +kubebuilder:validation:MaxItems=2
154163
NetworkInterfaces []string `json:"networkInterfaces,omitempty"`
155164

165+
// NetworkInterfaceType is the interface type of the primary network Interface.
166+
// If not specified, AWS applies a default value.
167+
// +kubebuilder:validation:Enum=interface;efa
168+
// +optional
169+
NetworkInterfaceType NetworkInterfaceType `json:"networkInterfaceType,omitempty"`
170+
156171
// UncompressedUserData specify whether the user data is gzip-compressed before it is sent to ec2 instance.
157172
// cloud-init has built-in support for gzip-compressed user data
158173
// user data stored in aws secret manager is always gzip-compressed.
@@ -197,6 +212,15 @@ type AWSMachineSpec struct {
197212
// CapacityReservationID specifies the target Capacity Reservation into which the instance should be launched.
198213
// +optional
199214
CapacityReservationID *string `json:"capacityReservationId,omitempty"`
215+
216+
// MarketType specifies the type of market for the EC2 instance. Valid values include:
217+
// "OnDemand" (default): The instance runs as a standard OnDemand instance.
218+
// "Spot": The instance runs as a Spot instance. When SpotMarketOptions is provided, the marketType defaults to "Spot".
219+
// "CapacityBlock": The instance utilizes pre-purchased compute capacity (capacity blocks) with AWS Capacity Reservations.
220+
// If this value is selected, CapacityReservationID must be specified to identify the target reservation.
221+
// If marketType is not specified and spotMarketOptions is provided, the marketType defaults to "Spot".
222+
// +optional
223+
MarketType MarketType `json:"marketType,omitempty"`
200224
}
201225

202226
// CloudInit defines options related to the bootstrapping systems where
@@ -352,7 +376,7 @@ type AWSMachineStatus struct {
352376
// can be added as events to the Machine object and/or logged in the
353377
// controller's output.
354378
// +optional
355-
FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`
379+
FailureReason *string `json:"failureReason,omitempty"`
356380

357381
// FailureMessage will be set in the event that there is a terminal problem
358382
// reconciling the Machine and will contain a more verbose string suitable

api/external/sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2/awsmanagedcluster_types.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ type AWSManagedClusterStatus struct {
3838
// FailureDomains specifies a list fo available availability zones that can be used
3939
// +optional
4040
FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`
41+
42+
// Conditions defines current service state of the AWSManagedCluster.
43+
// +optional
44+
Conditions clusterv1.Conditions `json:"conditions,omitempty"`
4145
}
4246

4347
// +kubebuilder:object:root=true
@@ -69,3 +73,15 @@ type AWSManagedClusterList struct {
6973
func init() {
7074
SchemeBuilder.Register(&AWSManagedCluster{}, &AWSManagedClusterList{})
7175
}
76+
77+
// GetConditions returns the observations of the operational state of the
78+
// AWSManagedCluster resource.
79+
func (r *AWSManagedCluster) GetConditions() clusterv1.Conditions {
80+
return r.Status.Conditions
81+
}
82+
83+
// SetConditions sets the underlying service state of the AWSManagedCluster to
84+
// the predescribed clusterv1.Conditions.
85+
func (r *AWSManagedCluster) SetConditions(conditions clusterv1.Conditions) {
86+
r.Status.Conditions = conditions
87+
}

api/external/sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2/types.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,9 @@ type Instance struct {
217217
// Specifies ENIs attached to instance
218218
NetworkInterfaces []string `json:"networkInterfaces,omitempty"`
219219

220+
// NetworkInterfaceType is the interface type of the primary network Interface.
221+
NetworkInterfaceType NetworkInterfaceType `json:"networkInterfaceType,omitempty"`
222+
220223
// The tags associated with the instance.
221224
Tags map[string]string `json:"tags,omitempty"`
222225

@@ -261,8 +264,32 @@ type Instance struct {
261264
// CapacityReservationID specifies the target Capacity Reservation into which the instance should be launched.
262265
// +optional
263266
CapacityReservationID *string `json:"capacityReservationId,omitempty"`
267+
268+
// MarketType specifies the type of market for the EC2 instance. Valid values include:
269+
// "OnDemand" (default): The instance runs as a standard OnDemand instance.
270+
// "Spot": The instance runs as a Spot instance. When SpotMarketOptions is provided, the marketType defaults to "Spot".
271+
// "CapacityBlock": The instance utilizes pre-purchased compute capacity (capacity blocks) with AWS Capacity Reservations.
272+
// If this value is selected, CapacityReservationID must be specified to identify the target reservation.
273+
// If marketType is not specified and spotMarketOptions is provided, the marketType defaults to "Spot".
274+
// +optional
275+
MarketType MarketType `json:"marketType,omitempty"`
264276
}
265277

278+
// MarketType describes the market type of an Instance
279+
// +kubebuilder:validation:Enum:=OnDemand;Spot;CapacityBlock
280+
type MarketType string
281+
282+
const (
283+
// MarketTypeOnDemand is a MarketType enum value
284+
MarketTypeOnDemand MarketType = "OnDemand"
285+
286+
// MarketTypeSpot is a MarketType enum value
287+
MarketTypeSpot MarketType = "Spot"
288+
289+
// MarketTypeCapacityBlock is a MarketType enum value
290+
MarketTypeCapacityBlock MarketType = "CapacityBlock"
291+
)
292+
266293
// InstanceMetadataState describes the state of InstanceMetadataOptions.HttpEndpoint and InstanceMetadataOptions.InstanceMetadataTags
267294
type InstanceMetadataState string
268295

api/external/sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2/zz_generated.deepcopy.go

Lines changed: 8 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

charts/cluster-api-runtime-extensions-nutanix/defaultclusterclasses/aws-cluster-class.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,10 @@ metadata:
6666
name: aws-quick-start
6767
spec:
6868
template:
69-
spec: {}
69+
spec:
70+
controlPlaneLoadBalancer:
71+
healthCheckProtocol: HTTPS
72+
loadBalancerType: nlb
7073
---
7174
apiVersion: controlplane.cluster.x-k8s.io/v1beta1
7275
kind: KubeadmControlPlaneTemplate

hack/third-party/capa/go.mod

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ go 1.22.0
77

88
toolchain go1.23.1
99

10-
require sigs.k8s.io/cluster-api-provider-aws/v2 v2.7.1
10+
require sigs.k8s.io/cluster-api-provider-aws/v2 v2.8.1
1111

1212
require (
1313
github.com/aws/aws-sdk-go v1.55.5 // indirect
@@ -19,6 +19,7 @@ require (
1919
github.com/evanphx/json-patch v5.9.0+incompatible // indirect
2020
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
2121
github.com/fsnotify/fsnotify v1.7.0 // indirect
22+
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
2223
github.com/go-logr/logr v1.4.2 // indirect
2324
github.com/go-openapi/jsonpointer v0.20.2 // indirect
2425
github.com/go-openapi/jsonreference v0.20.4 // indirect
@@ -39,33 +40,34 @@ require (
3940
github.com/modern-go/reflect2 v1.0.2 // indirect
4041
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
4142
github.com/pkg/errors v0.9.1 // indirect
42-
github.com/prometheus/client_golang v1.19.0 // indirect
43+
github.com/prometheus/client_golang v1.19.1 // indirect
4344
github.com/prometheus/client_model v0.6.1 // indirect
44-
github.com/prometheus/common v0.52.2 // indirect
45-
github.com/prometheus/procfs v0.13.0 // indirect
45+
github.com/prometheus/common v0.55.0 // indirect
46+
github.com/prometheus/procfs v0.15.1 // indirect
4647
github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace // indirect
47-
golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect
48-
golang.org/x/net v0.27.0 // indirect
49-
golang.org/x/oauth2 v0.21.0 // indirect
50-
golang.org/x/sys v0.22.0 // indirect
51-
golang.org/x/term v0.22.0 // indirect
52-
golang.org/x/text v0.16.0 // indirect
48+
github.com/x448/float16 v0.8.4 // indirect
49+
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
50+
golang.org/x/net v0.33.0 // indirect
51+
golang.org/x/oauth2 v0.24.0 // indirect
52+
golang.org/x/sys v0.28.0 // indirect
53+
golang.org/x/term v0.27.0 // indirect
54+
golang.org/x/text v0.21.0 // indirect
5355
golang.org/x/time v0.5.0 // indirect
5456
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
55-
google.golang.org/protobuf v1.34.1 // indirect
57+
google.golang.org/protobuf v1.35.1 // indirect
5658
gopkg.in/inf.v0 v0.9.1 // indirect
5759
gopkg.in/yaml.v2 v2.4.0 // indirect
5860
gopkg.in/yaml.v3 v3.0.1 // indirect
59-
k8s.io/api v0.30.5 // indirect
60-
k8s.io/apiextensions-apiserver v0.30.5 // indirect
61-
k8s.io/apimachinery v0.30.5 // indirect
62-
k8s.io/client-go v0.30.5 // indirect
63-
k8s.io/component-base v0.30.5 // indirect
64-
k8s.io/klog/v2 v2.120.1 // indirect
61+
k8s.io/api v0.31.3 // indirect
62+
k8s.io/apiextensions-apiserver v0.31.3 // indirect
63+
k8s.io/apimachinery v0.31.3 // indirect
64+
k8s.io/client-go v0.31.3 // indirect
65+
k8s.io/component-base v0.31.3 // indirect
66+
k8s.io/klog/v2 v2.130.1 // indirect
6567
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
66-
k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect
67-
sigs.k8s.io/cluster-api v1.8.4 // indirect
68-
sigs.k8s.io/controller-runtime v0.18.5 // indirect
68+
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
69+
sigs.k8s.io/cluster-api v1.9.4 // indirect
70+
sigs.k8s.io/controller-runtime v0.19.4 // indirect
6971
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
7072
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
7173
sigs.k8s.io/yaml v1.4.0 // indirect

0 commit comments

Comments
 (0)