Truncate cronjob name at 52 characters (#1208)
This commit is contained in:
		
							parent
							
								
									772f0ca771
								
							
						
					
					
						commit
						17da6bc649
					
				|  | @ -2101,7 +2101,7 @@ func (c *Cluster) generateLogicalBackupPodEnvVars() []v1.EnvVar { | |||
| 
 | ||||
| // getLogicalBackupJobName returns the name; the job itself may not exists
 | ||||
| func (c *Cluster) getLogicalBackupJobName() (jobName string) { | ||||
| 	return c.OpConfig.LogicalBackupJobPrefix + c.clusterName().Name | ||||
| 	return trimCronjobName(c.OpConfig.LogicalBackupJobPrefix + c.clusterName().Name) | ||||
| } | ||||
| 
 | ||||
| // Return an array of ownerReferences to make an arbitraty object dependent on
 | ||||
|  |  | |||
|  | @ -576,3 +576,12 @@ func mergeContainers(containers ...[]v1.Container) ([]v1.Container, []string) { | |||
| 	} | ||||
| 	return result, conflicts | ||||
| } | ||||
| 
 | ||||
| func trimCronjobName(name string) string { | ||||
| 	maxLength := 52 | ||||
| 	if len(name) > maxLength { | ||||
| 		name = name[0:maxLength] | ||||
| 		name = strings.TrimRight(name, "-") | ||||
| 	} | ||||
| 	return name | ||||
| } | ||||
|  |  | |||
|  | @ -139,3 +139,43 @@ func TestInheritedAnnotations(t *testing.T) { | |||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func Test_trimCronjobName(t *testing.T) { | ||||
| 	type args struct { | ||||
| 		name string | ||||
| 	} | ||||
| 	tests := []struct { | ||||
| 		name string | ||||
| 		args args | ||||
| 		want string | ||||
| 	}{ | ||||
| 		{ | ||||
| 			name: "short name", | ||||
| 			args: args{ | ||||
| 				name: "short-name", | ||||
| 			}, | ||||
| 			want: "short-name", | ||||
| 		}, | ||||
| 		{ | ||||
| 			name: "long name", | ||||
| 			args: args{ | ||||
| 				name: "very-very-very-very-very-very-very-very-very-long-db-name", | ||||
| 			}, | ||||
| 			want: "very-very-very-very-very-very-very-very-very-long-db", | ||||
| 		}, | ||||
| 		{ | ||||
| 			name: "long name should not end with dash", | ||||
| 			args: args{ | ||||
| 				name: "very-very-very-very-very-very-very-very-very-----------long-db-name", | ||||
| 			}, | ||||
| 			want: "very-very-very-very-very-very-very-very-very", | ||||
| 		}, | ||||
| 	} | ||||
| 	for _, tt := range tests { | ||||
| 		t.Run(tt.name, func(t *testing.T) { | ||||
| 			if got := trimCronjobName(tt.args.name); got != tt.want { | ||||
| 				t.Errorf("trimCronjobName() = %v, want %v", got, tt.want) | ||||
| 			} | ||||
| 		}) | ||||
| 	} | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue