Merge "Ensure unique containers names in docker-puppet"

This commit is contained in:
Zuul 2018-10-30 22:03:03 +00:00 committed by Gerrit Code Review
commit 5413ca926d
3 changed files with 15 additions and 3 deletions

View File

@ -28,6 +28,8 @@ import tempfile
import time
import multiprocessing
from paunch import runner as containers_runner
logger = None
sh_script = '/var/lib/docker-puppet/docker-puppet.sh'
container_cli = os.environ.get('CONTAINER_CLI', 'docker')
@ -64,6 +66,9 @@ if not os.path.exists(config_volume_prefix):
if container_cli == 'docker':
cli_dcmd = ['--volume', '/usr/share/openstack-puppet/modules/:/usr/share/openstack-puppet/modules/:ro,z']
env = {}
# FIXME: add log=log once we have paunch 4.0.1 in Pypi and promoted in RDO
RUNNER = containers_runner.DockerRunner(
'docker-puppet', cont_cmd='docker')
elif container_cli == 'podman':
# podman doesn't allow relabeling content in /usr and
# doesn't support named volumes
@ -71,6 +76,9 @@ elif container_cli == 'podman':
'--volume', '/usr/share/openstack-puppet/modules/:/usr/share/openstack-puppet/modules/:ro']
# podman need to find dependent binaries that are in environment
env = {'PATH': os.environ['PATH']}
# FIXME: add log=log once we have paunch 4.0.1 in Pypi and promoted in RDO
RUNNER = containers_runner.PodmanRunner(
'docker-puppet', cont_cmd='podman')
else:
log.error('Invalid container_cli: %s' % container_cli)
sys.exit(1)
@ -348,12 +356,14 @@ def mp_puppet_config(*args):
man_file.write('include ::tripleo::packages\n')
man_file.write(manifest)
rm_container('docker-puppet-%s' % config_volume)
uname = RUNNER.unique_container_name('docker-puppet-%s' %
config_volume)
rm_container(uname)
pull_image(config_image)
common_dcmd = [cli_cmd, 'run',
'--user', 'root',
'--name', 'docker-puppet-%s' % config_volume,
'--name', uname,
'--env', 'PUPPET_TAGS=%s' % puppet_tags,
'--env', 'NAME=%s' % config_volume,
'--env', 'HOSTNAME=%s' % short_hostname(),
@ -420,7 +430,7 @@ def mp_puppet_config(*args):
if cmd_stderr:
log.debug(cmd_stderr)
# only delete successful runs, for debugging
rm_container('docker-puppet-%s' % config_volume)
rm_container(uname)
log.info('Finished processing puppet configs for %s' % (config_volume))
return subproc.returncode

View File

@ -82,6 +82,7 @@ paramiko==2.0.0
passlib==1.7.0
Paste==2.0.2
PasteDeploy==1.5.0
paunch==4.0.0
pbr==2.0.0
pecan==1.0.0
pika-pool==0.1.3

View File

@ -6,3 +6,4 @@ PyYAML>=3.12 # MIT
Jinja2>=2.10 # BSD License (3 clause)
six>=1.10.0 # MIT
tripleo-common>=7.1.0 # Apache-2.0
paunch>=4.0.0 # Apache-2.0