Graduate storageVersionHash field in the discovery doc to beta
This commit is contained in:
		@@ -166,20 +166,17 @@ go_test(
 | 
				
			|||||||
        "//staging/src/k8s.io/apimachinery/pkg/version:go_default_library",
 | 
					        "//staging/src/k8s.io/apimachinery/pkg/version:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/authorization/authorizerfactory:go_default_library",
 | 
					        "//staging/src/k8s.io/apiserver/pkg/authorization/authorizerfactory:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/endpoints/openapi:go_default_library",
 | 
					        "//staging/src/k8s.io/apiserver/pkg/endpoints/openapi:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/features:go_default_library",
 | 
					 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
 | 
					        "//staging/src/k8s.io/apiserver/pkg/server:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
 | 
					        "//staging/src/k8s.io/apiserver/pkg/server/options:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/server/resourceconfig:go_default_library",
 | 
					        "//staging/src/k8s.io/apiserver/pkg/server/resourceconfig:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/server/storage:go_default_library",
 | 
					        "//staging/src/k8s.io/apiserver/pkg/server/storage:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/storage/etcd/testing:go_default_library",
 | 
					        "//staging/src/k8s.io/apiserver/pkg/storage/etcd/testing:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
 | 
					 | 
				
			||||||
        "//staging/src/k8s.io/client-go/discovery:go_default_library",
 | 
					        "//staging/src/k8s.io/client-go/discovery:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/client-go/informers:go_default_library",
 | 
					        "//staging/src/k8s.io/client-go/informers:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/client-go/kubernetes:go_default_library",
 | 
					        "//staging/src/k8s.io/client-go/kubernetes:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
 | 
					        "//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/client-go/rest:go_default_library",
 | 
					        "//staging/src/k8s.io/client-go/rest:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/client-go/testing:go_default_library",
 | 
					        "//staging/src/k8s.io/client-go/testing:go_default_library",
 | 
				
			||||||
        "//staging/src/k8s.io/component-base/featuregate/testing:go_default_library",
 | 
					 | 
				
			||||||
        "//vendor/github.com/go-openapi/loads:go_default_library",
 | 
					        "//vendor/github.com/go-openapi/loads:go_default_library",
 | 
				
			||||||
        "//vendor/github.com/go-openapi/spec:go_default_library",
 | 
					        "//vendor/github.com/go-openapi/spec:go_default_library",
 | 
				
			||||||
        "//vendor/github.com/go-openapi/strfmt:go_default_library",
 | 
					        "//vendor/github.com/go-openapi/strfmt:go_default_library",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,7 +21,6 @@ import (
 | 
				
			|||||||
	"crypto/tls"
 | 
						"crypto/tls"
 | 
				
			||||||
	"encoding/json"
 | 
						"encoding/json"
 | 
				
			||||||
	"io/ioutil"
 | 
						"io/ioutil"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/apis/networking"
 | 
					 | 
				
			||||||
	"net"
 | 
						"net"
 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
	"net/http/httptest"
 | 
						"net/http/httptest"
 | 
				
			||||||
@@ -37,22 +36,20 @@ import (
 | 
				
			|||||||
	"k8s.io/apimachinery/pkg/util/sets"
 | 
						"k8s.io/apimachinery/pkg/util/sets"
 | 
				
			||||||
	"k8s.io/apimachinery/pkg/version"
 | 
						"k8s.io/apimachinery/pkg/version"
 | 
				
			||||||
	"k8s.io/apiserver/pkg/authorization/authorizerfactory"
 | 
						"k8s.io/apiserver/pkg/authorization/authorizerfactory"
 | 
				
			||||||
	"k8s.io/apiserver/pkg/features"
 | 
					 | 
				
			||||||
	genericapiserver "k8s.io/apiserver/pkg/server"
 | 
						genericapiserver "k8s.io/apiserver/pkg/server"
 | 
				
			||||||
	"k8s.io/apiserver/pkg/server/options"
 | 
						"k8s.io/apiserver/pkg/server/options"
 | 
				
			||||||
	"k8s.io/apiserver/pkg/server/resourceconfig"
 | 
						"k8s.io/apiserver/pkg/server/resourceconfig"
 | 
				
			||||||
	serverstorage "k8s.io/apiserver/pkg/server/storage"
 | 
						serverstorage "k8s.io/apiserver/pkg/server/storage"
 | 
				
			||||||
	etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing"
 | 
						etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing"
 | 
				
			||||||
	utilfeature "k8s.io/apiserver/pkg/util/feature"
 | 
					 | 
				
			||||||
	"k8s.io/client-go/discovery"
 | 
						"k8s.io/client-go/discovery"
 | 
				
			||||||
	"k8s.io/client-go/informers"
 | 
						"k8s.io/client-go/informers"
 | 
				
			||||||
	"k8s.io/client-go/kubernetes"
 | 
						"k8s.io/client-go/kubernetes"
 | 
				
			||||||
	"k8s.io/client-go/kubernetes/fake"
 | 
						"k8s.io/client-go/kubernetes/fake"
 | 
				
			||||||
	restclient "k8s.io/client-go/rest"
 | 
						restclient "k8s.io/client-go/rest"
 | 
				
			||||||
	featuregatetesting "k8s.io/component-base/featuregate/testing"
 | 
					 | 
				
			||||||
	"k8s.io/kubernetes/pkg/api/legacyscheme"
 | 
						"k8s.io/kubernetes/pkg/api/legacyscheme"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/api/testapi"
 | 
						"k8s.io/kubernetes/pkg/api/testapi"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/apis/batch"
 | 
						"k8s.io/kubernetes/pkg/apis/batch"
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/pkg/apis/networking"
 | 
				
			||||||
	apisstorage "k8s.io/kubernetes/pkg/apis/storage"
 | 
						apisstorage "k8s.io/kubernetes/pkg/apis/storage"
 | 
				
			||||||
	kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
 | 
						kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/master/reconcilers"
 | 
						"k8s.io/kubernetes/pkg/master/reconcilers"
 | 
				
			||||||
@@ -378,7 +375,6 @@ func TestAPIVersionOfDiscoveryEndpoints(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// This test doesn't cover the apiregistration and apiextensions group, as they are installed by other apiservers.
 | 
					// This test doesn't cover the apiregistration and apiextensions group, as they are installed by other apiservers.
 | 
				
			||||||
func TestStorageVersionHashes(t *testing.T) {
 | 
					func TestStorageVersionHashes(t *testing.T) {
 | 
				
			||||||
	defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.StorageVersionHash, true)()
 | 
					 | 
				
			||||||
	master, etcdserver, _, _ := newMaster(t)
 | 
						master, etcdserver, _, _ := newMaster(t)
 | 
				
			||||||
	defer etcdserver.Terminate(t)
 | 
						defer etcdserver.Terminate(t)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -423,7 +419,6 @@ func TestStorageVersionHashes(t *testing.T) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestStorageVersionHashEqualities(t *testing.T) {
 | 
					func TestStorageVersionHashEqualities(t *testing.T) {
 | 
				
			||||||
	defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.StorageVersionHash, true)()
 | 
					 | 
				
			||||||
	master, etcdserver, _, assert := newMaster(t)
 | 
						master, etcdserver, _, assert := newMaster(t)
 | 
				
			||||||
	defer etcdserver.Terminate(t)
 | 
						defer etcdserver.Terminate(t)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -94,6 +94,7 @@ const (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// owner: @caesarxuchao
 | 
						// owner: @caesarxuchao
 | 
				
			||||||
	// alpha: v1.14
 | 
						// alpha: v1.14
 | 
				
			||||||
 | 
						// beta: v1.15
 | 
				
			||||||
	//
 | 
						//
 | 
				
			||||||
	// Allow apiservers to expose the storage version hash in the discovery
 | 
						// Allow apiservers to expose the storage version hash in the discovery
 | 
				
			||||||
	// document.
 | 
						// document.
 | 
				
			||||||
@@ -141,7 +142,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
 | 
				
			|||||||
	APIListChunking:         {Default: true, PreRelease: featuregate.Beta},
 | 
						APIListChunking:         {Default: true, PreRelease: featuregate.Beta},
 | 
				
			||||||
	DryRun:                  {Default: true, PreRelease: featuregate.Beta},
 | 
						DryRun:                  {Default: true, PreRelease: featuregate.Beta},
 | 
				
			||||||
	ServerSideApply:         {Default: false, PreRelease: featuregate.Alpha},
 | 
						ServerSideApply:         {Default: false, PreRelease: featuregate.Alpha},
 | 
				
			||||||
	StorageVersionHash:      {Default: false, PreRelease: featuregate.Alpha},
 | 
						StorageVersionHash:      {Default: true, PreRelease: featuregate.Beta},
 | 
				
			||||||
	WinOverlay:              {Default: false, PreRelease: featuregate.Alpha},
 | 
						WinOverlay:              {Default: false, PreRelease: featuregate.Alpha},
 | 
				
			||||||
	WinDSR:                  {Default: false, PreRelease: featuregate.Alpha},
 | 
						WinDSR:                  {Default: false, PreRelease: featuregate.Alpha},
 | 
				
			||||||
	WatchBookmark:           {Default: false, PreRelease: featuregate.Alpha},
 | 
						WatchBookmark:           {Default: false, PreRelease: featuregate.Alpha},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,7 +55,7 @@ run_assert_short_name_tests() {
 | 
				
			|||||||
  output_message=$(kubectl get --raw=/api/v1)
 | 
					  output_message=$(kubectl get --raw=/api/v1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ## test if a short name is exported during discovery
 | 
					  ## test if a short name is exported during discovery
 | 
				
			||||||
  kube::test::if_has_string "${output_message}" '{"name":"configmaps","singularName":"","namespaced":true,"kind":"ConfigMap","verbs":\["create","delete","deletecollection","get","list","patch","update","watch"\],"shortNames":\["cm"\]}'
 | 
					  kube::test::if_has_string "${output_message}" '{"name":"configmaps","singularName":"","namespaced":true,"kind":"ConfigMap","verbs":\["create","delete","deletecollection","get","list","patch","update","watch"\],"shortNames":\["cm"\],"storageVersionHash":'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  set +o nounset
 | 
					  set +o nounset
 | 
				
			||||||
  set +o errexit
 | 
					  set +o errexit
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,7 +40,7 @@ var _ = SIGDescribe("Discovery", func() {
 | 
				
			|||||||
		setupServerCert(namespaceName, serviceName)
 | 
							setupServerCert(namespaceName, serviceName)
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ginkgo.It("[Feature:StorageVersionHash] Custom resource should have storage version hash", func() {
 | 
						ginkgo.It("Custom resource should have storage version hash", func() {
 | 
				
			||||||
		testcrd, err := crd.CreateTestCRD(f)
 | 
							testcrd, err := crd.CreateTestCRD(f)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user