From fb0fedaac0af6b88515b91aa589c48d572c3a2a5 Mon Sep 17 00:00:00 2001 From: jiangpengcheng Date: Mon, 15 Jan 2024 10:09:22 +0800 Subject: [PATCH 1/3] Use `bash -c` instead of `sh -c` --- controllers/spec/common.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/controllers/spec/common.go b/controllers/spec/common.go index 3ef849f8f..47320c92b 100644 --- a/controllers/spec/common.go +++ b/controllers/spec/common.go @@ -20,10 +20,6 @@ package spec import ( "bytes" "context" - "regexp" - - autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2" - // used for template _ "embed" "encoding/json" @@ -32,12 +28,14 @@ import ( "html/template" "os" "reflect" + "regexp" "sort" "strconv" "strings" appsv1 "k8s.io/api/apps/v1" autov2 "k8s.io/api/autoscaling/v2" + autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2" v1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -354,7 +352,7 @@ func MakeJavaFunctionCommand(downloadPath, packageFile, name, clusterName, gener authProvided, tlsProvided, tlsConfig, authConfig), " ") processCommand = downloadCommand + " && " + processCommand } - return []string{"sh", "-c", processCommand} + return []string{"bash", "-c", processCommand} } func MakePythonFunctionCommand(downloadPath, packageFile, name, clusterName, generateLogConfigCommand, details, uid string, @@ -371,7 +369,7 @@ func MakePythonFunctionCommand(downloadPath, packageFile, name, clusterName, gen tlsProvided, tlsConfig, authConfig), " ") processCommand = downloadCommand + " && " + processCommand } - return []string{"sh", "-c", processCommand} + return []string{"bash", "-c", processCommand} } func MakeGoFunctionCommand(downloadPath, goExecFilePath string, function *v1alpha1.Function) []string { @@ -390,7 +388,7 @@ func MakeGoFunctionCommand(downloadPath, goExecFilePath string, function *v1alph function.Spec.Pulsar.TLSSecret != "", function.Spec.Pulsar.TLSConfig, function.Spec.Pulsar.AuthConfig), " ") processCommand = downloadCommand + " && ls -al && pwd &&" + processCommand } - return []string{"sh", "-c", processCommand} + return []string{"bash", "-c", processCommand} } func MakeGenericFunctionCommand(downloadPath, functionFile, language, clusterName, details, uid string, authProvided, tlsProvided bool, secretMaps map[string]v1alpha1.SecretRef, From 5ab36b0df182fbf834cedce30ab217ec6e821fae Mon Sep 17 00:00:00 2001 From: jiangpengcheng Date: Mon, 15 Jan 2024 10:22:53 +0800 Subject: [PATCH 2/3] Format --- controllers/spec/common.go | 1 + 1 file changed, 1 insertion(+) diff --git a/controllers/spec/common.go b/controllers/spec/common.go index 47320c92b..697df7a3f 100644 --- a/controllers/spec/common.go +++ b/controllers/spec/common.go @@ -20,6 +20,7 @@ package spec import ( "bytes" "context" + // used for template _ "embed" "encoding/json" From 3877f0f2f76e403ec7dc60e80383af7edacc5718 Mon Sep 17 00:00:00 2001 From: jiangpengcheng Date: Tue, 16 Jan 2024 14:23:09 +0800 Subject: [PATCH 3/3] Fix unittest --- controllers/spec/common_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/spec/common_test.go b/controllers/spec/common_test.go index 9cf055eae..f9a168a1d 100644 --- a/controllers/spec/common_test.go +++ b/controllers/spec/common_test.go @@ -439,7 +439,7 @@ func TestGetSourceRunnerImage(t *testing.T) { func TestMakeGoFunctionCommand(t *testing.T) { function := makeGoFunctionSample(TestFunctionName) commands := MakeGoFunctionCommand("", "/pulsar/go-func", function) - assert.Equal(t, commands[0], "sh") + assert.Equal(t, commands[0], "bash") assert.Equal(t, commands[1], "-c") assert.True(t, strings.HasPrefix(commands[2], "SHARD_ID=${POD_NAME##*-} && echo shardId=${SHARD_ID}")) innerCommands := strings.Split(commands[2], "&&")