Merge "Make managing hosts entries optional"

This commit is contained in:
Jenkins 2015-05-12 13:29:48 +00:00 committed by Gerrit Code Review
commit 97954ccd4e
2 changed files with 25 additions and 2 deletions

View file

@ -6,6 +6,20 @@ This is the base element.
Almost all users will want to include this in their disk image build, Almost all users will want to include this in their disk image build,
as it includes a lot of useful functionality. as it includes a lot of useful functionality.
The `DIB_CLOUD_INIT_ETC_HOSTS` environment variable can be used to
customize cloud-init's management of `/etc/hosts`:
* If the variable is set to something, write that value as
cloud-init's manage_etc_hosts.
* If the variable is set to an empty string, don't create
manage_etc_hosts setting (cloud-init will use its default value).
* If the variable is not set, use "localhost" for now. Later, not
setting the variable will mean using cloud-init's default. (To
preserve diskimage-builder's current default behavior in the
future, set the variable to "localhost" explicitly.)
Notes: Notes:
* If you are getting warnings during the build about your locale * If you are getting warnings during the build about your locale

View file

@ -9,6 +9,15 @@ set -o pipefail
# cloud-init May not actually be installed # cloud-init May not actually be installed
mkdir -p /etc/cloud/cloud.cfg.d mkdir -p /etc/cloud/cloud.cfg.d
dd of=/etc/cloud/cloud.cfg.d/10_etc_hosts.cfg << EOF
manage_etc_hosts: localhost if [ ! -v DIB_CLOUD_INIT_ETC_HOSTS ]; then
echo "WARNING: In the future the default setting for manage_etc_hosts will not be overridden by this element."
echo "WARNING: Set DIB_CLOUD_INIT_ETC_HOSTS to 'localhost' to preserve current behavior."
fi
DIB_CLOUD_INIT_ETC_HOSTS=${DIB_CLOUD_INIT_ETC_HOSTS-localhost}
if [ -n "$DIB_CLOUD_INIT_ETC_HOSTS" ]; then
dd of=/etc/cloud/cloud.cfg.d/10_etc_hosts.cfg << EOF
manage_etc_hosts: $DIB_CLOUD_INIT_ETC_HOSTS
EOF EOF
fi