mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Merge pull request #64113 from juanvallejo/jvallejo/remove-uneeded-factory-methods
Automatic merge from submit-queue (batch tested with PRs 63151, 63795, 63553, 64068, 64113). 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>. remove LabelsForObject and ResolveImage from factory **Release note**: ```release-note NONE ``` Removes the `ResolveImage` and `LabelsForObject` methods from factory_client_access, which are not needed. cc @soltysh
This commit is contained in:
commit
a0036fcae1
@ -96,7 +96,6 @@ type ExposeServiceOptions struct {
|
||||
MapBasedSelectorForObject func(runtime.Object) (string, error)
|
||||
PortsForObject func(runtime.Object) ([]string, error)
|
||||
ProtocolsForObject func(runtime.Object) (map[string]string, error)
|
||||
LabelsForObject func(runtime.Object) (map[string]string, error)
|
||||
|
||||
Namespace string
|
||||
Mapper meta.RESTMapper
|
||||
@ -200,7 +199,6 @@ func (o *ExposeServiceOptions) Complete(f cmdutil.Factory, cmd *cobra.Command) e
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
o.LabelsForObject = f.LabelsForObject
|
||||
|
||||
o.Namespace, o.EnforceNamespace, err = f.DefaultNamespace()
|
||||
if err != nil {
|
||||
@ -294,7 +292,7 @@ func (o *ExposeServiceOptions) RunExpose(cmd *cobra.Command, args []string) erro
|
||||
}
|
||||
|
||||
if kubectl.IsZero(params["labels"]) {
|
||||
labels, err := o.LabelsForObject(info.Object)
|
||||
labels, err := meta.NewAccessor().Labels(info.Object)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ type SetImageOptions struct {
|
||||
All bool
|
||||
Output string
|
||||
Local bool
|
||||
ResolveImage func(in string) (string, error)
|
||||
ResolveImage ImageResolver
|
||||
|
||||
PrintObj printers.ResourcePrinterFunc
|
||||
Recorder genericclioptions.Recorder
|
||||
@ -138,7 +138,7 @@ func (o *SetImageOptions) Complete(f cmdutil.Factory, cmd *cobra.Command, args [
|
||||
o.UpdatePodSpecForObject = polymorphichelpers.UpdatePodSpecForObjectFn
|
||||
o.DryRun = cmdutil.GetDryRunFlag(cmd)
|
||||
o.Output = cmdutil.GetFlagString(cmd, "output")
|
||||
o.ResolveImage = f.ResolveImage
|
||||
o.ResolveImage = resolveImageFunc
|
||||
|
||||
if o.DryRun {
|
||||
o.PrintFlags.Complete("%s (dry run)")
|
||||
@ -310,3 +310,13 @@ func hasWildcardKey(containerImages map[string]string) bool {
|
||||
_, ok := containerImages["*"]
|
||||
return ok
|
||||
}
|
||||
|
||||
// ImageResolver is a func that receives an image name, and
|
||||
// resolves it to an appropriate / compatible image name.
|
||||
// Adds flexibility for future image resolving methods.
|
||||
type ImageResolver func(in string) (string, error)
|
||||
|
||||
// implements ImageResolver
|
||||
func resolveImageFunc(in string) (string, error) {
|
||||
return in, nil
|
||||
}
|
||||
|
@ -86,8 +86,6 @@ type ClientAccessFactory interface {
|
||||
PortsForObject(object runtime.Object) ([]string, error)
|
||||
// ProtocolsForObject returns the <port, protocol> mapping associated with the provided object
|
||||
ProtocolsForObject(object runtime.Object) (map[string]string, error)
|
||||
// LabelsForObject returns the labels associated with the provided object
|
||||
LabelsForObject(object runtime.Object) (map[string]string, error)
|
||||
|
||||
// Command will stringify and return all environment arguments ie. a command run by a client
|
||||
// using the factory.
|
||||
@ -105,11 +103,6 @@ type ClientAccessFactory interface {
|
||||
// in case the object is already resumed.
|
||||
Resumer(info *resource.Info) ([]byte, error)
|
||||
|
||||
// ResolveImage resolves the image names. For kubernetes this function is just
|
||||
// passthrough but it allows to perform more sophisticated image name resolving for
|
||||
// third-party vendors.
|
||||
ResolveImage(imageName string) (string, error)
|
||||
|
||||
// Returns the default namespace to use in cases where no
|
||||
// other namespace is specified and whether the namespace was
|
||||
// overridden.
|
||||
|
@ -196,10 +196,6 @@ func (f *ring0Factory) ProtocolsForObject(object runtime.Object) (map[string]str
|
||||
}
|
||||
}
|
||||
|
||||
func (f *ring0Factory) LabelsForObject(object runtime.Object) (map[string]string, error) {
|
||||
return meta.NewAccessor().Labels(object)
|
||||
}
|
||||
|
||||
// Set showSecrets false to filter out stuff like secrets.
|
||||
func (f *ring0Factory) Command(cmd *cobra.Command, showSecrets bool) string {
|
||||
if len(os.Args) == 0 {
|
||||
@ -254,10 +250,6 @@ func (f *ring0Factory) Pauser(info *resource.Info) ([]byte, error) {
|
||||
}
|
||||
}
|
||||
|
||||
func (f *ring0Factory) ResolveImage(name string) (string, error) {
|
||||
return name, nil
|
||||
}
|
||||
|
||||
func (f *ring0Factory) Resumer(info *resource.Info) ([]byte, error) {
|
||||
switch obj := info.Object.(type) {
|
||||
case *extensions.Deployment:
|
||||
|
@ -21,7 +21,6 @@ import (
|
||||
"testing"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
api "k8s.io/kubernetes/pkg/apis/core"
|
||||
@ -98,57 +97,6 @@ func TestProtocolsForObject(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestLabelsForObject(t *testing.T) {
|
||||
f := NewFactory(genericclioptions.NewTestConfigFlags())
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
object runtime.Object
|
||||
expected string
|
||||
err error
|
||||
}{
|
||||
{
|
||||
name: "successful re-use of labels",
|
||||
object: &api.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{Name: "baz", Namespace: "test", Labels: map[string]string{"svc": "test"}},
|
||||
TypeMeta: metav1.TypeMeta{Kind: "Service", APIVersion: "v1"},
|
||||
},
|
||||
expected: "svc=test",
|
||||
err: nil,
|
||||
},
|
||||
{
|
||||
name: "empty labels",
|
||||
object: &api.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "test", Labels: map[string]string{}},
|
||||
TypeMeta: metav1.TypeMeta{Kind: "Service", APIVersion: "v1"},
|
||||
},
|
||||
expected: "",
|
||||
err: nil,
|
||||
},
|
||||
{
|
||||
name: "nil labels",
|
||||
object: &api.Service{
|
||||
ObjectMeta: metav1.ObjectMeta{Name: "zen", Namespace: "test", Labels: nil},
|
||||
TypeMeta: metav1.TypeMeta{Kind: "Service", APIVersion: "v1"},
|
||||
},
|
||||
expected: "",
|
||||
err: nil,
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
gotLabels, err := f.LabelsForObject(test.object)
|
||||
if err != test.err {
|
||||
t.Fatalf("%s: Error mismatch: Expected %v, got %v", test.name, test.err, err)
|
||||
}
|
||||
got := kubectl.MakeLabels(gotLabels)
|
||||
if test.expected != got {
|
||||
t.Fatalf("%s: Labels mismatch! Expected %s, got %s", test.name, test.expected, got)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func TestCanBeExposed(t *testing.T) {
|
||||
factory := NewFactory(genericclioptions.NewTestConfigFlags())
|
||||
tests := []struct {
|
||||
|
Loading…
Reference in New Issue
Block a user