diff --git a/cloud/cpi_cmd_runner.go b/cloud/cpi_cmd_runner.go index a3fc0d074..eee31560b 100644 --- a/cloud/cpi_cmd_runner.go +++ b/cloud/cpi_cmd_runner.go @@ -4,8 +4,6 @@ import ( "bytes" "encoding/json" "fmt" - "os" - "strconv" bosherr "github.com/cloudfoundry/bosh-utils/errors" boshlog "github.com/cloudfoundry/bosh-utils/logger" @@ -100,14 +98,6 @@ func (r *cpiCmdRunner) Run(context CmdContext, method string, apiVersion int, ar if err != nil { return CmdOutput{}, bosherr.WrapErrorf(err, "Marshalling external CPI command input %#v", cmdInput) } - useIsolatedEnv := true - value, present := os.LookupEnv("BOSH_CPI_USE_ISOLATED_ENV") - if present { - useIsolatedEnv, err = strconv.ParseBool(value) - if err != nil { - return CmdOutput{}, bosherr.WrapErrorf(err, "Parsing $BOSH_CPI_USE_ISOLATED_ENV error, could not parse value: %v", value) - } - } cmdPath := r.cpi.ExecutablePath() cmd := boshsys.Command{ @@ -115,11 +105,10 @@ func (r *cpiCmdRunner) Run(context CmdContext, method string, apiVersion int, ar Env: map[string]string{ "BOSH_PACKAGES_DIR": r.cpi.PackagesDir, "BOSH_JOBS_DIR": r.cpi.JobsDir, - "PATH": "/usr/local/bin:/usr/bin:/bin:/sbin", }, - UseIsolatedEnv: useIsolatedEnv, - Stdin: bytes.NewReader(inputBytes), + Stdin: bytes.NewReader(inputBytes), } + stdout, stderr, exitCode, err := r.cmdRunner.RunComplexCommand(cmd) r.logger.Debug(r.logTag, "Exit Code %d when executing external CPI command '%s'\nSTDIN: '%s'\nSTDOUT: '%s'\nSTDERR: '%s'", exitCode, cmdPath, string(inputBytes), stdout, stderr) if err != nil { diff --git a/cloud/cpi_cmd_runner_test.go b/cloud/cpi_cmd_runner_test.go index 6ce84b23d..a1df13bda 100644 --- a/cloud/cpi_cmd_runner_test.go +++ b/cloud/cpi_cmd_runner_test.go @@ -4,7 +4,6 @@ import ( "encoding/json" "errors" "io" - "os" boshlog "github.com/cloudfoundry/bosh-utils/logger" fakesys "github.com/cloudfoundry/bosh-utils/system/fakes" @@ -63,9 +62,7 @@ var _ = Describe("CpiCmdRunner", func() { Expect(actualCmd.Env).To(Equal(map[string]string{ "BOSH_PACKAGES_DIR": cpi.PackagesDir, "BOSH_JOBS_DIR": cpi.JobsDir, - "PATH": "/usr/local/bin:/usr/bin:/bin:/sbin", })) - Expect(actualCmd.UseIsolatedEnv).To(BeTrue()) bytes, err := io.ReadAll(actualCmd.Stdin) Expect(err).NotTo(HaveOccurred()) Expect(string(bytes)).To(Equal( @@ -89,41 +86,6 @@ var _ = Describe("CpiCmdRunner", func() { apiVersion = 2 }) - AfterEach(func() { - os.Unsetenv("BOSH_CPI_USE_ISOLATED_ENV") - }) - It("creates correct command with UseIsolatedEnv false if BOSH_CPI_USE_ISOLATED_ENV is set", func() { - os.Setenv("BOSH_CPI_USE_ISOLATED_ENV", "false") - cmdOutput := CmdOutput{} - outputBytes, err := json.Marshal(cmdOutput) - Expect(err).NotTo(HaveOccurred()) - - result := fakesys.FakeCmdResult{ - Stdout: string(outputBytes), - ExitStatus: 0, - } - cmdRunner.AddCmdResult("/jobs/cpi/bin/cpi", result) - _, err = cpiCmdRunner.Run(context, "fake-method", apiVersion, "fake-argument-1", "fake-argument-2") - Expect(err).NotTo(HaveOccurred()) - actualCmd := cmdRunner.RunComplexCommands[0] - Expect(actualCmd.UseIsolatedEnv).To(BeFalse()) - - }) - It("throws helpful error if the value of BOSH_CPI_USE_ISOLATED_ENV cannot be parsed into a bool", func() { - os.Setenv("BOSH_CPI_USE_ISOLATED_ENV", "falasdse") - cmdOutput := CmdOutput{} - outputBytes, err := json.Marshal(cmdOutput) - Expect(err).NotTo(HaveOccurred()) - - result := fakesys.FakeCmdResult{ - Stdout: string(outputBytes), - ExitStatus: 0, - } - cmdRunner.AddCmdResult("/jobs/cpi/bin/cpi", result) - _, err = cpiCmdRunner.Run(context, "fake-method", apiVersion, "fake-argument-1", "fake-argument-2") - Expect(err).To(HaveOccurred()) - Expect(MatchRegexp("BOSH_CPI_USE_ISOLATED_ENV cannot be parsed", err)) - }) It("creates correct command with stemcell api_version in context", func() { cmdOutput := CmdOutput{} outputBytes, err := json.Marshal(cmdOutput) @@ -145,9 +107,7 @@ var _ = Describe("CpiCmdRunner", func() { Expect(actualCmd.Env).To(Equal(map[string]string{ "BOSH_PACKAGES_DIR": cpi.PackagesDir, "BOSH_JOBS_DIR": cpi.JobsDir, - "PATH": "/usr/local/bin:/usr/bin:/bin:/sbin", })) - Expect(actualCmd.UseIsolatedEnv).To(BeTrue()) bytes, err := io.ReadAll(actualCmd.Stdin) Expect(err).NotTo(HaveOccurred()) Expect(string(bytes)).To(Equal( diff --git a/installation/pkg/compiler.go b/installation/pkg/compiler.go index dfd7b2f26..8c914ef78 100644 --- a/installation/pkg/compiler.go +++ b/installation/pkg/compiler.go @@ -102,11 +102,8 @@ func (c *compiler) Compile(pkg birelpkg.Compilable) (bistatepkg.CompiledPackageR "BOSH_INSTALL_TARGET": installDir, "BOSH_PACKAGE_NAME": pkg.Name(), "BOSH_PACKAGES_DIR": c.packagesDir, - "PATH": os.Getenv("PATH"), - "LD_LIBRARY_PATH": os.Getenv("LD_LIBRARY_PATH"), }, - UseIsolatedEnv: true, - WorkingDir: packageSrcDir, + WorkingDir: packageSrcDir, } _, _, _, err = c.runner.RunComplexCommand(cmd) diff --git a/installation/pkg/compiler_test.go b/installation/pkg/compiler_test.go index acf666b0f..00c064e7b 100644 --- a/installation/pkg/compiler_test.go +++ b/installation/pkg/compiler_test.go @@ -2,7 +2,6 @@ package pkg_test import ( "errors" - "os" "path/filepath" fakeblobstore "github.com/cloudfoundry/bosh-utils/blobstore/fakes" @@ -175,11 +174,8 @@ var _ = Describe("PackageCompiler", func() { "BOSH_INSTALL_TARGET": installPath, "BOSH_PACKAGE_NAME": "pkg1-name", "BOSH_PACKAGES_DIR": packagesDir, - "PATH": os.Getenv("PATH"), - "LD_LIBRARY_PATH": os.Getenv("LD_LIBRARY_PATH"), }, - UseIsolatedEnv: true, - WorkingDir: "/pkg-dir", + WorkingDir: "/pkg-dir", } Expect(runner.RunComplexCommands).To(HaveLen(1))