Merge "Fix mismatching fixed vs unique container names"
This commit is contained in:
commit
72061b4111
|
@ -187,13 +187,14 @@ def debug(config_id, container_name, action, config, managed_by, labels=None,
|
|||
log=log
|
||||
)
|
||||
if action == 'print-cmd':
|
||||
uname = r.unique_container_name(container_name)
|
||||
cmd = [
|
||||
r.cont_cmd,
|
||||
'run',
|
||||
'--name',
|
||||
r.unique_container_name(container_name)
|
||||
uname
|
||||
]
|
||||
builder.container_run_args(cmd, container_name)
|
||||
builder.container_run_args(cmd, container_name, uname)
|
||||
|
||||
if '--health-cmd' in cmd:
|
||||
health_check_arg_index = cmd.index('--health-cmd') + 1
|
||||
|
@ -208,13 +209,14 @@ def debug(config_id, container_name, action, config, managed_by, labels=None,
|
|||
|
||||
print(' '.join(cmd))
|
||||
elif action == 'run':
|
||||
uname = r.unique_container_name(container_name)
|
||||
cmd = [
|
||||
r.cont_cmd,
|
||||
'run',
|
||||
'--name',
|
||||
r.unique_container_name(container_name)
|
||||
uname
|
||||
]
|
||||
if builder.container_run_args(cmd, container_name):
|
||||
if builder.container_run_args(cmd, container_name, uname):
|
||||
return r.execute_interactive(cmd, log)
|
||||
elif action == 'dump-yaml':
|
||||
print(yaml.safe_dump(config, default_flow_style=False))
|
||||
|
|
|
@ -105,7 +105,9 @@ class BaseBuilder(object):
|
|||
]
|
||||
self.label_arguments(cmd, container)
|
||||
self.log.debug("Start container {}.".format(container))
|
||||
validations_passed = self.container_run_args(cmd, container)
|
||||
validations_passed = self.container_run_args(cmd,
|
||||
container,
|
||||
container_name)
|
||||
elif action == 'exec':
|
||||
cmd = [self.runner.cont_cmd, 'exec']
|
||||
validations_passed = self.cont_exec_args(cmd, container)
|
||||
|
|
|
@ -22,13 +22,18 @@ class ComposeV1Builder(base.BaseBuilder):
|
|||
super(ComposeV1Builder, self).__init__(config_id, config, runner,
|
||||
labels, log)
|
||||
|
||||
def container_run_args(self, cmd, container):
|
||||
def container_run_args(self, cmd, container, delegate=None):
|
||||
"""Prepare the run command args, from the container configuration.
|
||||
|
||||
:param cmd: The list of command options to be modified
|
||||
:param container: A dict with container configurations
|
||||
:delegate: A compatibility parameter for podman, does nothing here
|
||||
:returns: True if configuration is valid, otherwise False
|
||||
"""
|
||||
if delegate and container != delegate:
|
||||
self.log.debug("Delegate {} of container {} has no special "
|
||||
"meanings for this context and will be "
|
||||
"ignored".format(delegate, container))
|
||||
cconfig = self.config[container]
|
||||
if cconfig.get('detach', True):
|
||||
cmd.append('--detach=true')
|
||||
|
|
|
@ -23,17 +23,24 @@ class PodmanBuilder(base.BaseBuilder):
|
|||
labels, log, cont_log_path,
|
||||
healthcheck_disabled)
|
||||
|
||||
def container_run_args(self, cmd, container):
|
||||
def container_run_args(self, cmd, container, delegate=None):
|
||||
"""Prepare the run command args, from the container configuration.
|
||||
|
||||
:param cmd: The list of command options to be modified
|
||||
:param container: A dict with container configurations
|
||||
:param delegate: A predictable/unique name of the actual container
|
||||
:returns: True if configuration is valid, otherwise False
|
||||
"""
|
||||
if delegate and container != delegate:
|
||||
self.log.debug("Container {} has a delegate "
|
||||
"{}".format(container, delegate))
|
||||
if not delegate:
|
||||
delegate = container
|
||||
cconfig = self.config[container]
|
||||
|
||||
# write out a pid file so we can restart the container via systemd
|
||||
cmd.append('--conmon-pidfile=/var/run/{}.pid'.format(container))
|
||||
# write out a pid file so we can restart the container delegate
|
||||
# via systemd
|
||||
cmd.append('--conmon-pidfile=/var/run/{}.pid'.format(delegate))
|
||||
|
||||
if cconfig.get('detach', True):
|
||||
cmd.append('--detach=true')
|
||||
|
@ -43,7 +50,7 @@ class PodmanBuilder(base.BaseBuilder):
|
|||
|
||||
if not os.path.exists(self.cont_log_path):
|
||||
os.makedirs(self.cont_log_path)
|
||||
log_path = os.path.join(self.cont_log_path, container)
|
||||
log_path = os.path.join(self.cont_log_path, delegate)
|
||||
logging = ['--log-driver', 'k8s-file',
|
||||
'--log-opt', 'path=%s.log' % log_path]
|
||||
cmd.extend(logging)
|
||||
|
|
Loading…
Reference in New Issue