mirror of https://github.com/k3s-io/k3s
Merge pull request #53525 from sttts/sttts-scheme-copier-romoval
Automatic merge from submit-queue (batch tested with PRs 53525, 53652). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. apimachinery: remove ObjectCopier interface(s) The big commit is a mechanical, transitive removal of the copier interfaces in all structs and function calls.pull/6/head
commit
aaf14d4619
|
@ -59,7 +59,6 @@ func createAggregatorConfig(kubeAPIServerConfig genericapiserver.Config, command
|
||||||
// copy the etcd options so we don't mutate originals.
|
// copy the etcd options so we don't mutate originals.
|
||||||
etcdOptions := *commandOptions.Etcd
|
etcdOptions := *commandOptions.Etcd
|
||||||
etcdOptions.StorageConfig.Codec = aggregatorapiserver.Codecs.LegacyCodec(v1beta1.SchemeGroupVersion)
|
etcdOptions.StorageConfig.Codec = aggregatorapiserver.Codecs.LegacyCodec(v1beta1.SchemeGroupVersion)
|
||||||
etcdOptions.StorageConfig.Copier = aggregatorapiserver.Scheme
|
|
||||||
genericConfig.RESTOptionsGetter = &genericoptions.SimpleRestOptionsFactory{Options: etcdOptions}
|
genericConfig.RESTOptionsGetter = &genericoptions.SimpleRestOptionsFactory{Options: etcdOptions}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
|
|
|
@ -37,7 +37,6 @@ func createAPIExtensionsConfig(kubeAPIServerConfig genericapiserver.Config, exte
|
||||||
// copy the etcd options so we don't mutate originals.
|
// copy the etcd options so we don't mutate originals.
|
||||||
etcdOptions := *commandOptions.Etcd
|
etcdOptions := *commandOptions.Etcd
|
||||||
etcdOptions.StorageConfig.Codec = apiextensionsapiserver.Codecs.LegacyCodec(v1beta1.SchemeGroupVersion)
|
etcdOptions.StorageConfig.Codec = apiextensionsapiserver.Codecs.LegacyCodec(v1beta1.SchemeGroupVersion)
|
||||||
etcdOptions.StorageConfig.Copier = apiextensionsapiserver.Scheme
|
|
||||||
genericConfig.RESTOptionsGetter = &genericoptions.SimpleRestOptionsFactory{Options: etcdOptions}
|
genericConfig.RESTOptionsGetter = &genericoptions.SimpleRestOptionsFactory{Options: etcdOptions}
|
||||||
|
|
||||||
apiextensionsConfig := &apiextensionsapiserver.Config{
|
apiextensionsConfig := &apiextensionsapiserver.Config{
|
||||||
|
|
|
@ -80,7 +80,7 @@ type ServerRunOptions struct {
|
||||||
func NewServerRunOptions() *ServerRunOptions {
|
func NewServerRunOptions() *ServerRunOptions {
|
||||||
s := ServerRunOptions{
|
s := ServerRunOptions{
|
||||||
GenericServerRunOptions: genericoptions.NewServerRunOptions(),
|
GenericServerRunOptions: genericoptions.NewServerRunOptions(),
|
||||||
Etcd: genericoptions.NewEtcdOptions(storagebackend.NewDefaultConfig(kubeoptions.DefaultEtcdPathPrefix, api.Scheme, nil)),
|
Etcd: genericoptions.NewEtcdOptions(storagebackend.NewDefaultConfig(kubeoptions.DefaultEtcdPathPrefix, nil)),
|
||||||
SecureServing: kubeoptions.NewSecureServingOptions(),
|
SecureServing: kubeoptions.NewSecureServingOptions(),
|
||||||
InsecureServing: kubeoptions.NewInsecureServingOptions(),
|
InsecureServing: kubeoptions.NewInsecureServingOptions(),
|
||||||
Audit: genericoptions.NewAuditOptions(),
|
Audit: genericoptions.NewAuditOptions(),
|
||||||
|
|
|
@ -114,7 +114,6 @@ func TestAddFlags(t *testing.T) {
|
||||||
ServerList: nil,
|
ServerList: nil,
|
||||||
Prefix: "/registry",
|
Prefix: "/registry",
|
||||||
DeserializationCacheSize: 0,
|
DeserializationCacheSize: 0,
|
||||||
Copier: kapi.Scheme,
|
|
||||||
Quorum: false,
|
Quorum: false,
|
||||||
KeyFile: "/var/run/kubernetes/etcd.key",
|
KeyFile: "/var/run/kubernetes/etcd.key",
|
||||||
CAFile: "/var/run/kubernetes/etcdca.crt",
|
CAFile: "/var/run/kubernetes/etcdca.crt",
|
||||||
|
|
|
@ -12,7 +12,6 @@ go_library(
|
||||||
"validation.go",
|
"validation.go",
|
||||||
],
|
],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/features:go_default_library",
|
"//pkg/features:go_default_library",
|
||||||
"//pkg/kubeapiserver/options:go_default_library",
|
"//pkg/kubeapiserver/options:go_default_library",
|
||||||
"//vendor/github.com/spf13/pflag:go_default_library",
|
"//vendor/github.com/spf13/pflag:go_default_library",
|
||||||
|
|
|
@ -22,7 +22,6 @@ import (
|
||||||
|
|
||||||
genericoptions "k8s.io/apiserver/pkg/server/options"
|
genericoptions "k8s.io/apiserver/pkg/server/options"
|
||||||
"k8s.io/apiserver/pkg/storage/storagebackend"
|
"k8s.io/apiserver/pkg/storage/storagebackend"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
kubeoptions "k8s.io/kubernetes/pkg/kubeapiserver/options"
|
kubeoptions "k8s.io/kubernetes/pkg/kubeapiserver/options"
|
||||||
|
|
||||||
// add the kubernetes feature gates
|
// add the kubernetes feature gates
|
||||||
|
@ -53,7 +52,7 @@ type ServerRunOptions struct {
|
||||||
func NewServerRunOptions() *ServerRunOptions {
|
func NewServerRunOptions() *ServerRunOptions {
|
||||||
s := ServerRunOptions{
|
s := ServerRunOptions{
|
||||||
GenericServerRunOptions: genericoptions.NewServerRunOptions(),
|
GenericServerRunOptions: genericoptions.NewServerRunOptions(),
|
||||||
Etcd: genericoptions.NewEtcdOptions(storagebackend.NewDefaultConfig(kubeoptions.DefaultEtcdPathPrefix, api.Scheme, nil)),
|
Etcd: genericoptions.NewEtcdOptions(storagebackend.NewDefaultConfig(kubeoptions.DefaultEtcdPathPrefix, nil)),
|
||||||
SecureServing: kubeoptions.NewSecureServingOptions(),
|
SecureServing: kubeoptions.NewSecureServingOptions(),
|
||||||
InsecureServing: kubeoptions.NewInsecureServingOptions(),
|
InsecureServing: kubeoptions.NewInsecureServingOptions(),
|
||||||
Audit: genericoptions.NewAuditOptions(),
|
Audit: genericoptions.NewAuditOptions(),
|
||||||
|
|
|
@ -392,11 +392,11 @@ func (fjc *FederationJobController) reconcileJob(key string) (reconciliationStat
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a copy before modifying the obj to prevent race condition with other readers of obj from store.
|
// Create a copy before modifying the obj to prevent race condition with other readers of obj from store.
|
||||||
obj, err := api.Scheme.DeepCopy(objFromStore)
|
fjob, ok := objFromStore.(*batchv1.Job)
|
||||||
fjob, ok := obj.(*batchv1.Job)
|
if !ok {
|
||||||
if err != nil || !ok {
|
|
||||||
return statusError, err
|
return statusError, err
|
||||||
}
|
}
|
||||||
|
fjob = fjob.DeepCopy()
|
||||||
|
|
||||||
// delete job
|
// delete job
|
||||||
if fjob.DeletionTimestamp != nil {
|
if fjob.DeletionTimestamp != nil {
|
||||||
|
|
|
@ -12,7 +12,6 @@ go_library(
|
||||||
deps = [
|
deps = [
|
||||||
"//federation/apis/federation:go_default_library",
|
"//federation/apis/federation:go_default_library",
|
||||||
"//federation/registry/cluster:go_default_library",
|
"//federation/registry/cluster:go_default_library",
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
"//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library",
|
"//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library",
|
||||||
"//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library",
|
"//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library",
|
||||||
|
|
|
@ -24,7 +24,6 @@ import (
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/kubernetes/federation/apis/federation"
|
"k8s.io/kubernetes/federation/apis/federation"
|
||||||
"k8s.io/kubernetes/federation/registry/cluster"
|
"k8s.io/kubernetes/federation/registry/cluster"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type REST struct {
|
type REST struct {
|
||||||
|
@ -47,7 +46,6 @@ func (r *StatusREST) Update(ctx genericapirequest.Context, name string, objInfo
|
||||||
// NewREST returns a RESTStorage object that will work against clusters.
|
// NewREST returns a RESTStorage object that will work against clusters.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &federation.Cluster{} },
|
NewFunc: func() runtime.Object { return &federation.Cluster{} },
|
||||||
NewListFunc: func() runtime.Object { return &federation.ClusterList{} },
|
NewListFunc: func() runtime.Object { return &federation.ClusterList{} },
|
||||||
PredicateFunc: cluster.MatchCluster,
|
PredicateFunc: cluster.MatchCluster,
|
||||||
|
|
|
@ -23,7 +23,6 @@ import (
|
||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/kubernetes/federation/apis/federation"
|
"k8s.io/kubernetes/federation/apis/federation"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Registry is an interface implemented by things that know how to store Cluster objects.
|
// Registry is an interface implemented by things that know how to store Cluster objects.
|
||||||
|
@ -73,7 +72,7 @@ func (s *storage) CreateCluster(ctx genericapirequest.Context, cluster *federati
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateCluster(ctx genericapirequest.Context, cluster *federation.Cluster) error {
|
func (s *storage) UpdateCluster(ctx genericapirequest.Context, cluster *federation.Cluster) error {
|
||||||
_, _, err := s.Update(ctx, cluster.Name, rest.DefaultUpdatedObjectInfo(cluster, api.Scheme))
|
_, _, err := s.Update(ctx, cluster.Name, rest.DefaultUpdatedObjectInfo(cluster))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,6 @@ go_library(
|
||||||
"//federation/pkg/federation-controller/util:go_default_library",
|
"//federation/pkg/federation-controller/util:go_default_library",
|
||||||
"//federation/test/e2e/framework:go_default_library",
|
"//federation/test/e2e/framework:go_default_library",
|
||||||
"//federation/test/e2e/upgrades:go_default_library",
|
"//federation/test/e2e/upgrades:go_default_library",
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/api/v1:go_default_library",
|
"//pkg/api/v1:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
"//test/e2e/chaosmonkey:go_default_library",
|
"//test/e2e/chaosmonkey:go_default_library",
|
||||||
|
|
|
@ -34,7 +34,6 @@ import (
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
. "github.com/onsi/gomega"
|
. "github.com/onsi/gomega"
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -221,8 +220,7 @@ func waitForJob(c *fedclientset.Clientset, namespace string, jobName string, clu
|
||||||
}
|
}
|
||||||
|
|
||||||
func verifyJob(fedJob, localJob *batchv1.Job) bool {
|
func verifyJob(fedJob, localJob *batchv1.Job) bool {
|
||||||
localJobObj, _ := api.Scheme.DeepCopy(localJob)
|
localJob = localJob.DeepCopy()
|
||||||
localJob = localJobObj.(*batchv1.Job)
|
|
||||||
localJob.Spec.ManualSelector = fedJob.Spec.ManualSelector
|
localJob.Spec.ManualSelector = fedJob.Spec.ManualSelector
|
||||||
localJob.Spec.Completions = fedJob.Spec.Completions
|
localJob.Spec.Completions = fedJob.Spec.Completions
|
||||||
localJob.Spec.Parallelism = fedJob.Spec.Parallelism
|
localJob.Spec.Parallelism = fedJob.Spec.Parallelism
|
||||||
|
|
|
@ -111,13 +111,9 @@ func ExtractResourceValueByContainerName(fs *v1.ResourceFieldSelector, pod *v1.P
|
||||||
return ExtractContainerResourceValue(fs, container)
|
return ExtractContainerResourceValue(fs, container)
|
||||||
}
|
}
|
||||||
|
|
||||||
type deepCopier interface {
|
|
||||||
DeepCopy(interface{}) (interface{}, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ExtractResourceValueByContainerNameAndNodeAllocatable extracts the value of a resource
|
// ExtractResourceValueByContainerNameAndNodeAllocatable extracts the value of a resource
|
||||||
// by providing container name and node allocatable
|
// by providing container name and node allocatable
|
||||||
func ExtractResourceValueByContainerNameAndNodeAllocatable(copier deepCopier, fs *v1.ResourceFieldSelector, pod *v1.Pod, containerName string, nodeAllocatable v1.ResourceList) (string, error) {
|
func ExtractResourceValueByContainerNameAndNodeAllocatable(fs *v1.ResourceFieldSelector, pod *v1.Pod, containerName string, nodeAllocatable v1.ResourceList) (string, error) {
|
||||||
realContainer, err := findContainerInPod(pod, containerName)
|
realContainer, err := findContainerInPod(pod, containerName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
|
|
@ -430,14 +430,7 @@ func TestValidateStatefulSetUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
obj, err := api.Scheme.DeepCopy(validPodTemplate)
|
addContainersValidTemplate := validPodTemplate.DeepCopy()
|
||||||
if err != nil {
|
|
||||||
t.Errorf("failure during test setup when copying PodTemplate: %v", err)
|
|
||||||
}
|
|
||||||
addContainersValidTemplate, ok := obj.(api.PodTemplate)
|
|
||||||
if !ok {
|
|
||||||
t.Errorf("failure during test setup, copied pod template is not a pod template")
|
|
||||||
}
|
|
||||||
addContainersValidTemplate.Template.Spec.Containers = append(addContainersValidTemplate.Template.Spec.Containers,
|
addContainersValidTemplate.Template.Spec.Containers = append(addContainersValidTemplate.Template.Spec.Containers,
|
||||||
api.Container{Name: "def", Image: "image2", ImagePullPolicy: "IfNotPresent"})
|
api.Container{Name: "def", Image: "image2", ImagePullPolicy: "IfNotPresent"})
|
||||||
if len(addContainersValidTemplate.Template.Spec.Containers) != len(validPodTemplate.Template.Spec.Containers)+1 {
|
if len(addContainersValidTemplate.Template.Spec.Containers) != len(validPodTemplate.Template.Spec.Containers)+1 {
|
||||||
|
|
|
@ -116,7 +116,6 @@ go_library(
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
|
|
||||||
"//vendor/k8s.io/apimachinery/pkg/fields:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/fields:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||||
|
@ -130,7 +129,6 @@ go_library(
|
||||||
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||||
"//vendor/k8s.io/apiserver/pkg/util/feature:go_default_library",
|
"//vendor/k8s.io/apiserver/pkg/util/feature:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
|
||||||
"//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
|
"//vendor/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/listers/core/v1:go_default_library",
|
"//vendor/k8s.io/client-go/listers/core/v1:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/tools/cache:go_default_library",
|
"//vendor/k8s.io/client-go/tools/cache:go_default_library",
|
||||||
|
|
|
@ -51,7 +51,6 @@ go_library(
|
||||||
"//vendor/k8s.io/client-go/tools/record:go_default_library",
|
"//vendor/k8s.io/client-go/tools/record:go_default_library",
|
||||||
] + select({
|
] + select({
|
||||||
"@io_bazel_rules_go//go/platform:linux_amd64": [
|
"@io_bazel_rules_go//go/platform:linux_amd64": [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/api/v1/helper:go_default_library",
|
"//pkg/api/v1/helper:go_default_library",
|
||||||
"//pkg/api/v1/helper/qos:go_default_library",
|
"//pkg/api/v1/helper/qos:go_default_library",
|
||||||
"//pkg/api/v1/resource:go_default_library",
|
"//pkg/api/v1/resource:go_default_library",
|
||||||
|
|
|
@ -29,7 +29,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
kubefeatures "k8s.io/kubernetes/pkg/features"
|
kubefeatures "k8s.io/kubernetes/pkg/features"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/events"
|
"k8s.io/kubernetes/pkg/kubelet/events"
|
||||||
evictionapi "k8s.io/kubernetes/pkg/kubelet/eviction/api"
|
evictionapi "k8s.io/kubernetes/pkg/kubelet/eviction/api"
|
||||||
|
@ -238,16 +237,7 @@ func (cm *containerManagerImpl) validateNodeAllocatable() error {
|
||||||
var errors []string
|
var errors []string
|
||||||
nar := cm.GetNodeAllocatableReservation()
|
nar := cm.GetNodeAllocatableReservation()
|
||||||
for k, v := range nar {
|
for k, v := range nar {
|
||||||
capacityClone, err := api.Scheme.DeepCopy(cm.capacity[k])
|
value := cm.capacity[k].DeepCopy()
|
||||||
if err != nil {
|
|
||||||
errors = append(errors, fmt.Sprintf("DeepCopy capacity error"))
|
|
||||||
}
|
|
||||||
value, ok := capacityClone.(resource.Quantity)
|
|
||||||
if !ok {
|
|
||||||
return fmt.Errorf(
|
|
||||||
"failed to cast object %#v to Quantity",
|
|
||||||
capacityClone)
|
|
||||||
}
|
|
||||||
value.Sub(v)
|
value.Sub(v)
|
||||||
|
|
||||||
if value.Sign() < 0 {
|
if value.Sign() < 0 {
|
||||||
|
|
|
@ -491,12 +491,7 @@ func (s *podStorage) MergedState() interface{} {
|
||||||
pods := make([]*v1.Pod, 0)
|
pods := make([]*v1.Pod, 0)
|
||||||
for _, sourcePods := range s.pods {
|
for _, sourcePods := range s.pods {
|
||||||
for _, podRef := range sourcePods {
|
for _, podRef := range sourcePods {
|
||||||
pod, err := api.Scheme.Copy(podRef)
|
pods = append(pods, podRef.DeepCopy())
|
||||||
if err != nil {
|
|
||||||
glog.Errorf("unable to copy pod: %v", err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
pods = append(pods, pod.(*v1.Pod))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return pods
|
return pods
|
||||||
|
@ -506,12 +501,7 @@ func copyPods(sourcePods []*v1.Pod) []*v1.Pod {
|
||||||
pods := []*v1.Pod{}
|
pods := []*v1.Pod{}
|
||||||
for _, source := range sourcePods {
|
for _, source := range sourcePods {
|
||||||
// Use a deep copy here just in case
|
// Use a deep copy here just in case
|
||||||
pod, err := api.Scheme.Copy(source)
|
pods = append(pods, source.DeepCopy())
|
||||||
if err != nil {
|
|
||||||
glog.Errorf("unable to copy pod: %v", err)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
pods = append(pods, pod.(*v1.Pod))
|
|
||||||
}
|
}
|
||||||
return pods
|
return pods
|
||||||
}
|
}
|
||||||
|
|
|
@ -370,12 +370,9 @@ func TestPodUpdateAnnotations(t *testing.T) {
|
||||||
pod.Annotations = make(map[string]string, 0)
|
pod.Annotations = make(map[string]string, 0)
|
||||||
pod.Annotations["kubernetes.io/blah"] = "blah"
|
pod.Annotations["kubernetes.io/blah"] = "blah"
|
||||||
|
|
||||||
clone, err := scheme.Scheme.DeepCopy(pod)
|
clone := pod.DeepCopy()
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("%v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
podUpdate := CreatePodUpdate(kubetypes.SET, TestSource, CreateValidPod("foo1", "new"), clone.(*v1.Pod), CreateValidPod("foo3", "new"))
|
podUpdate := CreatePodUpdate(kubetypes.SET, TestSource, CreateValidPod("foo1", "new"), clone, CreateValidPod("foo3", "new"))
|
||||||
channel <- podUpdate
|
channel <- podUpdate
|
||||||
expectPodUpdate(t, ch, CreatePodUpdate(kubetypes.ADD, TestSource, CreateValidPod("foo1", "new"), pod, CreateValidPod("foo3", "new")))
|
expectPodUpdate(t, ch, CreatePodUpdate(kubetypes.ADD, TestSource, CreateValidPod("foo1", "new"), pod, CreateValidPod("foo3", "new")))
|
||||||
|
|
||||||
|
@ -402,12 +399,9 @@ func TestPodUpdateLabels(t *testing.T) {
|
||||||
pod.Labels = make(map[string]string, 0)
|
pod.Labels = make(map[string]string, 0)
|
||||||
pod.Labels["key"] = "value"
|
pod.Labels["key"] = "value"
|
||||||
|
|
||||||
clone, err := scheme.Scheme.DeepCopy(pod)
|
clone := pod.DeepCopy()
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("%v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
podUpdate := CreatePodUpdate(kubetypes.SET, TestSource, clone.(*v1.Pod))
|
podUpdate := CreatePodUpdate(kubetypes.SET, TestSource, clone)
|
||||||
channel <- podUpdate
|
channel <- podUpdate
|
||||||
expectPodUpdate(t, ch, CreatePodUpdate(kubetypes.ADD, TestSource, pod))
|
expectPodUpdate(t, ch, CreatePodUpdate(kubetypes.ADD, TestSource, pod))
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,6 @@ import (
|
||||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/conversion"
|
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
utilnet "k8s.io/apimachinery/pkg/util/net"
|
utilnet "k8s.io/apimachinery/pkg/util/net"
|
||||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||||
|
@ -118,15 +117,9 @@ func (kl *Kubelet) tryRegisterWithAPIServer(node *v1.Node) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
clonedNode, err := conversion.NewCloner().DeepCopy(existingNode)
|
originalNode := existingNode.DeepCopy()
|
||||||
if err != nil {
|
if originalNode == nil {
|
||||||
glog.Errorf("Unable to clone %q node object %#v: %v", kl.nodeName, existingNode, err)
|
glog.Errorf("Nil %q node object", kl.nodeName)
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
originalNode, ok := clonedNode.(*v1.Node)
|
|
||||||
if !ok || originalNode == nil {
|
|
||||||
glog.Errorf("Unable to cast %q node object %#v to v1.Node", kl.nodeName, clonedNode)
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,14 +402,9 @@ func (kl *Kubelet) tryUpdateNodeStatus(tryNumber int) error {
|
||||||
return fmt.Errorf("error getting node %q: %v", kl.nodeName, err)
|
return fmt.Errorf("error getting node %q: %v", kl.nodeName, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
clonedNode, err := conversion.NewCloner().DeepCopy(node)
|
originalNode := node.DeepCopy()
|
||||||
if err != nil {
|
if originalNode == nil {
|
||||||
return fmt.Errorf("error clone node %q: %v", kl.nodeName, err)
|
return fmt.Errorf("nil %q node object", kl.nodeName)
|
||||||
}
|
|
||||||
|
|
||||||
originalNode, ok := clonedNode.(*v1.Node)
|
|
||||||
if !ok || originalNode == nil {
|
|
||||||
return fmt.Errorf("failed to cast %q node object %#v to v1.Node", kl.nodeName, clonedNode)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kl.updatePodCIDR(node.Spec.PodCIDR)
|
kl.updatePodCIDR(node.Spec.PodCIDR)
|
||||||
|
|
|
@ -22,7 +22,6 @@ import (
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
"k8s.io/client-go/kubernetes/scheme"
|
|
||||||
"k8s.io/kubernetes/pkg/api/v1/resource"
|
"k8s.io/kubernetes/pkg/api/v1/resource"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -44,28 +43,14 @@ func (kl *Kubelet) defaultPodLimitsForDownwardAPI(pod *v1.Pod, container *v1.Con
|
||||||
}
|
}
|
||||||
allocatable := node.Status.Allocatable
|
allocatable := node.Status.Allocatable
|
||||||
glog.Infof("allocatable: %v", allocatable)
|
glog.Infof("allocatable: %v", allocatable)
|
||||||
podCopy, err := scheme.Scheme.Copy(pod)
|
outputPod := pod.DeepCopy()
|
||||||
if err != nil {
|
|
||||||
return nil, nil, fmt.Errorf("failed to perform a deep copy of pod object: %v", err)
|
|
||||||
}
|
|
||||||
outputPod, ok := podCopy.(*v1.Pod)
|
|
||||||
if !ok {
|
|
||||||
return nil, nil, fmt.Errorf("unexpected type returned from deep copy of pod object")
|
|
||||||
}
|
|
||||||
for idx := range outputPod.Spec.Containers {
|
for idx := range outputPod.Spec.Containers {
|
||||||
resource.MergeContainerResourceLimits(&outputPod.Spec.Containers[idx], allocatable)
|
resource.MergeContainerResourceLimits(&outputPod.Spec.Containers[idx], allocatable)
|
||||||
}
|
}
|
||||||
|
|
||||||
var outputContainer *v1.Container
|
var outputContainer *v1.Container
|
||||||
if container != nil {
|
if container != nil {
|
||||||
containerCopy, err := scheme.Scheme.DeepCopy(container)
|
outputContainer = container.DeepCopy()
|
||||||
if err != nil {
|
|
||||||
return nil, nil, fmt.Errorf("failed to perform a deep copy of container object: %v", err)
|
|
||||||
}
|
|
||||||
outputContainer, ok = containerCopy.(*v1.Container)
|
|
||||||
if !ok {
|
|
||||||
return nil, nil, fmt.Errorf("unexpected type returned from deep copy of container object")
|
|
||||||
}
|
|
||||||
resource.MergeContainerResourceLimits(outputContainer, allocatable)
|
resource.MergeContainerResourceLimits(outputContainer, allocatable)
|
||||||
}
|
}
|
||||||
return outputPod, outputContainer, nil
|
return outputPod, outputContainer, nil
|
||||||
|
|
|
@ -27,7 +27,6 @@ go_library(
|
||||||
"//vendor/k8s.io/apimachinery/pkg/util/diff:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/diff:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/client-go/kubernetes/scheme"
|
|
||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
|
@ -163,10 +162,8 @@ func (m *manager) SetPodStatus(pod *v1.Pod, status v1.PodStatus) {
|
||||||
m.podStatusesLock.Lock()
|
m.podStatusesLock.Lock()
|
||||||
defer m.podStatusesLock.Unlock()
|
defer m.podStatusesLock.Unlock()
|
||||||
// Make sure we're caching a deep copy.
|
// Make sure we're caching a deep copy.
|
||||||
status, err := copyStatus(&status)
|
status = *status.DeepCopy()
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// Force a status update if deletion timestamp is set. This is necessary
|
// Force a status update if deletion timestamp is set. This is necessary
|
||||||
// because if the pod is in the non-running state, the pod worker still
|
// because if the pod is in the non-running state, the pod worker still
|
||||||
// needs to be able to trigger an update and/or deletion.
|
// needs to be able to trigger an update and/or deletion.
|
||||||
|
@ -205,10 +202,7 @@ func (m *manager) SetContainerReadiness(podUID types.UID, containerID kubecontai
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure we're not updating the cached version.
|
// Make sure we're not updating the cached version.
|
||||||
status, err := copyStatus(&oldStatus.status)
|
status := *oldStatus.status.DeepCopy()
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
containerStatus, _, _ = findContainerStatus(&status, containerID.String())
|
containerStatus, _, _ = findContainerStatus(&status, containerID.String())
|
||||||
containerStatus.Ready = ready
|
containerStatus.Ready = ready
|
||||||
|
|
||||||
|
@ -256,10 +250,7 @@ func (m *manager) TerminatePod(pod *v1.Pod) {
|
||||||
if cachedStatus, ok := m.podStatuses[pod.UID]; ok {
|
if cachedStatus, ok := m.podStatuses[pod.UID]; ok {
|
||||||
oldStatus = &cachedStatus.status
|
oldStatus = &cachedStatus.status
|
||||||
}
|
}
|
||||||
status, err := copyStatus(oldStatus)
|
status := *oldStatus.DeepCopy()
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
for i := range status.ContainerStatuses {
|
for i := range status.ContainerStatuses {
|
||||||
status.ContainerStatuses[i].State = v1.ContainerState{
|
status.ContainerStatuses[i].State = v1.ContainerState{
|
||||||
Terminated: &v1.ContainerStateTerminated{},
|
Terminated: &v1.ContainerStateTerminated{},
|
||||||
|
@ -513,13 +504,10 @@ func (m *manager) needsReconcile(uid types.UID, status v1.PodStatus) bool {
|
||||||
pod = mirrorPod
|
pod = mirrorPod
|
||||||
}
|
}
|
||||||
|
|
||||||
podStatus, err := copyStatus(&pod.Status)
|
podStatus := pod.Status.DeepCopy()
|
||||||
if err != nil {
|
normalizeStatus(pod, podStatus)
|
||||||
return false
|
|
||||||
}
|
|
||||||
normalizeStatus(pod, &podStatus)
|
|
||||||
|
|
||||||
if isStatusEqual(&podStatus, &status) {
|
if isStatusEqual(podStatus, &status) {
|
||||||
// If the status from the source is the same with the cached status,
|
// If the status from the source is the same with the cached status,
|
||||||
// reconcile is not needed. Just return.
|
// reconcile is not needed. Just return.
|
||||||
return false
|
return false
|
||||||
|
@ -586,13 +574,3 @@ func normalizeStatus(pod *v1.Pod, status *v1.PodStatus) *v1.PodStatus {
|
||||||
kubetypes.SortInitContainerStatuses(pod, status.InitContainerStatuses)
|
kubetypes.SortInitContainerStatuses(pod, status.InitContainerStatuses)
|
||||||
return status
|
return status
|
||||||
}
|
}
|
||||||
|
|
||||||
func copyStatus(source *v1.PodStatus) (v1.PodStatus, error) {
|
|
||||||
clone, err := scheme.Scheme.DeepCopy(source)
|
|
||||||
if err != nil {
|
|
||||||
glog.Errorf("Failed to clone status %+v: %v", source, err)
|
|
||||||
return v1.PodStatus{}, err
|
|
||||||
}
|
|
||||||
status := *clone.(*v1.PodStatus)
|
|
||||||
return status, nil
|
|
||||||
}
|
|
||||||
|
|
|
@ -25,7 +25,6 @@ go_library(
|
||||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
"//vendor/k8s.io/client-go/kubernetes:go_default_library",
|
||||||
"//vendor/k8s.io/client-go/kubernetes/scheme:go_default_library",
|
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/client-go/kubernetes/scheme"
|
|
||||||
"k8s.io/kubernetes/pkg/kubelet/config"
|
"k8s.io/kubernetes/pkg/kubelet/config"
|
||||||
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
|
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/pod"
|
"k8s.io/kubernetes/pkg/kubelet/pod"
|
||||||
|
@ -386,18 +385,7 @@ func (dswp *desiredStateOfWorldPopulator) createVolumeSpec(
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do not return the original volume object, since the source could mutate it
|
// Do not return the original volume object, since the source could mutate it
|
||||||
clonedPodVolumeObj, err := scheme.Scheme.DeepCopy(&podVolume)
|
clonedPodVolume := podVolume.DeepCopy()
|
||||||
if err != nil || clonedPodVolumeObj == nil {
|
|
||||||
return nil, "", fmt.Errorf(
|
|
||||||
"failed to deep copy %q volume object. err=%v", podVolume.Name, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
clonedPodVolume, ok := clonedPodVolumeObj.(*v1.Volume)
|
|
||||||
if !ok {
|
|
||||||
return nil, "", fmt.Errorf(
|
|
||||||
"failed to cast clonedPodVolume %#v to v1.Volume",
|
|
||||||
clonedPodVolumeObj)
|
|
||||||
}
|
|
||||||
|
|
||||||
return volume.NewSpecFromVolume(clonedPodVolume), "", nil
|
return volume.NewSpecFromVolume(clonedPodVolume), "", nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,6 @@ import (
|
||||||
kubeclient "k8s.io/client-go/kubernetes"
|
kubeclient "k8s.io/client-go/kubernetes"
|
||||||
listersv1 "k8s.io/client-go/listers/core/v1"
|
listersv1 "k8s.io/client-go/listers/core/v1"
|
||||||
"k8s.io/client-go/tools/cache"
|
"k8s.io/client-go/tools/cache"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/controller"
|
"k8s.io/kubernetes/pkg/controller"
|
||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
|
@ -221,15 +220,12 @@ func (kubemarkController *KubemarkController) GetNodeGroupForNode(node string) (
|
||||||
}
|
}
|
||||||
|
|
||||||
func (kubemarkController *KubemarkController) addNodeToNodeGroup(nodeGroup string) error {
|
func (kubemarkController *KubemarkController) addNodeToNodeGroup(nodeGroup string) error {
|
||||||
templateCopy, err := api.Scheme.Copy(kubemarkController.nodeTemplate)
|
node := kubemarkController.nodeTemplate.DeepCopy()
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
node := templateCopy.(*apiv1.ReplicationController)
|
|
||||||
node.Name = fmt.Sprintf("%s-%d", nodeGroup, kubemarkController.rand.Int63())
|
node.Name = fmt.Sprintf("%s-%d", nodeGroup, kubemarkController.rand.Int63())
|
||||||
node.Labels = map[string]string{nodeGroupLabel: nodeGroup, "name": node.Name}
|
node.Labels = map[string]string{nodeGroupLabel: nodeGroup, "name": node.Name}
|
||||||
node.Spec.Template.Labels = node.Labels
|
node.Spec.Template.Labels = node.Labels
|
||||||
|
|
||||||
|
var err error
|
||||||
for i := 0; i < numRetries; i++ {
|
for i := 0; i < numRetries; i++ {
|
||||||
_, err = kubemarkController.externalCluster.client.CoreV1().ReplicationControllers(node.Namespace).Create(node)
|
_, err = kubemarkController.externalCluster.client.CoreV1().ReplicationControllers(node.Namespace).Create(node)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
|
@ -9,7 +9,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/admissionregistration:go_default_library",
|
"//pkg/apis/admissionregistration:go_default_library",
|
||||||
"//pkg/registry/admissionregistration/externaladmissionhookconfiguration:go_default_library",
|
"//pkg/registry/admissionregistration/externaladmissionhookconfiguration:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"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/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/admissionregistration"
|
"k8s.io/kubernetes/pkg/apis/admissionregistration"
|
||||||
"k8s.io/kubernetes/pkg/registry/admissionregistration/externaladmissionhookconfiguration"
|
"k8s.io/kubernetes/pkg/registry/admissionregistration/externaladmissionhookconfiguration"
|
||||||
)
|
)
|
||||||
|
@ -33,7 +32,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against pod disruption budgets.
|
// NewREST returns a RESTStorage object that will work against pod disruption budgets.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &admissionregistration.ExternalAdmissionHookConfiguration{} },
|
NewFunc: func() runtime.Object { return &admissionregistration.ExternalAdmissionHookConfiguration{} },
|
||||||
NewListFunc: func() runtime.Object { return &admissionregistration.ExternalAdmissionHookConfigurationList{} },
|
NewListFunc: func() runtime.Object { return &admissionregistration.ExternalAdmissionHookConfigurationList{} },
|
||||||
ObjectNameFunc: func(obj runtime.Object) (string, error) {
|
ObjectNameFunc: func(obj runtime.Object) (string, error) {
|
||||||
|
|
|
@ -9,7 +9,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/admissionregistration:go_default_library",
|
"//pkg/apis/admissionregistration:go_default_library",
|
||||||
"//pkg/registry/admissionregistration/initializerconfiguration:go_default_library",
|
"//pkg/registry/admissionregistration/initializerconfiguration:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"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/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/admissionregistration"
|
"k8s.io/kubernetes/pkg/apis/admissionregistration"
|
||||||
"k8s.io/kubernetes/pkg/registry/admissionregistration/initializerconfiguration"
|
"k8s.io/kubernetes/pkg/registry/admissionregistration/initializerconfiguration"
|
||||||
)
|
)
|
||||||
|
@ -33,7 +32,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against pod disruption budgets.
|
// NewREST returns a RESTStorage object that will work against pod disruption budgets.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &admissionregistration.InitializerConfiguration{} },
|
NewFunc: func() runtime.Object { return &admissionregistration.InitializerConfiguration{} },
|
||||||
NewListFunc: func() runtime.Object { return &admissionregistration.InitializerConfigurationList{} },
|
NewListFunc: func() runtime.Object { return &admissionregistration.InitializerConfigurationList{} },
|
||||||
ObjectNameFunc: func(obj runtime.Object) (string, error) {
|
ObjectNameFunc: func(obj runtime.Object) (string, error) {
|
||||||
|
|
|
@ -27,7 +27,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/apps:go_default_library",
|
"//pkg/apis/apps:go_default_library",
|
||||||
"//pkg/registry/apps/controllerrevision:go_default_library",
|
"//pkg/registry/apps/controllerrevision:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"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/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/apps"
|
"k8s.io/kubernetes/pkg/apis/apps"
|
||||||
"k8s.io/kubernetes/pkg/registry/apps/controllerrevision"
|
"k8s.io/kubernetes/pkg/registry/apps/controllerrevision"
|
||||||
)
|
)
|
||||||
|
@ -33,7 +32,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work with ControllerRevision objects.
|
// NewREST returns a RESTStorage object that will work with ControllerRevision objects.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &apps.ControllerRevision{} },
|
NewFunc: func() runtime.Object { return &apps.ControllerRevision{} },
|
||||||
NewListFunc: func() runtime.Object { return &apps.ControllerRevisionList{} },
|
NewListFunc: func() runtime.Object { return &apps.ControllerRevisionList{} },
|
||||||
DefaultQualifiedResource: apps.Resource("controllerrevisions"),
|
DefaultQualifiedResource: apps.Resource("controllerrevisions"),
|
||||||
|
|
|
@ -25,7 +25,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/apps"
|
"k8s.io/kubernetes/pkg/apis/apps"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -82,7 +81,7 @@ func (s *storage) CreateStatefulSet(ctx genericapirequest.Context, statefulSet *
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateStatefulSet(ctx genericapirequest.Context, statefulSet *apps.StatefulSet) (*apps.StatefulSet, error) {
|
func (s *storage) UpdateStatefulSet(ctx genericapirequest.Context, statefulSet *apps.StatefulSet) (*apps.StatefulSet, error) {
|
||||||
obj, _, err := s.Update(ctx, statefulSet.Name, rest.DefaultUpdatedObjectInfo(statefulSet, api.Scheme))
|
obj, _, err := s.Update(ctx, statefulSet.Name, rest.DefaultUpdatedObjectInfo(statefulSet))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/apps:go_default_library",
|
"//pkg/apis/apps:go_default_library",
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions:go_default_library",
|
||||||
"//pkg/apis/extensions/validation:go_default_library",
|
"//pkg/apis/extensions/validation:go_default_library",
|
||||||
|
|
|
@ -27,7 +27,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/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/apps"
|
"k8s.io/kubernetes/pkg/apis/apps"
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
extvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation"
|
extvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation"
|
||||||
|
@ -63,7 +62,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against statefulsets.
|
// NewREST returns a RESTStorage object that will work against statefulsets.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &apps.StatefulSet{} },
|
NewFunc: func() runtime.Object { return &apps.StatefulSet{} },
|
||||||
NewListFunc: func() runtime.Object { return &apps.StatefulSetList{} },
|
NewListFunc: func() runtime.Object { return &apps.StatefulSetList{} },
|
||||||
DefaultQualifiedResource: apps.Resource("statefulsets"),
|
DefaultQualifiedResource: apps.Resource("statefulsets"),
|
||||||
|
|
|
@ -125,7 +125,7 @@ func TestStatusUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, _, err := storage.Status.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil {
|
if _, _, err := storage.Status.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
obj, err := storage.StatefulSet.Get(ctx, "foo", &metav1.GetOptions{})
|
obj, err := storage.StatefulSet.Get(ctx, "foo", &metav1.GetOptions{})
|
||||||
|
@ -274,7 +274,7 @@ func TestScaleUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, _, err := storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil {
|
if _, _, err := storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil {
|
||||||
t.Fatalf("error updating scale %v: %v", update, err)
|
t.Fatalf("error updating scale %v: %v", update, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ func TestScaleUpdate(t *testing.T) {
|
||||||
update.ResourceVersion = sts.ResourceVersion
|
update.ResourceVersion = sts.ResourceVersion
|
||||||
update.Spec.Replicas = 15
|
update.Spec.Replicas = 15
|
||||||
|
|
||||||
if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil && !errors.IsConflict(err) {
|
if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil && !errors.IsConflict(err) {
|
||||||
t.Fatalf("unexpected error, expecting an update conflict but got %v", err)
|
t.Fatalf("unexpected error, expecting an update conflict but got %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/autoscaling:go_default_library",
|
"//pkg/apis/autoscaling:go_default_library",
|
||||||
"//pkg/registry/autoscaling/horizontalpodautoscaler:go_default_library",
|
"//pkg/registry/autoscaling/horizontalpodautoscaler:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
|
|
|
@ -23,7 +23,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/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/autoscaling"
|
"k8s.io/kubernetes/pkg/apis/autoscaling"
|
||||||
"k8s.io/kubernetes/pkg/registry/autoscaling/horizontalpodautoscaler"
|
"k8s.io/kubernetes/pkg/registry/autoscaling/horizontalpodautoscaler"
|
||||||
)
|
)
|
||||||
|
@ -35,7 +34,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against horizontal pod autoscalers.
|
// NewREST returns a RESTStorage object that will work against horizontal pod autoscalers.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &autoscaling.HorizontalPodAutoscaler{} },
|
NewFunc: func() runtime.Object { return &autoscaling.HorizontalPodAutoscaler{} },
|
||||||
NewListFunc: func() runtime.Object { return &autoscaling.HorizontalPodAutoscalerList{} },
|
NewListFunc: func() runtime.Object { return &autoscaling.HorizontalPodAutoscalerList{} },
|
||||||
DefaultQualifiedResource: autoscaling.Resource("horizontalpodautoscalers"),
|
DefaultQualifiedResource: autoscaling.Resource("horizontalpodautoscalers"),
|
||||||
|
|
|
@ -29,7 +29,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/batch:go_default_library",
|
"//pkg/apis/batch: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",
|
||||||
|
|
|
@ -23,7 +23,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/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/batch"
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
"k8s.io/kubernetes/pkg/printers"
|
"k8s.io/kubernetes/pkg/printers"
|
||||||
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
||||||
|
@ -39,7 +38,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against CronJobs.
|
// NewREST returns a RESTStorage object that will work against CronJobs.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &batch.CronJob{} },
|
NewFunc: func() runtime.Object { return &batch.CronJob{} },
|
||||||
NewListFunc: func() runtime.Object { return &batch.CronJobList{} },
|
NewListFunc: func() runtime.Object { return &batch.CronJobList{} },
|
||||||
DefaultQualifiedResource: batch.Resource("cronjobs"),
|
DefaultQualifiedResource: batch.Resource("cronjobs"),
|
||||||
|
|
|
@ -27,7 +27,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/batch:go_default_library",
|
"//pkg/apis/batch: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",
|
||||||
|
|
|
@ -23,7 +23,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/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/batch"
|
"k8s.io/kubernetes/pkg/apis/batch"
|
||||||
"k8s.io/kubernetes/pkg/printers"
|
"k8s.io/kubernetes/pkg/printers"
|
||||||
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
||||||
|
@ -54,7 +53,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against Jobs.
|
// NewREST returns a RESTStorage object that will work against Jobs.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &batch.Job{} },
|
NewFunc: func() runtime.Object { return &batch.Job{} },
|
||||||
NewListFunc: func() runtime.Object { return &batch.JobList{} },
|
NewListFunc: func() runtime.Object { return &batch.JobList{} },
|
||||||
PredicateFunc: job.MatchJob,
|
PredicateFunc: job.MatchJob,
|
||||||
|
|
|
@ -22,7 +22,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/certificates"
|
"k8s.io/kubernetes/pkg/apis/certificates"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -62,7 +61,7 @@ func (s *storage) CreateCSR(ctx genericapirequest.Context, csr *certificates.Cer
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateCSR(ctx genericapirequest.Context, csr *certificates.CertificateSigningRequest) error {
|
func (s *storage) UpdateCSR(ctx genericapirequest.Context, csr *certificates.CertificateSigningRequest) error {
|
||||||
_, _, err := s.Update(ctx, csr.Name, rest.DefaultUpdatedObjectInfo(csr, api.Scheme))
|
_, _, err := s.Update(ctx, csr.Name, rest.DefaultUpdatedObjectInfo(csr))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/certificates:go_default_library",
|
"//pkg/apis/certificates:go_default_library",
|
||||||
"//pkg/registry/certificates/certificates:go_default_library",
|
"//pkg/registry/certificates/certificates:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
|
|
@ -22,7 +22,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/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/certificates"
|
"k8s.io/kubernetes/pkg/apis/certificates"
|
||||||
csrregistry "k8s.io/kubernetes/pkg/registry/certificates/certificates"
|
csrregistry "k8s.io/kubernetes/pkg/registry/certificates/certificates"
|
||||||
)
|
)
|
||||||
|
@ -35,7 +34,6 @@ type REST struct {
|
||||||
// NewREST returns a registry which will store CertificateSigningRequest in the given helper
|
// NewREST returns a registry which will store CertificateSigningRequest in the given helper
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *ApprovalREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *ApprovalREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &certificates.CertificateSigningRequest{} },
|
NewFunc: func() runtime.Object { return &certificates.CertificateSigningRequest{} },
|
||||||
NewListFunc: func() runtime.Object { return &certificates.CertificateSigningRequestList{} },
|
NewListFunc: func() runtime.Object { return &certificates.CertificateSigningRequestList{} },
|
||||||
DefaultQualifiedResource: certificates.Resource("certificatesigningrequests"),
|
DefaultQualifiedResource: certificates.Resource("certificatesigningrequests"),
|
||||||
|
|
|
@ -78,7 +78,7 @@ func (s *storage) CreateConfigMap(ctx genericapirequest.Context, cfg *api.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateConfigMap(ctx genericapirequest.Context, cfg *api.ConfigMap) (*api.ConfigMap, error) {
|
func (s *storage) UpdateConfigMap(ctx genericapirequest.Context, cfg *api.ConfigMap) (*api.ConfigMap, error) {
|
||||||
obj, _, err := s.Update(ctx, cfg.Name, rest.DefaultUpdatedObjectInfo(cfg, api.Scheme))
|
obj, _, err := s.Update(ctx, cfg.Name, rest.DefaultUpdatedObjectInfo(cfg))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work with ConfigMap objects.
|
// NewREST returns a RESTStorage object that will work with ConfigMap objects.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.ConfigMap{} },
|
NewFunc: func() runtime.Object { return &api.ConfigMap{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.ConfigMapList{} },
|
NewListFunc: func() runtime.Object { return &api.ConfigMapList{} },
|
||||||
DefaultQualifiedResource: api.Resource("configmaps"),
|
DefaultQualifiedResource: api.Resource("configmaps"),
|
||||||
|
|
|
@ -66,7 +66,7 @@ func (s *storage) GetEndpoints(ctx genericapirequest.Context, name string, optio
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateEndpoints(ctx genericapirequest.Context, endpoints *api.Endpoints) error {
|
func (s *storage) UpdateEndpoints(ctx genericapirequest.Context, endpoints *api.Endpoints) error {
|
||||||
_, _, err := s.Update(ctx, endpoints.Name, rest.DefaultUpdatedObjectInfo(endpoints, api.Scheme))
|
_, _, err := s.Update(ctx, endpoints.Name, rest.DefaultUpdatedObjectInfo(endpoints))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against endpoints.
|
// NewREST returns a RESTStorage object that will work against endpoints.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.Endpoints{} },
|
NewFunc: func() runtime.Object { return &api.Endpoints{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.EndpointsList{} },
|
NewListFunc: func() runtime.Object { return &api.EndpointsList{} },
|
||||||
DefaultQualifiedResource: api.Resource("endpoints"),
|
DefaultQualifiedResource: api.Resource("endpoints"),
|
||||||
|
|
|
@ -42,7 +42,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter, ttl uint64) *REST {
|
||||||
opts.Decorator = generic.UndecoratedStorage // TODO use watchCacheSize=-1 to signal UndecoratedStorage
|
opts.Decorator = generic.UndecoratedStorage // TODO use watchCacheSize=-1 to signal UndecoratedStorage
|
||||||
|
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.Event{} },
|
NewFunc: func() runtime.Object { return &api.Event{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.EventList{} },
|
NewListFunc: func() runtime.Object { return &api.EventList{} },
|
||||||
PredicateFunc: event.MatchEvent,
|
PredicateFunc: event.MatchEvent,
|
||||||
|
|
|
@ -32,7 +32,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against limitranges.
|
// NewREST returns a RESTStorage object that will work against limitranges.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.LimitRange{} },
|
NewFunc: func() runtime.Object { return &api.LimitRange{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.LimitRangeList{} },
|
NewListFunc: func() runtime.Object { return &api.LimitRangeList{} },
|
||||||
DefaultQualifiedResource: api.Resource("limitranges"),
|
DefaultQualifiedResource: api.Resource("limitranges"),
|
||||||
|
|
|
@ -72,7 +72,7 @@ func (s *storage) CreateNamespace(ctx genericapirequest.Context, namespace *api.
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateNamespace(ctx genericapirequest.Context, namespace *api.Namespace) error {
|
func (s *storage) UpdateNamespace(ctx genericapirequest.Context, namespace *api.Namespace) error {
|
||||||
_, _, err := s.Update(ctx, namespace.Name, rest.DefaultUpdatedObjectInfo(namespace, api.Scheme))
|
_, _, err := s.Update(ctx, namespace.Name, rest.DefaultUpdatedObjectInfo(namespace))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,6 @@ type FinalizeREST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against namespaces.
|
// NewREST returns a RESTStorage object that will work against namespaces.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *FinalizeREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *FinalizeREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.Namespace{} },
|
NewFunc: func() runtime.Object { return &api.Namespace{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.NamespaceList{} },
|
NewListFunc: func() runtime.Object { return &api.NamespaceList{} },
|
||||||
PredicateFunc: namespace.MatchNamespace,
|
PredicateFunc: namespace.MatchNamespace,
|
||||||
|
|
|
@ -61,7 +61,7 @@ func (s *storage) CreateNode(ctx genericapirequest.Context, node *api.Node) erro
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateNode(ctx genericapirequest.Context, node *api.Node) error {
|
func (s *storage) UpdateNode(ctx genericapirequest.Context, node *api.Node) error {
|
||||||
_, _, err := s.Update(ctx, node.Name, rest.DefaultUpdatedObjectInfo(node, api.Scheme))
|
_, _, err := s.Update(ctx, node.Name, rest.DefaultUpdatedObjectInfo(node))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,6 @@ func (r *StatusREST) Update(ctx genericapirequest.Context, name string, objInfo
|
||||||
// NewStorage returns a NodeStorage object that will work against nodes.
|
// NewStorage returns a NodeStorage object that will work against nodes.
|
||||||
func NewStorage(optsGetter generic.RESTOptionsGetter, kubeletClientConfig client.KubeletClientConfig, proxyTransport http.RoundTripper) (*NodeStorage, error) {
|
func NewStorage(optsGetter generic.RESTOptionsGetter, kubeletClientConfig client.KubeletClientConfig, proxyTransport http.RoundTripper) (*NodeStorage, error) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.Node{} },
|
NewFunc: func() runtime.Object { return &api.Node{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.NodeList{} },
|
NewListFunc: func() runtime.Object { return &api.NodeList{} },
|
||||||
PredicateFunc: node.MatchNode,
|
PredicateFunc: node.MatchNode,
|
||||||
|
|
|
@ -34,7 +34,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against persistent volumes.
|
// NewREST returns a RESTStorage object that will work against persistent volumes.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.PersistentVolume{} },
|
NewFunc: func() runtime.Object { return &api.PersistentVolume{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.PersistentVolumeList{} },
|
NewListFunc: func() runtime.Object { return &api.PersistentVolumeList{} },
|
||||||
PredicateFunc: persistentvolume.MatchPersistentVolumes,
|
PredicateFunc: persistentvolume.MatchPersistentVolumes,
|
||||||
|
|
|
@ -187,7 +187,7 @@ func TestUpdateStatus(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
_, _, err = statusStorage.Update(ctx, pvIn.Name, rest.DefaultUpdatedObjectInfo(pvIn, api.Scheme))
|
_, _, err = statusStorage.Update(ctx, pvIn.Name, rest.DefaultUpdatedObjectInfo(pvIn))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against persistent volume claims.
|
// NewREST returns a RESTStorage object that will work against persistent volume claims.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.PersistentVolumeClaim{} },
|
NewFunc: func() runtime.Object { return &api.PersistentVolumeClaim{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.PersistentVolumeClaimList{} },
|
NewListFunc: func() runtime.Object { return &api.PersistentVolumeClaimList{} },
|
||||||
PredicateFunc: persistentvolumeclaim.MatchPersistentVolumeClaim,
|
PredicateFunc: persistentvolumeclaim.MatchPersistentVolumeClaim,
|
||||||
|
|
|
@ -178,7 +178,7 @@ func TestUpdateStatus(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
_, _, err = statusStorage.Update(ctx, pvc.Name, rest.DefaultUpdatedObjectInfo(pvc, api.Scheme))
|
_, _, err = statusStorage.Update(ctx, pvc.Name, rest.DefaultUpdatedObjectInfo(pvc))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,6 @@ type REST struct {
|
||||||
func NewStorage(optsGetter generic.RESTOptionsGetter, k client.ConnectionInfoGetter, proxyTransport http.RoundTripper, podDisruptionBudgetClient policyclient.PodDisruptionBudgetsGetter) PodStorage {
|
func NewStorage(optsGetter generic.RESTOptionsGetter, k client.ConnectionInfoGetter, proxyTransport http.RoundTripper, podDisruptionBudgetClient policyclient.PodDisruptionBudgetsGetter) PodStorage {
|
||||||
|
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.Pod{} },
|
NewFunc: func() runtime.Object { return &api.Pod{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.PodList{} },
|
NewListFunc: func() runtime.Object { return &api.PodList{} },
|
||||||
PredicateFunc: pod.MatchPod,
|
PredicateFunc: pod.MatchPod,
|
||||||
|
|
|
@ -727,7 +727,7 @@ func TestEtcdUpdateUninitialized(t *testing.T) {
|
||||||
})
|
})
|
||||||
podIn.ObjectMeta.Initializers = nil
|
podIn.ObjectMeta.Initializers = nil
|
||||||
|
|
||||||
_, _, err := storage.Update(ctx, podIn.Name, rest.DefaultUpdatedObjectInfo(&podIn, api.Scheme))
|
_, _, err := storage.Update(ctx, podIn.Name, rest.DefaultUpdatedObjectInfo(&podIn))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error: %v", err)
|
t.Errorf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -762,7 +762,7 @@ func TestEtcdStatusUpdateUninitialized(t *testing.T) {
|
||||||
podIn.Status.Phase = api.PodRunning
|
podIn.Status.Phase = api.PodRunning
|
||||||
podIn.ObjectMeta.Initializers = nil
|
podIn.ObjectMeta.Initializers = nil
|
||||||
|
|
||||||
_, _, err := statusStorage.Update(ctx, podIn.Name, rest.DefaultUpdatedObjectInfo(&podIn, api.Scheme))
|
_, _, err := statusStorage.Update(ctx, podIn.Name, rest.DefaultUpdatedObjectInfo(&podIn))
|
||||||
expected := "Forbidden: must not update status when the object is uninitialized"
|
expected := "Forbidden: must not update status when the object is uninitialized"
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("Unexpected no err, expected %q", expected)
|
t.Fatalf("Unexpected no err, expected %q", expected)
|
||||||
|
@ -783,7 +783,7 @@ func TestEtcdUpdateNotScheduled(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
podIn := validChangedPod()
|
podIn := validChangedPod()
|
||||||
_, _, err := storage.Update(ctx, podIn.Name, rest.DefaultUpdatedObjectInfo(podIn, api.Scheme))
|
_, _, err := storage.Update(ctx, podIn.Name, rest.DefaultUpdatedObjectInfo(podIn))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error: %v", err)
|
t.Errorf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -853,7 +853,7 @@ func TestEtcdUpdateScheduled(t *testing.T) {
|
||||||
SchedulerName: api.DefaultSchedulerName,
|
SchedulerName: api.DefaultSchedulerName,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
_, _, err = storage.Update(ctx, podIn.Name, rest.DefaultUpdatedObjectInfo(&podIn, api.Scheme))
|
_, _, err = storage.Update(ctx, podIn.Name, rest.DefaultUpdatedObjectInfo(&podIn))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error: %v", err)
|
t.Errorf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -937,7 +937,7 @@ func TestEtcdUpdateStatus(t *testing.T) {
|
||||||
expected.Labels = podIn.Labels
|
expected.Labels = podIn.Labels
|
||||||
expected.Status = podIn.Status
|
expected.Status = podIn.Status
|
||||||
|
|
||||||
_, _, err = statusStorage.Update(ctx, podIn.Name, rest.DefaultUpdatedObjectInfo(&podIn, api.Scheme))
|
_, _, err = statusStorage.Update(ctx, podIn.Name, rest.DefaultUpdatedObjectInfo(&podIn))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against pod templates.
|
// NewREST returns a RESTStorage object that will work against pod templates.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.PodTemplate{} },
|
NewFunc: func() runtime.Object { return &api.PodTemplate{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.PodTemplateList{} },
|
NewListFunc: func() runtime.Object { return &api.PodTemplateList{} },
|
||||||
DefaultQualifiedResource: api.Resource("podtemplates"),
|
DefaultQualifiedResource: api.Resource("podtemplates"),
|
||||||
|
|
|
@ -82,7 +82,7 @@ func (s *storage) CreateController(ctx genericapirequest.Context, controller *ap
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateController(ctx genericapirequest.Context, controller *api.ReplicationController) (*api.ReplicationController, error) {
|
func (s *storage) UpdateController(ctx genericapirequest.Context, controller *api.ReplicationController) (*api.ReplicationController, error) {
|
||||||
obj, _, err := s.Update(ctx, controller.Name, rest.DefaultUpdatedObjectInfo(controller, api.Scheme))
|
obj, _, err := s.Update(ctx, controller.Name, rest.DefaultUpdatedObjectInfo(controller))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against replication controllers.
|
// NewREST returns a RESTStorage object that will work against replication controllers.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.ReplicationController{} },
|
NewFunc: func() runtime.Object { return &api.ReplicationController{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.ReplicationControllerList{} },
|
NewListFunc: func() runtime.Object { return &api.ReplicationControllerList{} },
|
||||||
PredicateFunc: replicationcontroller.MatchController,
|
PredicateFunc: replicationcontroller.MatchController,
|
||||||
|
|
|
@ -173,7 +173,7 @@ func TestGenerationNumber(t *testing.T) {
|
||||||
|
|
||||||
// Updates to spec should increment the generation number
|
// Updates to spec should increment the generation number
|
||||||
controller.Spec.Replicas += 1
|
controller.Spec.Replicas += 1
|
||||||
storage.Controller.Update(ctx, controller.Name, rest.DefaultUpdatedObjectInfo(controller, api.Scheme))
|
storage.Controller.Update(ctx, controller.Name, rest.DefaultUpdatedObjectInfo(controller))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -188,7 +188,7 @@ func TestGenerationNumber(t *testing.T) {
|
||||||
|
|
||||||
// Updates to status should not increment either spec or status generation numbers
|
// Updates to status should not increment either spec or status generation numbers
|
||||||
controller.Status.Replicas += 1
|
controller.Status.Replicas += 1
|
||||||
storage.Controller.Update(ctx, controller.Name, rest.DefaultUpdatedObjectInfo(controller, api.Scheme))
|
storage.Controller.Update(ctx, controller.Name, rest.DefaultUpdatedObjectInfo(controller))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -308,7 +308,7 @@ func TestScaleUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, _, err := storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil {
|
if _, _, err := storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil {
|
||||||
t.Fatalf("error updating scale %v: %v", update, err)
|
t.Fatalf("error updating scale %v: %v", update, err)
|
||||||
}
|
}
|
||||||
obj, err := storage.Scale.Get(ctx, name, &metav1.GetOptions{})
|
obj, err := storage.Scale.Get(ctx, name, &metav1.GetOptions{})
|
||||||
|
@ -323,7 +323,7 @@ func TestScaleUpdate(t *testing.T) {
|
||||||
update.ResourceVersion = rc.ResourceVersion
|
update.ResourceVersion = rc.ResourceVersion
|
||||||
update.Spec.Replicas = 15
|
update.Spec.Replicas = 15
|
||||||
|
|
||||||
if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil && !errors.IsConflict(err) {
|
if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil && !errors.IsConflict(err) {
|
||||||
t.Fatalf("unexpected error, expecting an update conflict but got %v", err)
|
t.Fatalf("unexpected error, expecting an update conflict but got %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against resource quotas.
|
// NewREST returns a RESTStorage object that will work against resource quotas.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.ResourceQuota{} },
|
NewFunc: func() runtime.Object { return &api.ResourceQuota{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.ResourceQuotaList{} },
|
NewListFunc: func() runtime.Object { return &api.ResourceQuotaList{} },
|
||||||
DefaultQualifiedResource: api.Resource("resourcequotas"),
|
DefaultQualifiedResource: api.Resource("resourcequotas"),
|
||||||
|
|
|
@ -191,7 +191,7 @@ func TestUpdateStatus(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
_, _, err = status.Update(ctx, resourcequotaIn.Name, rest.DefaultUpdatedObjectInfo(resourcequotaIn, api.Scheme))
|
_, _, err = status.Update(ctx, resourcequotaIn.Name, rest.DefaultUpdatedObjectInfo(resourcequotaIn))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,7 @@ func (s *storage) CreateSecret(ctx genericapirequest.Context, secret *api.Secret
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateSecret(ctx genericapirequest.Context, secret *api.Secret) (*api.Secret, error) {
|
func (s *storage) UpdateSecret(ctx genericapirequest.Context, secret *api.Secret) (*api.Secret, error) {
|
||||||
obj, _, err := s.Update(ctx, secret.Name, rest.DefaultUpdatedObjectInfo(secret, api.Scheme))
|
obj, _, err := s.Update(ctx, secret.Name, rest.DefaultUpdatedObjectInfo(secret))
|
||||||
return obj.(*api.Secret), err
|
return obj.(*api.Secret), err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against secrets.
|
// NewREST returns a RESTStorage object that will work against secrets.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.Secret{} },
|
NewFunc: func() runtime.Object { return &api.Secret{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.SecretList{} },
|
NewListFunc: func() runtime.Object { return &api.SecretList{} },
|
||||||
PredicateFunc: secret.Matcher,
|
PredicateFunc: secret.Matcher,
|
||||||
|
|
|
@ -79,7 +79,7 @@ func (s *storage) DeleteService(ctx genericapirequest.Context, name string) erro
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateService(ctx genericapirequest.Context, svc *api.Service) (*api.Service, error) {
|
func (s *storage) UpdateService(ctx genericapirequest.Context, svc *api.Service) (*api.Service, error) {
|
||||||
obj, _, err := s.Update(ctx, svc.Name, rest.DefaultUpdatedObjectInfo(svc, api.Scheme))
|
obj, _, err := s.Update(ctx, svc.Name, rest.DefaultUpdatedObjectInfo(svc))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -330,7 +330,7 @@ func TestServiceRegistryUpdate(t *testing.T) {
|
||||||
TargetPort: intstr.FromInt(6502),
|
TargetPort: intstr.FromInt(6502),
|
||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
}, api.Scheme))
|
}))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Expected no error: %v", err)
|
t.Fatalf("Expected no error: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -391,7 +391,7 @@ func TestServiceStorageValidatesUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
for _, failureCase := range failureCases {
|
for _, failureCase := range failureCases {
|
||||||
c, created, err := storage.Update(ctx, failureCase.Name, rest.DefaultUpdatedObjectInfo(&failureCase, api.Scheme))
|
c, created, err := storage.Update(ctx, failureCase.Name, rest.DefaultUpdatedObjectInfo(&failureCase))
|
||||||
if c != nil || created {
|
if c != nil || created {
|
||||||
t.Errorf("Expected nil object or created false")
|
t.Errorf("Expected nil object or created false")
|
||||||
}
|
}
|
||||||
|
@ -499,14 +499,14 @@ func TestServiceRegistryUpdateExternalService(t *testing.T) {
|
||||||
// Modify load balancer to be external.
|
// Modify load balancer to be external.
|
||||||
svc2 := svc1.DeepCopy()
|
svc2 := svc1.DeepCopy()
|
||||||
svc2.Spec.Type = api.ServiceTypeLoadBalancer
|
svc2.Spec.Type = api.ServiceTypeLoadBalancer
|
||||||
if _, _, err := storage.Update(ctx, svc2.Name, rest.DefaultUpdatedObjectInfo(svc2, api.Scheme)); err != nil {
|
if _, _, err := storage.Update(ctx, svc2.Name, rest.DefaultUpdatedObjectInfo(svc2)); err != nil {
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change port.
|
// Change port.
|
||||||
svc3 := svc2.DeepCopy()
|
svc3 := svc2.DeepCopy()
|
||||||
svc3.Spec.Ports[0].Port = 6504
|
svc3.Spec.Ports[0].Port = 6504
|
||||||
if _, _, err := storage.Update(ctx, svc3.Name, rest.DefaultUpdatedObjectInfo(svc3, api.Scheme)); err != nil {
|
if _, _, err := storage.Update(ctx, svc3.Name, rest.DefaultUpdatedObjectInfo(svc3)); err != nil {
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -542,7 +542,7 @@ func TestServiceRegistryUpdateMultiPortExternalService(t *testing.T) {
|
||||||
// Modify ports
|
// Modify ports
|
||||||
svc2 := svc1.DeepCopy()
|
svc2 := svc1.DeepCopy()
|
||||||
svc2.Spec.Ports[1].Port = 8088
|
svc2.Spec.Ports[1].Port = 8088
|
||||||
if _, _, err := storage.Update(ctx, svc2.Name, rest.DefaultUpdatedObjectInfo(svc2, api.Scheme)); err != nil {
|
if _, _, err := storage.Update(ctx, svc2.Name, rest.DefaultUpdatedObjectInfo(svc2)); err != nil {
|
||||||
t.Fatalf("Unexpected error: %v", err)
|
t.Fatalf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -881,7 +881,7 @@ func TestServiceRegistryIPUpdate(t *testing.T) {
|
||||||
update := created_service.DeepCopy()
|
update := created_service.DeepCopy()
|
||||||
update.Spec.Ports[0].Port = 6503
|
update.Spec.Ports[0].Port = 6503
|
||||||
|
|
||||||
updated_svc, _, _ := storage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(update, api.Scheme))
|
updated_svc, _, _ := storage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(update))
|
||||||
updated_service := updated_svc.(*api.Service)
|
updated_service := updated_svc.(*api.Service)
|
||||||
if updated_service.Spec.Ports[0].Port != 6503 {
|
if updated_service.Spec.Ports[0].Port != 6503 {
|
||||||
t.Errorf("Expected port 6503, but got %v", updated_service.Spec.Ports[0].Port)
|
t.Errorf("Expected port 6503, but got %v", updated_service.Spec.Ports[0].Port)
|
||||||
|
@ -900,7 +900,7 @@ func TestServiceRegistryIPUpdate(t *testing.T) {
|
||||||
update.Spec.Ports[0].Port = 6503
|
update.Spec.Ports[0].Port = 6503
|
||||||
update.Spec.ClusterIP = testIP // Error: Cluster IP is immutable
|
update.Spec.ClusterIP = testIP // Error: Cluster IP is immutable
|
||||||
|
|
||||||
_, _, err := storage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(update, api.Scheme))
|
_, _, err := storage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(update))
|
||||||
if err == nil || !errors.IsInvalid(err) {
|
if err == nil || !errors.IsInvalid(err) {
|
||||||
t.Errorf("Unexpected error type: %v", err)
|
t.Errorf("Unexpected error type: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -934,7 +934,7 @@ func TestServiceRegistryIPLoadBalancer(t *testing.T) {
|
||||||
|
|
||||||
update := created_service.DeepCopy()
|
update := created_service.DeepCopy()
|
||||||
|
|
||||||
_, _, err := storage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(update, api.Scheme))
|
_, _, err := storage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(update))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Unexpected error %v", err)
|
t.Errorf("Unexpected error %v", err)
|
||||||
}
|
}
|
||||||
|
@ -947,7 +947,7 @@ func TestUpdateServiceWithConflictingNamespace(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx := genericapirequest.NewDefaultContext()
|
ctx := genericapirequest.NewDefaultContext()
|
||||||
obj, created, err := storage.Update(ctx, service.Name, rest.DefaultUpdatedObjectInfo(service, api.Scheme))
|
obj, created, err := storage.Update(ctx, service.Name, rest.DefaultUpdatedObjectInfo(service))
|
||||||
if obj != nil || created {
|
if obj != nil || created {
|
||||||
t.Error("Expected a nil object, but we got a value or created was true")
|
t.Error("Expected a nil object, but we got a value or created was true")
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against services.
|
// NewREST returns a RESTStorage object that will work against services.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.Service{} },
|
NewFunc: func() runtime.Object { return &api.Service{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.ServiceList{} },
|
NewListFunc: func() runtime.Object { return &api.ServiceList{} },
|
||||||
DefaultQualifiedResource: api.Resource("services"),
|
DefaultQualifiedResource: api.Resource("services"),
|
||||||
|
|
|
@ -72,7 +72,7 @@ func (s *storage) CreateServiceAccount(ctx genericapirequest.Context, serviceAcc
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateServiceAccount(ctx genericapirequest.Context, serviceAccount *api.ServiceAccount) error {
|
func (s *storage) UpdateServiceAccount(ctx genericapirequest.Context, serviceAccount *api.ServiceAccount) error {
|
||||||
_, _, err := s.Update(ctx, serviceAccount.Name, rest.DefaultUpdatedObjectInfo(serviceAccount, api.Scheme))
|
_, _, err := s.Update(ctx, serviceAccount.Name, rest.DefaultUpdatedObjectInfo(serviceAccount))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against service accounts.
|
// NewREST returns a RESTStorage object that will work against service accounts.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &api.ServiceAccount{} },
|
NewFunc: func() runtime.Object { return &api.ServiceAccount{} },
|
||||||
NewListFunc: func() runtime.Object { return &api.ServiceAccountList{} },
|
NewListFunc: func() runtime.Object { return &api.ServiceAccountList{} },
|
||||||
DefaultQualifiedResource: api.Resource("serviceaccounts"),
|
DefaultQualifiedResource: api.Resource("serviceaccounts"),
|
||||||
|
|
|
@ -123,7 +123,7 @@ func TestUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, _, err := storage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil {
|
if _, _, err := storage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
obj, err := storage.Get(ctx, "foo", &metav1.GetOptions{})
|
obj, err := storage.Get(ctx, "foo", &metav1.GetOptions{})
|
||||||
|
|
|
@ -27,7 +27,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions: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",
|
||||||
|
|
|
@ -23,7 +23,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/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
"k8s.io/kubernetes/pkg/printers"
|
"k8s.io/kubernetes/pkg/printers"
|
||||||
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
||||||
|
@ -39,7 +38,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against DaemonSets.
|
// NewREST returns a RESTStorage object that will work against DaemonSets.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &extensions.DaemonSet{} },
|
NewFunc: func() runtime.Object { return &extensions.DaemonSet{} },
|
||||||
NewListFunc: func() runtime.Object { return &extensions.DaemonSetList{} },
|
NewListFunc: func() runtime.Object { return &extensions.DaemonSetList{} },
|
||||||
DefaultQualifiedResource: extensions.Resource("daemonsets"),
|
DefaultQualifiedResource: extensions.Resource("daemonsets"),
|
||||||
|
|
|
@ -23,7 +23,6 @@ import (
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -74,7 +73,7 @@ func (s *storage) CreateDeployment(ctx genericapirequest.Context, deployment *ex
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateDeployment(ctx genericapirequest.Context, deployment *extensions.Deployment) (*extensions.Deployment, error) {
|
func (s *storage) UpdateDeployment(ctx genericapirequest.Context, deployment *extensions.Deployment) (*extensions.Deployment, error) {
|
||||||
obj, _, err := s.Update(ctx, deployment.Name, rest.DefaultUpdatedObjectInfo(deployment, api.Scheme))
|
obj, _, err := s.Update(ctx, deployment.Name, rest.DefaultUpdatedObjectInfo(deployment))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions:go_default_library",
|
||||||
"//pkg/apis/extensions/validation:go_default_library",
|
"//pkg/apis/extensions/validation:go_default_library",
|
||||||
"//pkg/registry/extensions/deployment:go_default_library",
|
"//pkg/registry/extensions/deployment:go_default_library",
|
||||||
|
|
|
@ -30,7 +30,6 @@ import (
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/apiserver/pkg/storage"
|
"k8s.io/apiserver/pkg/storage"
|
||||||
storeerr "k8s.io/apiserver/pkg/storage/errors"
|
storeerr "k8s.io/apiserver/pkg/storage/errors"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
extvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation"
|
extvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation"
|
||||||
"k8s.io/kubernetes/pkg/registry/extensions/deployment"
|
"k8s.io/kubernetes/pkg/registry/extensions/deployment"
|
||||||
|
@ -63,7 +62,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against deployments.
|
// NewREST returns a RESTStorage object that will work against deployments.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *RollbackREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *RollbackREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &extensions.Deployment{} },
|
NewFunc: func() runtime.Object { return &extensions.Deployment{} },
|
||||||
NewListFunc: func() runtime.Object { return &extensions.DeploymentList{} },
|
NewListFunc: func() runtime.Object { return &extensions.DeploymentList{} },
|
||||||
DefaultQualifiedResource: extensions.Resource("deployments"),
|
DefaultQualifiedResource: extensions.Resource("deployments"),
|
||||||
|
|
|
@ -251,7 +251,7 @@ func TestScaleUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, _, err := storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil {
|
if _, _, err := storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil {
|
||||||
t.Fatalf("error updating scale %v: %v", update, err)
|
t.Fatalf("error updating scale %v: %v", update, err)
|
||||||
}
|
}
|
||||||
obj, err := storage.Scale.Get(ctx, name, &metav1.GetOptions{})
|
obj, err := storage.Scale.Get(ctx, name, &metav1.GetOptions{})
|
||||||
|
@ -266,7 +266,7 @@ func TestScaleUpdate(t *testing.T) {
|
||||||
update.ResourceVersion = deployment.ResourceVersion
|
update.ResourceVersion = deployment.ResourceVersion
|
||||||
update.Spec.Replicas = 15
|
update.Spec.Replicas = 15
|
||||||
|
|
||||||
if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil && !errors.IsConflict(err) {
|
if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil && !errors.IsConflict(err) {
|
||||||
t.Fatalf("unexpected error, expecting an update conflict but got %v", err)
|
t.Fatalf("unexpected error, expecting an update conflict but got %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -290,7 +290,7 @@ func TestStatusUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, _, err := storage.Status.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil {
|
if _, _, err := storage.Status.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
obj, err := storage.Deployment.Get(ctx, name, &metav1.GetOptions{})
|
obj, err := storage.Deployment.Get(ctx, name, &metav1.GetOptions{})
|
||||||
|
|
|
@ -28,7 +28,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions: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",
|
||||||
|
|
|
@ -23,7 +23,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/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
"k8s.io/kubernetes/pkg/printers"
|
"k8s.io/kubernetes/pkg/printers"
|
||||||
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
||||||
|
@ -39,7 +38,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against replication controllers.
|
// NewREST returns a RESTStorage object that will work against replication controllers.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &extensions.Ingress{} },
|
NewFunc: func() runtime.Object { return &extensions.Ingress{} },
|
||||||
NewListFunc: func() runtime.Object { return &extensions.IngressList{} },
|
NewListFunc: func() runtime.Object { return &extensions.IngressList{} },
|
||||||
DefaultQualifiedResource: extensions.Resource("ingresses"),
|
DefaultQualifiedResource: extensions.Resource("ingresses"),
|
||||||
|
|
|
@ -27,7 +27,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions:go_default_library",
|
||||||
"//pkg/registry/extensions/podsecuritypolicy:go_default_library",
|
"//pkg/registry/extensions/podsecuritypolicy:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"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/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
"k8s.io/kubernetes/pkg/registry/extensions/podsecuritypolicy"
|
"k8s.io/kubernetes/pkg/registry/extensions/podsecuritypolicy"
|
||||||
)
|
)
|
||||||
|
@ -33,7 +32,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against PodSecurityPolicy objects.
|
// NewREST returns a RESTStorage object that will work against PodSecurityPolicy objects.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &extensions.PodSecurityPolicy{} },
|
NewFunc: func() runtime.Object { return &extensions.PodSecurityPolicy{} },
|
||||||
NewListFunc: func() runtime.Object { return &extensions.PodSecurityPolicyList{} },
|
NewListFunc: func() runtime.Object { return &extensions.PodSecurityPolicyList{} },
|
||||||
DefaultQualifiedResource: extensions.Resource("podsecuritypolicies"),
|
DefaultQualifiedResource: extensions.Resource("podsecuritypolicies"),
|
||||||
|
|
|
@ -26,7 +26,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -83,7 +82,7 @@ func (s *storage) CreateReplicaSet(ctx genericapirequest.Context, replicaSet *ex
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateReplicaSet(ctx genericapirequest.Context, replicaSet *extensions.ReplicaSet) (*extensions.ReplicaSet, error) {
|
func (s *storage) UpdateReplicaSet(ctx genericapirequest.Context, replicaSet *extensions.ReplicaSet) (*extensions.ReplicaSet, error) {
|
||||||
obj, _, err := s.Update(ctx, replicaSet.Name, rest.DefaultUpdatedObjectInfo(replicaSet, api.Scheme))
|
obj, _, err := s.Update(ctx, replicaSet.Name, rest.DefaultUpdatedObjectInfo(replicaSet))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions:go_default_library",
|
||||||
"//pkg/apis/extensions/validation:go_default_library",
|
"//pkg/apis/extensions/validation:go_default_library",
|
||||||
"//pkg/printers:go_default_library",
|
"//pkg/printers:go_default_library",
|
||||||
|
|
|
@ -29,7 +29,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/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||||
extvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation"
|
extvalidation "k8s.io/kubernetes/pkg/apis/extensions/validation"
|
||||||
"k8s.io/kubernetes/pkg/printers"
|
"k8s.io/kubernetes/pkg/printers"
|
||||||
|
@ -63,7 +62,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against ReplicaSet.
|
// NewREST returns a RESTStorage object that will work against ReplicaSet.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &extensions.ReplicaSet{} },
|
NewFunc: func() runtime.Object { return &extensions.ReplicaSet{} },
|
||||||
NewListFunc: func() runtime.Object { return &extensions.ReplicaSetList{} },
|
NewListFunc: func() runtime.Object { return &extensions.ReplicaSetList{} },
|
||||||
PredicateFunc: replicaset.MatchReplicaSet,
|
PredicateFunc: replicaset.MatchReplicaSet,
|
||||||
|
|
|
@ -169,7 +169,7 @@ func TestGenerationNumber(t *testing.T) {
|
||||||
|
|
||||||
// Updates to spec should increment the generation number
|
// Updates to spec should increment the generation number
|
||||||
storedRS.Spec.Replicas += 1
|
storedRS.Spec.Replicas += 1
|
||||||
storage.ReplicaSet.Update(ctx, storedRS.Name, rest.DefaultUpdatedObjectInfo(storedRS, api.Scheme))
|
storage.ReplicaSet.Update(ctx, storedRS.Name, rest.DefaultUpdatedObjectInfo(storedRS))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -184,7 +184,7 @@ func TestGenerationNumber(t *testing.T) {
|
||||||
|
|
||||||
// Updates to status should not increment either spec or status generation numbers
|
// Updates to status should not increment either spec or status generation numbers
|
||||||
storedRS.Status.Replicas += 1
|
storedRS.Status.Replicas += 1
|
||||||
storage.ReplicaSet.Update(ctx, storedRS.Name, rest.DefaultUpdatedObjectInfo(storedRS, api.Scheme))
|
storage.ReplicaSet.Update(ctx, storedRS.Name, rest.DefaultUpdatedObjectInfo(storedRS))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -311,7 +311,7 @@ func TestScaleUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, _, err := storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil {
|
if _, _, err := storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil {
|
||||||
t.Fatalf("error updating scale %v: %v", update, err)
|
t.Fatalf("error updating scale %v: %v", update, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -327,7 +327,7 @@ func TestScaleUpdate(t *testing.T) {
|
||||||
update.ResourceVersion = rs.ResourceVersion
|
update.ResourceVersion = rs.ResourceVersion
|
||||||
update.Spec.Replicas = 15
|
update.Spec.Replicas = 15
|
||||||
|
|
||||||
if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil && !errors.IsConflict(err) {
|
if _, _, err = storage.Scale.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil && !errors.IsConflict(err) {
|
||||||
t.Fatalf("unexpected error, expecting an update conflict but got %v", err)
|
t.Fatalf("unexpected error, expecting an update conflict but got %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -352,7 +352,7 @@ func TestStatusUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, _, err := storage.Status.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil {
|
if _, _, err := storage.Status.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
obj, err := storage.ReplicaSet.Get(ctx, "foo", &metav1.GetOptions{})
|
obj, err := storage.ReplicaSet.Get(ctx, "foo", &metav1.GetOptions{})
|
||||||
|
|
|
@ -22,7 +22,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/networking"
|
"k8s.io/kubernetes/pkg/apis/networking"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -62,7 +61,7 @@ func (s *storage) CreateNetworkPolicy(ctx genericapirequest.Context, np *network
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateNetworkPolicy(ctx genericapirequest.Context, np *networking.NetworkPolicy) error {
|
func (s *storage) UpdateNetworkPolicy(ctx genericapirequest.Context, np *networking.NetworkPolicy) error {
|
||||||
_, _, err := s.Update(ctx, np.Name, rest.DefaultUpdatedObjectInfo(np, api.Scheme))
|
_, _, err := s.Update(ctx, np.Name, rest.DefaultUpdatedObjectInfo(np))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/networking:go_default_library",
|
"//pkg/apis/networking:go_default_library",
|
||||||
"//pkg/registry/networking/networkpolicy:go_default_library",
|
"//pkg/registry/networking/networkpolicy:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
|
|
@ -21,7 +21,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/api"
|
|
||||||
networkingapi "k8s.io/kubernetes/pkg/apis/networking"
|
networkingapi "k8s.io/kubernetes/pkg/apis/networking"
|
||||||
"k8s.io/kubernetes/pkg/registry/networking/networkpolicy"
|
"k8s.io/kubernetes/pkg/registry/networking/networkpolicy"
|
||||||
)
|
)
|
||||||
|
@ -34,7 +33,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against NetworkPolicies
|
// NewREST returns a RESTStorage object that will work against NetworkPolicies
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &networkingapi.NetworkPolicy{} },
|
NewFunc: func() runtime.Object { return &networkingapi.NetworkPolicy{} },
|
||||||
NewListFunc: func() runtime.Object { return &networkingapi.NetworkPolicyList{} },
|
NewListFunc: func() runtime.Object { return &networkingapi.NetworkPolicyList{} },
|
||||||
DefaultQualifiedResource: networkingapi.Resource("networkpolicies"),
|
DefaultQualifiedResource: networkingapi.Resource("networkpolicies"),
|
||||||
|
|
|
@ -11,7 +11,6 @@ go_test(
|
||||||
srcs = ["storage_test.go"],
|
srcs = ["storage_test.go"],
|
||||||
library = ":go_default_library",
|
library = ":go_default_library",
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/policy:go_default_library",
|
"//pkg/apis/policy:go_default_library",
|
||||||
"//pkg/registry/registrytest:go_default_library",
|
"//pkg/registry/registrytest:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
|
@ -29,7 +28,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/policy:go_default_library",
|
"//pkg/apis/policy: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",
|
||||||
|
|
|
@ -23,7 +23,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/api"
|
|
||||||
policyapi "k8s.io/kubernetes/pkg/apis/policy"
|
policyapi "k8s.io/kubernetes/pkg/apis/policy"
|
||||||
"k8s.io/kubernetes/pkg/printers"
|
"k8s.io/kubernetes/pkg/printers"
|
||||||
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
printersinternal "k8s.io/kubernetes/pkg/printers/internalversion"
|
||||||
|
@ -39,7 +38,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against pod disruption budgets.
|
// NewREST returns a RESTStorage object that will work against pod disruption budgets.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &policyapi.PodDisruptionBudget{} },
|
NewFunc: func() runtime.Object { return &policyapi.PodDisruptionBudget{} },
|
||||||
NewListFunc: func() runtime.Object { return &policyapi.PodDisruptionBudgetList{} },
|
NewListFunc: func() runtime.Object { return &policyapi.PodDisruptionBudgetList{} },
|
||||||
DefaultQualifiedResource: policyapi.Resource("poddisruptionbudgets"),
|
DefaultQualifiedResource: policyapi.Resource("poddisruptionbudgets"),
|
||||||
|
|
|
@ -27,7 +27,6 @@ import (
|
||||||
"k8s.io/apiserver/pkg/registry/generic"
|
"k8s.io/apiserver/pkg/registry/generic"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing"
|
etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/policy"
|
"k8s.io/kubernetes/pkg/apis/policy"
|
||||||
"k8s.io/kubernetes/pkg/registry/registrytest"
|
"k8s.io/kubernetes/pkg/registry/registrytest"
|
||||||
)
|
)
|
||||||
|
@ -110,7 +109,7 @@ func TestStatusUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, _, err := statusStorage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update, api.Scheme)); err != nil {
|
if _, _, err := statusStorage.Update(ctx, update.Name, rest.DefaultUpdatedObjectInfo(&update)); err != nil {
|
||||||
t.Fatalf("unexpected error: %v", err)
|
t.Fatalf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
obj, err = storage.Get(ctx, "foo", &metav1.GetOptions{})
|
obj, err = storage.Get(ctx, "foo", &metav1.GetOptions{})
|
||||||
|
|
|
@ -13,7 +13,6 @@ go_library(
|
||||||
"helpers.go",
|
"helpers.go",
|
||||||
],
|
],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/rbac:go_default_library",
|
"//pkg/apis/rbac:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
|
||||||
|
|
|
@ -22,7 +22,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/rbac"
|
"k8s.io/kubernetes/pkg/apis/rbac"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -62,7 +61,7 @@ func (s *storage) CreateClusterRole(ctx genericapirequest.Context, clusterRole *
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateClusterRole(ctx genericapirequest.Context, clusterRole *rbac.ClusterRole) error {
|
func (s *storage) UpdateClusterRole(ctx genericapirequest.Context, clusterRole *rbac.ClusterRole) error {
|
||||||
_, _, err := s.Update(ctx, clusterRole.Name, rest.DefaultUpdatedObjectInfo(clusterRole, api.Scheme))
|
_, _, err := s.Update(ctx, clusterRole.Name, rest.DefaultUpdatedObjectInfo(clusterRole))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,6 @@ go_library(
|
||||||
name = "go_default_library",
|
name = "go_default_library",
|
||||||
srcs = ["storage.go"],
|
srcs = ["storage.go"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/api:go_default_library",
|
|
||||||
"//pkg/apis/rbac:go_default_library",
|
"//pkg/apis/rbac:go_default_library",
|
||||||
"//pkg/registry/rbac/clusterrole:go_default_library",
|
"//pkg/registry/rbac/clusterrole:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"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/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/rbac"
|
"k8s.io/kubernetes/pkg/apis/rbac"
|
||||||
"k8s.io/kubernetes/pkg/registry/rbac/clusterrole"
|
"k8s.io/kubernetes/pkg/registry/rbac/clusterrole"
|
||||||
)
|
)
|
||||||
|
@ -33,7 +32,6 @@ type REST struct {
|
||||||
// NewREST returns a RESTStorage object that will work against ClusterRole objects.
|
// NewREST returns a RESTStorage object that will work against ClusterRole objects.
|
||||||
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
|
||||||
store := &genericregistry.Store{
|
store := &genericregistry.Store{
|
||||||
Copier: api.Scheme,
|
|
||||||
NewFunc: func() runtime.Object { return &rbac.ClusterRole{} },
|
NewFunc: func() runtime.Object { return &rbac.ClusterRole{} },
|
||||||
NewListFunc: func() runtime.Object { return &rbac.ClusterRoleList{} },
|
NewListFunc: func() runtime.Object { return &rbac.ClusterRoleList{} },
|
||||||
DefaultQualifiedResource: rbac.Resource("clusterroles"),
|
DefaultQualifiedResource: rbac.Resource("clusterroles"),
|
||||||
|
|
|
@ -22,7 +22,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/watch"
|
"k8s.io/apimachinery/pkg/watch"
|
||||||
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
|
||||||
"k8s.io/apiserver/pkg/registry/rest"
|
"k8s.io/apiserver/pkg/registry/rest"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/apis/rbac"
|
"k8s.io/kubernetes/pkg/apis/rbac"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -62,7 +61,7 @@ func (s *storage) CreateClusterRoleBinding(ctx genericapirequest.Context, cluste
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *storage) UpdateClusterRoleBinding(ctx genericapirequest.Context, clusterRoleBinding *rbac.ClusterRoleBinding) error {
|
func (s *storage) UpdateClusterRoleBinding(ctx genericapirequest.Context, clusterRoleBinding *rbac.ClusterRoleBinding) error {
|
||||||
_, _, err := s.Update(ctx, clusterRoleBinding.Name, rest.DefaultUpdatedObjectInfo(clusterRoleBinding, api.Scheme))
|
_, _, err := s.Update(ctx, clusterRoleBinding.Name, rest.DefaultUpdatedObjectInfo(clusterRoleBinding))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue