Ubuntu 18.04 Cloud-init Support

5 posts / 0 new
Last post
#1 Sat, 01/19/2019 - 18:47
micster

Ubuntu 18.04 Cloud-init Support

When I create a droplet on DigitalOcean from a snapshot that utilizes Ubuntu 18.04 none of my cloud-config settings seem to come across.

The snapshot was created using Packer and Ansible which complicates the install somewhat. I have narrowed down the problem with the snapshot to the following Ansible role:

---
- name: Download Virtualmin Install Script
  tags: webmin
  get_url: >
    url=http://software.virtualmin.com/gpl/scripts/install.sh
    dest=/root/install.sh
    mode=0755
- name: Virtualmin Install
  shell: ~/install.sh --yes chdir=/root

There are several modifications I have made to the default Virtualmin templates and configuration files. I think the issue of the cloud-config userdata not coming across might be related to a misconfiguration in one of these files.

The droplet get's created and from what I can tell functions normally, however any userdata I provide during creation through my cloud-config script does not come across to the final built server. It does not matter what I put in the cloud-config script but for testing it looks like this:

#cloud-config
write_files:
  - content: |
      This is a test file
    path: /root/test
runcmd:
  - touch /root/foo
  - echo "THIS IS THE TEST DATA"
Sat, 01/19/2019 - 19:15
micster

The virtualmin-install.log did not have any errors and it reported a successful install.

The only few items of note were:

[2019/01/20 00:17:46] [INFO] - Code: 256 Result: modprobe: FATAL: Module quota_v2 not found in directory /lib/modules/4.15.0-42-generic
[2019/01/20 00:17:46] [INFO] - Code: 0 Result: quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.

and...

WARNING: /etc/aliases exists, but does not have a root alias.

and...

Warning: The home dir /run/proftpd you specified can't be accessed: No such file or directory

and...

Warning: The home dir /var/lib/postgrey you specified can't be accessed: No such file or directory

None of which seem to be an issue.

Sat, 01/19/2019 - 19:24
micster

By typing in the following command from within my droplet: curl http://169.254.169.254/metadata/v1/user-data I can see the user-data that I pasted into the cloud-config text box when creating the droplet on DigitalOcean.

This tells me that my droplet is able to communicate with DigitalOcean's metadata service. However, if I examine the the log file cloud-init-output.log there is no sign of my user-data.

The only thing of note is this single warning:

1-20 00:51:46,013 - util.py[WARNING]: Running module ssh-authkey-fingerprints (<module 'cloudinit.config.cc_ssh_authkey_fingerprints' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_ssh_authkey_fingerprints.py'>) failed
Sun, 01/20/2019 - 22:46
micster

So if I modify my Virtualmin role to run the installer with the --minimal flag like so:

---
- name: download virtualmin install script
  tags: webmin
  get_url: >
    url=http://software.virtualmin.com/gpl/scripts/install.sh
    dest=/root/install.sh
    mode=0755
- name: virtualmin install
  shell: ~/install.sh --minimal --yes chdir=/root

Then all of the userdata comes across and the cloud-config script works as expected.

Does anybody have some ideas as to what could be effecting Cloud-Init between the standard install and the minimal install?

Thu, 01/24/2019 - 18:43
micster

I guess Virtualmin is not quite ready for Ubuntu 18.04

I'll check back in once it is listed under the officially supported OS.

Topic locked