diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-05-03 11:30:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-03 11:30:51 +0200 |
commit | a7809fabe508e26c527490e700a1703ef923bd3b (patch) | |
tree | 2c3e83fa62f6b98b394123d1c73e321e40041c95 /cmd/podman/shared | |
parent | 4877e6a947beff12f7f927978f04cffc11377007 (diff) | |
parent | a477a8ff755e2807d0745b207d6a5bf57de58e4c (diff) | |
download | podman-a7809fabe508e26c527490e700a1703ef923bd3b.tar.gz podman-a7809fabe508e26c527490e700a1703ef923bd3b.tar.bz2 podman-a7809fabe508e26c527490e700a1703ef923bd3b.zip |
Merge pull request #2905 from QiWang19/globalvar
Add variable for global flags to runlabel
Diffstat (limited to 'cmd/podman/shared')
-rw-r--r-- | cmd/podman/shared/container.go | 4 | ||||
-rw-r--r-- | cmd/podman/shared/funcs.go | 4 | ||||
-rw-r--r-- | cmd/podman/shared/funcs_test.go | 12 |
3 files changed, 11 insertions, 9 deletions
diff --git a/cmd/podman/shared/container.go b/cmd/podman/shared/container.go index 9050fd2b9..fe447d10d 100644 --- a/cmd/podman/shared/container.go +++ b/cmd/podman/shared/container.go @@ -883,7 +883,7 @@ func GetRunlabel(label string, runlabelImage string, ctx context.Context, runtim } // GenerateRunlabelCommand generates the command that will eventually be execucted by podman -func GenerateRunlabelCommand(runLabel, imageName, name string, opts map[string]string, extraArgs []string) ([]string, []string, error) { +func GenerateRunlabelCommand(runLabel, imageName, name string, opts map[string]string, extraArgs []string, globalOpts string) ([]string, []string, error) { // If no name is provided, we use the image's basename instead if name == "" { baseName, err := image.GetImageBaseName(imageName) @@ -896,7 +896,7 @@ func GenerateRunlabelCommand(runLabel, imageName, name string, opts map[string]s if len(extraArgs) > 0 { runLabel = fmt.Sprintf("%s %s", runLabel, strings.Join(extraArgs, " ")) } - cmd, err := GenerateCommand(runLabel, imageName, name) + cmd, err := GenerateCommand(runLabel, imageName, name, globalOpts) if err != nil { return nil, nil, errors.Wrapf(err, "unable to generate command") } diff --git a/cmd/podman/shared/funcs.go b/cmd/podman/shared/funcs.go index 70d041fd2..c189cceeb 100644 --- a/cmd/podman/shared/funcs.go +++ b/cmd/podman/shared/funcs.go @@ -41,7 +41,7 @@ func substituteCommand(cmd string) (string, error) { } // GenerateCommand takes a label (string) and converts it to an executable command -func GenerateCommand(command, imageName, name string) ([]string, error) { +func GenerateCommand(command, imageName, name, globalOpts string) ([]string, error) { var ( newCommand []string ) @@ -79,6 +79,8 @@ func GenerateCommand(command, imageName, name string) ([]string, error) { newArg = fmt.Sprintf("NAME=%s", name) case "$NAME": newArg = name + case "$GLOBAL_OPTS": + newArg = globalOpts default: newArg = arg } diff --git a/cmd/podman/shared/funcs_test.go b/cmd/podman/shared/funcs_test.go index 7506b9d9c..c05348242 100644 --- a/cmd/podman/shared/funcs_test.go +++ b/cmd/podman/shared/funcs_test.go @@ -20,7 +20,7 @@ var ( func TestGenerateCommand(t *testing.T) { inputCommand := "docker run -it --name NAME -e NAME=NAME -e IMAGE=IMAGE IMAGE echo \"hello world\"" correctCommand := "/proc/self/exe run -it --name bar -e NAME=bar -e IMAGE=foo foo echo hello world" - newCommand, err := GenerateCommand(inputCommand, "foo", "bar") + newCommand, err := GenerateCommand(inputCommand, "foo", "bar", "") assert.Nil(t, err) assert.Equal(t, "hello world", newCommand[11]) assert.Equal(t, correctCommand, strings.Join(newCommand, " ")) @@ -83,7 +83,7 @@ func TestGenerateCommandCheckSubstitution(t *testing.T) { } for _, test := range tests { - newCommand, err := GenerateCommand(test.input, "foo", "bar") + newCommand, err := GenerateCommand(test.input, "foo", "bar", "") if test.shouldFail { assert.NotNil(t, err) } else { @@ -96,14 +96,14 @@ func TestGenerateCommandCheckSubstitution(t *testing.T) { func TestGenerateCommandPath(t *testing.T) { inputCommand := "docker run -it --name NAME -e NAME=NAME -e IMAGE=IMAGE IMAGE echo install" correctCommand := "/proc/self/exe run -it --name bar -e NAME=bar -e IMAGE=foo foo echo install" - newCommand, _ := GenerateCommand(inputCommand, "foo", "bar") + newCommand, _ := GenerateCommand(inputCommand, "foo", "bar", "") assert.Equal(t, correctCommand, strings.Join(newCommand, " ")) } func TestGenerateCommandNoSetName(t *testing.T) { inputCommand := "docker run -it --name NAME -e NAME=NAME -e IMAGE=IMAGE IMAGE echo install" correctCommand := "/proc/self/exe run -it --name foo -e NAME=foo -e IMAGE=foo foo echo install" - newCommand, err := GenerateCommand(inputCommand, "foo", "") + newCommand, err := GenerateCommand(inputCommand, "foo", "", "") assert.Nil(t, err) assert.Equal(t, correctCommand, strings.Join(newCommand, " ")) } @@ -111,7 +111,7 @@ func TestGenerateCommandNoSetName(t *testing.T) { func TestGenerateCommandNoName(t *testing.T) { inputCommand := "docker run -it -e IMAGE=IMAGE IMAGE echo install" correctCommand := "/proc/self/exe run -it -e IMAGE=foo foo echo install" - newCommand, err := GenerateCommand(inputCommand, "foo", "") + newCommand, err := GenerateCommand(inputCommand, "foo", "", "") assert.Nil(t, err) assert.Equal(t, correctCommand, strings.Join(newCommand, " ")) } @@ -119,7 +119,7 @@ func TestGenerateCommandNoName(t *testing.T) { func TestGenerateCommandAlreadyPodman(t *testing.T) { inputCommand := "podman run -it --name NAME -e NAME=NAME -e IMAGE=IMAGE IMAGE echo install" correctCommand := "/proc/self/exe run -it --name bar -e NAME=bar -e IMAGE=foo foo echo install" - newCommand, err := GenerateCommand(inputCommand, "foo", "bar") + newCommand, err := GenerateCommand(inputCommand, "foo", "bar", "") assert.Nil(t, err) assert.Equal(t, correctCommand, strings.Join(newCommand, " ")) } |