Skip to content

Commit 3c2b41a

Browse files
authored
Merge pull request #3458 from zeborg/clusterawsadm-capi-test-import
Remove CAPI test package import in `clusterawsadm`
2 parents f06d44a + ce25579 commit 3c2b41a

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

cmd/clusterawsadm/ami/helper.go

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"fmt"
2121
"io"
2222
"net/http"
23+
"strconv"
2324
"strings"
2425

2526
"github.com/aws/aws-sdk-go/aws"
@@ -29,7 +30,6 @@ import (
2930
"github.com/pkg/errors"
3031

3132
ec2service "sigs.k8s.io/cluster-api-provider-aws/pkg/cloud/services/ec2"
32-
"sigs.k8s.io/cluster-api/test/framework/kubernetesversions"
3333
)
3434

3535
const (
@@ -61,6 +61,37 @@ func getimageRegionList() []string {
6161
}
6262
}
6363

64+
// LatestPatchRelease returns the latest patch release matching.
65+
func LatestPatchRelease(searchVersion string) (string, error) {
66+
searchSemVer, err := semver.Make(strings.TrimPrefix(searchVersion, tagPrefix))
67+
if err != nil {
68+
return "", err
69+
}
70+
resp, err := http.Get(fmt.Sprintf(latestStableReleaseURL, "-"+strconv.Itoa(int(searchSemVer.Major))+"."+strconv.Itoa(int(searchSemVer.Minor))))
71+
if err != nil {
72+
return "", err
73+
}
74+
defer resp.Body.Close()
75+
b, err := io.ReadAll(resp.Body)
76+
if err != nil {
77+
return "", err
78+
}
79+
80+
return strings.TrimSpace(string(b)), nil
81+
}
82+
83+
// PreviousMinorRelease returns the latest patch release for the previous version
84+
// of Kubernetes, e.g. v1.19.1 returns v1.18.8 as of Sep 2020.
85+
func PreviousMinorRelease(searchVersion string) (string, error) {
86+
semVer, err := semver.Make(strings.TrimPrefix(searchVersion, tagPrefix))
87+
if err != nil {
88+
return "", err
89+
}
90+
semVer.Minor--
91+
92+
return LatestPatchRelease(semVer.String())
93+
}
94+
6495
// getSupportedKubernetesVersions returns all possible k8s versions till last nth kubernetes release.
6596
func getSupportedKubernetesVersions(lastNReleases int) ([]string, error) {
6697
currentVersion, err := latestStableRelease()
@@ -76,7 +107,7 @@ func getSupportedKubernetesVersions(lastNReleases int) ([]string, error) {
76107
versionPatches = append(versionPatches, currentVersion)
77108

78109
for lastNReleases != 0 {
79-
currentVersion, err = kubernetesversions.PreviousMinorRelease(currentVersion)
110+
currentVersion, err = PreviousMinorRelease(currentVersion)
80111
if err != nil {
81112
return nil, err
82113
}

0 commit comments

Comments
 (0)