Set facter variable 'uuid' explicitly in docker-puppet.py
Unprivileged docker-puppet-$service containers don't have access
to devices and can't get facter 'uuid' variable. Therefore per node
hiera customizations don't work. We can work around this by using
/sys/class/dmi/id/product_uuid instead.
dmidecode>=3.1 returns system-id in lower case, so it's better to
use lowe case for compatibility.
This would also require changes to the docs as ironic node
introspection data may show it in both cases.
Change-Id: I899de7732c5b29ed70d4d487fdbc363117ac327f
Closes-Bug: #1806011
(cherry picked from commit 4de17945a1
)
This commit is contained in:
parent
f9c3fc81da
commit
10e8ea29a3
|
@ -225,6 +225,7 @@ with open(sh_script, 'w') as script_file:
|
|||
set +e
|
||||
# $::deployment_type in puppet-tripleo
|
||||
export FACTER_deployment_type=containers
|
||||
export FACTER_uuid=$(cat /sys/class/dmi/id/product_uuid | tr '[:upper:]' '[:lower:]')
|
||||
FACTER_hostname=$HOSTNAME /usr/bin/puppet apply --summarize \
|
||||
--detailed-exitcodes --color=false --logdest syslog --logdest console --modulepath=/etc/puppet/modules:/usr/share/openstack-puppet/modules $TAGS /etc/config.pp
|
||||
rc=$?
|
||||
|
|
|
@ -29,7 +29,7 @@ resources:
|
|||
- name: node_lookup
|
||||
config: |
|
||||
#!/bin/sh
|
||||
node_id=$(dmidecode --s system-uuid)
|
||||
node_id=$(dmidecode --s system-uuid | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
# Create a /etc/puppet/hieradata/UUID.json file to provide
|
||||
# the data of the NodeDataLookup parameter that matches the
|
||||
|
|
Loading…
Reference in New Issue