mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Merge pull request #78985 from liggitt/envelope-non-linux-test
Fix spurious .sock files running envelope unit tests
This commit is contained in:
commit
773ed38d67
@ -24,7 +24,10 @@ import (
|
|||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"runtime"
|
||||||
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
@ -54,7 +57,7 @@ func TestKMSPluginLateStart(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
||||||
}
|
}
|
||||||
defer f.server.Stop()
|
defer f.Stop()
|
||||||
|
|
||||||
data := []byte("test data")
|
data := []byte("test data")
|
||||||
_, err = service.Encrypt(data)
|
_, err = service.Encrypt(data)
|
||||||
@ -140,7 +143,7 @@ func TestTimeouts(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
||||||
}
|
}
|
||||||
defer f.server.Stop()
|
defer f.Stop()
|
||||||
kmsPluginWG.Done()
|
kmsPluginWG.Done()
|
||||||
// Keeping plugin up to process requests.
|
// Keeping plugin up to process requests.
|
||||||
testCompletedWG.Wait()
|
testCompletedWG.Wait()
|
||||||
@ -195,7 +198,7 @@ func TestIntermittentConnectionLoss(t *testing.T) {
|
|||||||
|
|
||||||
// Stop KMS Plugin - simulating connection loss
|
// Stop KMS Plugin - simulating connection loss
|
||||||
t.Log("KMS Plugin is stopping")
|
t.Log("KMS Plugin is stopping")
|
||||||
f.server.Stop()
|
f.Stop()
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
|
|
||||||
wg1.Add(1)
|
wg1.Add(1)
|
||||||
@ -218,7 +221,7 @@ func TestIntermittentConnectionLoss(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
||||||
}
|
}
|
||||||
defer f.server.Stop()
|
defer f.Stop()
|
||||||
t.Log("Restarted KMS Plugin")
|
t.Log("Restarted KMS Plugin")
|
||||||
|
|
||||||
wg2.Wait()
|
wg2.Wait()
|
||||||
@ -235,7 +238,7 @@ func TestUnsupportedVersion(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to start test KMS provider server, error: %ver", err)
|
t.Fatalf("failed to start test KMS provider server, error: %ver", err)
|
||||||
}
|
}
|
||||||
defer f.server.Stop()
|
defer f.Stop()
|
||||||
|
|
||||||
s, err := NewGRPCService(endpoint, 1*time.Second)
|
s, err := NewGRPCService(endpoint, 1*time.Second)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -273,7 +276,7 @@ func TestGRPCService(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
||||||
}
|
}
|
||||||
defer f.server.Stop()
|
defer f.Stop()
|
||||||
|
|
||||||
// Create the gRPC client service.
|
// Create the gRPC client service.
|
||||||
service, err := NewGRPCService(endpoint, 1*time.Second)
|
service, err := NewGRPCService(endpoint, 1*time.Second)
|
||||||
@ -309,7 +312,7 @@ func TestGRPCServiceConcurrentAccess(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
||||||
}
|
}
|
||||||
defer f.server.Stop()
|
defer f.Stop()
|
||||||
|
|
||||||
// Create the gRPC client service.
|
// Create the gRPC client service.
|
||||||
service, err := NewGRPCService(endpoint, 15*time.Second)
|
service, err := NewGRPCService(endpoint, 15*time.Second)
|
||||||
@ -365,7 +368,7 @@ func TestInvalidConfiguration(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
t.Fatalf("failed to start test KMS provider server, error: %v", err)
|
||||||
}
|
}
|
||||||
defer f.server.Stop()
|
defer f.Stop()
|
||||||
|
|
||||||
invalidConfigs := []struct {
|
invalidConfigs := []struct {
|
||||||
name string
|
name string
|
||||||
@ -399,7 +402,7 @@ func startFakeKMSProvider(version, endpoint string) (*fakeKMSPlugin, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
s := grpc.NewServer()
|
s := grpc.NewServer()
|
||||||
f := &fakeKMSPlugin{apiVersion: version, server: s}
|
f := &fakeKMSPlugin{apiVersion: version, server: s, sockFile: sockFile}
|
||||||
kmsapi.RegisterKeyManagementServiceServer(s, f)
|
kmsapi.RegisterKeyManagementServiceServer(s, f)
|
||||||
go s.Serve(listener)
|
go s.Serve(listener)
|
||||||
return f, nil
|
return f, nil
|
||||||
@ -410,6 +413,16 @@ func startFakeKMSProvider(version, endpoint string) (*fakeKMSPlugin, error) {
|
|||||||
type fakeKMSPlugin struct {
|
type fakeKMSPlugin struct {
|
||||||
apiVersion string
|
apiVersion string
|
||||||
server *grpc.Server
|
server *grpc.Server
|
||||||
|
sockFile string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *fakeKMSPlugin) Stop() {
|
||||||
|
// Stop the server
|
||||||
|
s.server.Stop()
|
||||||
|
// If this isn't a Linux abstract namespace socket, or if we're on a non-linux platform, clean up the socket file
|
||||||
|
if !strings.HasPrefix(s.sockFile, "@") || runtime.GOOS != "linux" {
|
||||||
|
os.Remove(s.sockFile)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *fakeKMSPlugin) Version(ctx context.Context, request *kmsapi.VersionRequest) (*kmsapi.VersionResponse, error) {
|
func (s *fakeKMSPlugin) Version(ctx context.Context, request *kmsapi.VersionRequest) (*kmsapi.VersionResponse, error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user