Skip to content

Commit 86bf1df

Browse files
authored
template-fix (#611)
fix
1 parent e537c61 commit 86bf1df

File tree

4 files changed

+38
-26
lines changed

4 files changed

+38
-26
lines changed

actions/clusters/clusters.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package clusters
22

33
import (
4+
"context"
45
"errors"
56
"fmt"
67
"strings"
8+
"time"
79

810
v3 "github.com/rancher/rancher/pkg/apis/management.cattle.io/v3"
911
apisV1 "github.com/rancher/rancher/pkg/apis/provisioning.cattle.io/v1"
@@ -15,13 +17,15 @@ import (
1517
v1 "github.com/rancher/shepherd/clients/rancher/v1"
1618
"github.com/rancher/shepherd/extensions/clusters"
1719
"github.com/rancher/shepherd/extensions/defaults"
20+
"github.com/rancher/shepherd/extensions/defaults/namespaces"
1821
"github.com/rancher/shepherd/extensions/defaults/stevetypes"
1922
"github.com/rancher/shepherd/extensions/steve"
2023
"github.com/rancher/tests/actions/machinepools"
2124
"github.com/sirupsen/logrus"
2225
corev1 "k8s.io/api/core/v1"
2326
"k8s.io/apimachinery/pkg/api/resource"
2427
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
28+
kwait "k8s.io/apimachinery/pkg/util/wait"
2529
)
2630

2731
const (
@@ -983,3 +987,32 @@ func DeleteInitMachine(client *rancher.Client, clusterID string) error {
983987

984988
return nil
985989
}
990+
991+
func GetClusterByName(client *rancher.Client, clusterName string) (*v1.SteveAPIObject, error) {
992+
var cluster *v1.SteveAPIObject
993+
var clientErr error
994+
995+
err := kwait.PollUntilContextTimeout(context.TODO(), 10*time.Second, defaults.FiveMinuteTimeout, false, func(ctx context.Context) (done bool, err error) {
996+
adminClient, adminClientErr := rancher.NewClient(client.RancherConfig.AdminToken, client.Session)
997+
if adminClientErr != nil {
998+
logrus.Warningf("Unable to get admin cluster client (%s) retrying", clusterName)
999+
clientErr = adminClientErr
1000+
return false, nil
1001+
}
1002+
1003+
clientErr = nil
1004+
cluster, err = adminClient.Steve.SteveType(stevetypes.Provisioning).ByID(namespaces.FleetDefault + "/" + clusterName)
1005+
if err != nil {
1006+
logrus.Warningf("Unable to get cluster (%s) retrying", clusterName)
1007+
return false, nil
1008+
}
1009+
1010+
return true, nil
1011+
})
1012+
if err != nil {
1013+
logrus.Warning(clientErr)
1014+
return nil, err
1015+
}
1016+
1017+
return cluster, nil
1018+
}

actions/provisioning/creates.go

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -186,33 +186,12 @@ func CreateProvisioningCluster(client *rancher.Client, provider Provider, creden
186186
}
187187

188188
logrus.Debugf("Get cluster object (%s)", clusterName)
189-
var createdCluster *v1.SteveAPIObject
190-
var clientErr error
191-
err = kwait.PollUntilContextTimeout(context.TODO(), 10*time.Second, defaults.FiveMinuteTimeout, false, func(ctx context.Context) (done bool, err error) {
192-
adminClient, err := rancher.NewClient(client.RancherConfig.AdminToken, client.Session)
193-
if err != nil {
194-
logrus.Warningf("Unable to get admin cluster client (%s) retrying", clusterName)
195-
clientErr = err
196-
return false, nil
197-
}
198-
199-
createdCluster, err = adminClient.Steve.SteveType(stevetypes.Provisioning).ByID(namespaces.FleetDefault + "/" + clusterName)
200-
if err != nil {
201-
logrus.Warningf("Unable to get cluster (%s) retrying", clusterName)
202-
return false, nil
203-
}
204-
205-
return true, nil
206-
})
189+
createdCluster, err := clusters.GetClusterByName(client, clusterName)
207190
if err != nil {
208-
return createdCluster, err
209-
}
210-
211-
if clientErr != nil && createdCluster == nil {
212-
return createdCluster, clientErr
191+
return nil, err
213192
}
214193

215-
return createdCluster, clientErr
194+
return createdCluster, nil
216195
}
217196

218197
// CreateProvisioningCustomCluster provisions a non-rke1 cluster using a 3rd party client for its nodes, then runs verify checks

validation/provisioning/k3s/template_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func TestTemplate(t *testing.T) {
112112
err = charts.InstallTemplateChart(k.client, k.templateConfig.Repo.ObjectMeta.Name, k.templateConfig.TemplateName, templateClusterName, k8sversions[0], k.cloudCredentials)
113113
require.NoError(t, err)
114114

115-
cluster, err := k.client.Steve.SteveType(stevetypes.Provisioning).ByID("fleet-default/" + templateClusterName)
115+
cluster, err := clusters.GetClusterByName(k.client, templateClusterName)
116116
require.NoError(t, err)
117117

118118
logrus.Infof("Verifying the cluster is ready (%s)", cluster.Name)

validation/provisioning/rke2/template_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func TestTemplate(t *testing.T) {
112112
err = charts.InstallTemplateChart(r.client, r.templateConfig.Repo.ObjectMeta.Name, r.templateConfig.TemplateName, templateClusterName, k8sversions[0], r.cloudCredentials)
113113
require.NoError(t, err)
114114

115-
cluster, err := r.client.Steve.SteveType(stevetypes.Provisioning).ByID("fleet-default/" + templateClusterName)
115+
cluster, err := clusters.GetClusterByName(r.client, templateClusterName)
116116
require.NoError(t, err)
117117

118118
logrus.Infof("Verifying the cluster is ready (%s)", cluster.Name)

0 commit comments

Comments
 (0)