mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 15:25:57 +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) {
|
||||
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)
|
||||
if err != nil {
|
||||
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
|
||||
}
|
||||
|
||||
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()
|
||||
groupResource := resource
|
||||
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) {
|
||||
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)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to read %s from etcd: %v", crdETCDPath, err)
|
||||
@ -807,29 +807,30 @@ func (svm *svmTest) waitForCRDUpdate(
|
||||
return false, fmt.Errorf("failed to get server groups and resources: %w", err)
|
||||
}
|
||||
for _, api := range apiGroups {
|
||||
if api.Name == crdGroup {
|
||||
var servingVersions []string
|
||||
for _, apiVersion := range api.Versions {
|
||||
servingVersions = append(servingVersions, apiVersion.Version)
|
||||
}
|
||||
sort.Strings(servingVersions)
|
||||
if api.Name != crdGroup {
|
||||
continue
|
||||
}
|
||||
var servingVersions []string
|
||||
for _, apiVersion := range api.Versions {
|
||||
servingVersions = append(servingVersions, apiVersion.Version)
|
||||
}
|
||||
sort.Strings(servingVersions)
|
||||
|
||||
// Check if the serving versions are as expected
|
||||
if reflect.DeepEqual(expectedServingVersions, servingVersions) {
|
||||
expectedHash := endpointsdiscovery.StorageVersionHash(crdGroup, expectedStorageVersion, crdKind)
|
||||
resourceList, err := svm.discoveryClient.ServerResourcesForGroupVersion(crdGroup + "/" + api.PreferredVersion.Version)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("failed to get server resources for group version: %w", err)
|
||||
}
|
||||
// Check if the serving versions are as expected
|
||||
if !reflect.DeepEqual(expectedServingVersions, servingVersions) {
|
||||
continue
|
||||
}
|
||||
|
||||
// Check if the storage version is as expected
|
||||
for _, resource := range resourceList.APIResources {
|
||||
if resource.Kind == crdKind {
|
||||
if resource.StorageVersionHash == expectedHash {
|
||||
return true, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
expectedHash := endpointsdiscovery.StorageVersionHash(crdGroup, expectedStorageVersion, crdKind)
|
||||
resourceList, err := svm.discoveryClient.ServerResourcesForGroupVersion(crdGroup + "/" + api.PreferredVersion.Version)
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("failed to get server resources for group version: %w", err)
|
||||
}
|
||||
|
||||
// Check if the storage version is as expected
|
||||
for _, resource := range resourceList.APIResources {
|
||||
if resource.Kind == crdKind && resource.StorageVersionHash == expectedHash {
|
||||
return true, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user