builder: include environment when running an exec
Some container execs have an environment, let's make sure they are
included when running exec.
NOTE: This is for Rocky and below as docker was the only supported
method in these versions. Additionally in Rocky and below, the
environment was a list and not a dictionary so we only support a list
version for the environment.
Closes-Bug: #1855932
Change-Id: Ic2e2c2d50f5883f7db28768ba215e74bcbf9fd8b
(cherry picked from commit b5be45067a
)
This commit is contained in:
parent
2852a28e31
commit
0108ad789a
|
@ -281,6 +281,10 @@ class ComposeV1Builder(object):
|
||||||
cmd.append('--privileged=%s' % str(cconfig['privileged']).lower())
|
cmd.append('--privileged=%s' % str(cconfig['privileged']).lower())
|
||||||
if 'user' in cconfig:
|
if 'user' in cconfig:
|
||||||
cmd.append('--user=%s' % cconfig['user'])
|
cmd.append('--user=%s' % cconfig['user'])
|
||||||
|
# TODO(sbaker): support the dict layout for this property
|
||||||
|
for v in cconfig.get('environment', []):
|
||||||
|
if v:
|
||||||
|
cmd.append('--env=%s' % v)
|
||||||
command = self.command_argument(cconfig.get('command'))
|
command = self.command_argument(cconfig.get('command'))
|
||||||
# for exec, the first argument is the container name,
|
# for exec, the first argument is the container name,
|
||||||
# make sure the correct one is used
|
# make sure the correct one is used
|
||||||
|
|
|
@ -563,6 +563,7 @@ three-12345678 three''', '', 0),
|
||||||
'one': {
|
'one': {
|
||||||
'command': 'ls -l /foo',
|
'command': 'ls -l /foo',
|
||||||
'privileged': True,
|
'privileged': True,
|
||||||
|
'environment': ['FOO=BAR'],
|
||||||
'user': 'bar'
|
'user': 'bar'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -574,6 +575,7 @@ three-12345678 three''', '', 0),
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
['docker', 'exec',
|
['docker', 'exec',
|
||||||
'--privileged=true', '--user=bar',
|
'--privileged=true', '--user=bar',
|
||||||
|
'--env=FOO=BAR',
|
||||||
'one-12345678', '-l', '/foo'],
|
'one-12345678', '-l', '/foo'],
|
||||||
cmd
|
cmd
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue