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.