
5af25b5f
fixed the hostname of Debian images to "debian" since a lack of
hostname definition set the hostname to "(None)".
It has been done by introducing /etc/cloud/cloud.cfg.d/01_hostname.cfg
with content:
hostname: debian
Review supposed the hostname would be overriden by cloud meta-data. That
might have stand true for Wheezy but it is not the case for Jessie.
cloud-init 0.7.6 ignores cloud metadata whenever "hostname" or "fqdn"
are set in a config file. Roughly:
# no fqdn set, get fqdn from cloud
# get hostname from cfg if available otherwise cloud
fqdn = cloud.get_hostname(fqdn=True)
if "hostname" in cfg:
# hashar: set from config file NOT cloud
hostname = cfg['hostname']
else:
# fallback to cloud
hostname = cloud.get_hostname()
Relevant code is
https://github.com/number5/cloud-init/blob/0.7.6/cloudinit/util.py#L839-L860
Only inject "hostname: debian" for the Wheezy release.
Bug: https://phabricator.wikimedia.org/T117283
Change-Id: I6e2522bd725cbf9651f11c76ecdc72ecbc92f402
debian
Create an image based on Debian. We default to unstable but DIB_RELEASE is mapped to any series of Debian.
Note that the default Debian series is unstable, and the default mirrors for Debian can be problematic for unstable. Because apt does not handle changing Packages files well across multiple out of sync mirrors, it is recommended that you choose a single mirror of debian, and pass it in via DIB_DISTRIBUTION_MIRROR.
If necessary, a custom apt keyring and debootstrap script can be supplied to the debootstrap command via DIB_APT_KEYRING and DIB_DEBIAN_DEBOOTSTRAP_SCRIPT respectively. Both options require the use of absolute rather than relative paths.
Use of this element will also require the tool 'debootstrap' to be available on your system. It should be available on Ubuntu, Debian, and Fedora.
The DIB_OFFLINE or more specific DIB_DEBIAN_USE_DEBOOTSTRAP_CACHE variables can be set to prefer the use of a pre-cached root filesystem tarball.
The DIB_DEBOOTSTRAP_EXTRA_ARGS environment variable may be used to pass extra arguments to the debootstrap command used to create the base filesystem image. If --keyring is is used in DIB_DEBOOTSTRAP_EXTRA_ARGS, it will override DIB_APT_KEYRING if that is used as well.
Note on ARM systems
Because there is not a one-to-one mapping of ARCH to a kernel package, if you are building an image for ARM on debian, you need to specify which kernel you want in the environment variable DIB_ARM_KERNEL. For instance, if you want the linux-image-mx5 package installed, set DIB_ARM_KERNEL to mx5.