[IMP] runbot: optionnal container_name in python steps

This commit is contained in:
Xavier-Do 2024-04-03 16:10:52 +02:00
parent 7e848b8073
commit e1669f0082
2 changed files with 13 additions and 7 deletions

View File

@ -744,7 +744,7 @@ class BuildResult(models.Model):
if docker_time < 5:
return False
elif docker_time < 60:
_logger.info('container "%s" seems too take a while to start :%s' % (build.job_time, build._get_docker_name()))
_logger.info('container "%s" seems too take a while to start :%s' % (build._get_docker_name(), build.job_time))
return False
else:
build._log('_schedule', 'Docker with state %s not started after 60 seconds, skipping' % _docker_state, level='ERROR')
@ -873,11 +873,18 @@ class BuildResult(models.Model):
ro_volumes[f'/home/{user}/.odoorc'] = self._path('.odoorc')
kwargs.pop('build_dir', False)
kwargs.pop('log_path', False)
kwargs.pop('container_name', False)
log_path = self._path('logs', '%s.txt' % step.name)
build_dir = self._path()
container_name = self._get_docker_name()
self.env.flush_all()
def start_docker():
docker_run(cmd=cmd, build_dir=build_dir, log_path=log_path, ro_volumes=ro_volumes, **kwargs)
docker_run(
cmd=cmd,
container_name=container_name,
build_dir=build_dir,
log_path=log_path,
ro_volumes=ro_volumes, **kwargs)
return start_docker
def _path(self, *paths):

View File

@ -392,14 +392,13 @@ class ConfigStep(models.Model):
cmd.extend(shlex.split(extra_params))
env_variables = self.additionnal_env.split(';') if self.additionnal_env else []
docker_name = build._get_docker_name()
build_port = build.port
try:
self.env['runbot.runbot']._reload_nginx()
except Exception:
_logger.exception('An error occured while reloading nginx')
build._log('', "An error occured while reloading nginx, skipping")
return dict(cmd=cmd, container_name=docker_name, exposed_ports=[build_port, build_port + 1], ro_volumes=exports, env_variables=env_variables, cpu_limit=None)
return dict(cmd=cmd, exposed_ports=[build_port, build_port + 1], ro_volumes=exports, env_variables=env_variables, cpu_limit=None)
def _run_install_odoo(self, build):
exports = build._checkout()
@ -485,7 +484,7 @@ class ConfigStep(models.Model):
cmd.finals.append(['flamegraph.pl', '--title', 'Flamegraph %s for build %s' % (self.name, build.id), self._perfs_data_path(), '>', self._perfs_data_path(ext='svg')])
cmd.finals.append(['gzip', '-f', self._perfs_data_path()]) # keep data but gz them to save disc space
env_variables = self.additionnal_env.split(';') if self.additionnal_env else []
return dict(cmd=cmd, container_name=build._get_docker_name(), ro_volumes=exports, env_variables=env_variables)
return dict(cmd=cmd, ro_volumes=exports, env_variables=env_variables)
def _upgrade_create_childs(self):
pass
@ -728,7 +727,7 @@ class ConfigStep(models.Model):
exception_env = self.env['runbot.upgrade.exception']._generate()
if exception_env:
env_variables.append(exception_env)
return dict(cmd=migrate_cmd, container_name=build._get_docker_name(), ro_volumes=exports, env_variables=env_variables, image_tag=target.params_id.dockerfile_id.image_tag)
return dict(cmd=migrate_cmd, ro_volumes=exports, env_variables=env_variables, image_tag=target.params_id.dockerfile_id.image_tag)
def _run_restore(self, build):
# exports = build._checkout()
@ -788,7 +787,7 @@ class ConfigStep(models.Model):
])
return dict(cmd=cmd, container_name=build._get_docker_name())
return dict(cmd=cmd)
def _reference_builds(self, bundle, trigger):
upgrade_dumps_trigger_id = trigger.upgrade_dumps_trigger_id