Browse Source

builder: include environment when running an exec

Some container execs have an environment, let's make sure they are
included when running exec.

Closes-Bug: #1855932
Change-Id: Ic2e2c2d50f5883f7db28768ba215e74bcbf9fd8b
(cherry picked from commit b5be45067a)
changes/29/698929/2
Emilien Macchi 6 months ago
committed by Alex Schultz
parent
commit
d9117c4796
2 changed files with 3 additions and 0 deletions
  1. +1
    -0
      paunch/builder/base.py
  2. +2
    -0
      paunch/tests/test_builder_base.py

+ 1
- 0
paunch/builder/base.py View File

@@ -266,6 +266,7 @@ class BaseBuilder(object):
cmd.append('--privileged=%s' % str(cconfig['privileged']).lower())
if 'user' in cconfig:
cmd.append('--user=%s' % cconfig['user'])
self.list_or_dict_arg(cconfig, cmd, 'environment', '--env')
command = self.command_argument(cconfig.get('command'))
# for exec, the first argument is the container name,
# make sure the correct one is used


+ 2
- 0
paunch/tests/test_builder_base.py View File

@@ -583,6 +583,7 @@ three-12345678 three''', '', 0),
'one': {
'command': 'ls -l /foo',
'privileged': True,
'environment': {'FOO': 'BAR'},
'user': 'bar'
}
}
@@ -594,6 +595,7 @@ three-12345678 three''', '', 0),
self.assertEqual(
['docker', 'exec',
'--privileged=true', '--user=bar',
'--env=FOO=BAR',
'one-12345678', '-l', '/foo'],
cmd
)


Loading…
Cancel
Save