I have a fully-configured instance and an image from that for an autoscaling group. When autoscaling new instances from this image, it calls cloud-init. cloud-init changes the hostname and breaks fstab.

I want to prevent cloud-init from starting on instance launch.


In systems that use systemd and have a current (17.0+) version of cloud-init, upstream documentation describes the process for disabling cloud-init with either of the following:

  • touch /etc/cloud/cloud-init.disabled
  • add cloud-init=disabled to the kernel command line.

For older versions of cloud-init (0.7.X) the following information might be useful.

You can disable cloud-init's modification of /etc/fstab in one of 2 ways.

a.) by providing cloud-config that overrides the default 'mounts' entries and disables them.

 - [ephemeral0, null]
 - [swap, null]

b.) by disabling the mounts module from running. This is done by removing it from the 'cloud_config_modules' list that you'll see in /etc/cloud/cloud.cfg.

With regard to hostname, you can also control that also. If you just want to stop cloud-init from modifying /etc/hostname, then:

preserve_hostname: true

Also interesting to you might be manage_etc_hosts.

Both of these are documented in doc/examples/cloud-config.txt (and installed in /usr/share/doc/cloud-init/examples)

I'm interested in knowing how cloud-init is breaking /etc/fstab, though. Please file a bug using ubuntu-bug cloud-init from inside your instance, and describe what it is doing that you think is wrong.

  • I do not think this is actually a bug. cloud-init adds swap and ephemeral to /etc/fstab already there. As a result ephemeral mounts to 2 points: /cache and /mnt. Is it safe? – homm Jan 15 '14 at 5:59
  • @homm depends on what you mean by "safe." I don't see anything /dangerous/ about it. – xofer Jun 18 '15 at 20:17
  • @smoser By default, it's mounting just a single volume. I'm provisioning with Chef and don't want to automate umount, so for me cloud-init is "breaking" fstab. – xofer Jun 18 '15 at 20:20
  • 1
    Note that you need to run sudo dpkg-reconfigure cloud-init after making changes. – xofer Jun 18 '15 at 20:20
  • Weird behaviour. With Ubuntu 18.04.2, it looks like the file /etc/cloud/cloud-init.disabled doesn't matter and only the dpkg-reconfigure cloud-init with data source None (Failsafe datasource) is needed. This contradicts the documentation of cloud-init. – Ludovic Kuty Mar 13 at 8:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.