mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-30 13:19:35 +00:00 
			
		
		
		
	fix --local panic in set commands
This commit is contained in:
		| @@ -474,7 +474,8 @@ func (o *EnvOptions) RunEnv() error { | |||||||
| 	for _, patch := range patches { | 	for _, patch := range patches { | ||||||
| 		info := patch.Info | 		info := patch.Info | ||||||
| 		if patch.Err != nil { | 		if patch.Err != nil { | ||||||
| 			allErrs = append(allErrs, fmt.Errorf("error: %s/%s %v", info.Mapping.Resource, info.Name, patch.Err)) | 			name := info.ObjectName() | ||||||
|  | 			allErrs = append(allErrs, fmt.Errorf("error: %s %v\n", name, patch.Err)) | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -247,7 +247,8 @@ func (o *SetImageOptions) Run() error { | |||||||
| 	for _, patch := range patches { | 	for _, patch := range patches { | ||||||
| 		info := patch.Info | 		info := patch.Info | ||||||
| 		if patch.Err != nil { | 		if patch.Err != nil { | ||||||
| 			allErrs = append(allErrs, fmt.Errorf("error: %s/%s %v", info.Mapping.Resource, info.Name, patch.Err)) | 			name := info.ObjectName() | ||||||
|  | 			allErrs = append(allErrs, fmt.Errorf("error: %s %v\n", name, patch.Err)) | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -260,14 +260,15 @@ func (o *SetResourcesOptions) Run() error { | |||||||
|  |  | ||||||
| 	for _, patch := range patches { | 	for _, patch := range patches { | ||||||
| 		info := patch.Info | 		info := patch.Info | ||||||
|  | 		name := info.ObjectName() | ||||||
| 		if patch.Err != nil { | 		if patch.Err != nil { | ||||||
| 			allErrs = append(allErrs, fmt.Errorf("error: %s/%s %v", info.Mapping.Resource, info.Name, patch.Err)) | 			allErrs = append(allErrs, fmt.Errorf("error: %s %v\n", name, patch.Err)) | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		//no changes | 		//no changes | ||||||
| 		if string(patch.Patch) == "{}" || len(patch.Patch) == 0 { | 		if string(patch.Patch) == "{}" || len(patch.Patch) == 0 { | ||||||
| 			allErrs = append(allErrs, fmt.Errorf("info: %s %q was not changed", info.Mapping.Resource, info.Name)) | 			allErrs = append(allErrs, fmt.Errorf("info: %s was not changed\n", name)) | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -191,8 +191,9 @@ func (o *SetServiceAccountOptions) Run() error { | |||||||
| 	patches := CalculatePatches(o.infos, scheme.DefaultJSONEncoder(), patchFn) | 	patches := CalculatePatches(o.infos, scheme.DefaultJSONEncoder(), patchFn) | ||||||
| 	for _, patch := range patches { | 	for _, patch := range patches { | ||||||
| 		info := patch.Info | 		info := patch.Info | ||||||
|  | 		name := info.ObjectName() | ||||||
| 		if patch.Err != nil { | 		if patch.Err != nil { | ||||||
| 			patchErrs = append(patchErrs, fmt.Errorf("error: %s/%s %v", info.Mapping.Resource, info.Name, patch.Err)) | 			patchErrs = append(patchErrs, fmt.Errorf("error: %s %v\n", name, patch.Err)) | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
| 		if o.local || o.dryRun { | 		if o.local || o.dryRun { | ||||||
|   | |||||||
| @@ -240,14 +240,15 @@ func (o *SubjectOptions) Run(fn updateSubjects) error { | |||||||
| 	allErrs := []error{} | 	allErrs := []error{} | ||||||
| 	for _, patch := range patches { | 	for _, patch := range patches { | ||||||
| 		info := patch.Info | 		info := patch.Info | ||||||
|  | 		name := info.ObjectName() | ||||||
| 		if patch.Err != nil { | 		if patch.Err != nil { | ||||||
| 			allErrs = append(allErrs, fmt.Errorf("error: %s/%s %v", info.Mapping.Resource, info.Name, patch.Err)) | 			allErrs = append(allErrs, fmt.Errorf("error: %s %v\n", name, patch.Err)) | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		//no changes | 		//no changes | ||||||
| 		if string(patch.Patch) == "{}" || len(patch.Patch) == 0 { | 		if string(patch.Patch) == "{}" || len(patch.Patch) == 0 { | ||||||
| 			allErrs = append(allErrs, fmt.Errorf("info: %s %q was not changed", info.Mapping.Resource, info.Name)) | 			allErrs = append(allErrs, fmt.Errorf("info: %s was not changed\n", name)) | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ import ( | |||||||
| 	"net/url" | 	"net/url" | ||||||
| 	"os" | 	"os" | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
|  | 	"strings" | ||||||
| 	"time" | 	"time" | ||||||
|  |  | ||||||
| 	"golang.org/x/text/encoding/unicode" | 	"golang.org/x/text/encoding/unicode" | ||||||
| @@ -141,6 +142,18 @@ func (i *Info) Refresh(obj runtime.Object, ignoreError bool) error { | |||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // ObjectName returns an approximate form of the resource's kind/name. | ||||||
|  | func (i *Info) ObjectName() string { | ||||||
|  | 	if i.Mapping != nil { | ||||||
|  | 		return fmt.Sprintf("%s/%s", i.Mapping.Resource.Resource, i.Name) | ||||||
|  | 	} | ||||||
|  | 	gvk := i.Object.GetObjectKind().GroupVersionKind() | ||||||
|  | 	if len(gvk.Group) == 0 { | ||||||
|  | 		return fmt.Sprintf("%s/%s", strings.ToLower(gvk.Kind), i.Name) | ||||||
|  | 	} | ||||||
|  | 	return fmt.Sprintf("%s.%s/%s\n", strings.ToLower(gvk.Kind), gvk.Group, i.Name) | ||||||
|  | } | ||||||
|  |  | ||||||
| // String returns the general purpose string representation | // String returns the general purpose string representation | ||||||
| func (i *Info) String() string { | func (i *Info) String() string { | ||||||
| 	basicInfo := fmt.Sprintf("Name: %q, Namespace: %q\nObject: %+q", i.Name, i.Namespace, i.Object) | 	basicInfo := fmt.Sprintf("Name: %q, Namespace: %q\nObject: %+q", i.Name, i.Namespace, i.Object) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user