From 6bbc3b51dfa6c9ea744dbb7b6212db7c56e8d827 Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Fri, 6 Apr 2018 11:05:33 +1200 Subject: [PATCH] docker-puppet.py: used dedicated hiera entry, not uuid Currently it is not possible to do per-node customization inside docker-puppet.py because it overrides the fact 'uuid'. This change adds a dedicated docker_puppet entry in hiera.yaml so that docker-puppet.py needs to do nothing special for /etc/puppet/hieradata/docker_puppet.json to be included in the hiera merge. Change-Id: Icf37dcd63e0152ee15e9f0079b45e31a4f8d9fbb Depends-On: https://review.openstack.org/#/c/605478/ Closes-Bug: #1761624 --- docker/docker-puppet.py | 5 +++-- docker/services/containers-common.yaml | 5 +++-- puppet/role.role.j2.yaml | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docker/docker-puppet.py b/docker/docker-puppet.py index 3506202653..06ccf22e7d 100644 --- a/docker/docker-puppet.py +++ b/docker/docker-puppet.py @@ -245,7 +245,7 @@ with open(sh_script, 'w') as script_file: mkdir -p /etc/puppet cp -a /tmp/puppet-etc/* /etc/puppet rm -Rf /etc/puppet/ssl # not in use and causes permission errors - echo "{\\"step\\": $STEP}" > /etc/puppet/hieradata/docker.json + echo "{\\"step\\": $STEP}" > /etc/puppet/hieradata/docker_puppet.json TAGS="" if [ -n "$PUPPET_TAGS" ]; then TAGS="--tags \"$PUPPET_TAGS\"" @@ -263,7 +263,8 @@ with open(sh_script, 'w') as script_file: if [ "$NET_HOST" == "false" ]; then export FACTER_hostname=$HOSTNAME fi - export FACTER_uuid=docker + # $::deployment_type in puppet-tripleo + export FACTER_deployment_type=containers /usr/bin/puppet apply --summarize \ --detailed-exitcodes \ --color=false \ diff --git a/docker/services/containers-common.yaml b/docker/services/containers-common.yaml index 4ca608ff5b..57de51684f 100644 --- a/docker/services/containers-common.yaml +++ b/docker/services/containers-common.yaml @@ -64,8 +64,9 @@ outputs: # ignore copy failures as these may be the same file depending on docker mounts cp -a /tmp/puppet-etc/* /etc/puppet || true fi - echo "{\"step\": ${STEP}}" > /etc/puppet/hieradata/docker.json - export FACTER_uuid=docker + echo "{\"step\": ${STEP}}" > /etc/puppet/hieradata/docker_puppet.json + # $::deployment_type in puppet-tripleo + export FACTER_deployment_type=containers set +e puppet apply $EXTRA_ARGS \ --verbose \ diff --git a/puppet/role.role.j2.yaml b/puppet/role.role.j2.yaml index 119104ae68..216caced3a 100644 --- a/puppet/role.role.j2.yaml +++ b/puppet/role.role.j2.yaml @@ -664,6 +664,7 @@ resources: config: hierarchy: - '"%{::uuid}"' + - docker_puppet # Optionally provided by docker-puppet.py - heat_config_%{::deploy_config_name} - config_step - {{role.name.lower()}}_extraconfig