mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 18:00:08 +00:00
integration:svm: refactor utils
- remove unused receiver from getETCDPathForResource() - flatten API discovery loop
This commit is contained in:
parent
728dc0d8c7
commit
faf5b3ec76
@ -389,7 +389,7 @@ func (svm *svmTest) createSecret(ctx context.Context, t *testing.T, name, namesp
|
|||||||
|
|
||||||
func (svm *svmTest) getRawSecretFromETCD(t *testing.T, name, namespace string) ([]byte, error) {
|
func (svm *svmTest) getRawSecretFromETCD(t *testing.T, name, namespace string) ([]byte, error) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
secretETCDPath := svm.getETCDPathForResource(t, svm.storageConfig.Prefix, "", "secrets", name, namespace)
|
secretETCDPath := getETCDPathForResource(t, svm.storageConfig.Prefix, "", "secrets", name, namespace)
|
||||||
etcdResponse, err := svm.readRawRecordFromETCD(t, secretETCDPath)
|
etcdResponse, err := svm.readRawRecordFromETCD(t, secretETCDPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to read %s from etcd: %w", secretETCDPath, err)
|
return nil, fmt.Errorf("failed to read %s from etcd: %w", secretETCDPath, err)
|
||||||
@ -397,7 +397,7 @@ func (svm *svmTest) getRawSecretFromETCD(t *testing.T, name, namespace string) (
|
|||||||
return etcdResponse.Kvs[0].Value, nil
|
return etcdResponse.Kvs[0].Value, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (svm *svmTest) getETCDPathForResource(t *testing.T, storagePrefix, group, resource, name, namespaceName string) string {
|
func getETCDPathForResource(t *testing.T, storagePrefix, group, resource, name, namespaceName string) string {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
groupResource := resource
|
groupResource := resource
|
||||||
if group != "" {
|
if group != "" {
|
||||||
@ -433,7 +433,7 @@ func (svm *svmTest) readRawRecordFromETCD(t *testing.T, path string) (*clientv3.
|
|||||||
|
|
||||||
func (svm *svmTest) getRawCRFromETCD(t *testing.T, name, namespace, crdGroup, crdName string) ([]byte, error) {
|
func (svm *svmTest) getRawCRFromETCD(t *testing.T, name, namespace, crdGroup, crdName string) ([]byte, error) {
|
||||||
t.Helper()
|
t.Helper()
|
||||||
crdETCDPath := svm.getETCDPathForResource(t, svm.storageConfig.Prefix, crdGroup, crdName, name, namespace)
|
crdETCDPath := getETCDPathForResource(t, svm.storageConfig.Prefix, crdGroup, crdName, name, namespace)
|
||||||
etcdResponse, err := svm.readRawRecordFromETCD(t, crdETCDPath)
|
etcdResponse, err := svm.readRawRecordFromETCD(t, crdETCDPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to read %s from etcd: %v", crdETCDPath, err)
|
t.Fatalf("failed to read %s from etcd: %v", crdETCDPath, err)
|
||||||
@ -807,7 +807,9 @@ func (svm *svmTest) waitForCRDUpdate(
|
|||||||
return false, fmt.Errorf("failed to get server groups and resources: %w", err)
|
return false, fmt.Errorf("failed to get server groups and resources: %w", err)
|
||||||
}
|
}
|
||||||
for _, api := range apiGroups {
|
for _, api := range apiGroups {
|
||||||
if api.Name == crdGroup {
|
if api.Name != crdGroup {
|
||||||
|
continue
|
||||||
|
}
|
||||||
var servingVersions []string
|
var servingVersions []string
|
||||||
for _, apiVersion := range api.Versions {
|
for _, apiVersion := range api.Versions {
|
||||||
servingVersions = append(servingVersions, apiVersion.Version)
|
servingVersions = append(servingVersions, apiVersion.Version)
|
||||||
@ -815,7 +817,10 @@ func (svm *svmTest) waitForCRDUpdate(
|
|||||||
sort.Strings(servingVersions)
|
sort.Strings(servingVersions)
|
||||||
|
|
||||||
// Check if the serving versions are as expected
|
// Check if the serving versions are as expected
|
||||||
if reflect.DeepEqual(expectedServingVersions, servingVersions) {
|
if !reflect.DeepEqual(expectedServingVersions, servingVersions) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
expectedHash := endpointsdiscovery.StorageVersionHash(crdGroup, expectedStorageVersion, crdKind)
|
expectedHash := endpointsdiscovery.StorageVersionHash(crdGroup, expectedStorageVersion, crdKind)
|
||||||
resourceList, err := svm.discoveryClient.ServerResourcesForGroupVersion(crdGroup + "/" + api.PreferredVersion.Version)
|
resourceList, err := svm.discoveryClient.ServerResourcesForGroupVersion(crdGroup + "/" + api.PreferredVersion.Version)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -824,15 +829,11 @@ func (svm *svmTest) waitForCRDUpdate(
|
|||||||
|
|
||||||
// Check if the storage version is as expected
|
// Check if the storage version is as expected
|
||||||
for _, resource := range resourceList.APIResources {
|
for _, resource := range resourceList.APIResources {
|
||||||
if resource.Kind == crdKind {
|
if resource.Kind == crdKind && resource.StorageVersionHash == expectedHash {
|
||||||
if resource.StorageVersionHash == expectedHash {
|
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false, nil
|
return false, nil
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user