mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Improve serviceaccount e2e setup
This commit is contained in:
parent
9441721fee
commit
1a92b8d11d
@ -21,8 +21,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
client "k8s.io/kubernetes/pkg/client/unversioned"
|
apierrors "k8s.io/kubernetes/pkg/api/errors"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
|
||||||
"k8s.io/kubernetes/pkg/util"
|
"k8s.io/kubernetes/pkg/util"
|
||||||
"k8s.io/kubernetes/pkg/util/wait"
|
"k8s.io/kubernetes/pkg/util/wait"
|
||||||
"k8s.io/kubernetes/plugin/pkg/admission/serviceaccount"
|
"k8s.io/kubernetes/plugin/pkg/admission/serviceaccount"
|
||||||
@ -40,21 +39,34 @@ var _ = Describe("ServiceAccounts", func() {
|
|||||||
// Standard get, update retry loop
|
// Standard get, update retry loop
|
||||||
expectNoError(wait.Poll(time.Millisecond*500, time.Second*10, func() (bool, error) {
|
expectNoError(wait.Poll(time.Millisecond*500, time.Second*10, func() (bool, error) {
|
||||||
By("getting the auto-created API token")
|
By("getting the auto-created API token")
|
||||||
tokenSelector := fields.SelectorFromSet(map[string]string{client.SecretType: string(api.SecretTypeServiceAccountToken)})
|
sa, err := f.Client.ServiceAccounts(f.Namespace.Name).Get("default")
|
||||||
options := api.ListOptions{FieldSelector: tokenSelector}
|
if apierrors.IsNotFound(err) {
|
||||||
secrets, err := f.Client.Secrets(f.Namespace.Name).List(options)
|
Logf("default service account was not found")
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
if len(secrets.Items) == 0 {
|
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
if len(secrets.Items) > 1 {
|
if err != nil {
|
||||||
return false, fmt.Errorf("Expected 1 token secret, got %d", len(secrets.Items))
|
Logf("error getting default service account: %v", err)
|
||||||
|
return false, err
|
||||||
}
|
}
|
||||||
tokenContent = string(secrets.Items[0].Data[api.ServiceAccountTokenKey])
|
if len(sa.Secrets) == 0 {
|
||||||
rootCAContent = string(secrets.Items[0].Data[api.ServiceAccountRootCAKey])
|
Logf("default service account has no secret references")
|
||||||
return true, nil
|
return false, nil
|
||||||
|
}
|
||||||
|
for _, secretRef := range sa.Secrets {
|
||||||
|
secret, err := f.Client.Secrets(f.Namespace.Name).Get(secretRef.Name)
|
||||||
|
if err != nil {
|
||||||
|
Logf("Error getting secret %s: %v", secretRef.Name, err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if secret.Type == api.SecretTypeServiceAccountToken {
|
||||||
|
tokenContent = string(secret.Data[api.ServiceAccountTokenKey])
|
||||||
|
rootCAContent = string(secret.Data[api.ServiceAccountRootCAKey])
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Logf("default service account has no secret references to valid service account tokens")
|
||||||
|
return false, nil
|
||||||
}))
|
}))
|
||||||
|
|
||||||
pod := &api.Pod{
|
pod := &api.Pod{
|
||||||
|
Loading…
Reference in New Issue
Block a user