Switch to go.etcd.io/etcd/client/v3

This commit is contained in:
Jordan Liggitt 2021-03-23 11:01:52 -04:00
parent ff2c614245
commit 2979c3325e
32 changed files with 73 additions and 67 deletions

View File

@ -26,7 +26,7 @@ import (
"strings"
"time"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc"
"k8s.io/klog/v2"
)

View File

@ -28,8 +28,8 @@ import (
"time"
"github.com/spf13/pflag"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc"
"k8s.io/apimachinery/pkg/api/errors"

View File

@ -29,7 +29,7 @@ import (
"time"
"github.com/pkg/errors"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
"k8s.io/client-go/tools/clientcmd"
certutil "k8s.io/client-go/util/cert"

View File

@ -28,8 +28,8 @@ import (
"time"
"github.com/pkg/errors"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/wait"

View File

@ -21,7 +21,7 @@ import (
"encoding/json"
"path"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
"k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"

View File

@ -23,8 +23,8 @@ import (
"time"
"github.com/google/uuid"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc"
"k8s.io/apiextensions-apiserver/pkg/cmd/server/options"
serveroptions "k8s.io/apiextensions-apiserver/pkg/cmd/server/options"

View File

@ -24,8 +24,8 @@ import (
"testing"
"time"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc"
"sigs.k8s.io/yaml"

View File

@ -26,8 +26,8 @@ import (
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc"
"sigs.k8s.io/yaml"

View File

@ -26,7 +26,7 @@ import (
"testing"
"time"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"

View File

@ -23,8 +23,8 @@ import (
"path"
"time"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"

View File

@ -22,7 +22,7 @@ import (
"sync"
"time"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
"k8s.io/klog/v2"
)

View File

@ -20,12 +20,13 @@ import (
"context"
"testing"
"go.etcd.io/etcd/clientv3"
etcdrpc "go.etcd.io/etcd/etcdserver/api/v3rpc/rpctypes"
"go.etcd.io/etcd/integration"
etcdrpc "go.etcd.io/etcd/api/v3/v3rpc/rpctypes"
clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/tests/v3/integration"
)
func TestCompact(t *testing.T) {
integration.BeforeTestExternal(t)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
defer cluster.Terminate(t)
client := cluster.RandClient()
@ -57,6 +58,7 @@ func TestCompact(t *testing.T) {
// - C1 compacts first. It will succeed.
// - C2 compacts after. It will fail. But it will get latest logical time, which should be larger by one.
func TestCompactConflict(t *testing.T) {
integration.BeforeTestExternal(t)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
defer cluster.Terminate(t)
client := cluster.RandClient()

View File

@ -19,7 +19,7 @@ package etcd3
import (
"k8s.io/apimachinery/pkg/api/errors"
etcdrpc "go.etcd.io/etcd/etcdserver/api/v3rpc/rpctypes"
etcdrpc "go.etcd.io/etcd/api/v3/v3rpc/rpctypes"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
)

View File

@ -18,8 +18,8 @@ package etcd3
import (
"fmt"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/mvcc/mvccpb"
"go.etcd.io/etcd/api/v3/mvccpb"
clientv3 "go.etcd.io/etcd/client/v3"
)
type event struct {

View File

@ -19,8 +19,8 @@ package etcd3
import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/mvcc/mvccpb"
"go.etcd.io/etcd/api/v3/mvccpb"
clientv3 "go.etcd.io/etcd/client/v3"
"testing"
)

View File

@ -21,7 +21,7 @@ import (
"sync"
"time"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
"k8s.io/apiserver/pkg/storage/etcd3/metrics"
)

View File

@ -19,7 +19,7 @@ package etcd3
import (
"fmt"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
"k8s.io/klog/v2"
)

View File

@ -28,7 +28,7 @@ import (
"strings"
"time"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/meta"

View File

@ -23,6 +23,8 @@ import (
"encoding/json"
"errors"
"fmt"
"io/ioutil"
"os"
"reflect"
"strconv"
"strings"
@ -30,9 +32,10 @@ import (
"sync/atomic"
"testing"
"github.com/coreos/pkg/capnslog"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/integration"
clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/tests/v3/integration"
"google.golang.org/grpc/grpclog"
apitesting "k8s.io/apimachinery/pkg/api/apitesting"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@ -64,7 +67,7 @@ func init() {
utilruntime.Must(example.AddToScheme(scheme))
utilruntime.Must(examplev1.AddToScheme(scheme))
capnslog.SetGlobalLogLevel(capnslog.CRITICAL)
clientv3.SetLogger(grpclog.NewLoggerV2(ioutil.Discard, ioutil.Discard, os.Stderr))
}
// prefixTransformer adds and verifies that all data has the correct prefix on its way in and out.
@ -980,6 +983,7 @@ func TestGuaranteedUpdateWithSuggestionAndConflict(t *testing.T) {
}
func TestTransformationFailure(t *testing.T) {
integration.BeforeTestExternal(t)
codec := apitesting.TestCodec(codecs, examplev1.SchemeGroupVersion)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
defer cluster.Terminate(t)
@ -1056,6 +1060,7 @@ func TestTransformationFailure(t *testing.T) {
}
func TestList(t *testing.T) {
integration.BeforeTestExternal(t)
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RemainingItemCount, true)()
codec := apitesting.TestCodec(codecs, examplev1.SchemeGroupVersion)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
@ -1552,6 +1557,7 @@ func TestList(t *testing.T) {
}
func TestListContinuation(t *testing.T) {
integration.BeforeTestExternal(t)
codec := apitesting.TestCodec(codecs, examplev1.SchemeGroupVersion)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
defer cluster.Terminate(t)
@ -1714,6 +1720,7 @@ func (r *clientRecorder) resetReads() {
}
func TestListContinuationWithFilter(t *testing.T) {
integration.BeforeTestExternal(t)
codec := apitesting.TestCodec(codecs, examplev1.SchemeGroupVersion)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
defer cluster.Terminate(t)
@ -1821,6 +1828,7 @@ func TestListContinuationWithFilter(t *testing.T) {
}
func TestListInconsistentContinuation(t *testing.T) {
integration.BeforeTestExternal(t)
codec := apitesting.TestCodec(codecs, examplev1.SchemeGroupVersion)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
defer cluster.Terminate(t)
@ -1967,6 +1975,7 @@ func TestListInconsistentContinuation(t *testing.T) {
}
func testSetup(t *testing.T) (context.Context, *store, *integration.ClusterV3) {
integration.BeforeTestExternal(t)
codec := apitesting.TestCodec(codecs, examplev1.SchemeGroupVersion)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
// As 30s is the default timeout for testing in glboal configuration,
@ -2007,6 +2016,7 @@ func testPropogateStoreWithKey(ctx context.Context, t *testing.T, store *store,
}
func TestPrefix(t *testing.T) {
integration.BeforeTestExternal(t)
codec := apitesting.TestCodec(codecs, examplev1.SchemeGroupVersion)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
defer cluster.Terminate(t)
@ -2176,6 +2186,7 @@ func (t *fancyTransformer) createObject() error {
}
func TestConsistentList(t *testing.T) {
integration.BeforeTestExternal(t)
codec := apitesting.TestCodec(codecs, examplev1.SchemeGroupVersion)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
defer cluster.Terminate(t)
@ -2287,6 +2298,7 @@ func TestCount(t *testing.T) {
func TestLeaseMaxObjectCount(t *testing.T) {
codec := apitesting.TestCodec(codecs, examplev1.SchemeGroupVersion)
integration.BeforeTestExternal(t)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
store := newStore(cluster.RandClient(), codec, newPod, "", &prefixTransformer{prefix: []byte(defaultTestPrefix)}, true, LeaseManagerConfig{
ReuseDurationSeconds: defaultLeaseReuseDurationSeconds,

View File

@ -21,8 +21,8 @@ import (
"k8s.io/apiserver/pkg/storage/storagebackend"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/integration"
clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/tests/v3/integration"
)
// EtcdTestServer encapsulates the datastructures needed to start local instance for testing
@ -44,6 +44,7 @@ func (m *EtcdTestServer) Terminate(t *testing.T) {
// NewUnsecuredEtcd3TestClientServer creates a new client and server for testing
func NewUnsecuredEtcd3TestClientServer(t *testing.T) (*EtcdTestServer, *storagebackend.Config) {
integration.BeforeTestExternal(t)
server := &EtcdTestServer{
v3Cluster: integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1}),
}

View File

@ -34,7 +34,7 @@ import (
"k8s.io/apiserver/pkg/storage/value"
utilflowcontrol "k8s.io/apiserver/pkg/util/flowcontrol"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
"k8s.io/klog/v2"
)

View File

@ -24,8 +24,8 @@ import (
"testing"
"time"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/integration"
clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/tests/v3/integration"
apitesting "k8s.io/apimachinery/pkg/api/apitesting"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@ -224,6 +224,7 @@ func TestWatchFromNoneZero(t *testing.T) {
func TestWatchError(t *testing.T) {
codec := &testCodec{apitesting.TestCodec(codecs, examplev1.SchemeGroupVersion)}
integration.BeforeTestExternal(t)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1})
defer cluster.Terminate(t)
invalidStore := newStore(cluster.RandClient(), codec, newPod, "", &prefixTransformer{prefix: []byte("test!")}, true, NewDefaultLeaseManagerConfig())
@ -337,6 +338,7 @@ func TestProgressNotify(t *testing.T) {
Size: 1,
WatchProgressNotifyInterval: time.Second,
}
integration.BeforeTestExternal(t)
cluster := integration.NewClusterV3(t, clusterConfig)
defer cluster.Terminate(t)
store := newStore(cluster.RandClient(), codec, newPod, "", &prefixTransformer{prefix: []byte(defaultTestPrefix)}, false, NewDefaultLeaseManagerConfig())

View File

@ -27,8 +27,8 @@ import (
"time"
grpcprom "github.com/grpc-ecosystem/go-grpc-prometheus"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc"
"k8s.io/apimachinery/pkg/runtime"

View File

@ -24,8 +24,8 @@ import (
"path/filepath"
"testing"
"go.etcd.io/etcd/integration"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
"go.etcd.io/etcd/tests/v3/integration"
apitesting "k8s.io/apimachinery/pkg/api/apitesting"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@ -59,6 +59,7 @@ func TestTLSConnection(t *testing.T) {
TrustedCAFile: caFile,
}
integration.BeforeTestExternal(t)
cluster := integration.NewClusterV3(t, &integration.ClusterConfig{
Size: 1,
ClientTLS: tlsInfo,

View File

@ -32,7 +32,7 @@ import (
"testing"
"time"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
admissionreviewv1 "k8s.io/api/admission/v1"
"k8s.io/api/admission/v1beta1"
admissionregistrationv1 "k8s.io/api/admissionregistration/v1"

View File

@ -29,8 +29,8 @@ import (
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"

View File

@ -25,7 +25,7 @@ import (
"strings"
"testing"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
v1 "k8s.io/api/core/v1"
apiequality "k8s.io/apimachinery/pkg/api/equality"

View File

@ -27,8 +27,8 @@ import (
"testing"
"time"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/clientv3/concurrency"
clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/client/v3/concurrency"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"

View File

@ -27,7 +27,6 @@ import (
"strings"
"time"
"go.etcd.io/etcd/clientv3"
"google.golang.org/grpc/grpclog"
"k8s.io/klog/v2"

View File

@ -29,7 +29,7 @@ import (
"k8s.io/klog/v2"
"go.etcd.io/etcd/clientv3"
clientv3 "go.etcd.io/etcd/client/v3"
"k8s.io/component-base/metrics/legacyregistry"
"sigs.k8s.io/yaml"

View File

@ -19,12 +19,13 @@ package scale
import (
"context"
"encoding/json"
"io/ioutil"
"path"
"strings"
"testing"
"github.com/coreos/pkg/capnslog"
_ "go.etcd.io/etcd/etcdserver/api/v3rpc" // Force package logger init.
clientv3 "go.etcd.io/etcd/client/v3"
"google.golang.org/grpc/grpclog"
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
@ -203,21 +204,9 @@ var (
)
func setupWithOptions(t *testing.T, instanceOptions *apitesting.TestServerInstanceOptions, flags []string) (client kubernetes.Interface, tearDown func()) {
clientv3.SetLogger(grpclog.NewLoggerV2(ioutil.Discard, ioutil.Discard, ioutil.Discard))
result := apitesting.StartTestServerOrDie(t, instanceOptions, flags, framework.SharedEtcd())
// TODO: Disable logging here until we resolve teardown issues which result in
// massive log spam. Another path forward would be to refactor
// StartTestServerOrDie to work with the etcd instance already started by the
// integration test scripts.
// See https://github.com/kubernetes/kubernetes/issues/49489.
repo, err := capnslog.GetRepoLogger("go.etcd.io/etcd")
if err != nil {
t.Fatalf("couldn't configure logging: %v", err)
}
repo.SetLogLevel(map[string]capnslog.LogLevel{
"etcdserver/api/v3rpc": capnslog.CRITICAL,
})
result.ClientConfig.AcceptContentTypes = ""
result.ClientConfig.ContentType = ""
result.ClientConfig.NegotiatedSerializer = nil

View File

@ -29,8 +29,8 @@ import (
clientset "k8s.io/client-go/kubernetes"
coreclient "k8s.io/client-go/kubernetes/typed/core/v1"
"go.etcd.io/etcd/clientv3"
"go.etcd.io/etcd/pkg/transport"
"go.etcd.io/etcd/client/pkg/v3/transport"
clientv3 "go.etcd.io/etcd/client/v3"
)
// DeletePodOrErrorf deletes a pod or fails with a call to t.Errorf.