diskimage-builder/elements/debian
Antoine Musso 23be09ce35 debian: cloud hostname ignored by Jessie
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
2015-10-30 22:34:10 +01:00
..
bin Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
install.d debian: cloud hostname ignored by Jessie 2015-10-30 22:34:10 +01:00
test-elements/build-succeeds Set DIB_RELEASE for the Debian test-element 2015-08-03 17:59:35 +10:00
element-deps Split the debootstrap functions into an element 2015-04-26 18:04:59 +00:00
element-provides Use provides to note an element provides an OS 2014-04-10 14:42:04 +01:00
package-installs.yaml debian: install DHCP client and ifconfig packages 2015-07-09 14:01:13 +02:00
README.rst Split the debootstrap functions into an element 2015-04-26 18:04:59 +00:00

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.