mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
Merge pull request #77139 from cmluciano/cml/ingressnetv1beta1default
ingress: use networking api group for default storage of ingress
This commit is contained in:
commit
83f769c2a3
@ -54,6 +54,7 @@ declare -a resources=(
|
|||||||
"clusterroles.rbac.authorization.k8s.io"
|
"clusterroles.rbac.authorization.k8s.io"
|
||||||
"clusterrolebindings.rbac.authorization.k8s.io"
|
"clusterrolebindings.rbac.authorization.k8s.io"
|
||||||
"networkpolicies.networking.k8s.io"
|
"networkpolicies.networking.k8s.io"
|
||||||
|
"ingresses.networking.k8s.io"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Find all the namespaces.
|
# Find all the namespaces.
|
||||||
|
@ -46,6 +46,7 @@ var SpecialDefaultResourcePrefixes = map[schema.GroupResource]string{
|
|||||||
{Group: "", Resource: "nodes"}: "minions",
|
{Group: "", Resource: "nodes"}: "minions",
|
||||||
{Group: "", Resource: "services"}: "services/specs",
|
{Group: "", Resource: "services"}: "services/specs",
|
||||||
{Group: "extensions", Resource: "ingresses"}: "ingress",
|
{Group: "extensions", Resource: "ingresses"}: "ingress",
|
||||||
|
{Group: "networking.k8s.io", Resource: "ingresses"}: "ingress",
|
||||||
{Group: "extensions", Resource: "podsecuritypolicies"}: "podsecuritypolicy",
|
{Group: "extensions", Resource: "podsecuritypolicies"}: "podsecuritypolicy",
|
||||||
{Group: "policy", Resource: "podsecuritypolicies"}: "podsecuritypolicy",
|
{Group: "policy", Resource: "podsecuritypolicies"}: "podsecuritypolicy",
|
||||||
}
|
}
|
||||||
@ -54,6 +55,7 @@ func NewStorageFactoryConfig() *StorageFactoryConfig {
|
|||||||
|
|
||||||
resources := []schema.GroupVersionResource{
|
resources := []schema.GroupVersionResource{
|
||||||
batch.Resource("cronjobs").WithVersion("v1beta1"),
|
batch.Resource("cronjobs").WithVersion("v1beta1"),
|
||||||
|
networking.Resource("ingresses").WithVersion("v1beta1"),
|
||||||
}
|
}
|
||||||
// add csinodes if CSINodeInfo feature gate is enabled
|
// add csinodes if CSINodeInfo feature gate is enabled
|
||||||
if utilfeature.DefaultFeatureGate.Enabled(features.CSINodeInfo) {
|
if utilfeature.DefaultFeatureGate.Enabled(features.CSINodeInfo) {
|
||||||
@ -110,7 +112,7 @@ func (c *completedStorageFactoryConfig) New() (*serverstorage.DefaultStorageFact
|
|||||||
storageFactory.AddCohabitatingResources(apps.Resource("replicasets"), extensions.Resource("replicasets"))
|
storageFactory.AddCohabitatingResources(apps.Resource("replicasets"), extensions.Resource("replicasets"))
|
||||||
storageFactory.AddCohabitatingResources(api.Resource("events"), events.Resource("events"))
|
storageFactory.AddCohabitatingResources(api.Resource("events"), events.Resource("events"))
|
||||||
storageFactory.AddCohabitatingResources(policy.Resource("podsecuritypolicies"), extensions.Resource("podsecuritypolicies"))
|
storageFactory.AddCohabitatingResources(policy.Resource("podsecuritypolicies"), extensions.Resource("podsecuritypolicies"))
|
||||||
storageFactory.AddCohabitatingResources(extensions.Resource("ingresses"), networking.Resource("ingresses"))
|
storageFactory.AddCohabitatingResources(networking.Resource("ingresses"), extensions.Resource("ingresses"))
|
||||||
|
|
||||||
for _, override := range c.EtcdServersOverrides {
|
for _, override := range c.EtcdServersOverrides {
|
||||||
tokens := strings.Split(override, "#")
|
tokens := strings.Split(override, "#")
|
||||||
|
@ -143,6 +143,7 @@ go_test(
|
|||||||
"//pkg/api/legacyscheme:go_default_library",
|
"//pkg/api/legacyscheme:go_default_library",
|
||||||
"//pkg/api/testapi:go_default_library",
|
"//pkg/api/testapi:go_default_library",
|
||||||
"//pkg/apis/batch:go_default_library",
|
"//pkg/apis/batch:go_default_library",
|
||||||
|
"//pkg/apis/networking:go_default_library",
|
||||||
"//pkg/apis/storage:go_default_library",
|
"//pkg/apis/storage:go_default_library",
|
||||||
"//pkg/generated/openapi:go_default_library",
|
"//pkg/generated/openapi:go_default_library",
|
||||||
"//pkg/kubelet/client:go_default_library",
|
"//pkg/kubelet/client:go_default_library",
|
||||||
|
@ -21,6 +21,7 @@ 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"
|
||||||
@ -85,6 +86,7 @@ func setUp(t *testing.T) (*etcdtesting.EtcdTestServer, Config, *assert.Assertion
|
|||||||
resourceEncodingOverrides := []schema.GroupVersionResource{
|
resourceEncodingOverrides := []schema.GroupVersionResource{
|
||||||
batch.Resource("cronjobs").WithVersion("v1beta1"),
|
batch.Resource("cronjobs").WithVersion("v1beta1"),
|
||||||
apisstorage.Resource("volumeattachments").WithVersion("v1beta1"),
|
apisstorage.Resource("volumeattachments").WithVersion("v1beta1"),
|
||||||
|
networking.Resource("ingresses").WithVersion("v1beta1"),
|
||||||
}
|
}
|
||||||
resourceEncoding = resourceconfig.MergeResourceEncodingConfigs(resourceEncoding, resourceEncodingOverrides)
|
resourceEncoding = resourceconfig.MergeResourceEncodingConfigs(resourceEncoding, resourceEncodingOverrides)
|
||||||
storageFactory := serverstorage.NewDefaultStorageFactory(*storageConfig, testapi.StorageMediaType(), legacyscheme.Codecs, resourceEncoding, DefaultAPIResourceConfigSource(), nil)
|
storageFactory := serverstorage.NewDefaultStorageFactory(*storageConfig, testapi.StorageMediaType(), legacyscheme.Codecs, resourceEncoding, DefaultAPIResourceConfigSource(), nil)
|
||||||
|
@ -67,12 +67,12 @@ var GVRToStorageVersionHash = map[string]string{
|
|||||||
"coordination.k8s.io/v1/leases": "/sY7hl8ol1U=",
|
"coordination.k8s.io/v1/leases": "/sY7hl8ol1U=",
|
||||||
"extensions/v1beta1/daemonsets": "dd7pWHUlMKQ=",
|
"extensions/v1beta1/daemonsets": "dd7pWHUlMKQ=",
|
||||||
"extensions/v1beta1/deployments": "8aSe+NMegvE=",
|
"extensions/v1beta1/deployments": "8aSe+NMegvE=",
|
||||||
"extensions/v1beta1/ingresses": "Ejja63IbU0E=",
|
"extensions/v1beta1/ingresses": "ZOAfGflaKd0=",
|
||||||
"extensions/v1beta1/networkpolicies": "YpfwF18m1G8=",
|
"extensions/v1beta1/networkpolicies": "YpfwF18m1G8=",
|
||||||
"extensions/v1beta1/podsecuritypolicies": "khBLobUXkqA=",
|
"extensions/v1beta1/podsecuritypolicies": "khBLobUXkqA=",
|
||||||
"extensions/v1beta1/replicasets": "P1RzHs8/mWQ=",
|
"extensions/v1beta1/replicasets": "P1RzHs8/mWQ=",
|
||||||
"networking.k8s.io/v1/networkpolicies": "YpfwF18m1G8=",
|
"networking.k8s.io/v1/networkpolicies": "YpfwF18m1G8=",
|
||||||
"networking.k8s.io/v1beta1/ingresses": "Ejja63IbU0E=",
|
"networking.k8s.io/v1beta1/ingresses": "ZOAfGflaKd0=",
|
||||||
"node.k8s.io/v1beta1/runtimeclasses": "8nMHWqj34s0=",
|
"node.k8s.io/v1beta1/runtimeclasses": "8nMHWqj34s0=",
|
||||||
"policy/v1beta1/poddisruptionbudgets": "6BGBu0kpHtk=",
|
"policy/v1beta1/poddisruptionbudgets": "6BGBu0kpHtk=",
|
||||||
"policy/v1beta1/podsecuritypolicies": "khBLobUXkqA=",
|
"policy/v1beta1/podsecuritypolicies": "khBLobUXkqA=",
|
||||||
|
@ -12,7 +12,6 @@ go_test(
|
|||||||
embed = [":go_default_library"],
|
embed = [":go_default_library"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/apis/core:go_default_library",
|
"//pkg/apis/core:go_default_library",
|
||||||
"//pkg/apis/extensions:go_default_library",
|
|
||||||
"//pkg/apis/networking:go_default_library",
|
"//pkg/apis/networking:go_default_library",
|
||||||
"//pkg/registry/registrytest:go_default_library",
|
"//pkg/registry/registrytest:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
@ -31,7 +30,6 @@ go_library(
|
|||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
importpath = "k8s.io/kubernetes/pkg/registry/networking/ingress/storage",
|
importpath = "k8s.io/kubernetes/pkg/registry/networking/ingress/storage",
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/apis/extensions:go_default_library",
|
|
||||||
"//pkg/apis/networking:go_default_library",
|
"//pkg/apis/networking:go_default_library",
|
||||||
"//pkg/printers:go_default_library",
|
"//pkg/printers:go_default_library",
|
||||||
"//pkg/printers/internalversion:go_default_library",
|
"//pkg/printers/internalversion:go_default_library",
|
||||||
|
@ -24,7 +24,6 @@ import (
|
|||||||
"k8s.io/apiserver/pkg/registry/generic"
|
"k8s.io/apiserver/pkg/registry/generic"
|
||||||
genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
|
genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/networking"
|
"k8s.io/kubernetes/pkg/apis/networking"
|
||||||
"k8s.io/kubernetes/pkg/printers"
|
"k8s.io/kubernetes/pkg/printers"
|
||||||
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
||||||
@ -42,7 +41,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
|||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
NewFunc: func() runtime.Object { return &networking.Ingress{} },
|
NewFunc: func() runtime.Object { return &networking.Ingress{} },
|
||||||
NewListFunc: func() runtime.Object { return &networking.IngressList{} },
|
NewListFunc: func() runtime.Object { return &networking.IngressList{} },
|
||||||
DefaultQualifiedResource: extensions.Resource("ingresses"),
|
DefaultQualifiedResource: networking.Resource("ingresses"),
|
||||||
|
|
||||||
CreateStrategy: ingress.Strategy,
|
CreateStrategy: ingress.Strategy,
|
||||||
UpdateStrategy: ingress.Strategy,
|
UpdateStrategy: ingress.Strategy,
|
||||||
|
@ -28,13 +28,12 @@ import (
|
|||||||
genericregistrytest "k8s.io/apiserver/pkg/registry/generic/testing"
|
genericregistrytest "k8s.io/apiserver/pkg/registry/generic/testing"
|
||||||
etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing"
|
etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing"
|
||||||
api "k8s.io/kubernetes/pkg/apis/core"
|
api "k8s.io/kubernetes/pkg/apis/core"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/networking"
|
"k8s.io/kubernetes/pkg/apis/networking"
|
||||||
"k8s.io/kubernetes/pkg/registry/registrytest"
|
"k8s.io/kubernetes/pkg/registry/registrytest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func newStorage(t *testing.T) (*REST, *StatusREST, *etcdtesting.EtcdTestServer) {
|
func newStorage(t *testing.T) (*REST, *StatusREST, *etcdtesting.EtcdTestServer) {
|
||||||
etcdStorage, server := registrytest.NewEtcdStorage(t, extensions.GroupName)
|
etcdStorage, server := registrytest.NewEtcdStorageForResource(t, networking.Resource("ingresses"))
|
||||||
restOptions := generic.RESTOptions{
|
restOptions := generic.RESTOptions{
|
||||||
StorageConfig: etcdStorage,
|
StorageConfig: etcdStorage,
|
||||||
Decorator: generic.UndecoratedStorage,
|
Decorator: generic.UndecoratedStorage,
|
||||||
|
@ -33,6 +33,7 @@ go_library(
|
|||||||
"//staging/src/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library",
|
||||||
"//staging/src/k8s.io/apiserver/pkg/registry/rest:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/registry/rest: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/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/storage/storagebackend:go_default_library",
|
"//staging/src/k8s.io/apiserver/pkg/storage/storagebackend:go_default_library",
|
||||||
],
|
],
|
||||||
|
@ -21,6 +21,7 @@ import (
|
|||||||
|
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apiserver/pkg/server/options"
|
"k8s.io/apiserver/pkg/server/options"
|
||||||
|
serverstorage "k8s.io/apiserver/pkg/server/storage"
|
||||||
etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing"
|
etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing"
|
||||||
"k8s.io/apiserver/pkg/storage/storagebackend"
|
"k8s.io/apiserver/pkg/storage/storagebackend"
|
||||||
"k8s.io/kubernetes/pkg/api/testapi"
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
@ -43,6 +44,7 @@ func NewEtcdStorageForResource(t *testing.T, resource schema.GroupResource) (*st
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
completedConfig.ApiResourceConfig = serverstorage.NewResourceConfig()
|
||||||
factory, err := completedConfig.New()
|
factory, err := completedConfig.New()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
|
@ -258,6 +258,7 @@ func GetEtcdStorageDataForNamespace(namespace string) map[schema.GroupVersionRes
|
|||||||
gvr("extensions", "v1beta1", "ingresses"): {
|
gvr("extensions", "v1beta1", "ingresses"): {
|
||||||
Stub: `{"metadata": {"name": "ingress1"}, "spec": {"backend": {"serviceName": "service", "servicePort": 5000}}}`,
|
Stub: `{"metadata": {"name": "ingress1"}, "spec": {"backend": {"serviceName": "service", "servicePort": 5000}}}`,
|
||||||
ExpectedEtcdPath: "/registry/ingress/" + namespace + "/ingress1",
|
ExpectedEtcdPath: "/registry/ingress/" + namespace + "/ingress1",
|
||||||
|
ExpectedGVK: gvkP("networking.k8s.io", "v1beta1", "Ingress"),
|
||||||
},
|
},
|
||||||
gvr("extensions", "v1beta1", "networkpolicies"): {
|
gvr("extensions", "v1beta1", "networkpolicies"): {
|
||||||
Stub: `{"metadata": {"name": "np1"}, "spec": {"podSelector": {"matchLabels": {"e": "f"}}}}`,
|
Stub: `{"metadata": {"name": "np1"}, "spec": {"podSelector": {"matchLabels": {"e": "f"}}}}`,
|
||||||
@ -280,7 +281,6 @@ func GetEtcdStorageDataForNamespace(namespace string) map[schema.GroupVersionRes
|
|||||||
gvr("networking.k8s.io", "v1beta1", "ingresses"): {
|
gvr("networking.k8s.io", "v1beta1", "ingresses"): {
|
||||||
Stub: `{"metadata": {"name": "ingress2"}, "spec": {"backend": {"serviceName": "service", "servicePort": 5000}}}`,
|
Stub: `{"metadata": {"name": "ingress2"}, "spec": {"backend": {"serviceName": "service", "servicePort": 5000}}}`,
|
||||||
ExpectedEtcdPath: "/registry/ingress/" + namespace + "/ingress2",
|
ExpectedEtcdPath: "/registry/ingress/" + namespace + "/ingress2",
|
||||||
ExpectedGVK: gvkP("extensions", "v1beta1", "Ingress"),
|
|
||||||
},
|
},
|
||||||
// --
|
// --
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user