cloud-init schema validation failure for: 'broadcast' (24.04)

Bug #2063813 reported by Raymond van der velden
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cloud-init (Ubuntu)
Invalid
Undecided
Unassigned
subiquity (Ubuntu)
New
Undecided
Unassigned

Bug Description

When installing the LTS of ubuntu 24.04,

I am getting the :"cloud-init schema validation failure for: 'broadcast'' error.
from the 'extract_autoinstall' function.

however when running: cloud-init schema -c /var/lib/cloud/instance/cloud-config.txt
I am getting a valid return.

My identical cloud-init configuration applied to 22.04 successfully.
I am not trying to do anything custom to the broadcast address.

This is my cloud init:

#cloud-config
chpasswd:
  expire: false
  list:
  - installer:$somereallylonghashpassword
write_files:
- path: /etc/ssh/sshd_not_to_be_run
  content: ""
autoinstall:
  version: 1
  proxy: http://172.16.100.2:3142/
  apt:
    preserve_sources_list: false
    primary:
    - arches:
      - default
      uri: http://nl.archive.ubuntu.com/ubuntu/
    disable_suites: [backports]
    disable_components: [multiverse]
  storage:
    layout:
      name: direct
      match:
        path: $WSBOOTDEV
  ssh:
    install-server: true
    allow-pw: true
  debconf-selections: |
    popularity-contest popularity-contest/participate boolean false
  network:
    ethernets:
      $bootif:
        addresses:
        - 127.0.0.2/24
        match:
          macaddress: 22:22:33:44:55:66
        nameservers:
          addresses:
          - 172.16.100.3

        routes:
        - to: default
          via: 127.0.0.1
        accept-ra: false
    version: 2
  early-commands:
  - |
      FIRSTPCI=$({ cd /dev/disk/by-path/
        ls | grep nvme | head -1
        ls | grep sas | head -1
        ls | grep scsi | grep -v usb | head -1
        ls | grep ata | head -1
      } | head -1)
      WSBOOTDEV="$(readlink -f /dev/disk/by-path/$FIRSTPCI)"
      sed -i "s|\$WSBOOTDEV|$WSBOOTDEV|" /autoinstall.yaml
  updates: all
  late-commands:
  - rm /target/etc/apt/apt.conf.d/*proxy* /target/etc/systemd/system/snapd.service.d/*proxy*
  - sed -i -E 's/^#?PermitRootLogin [[:alpha:]]+-password/PermitRootLogin yes/' /target/etc/ssh/sshd_config
  - sed -i -E 's/^(GRUB_CMDLINE_LINUX_DEFAULT=)"(.+)"$/\1"\2 ipv6.autoconf=0"/g' /target/etc/default/grub
  - curtin in-target --target /target update-grub2
  user-data:
    users: []
    hostname: NLDW3-3-03-15
    chpasswd:
      expire: false
      list:
      - root:$somereallylonghashpassword
    timezone: Europe/Amsterdam

Revision history for this message
Raymond van der velden (rayhvh) wrote :
Revision history for this message
Raymond van der velden (rayhvh) wrote :
Revision history for this message
petski (petski) wrote (last edit ):

You can reproduce this by running `cloud-init schema --system` in the debug shell. As you will see there, it finds that the network-config.json is invalid (so the cloud-config.txt is valid!)

The server iso [1] uses subiquity version 24.04.1, which has cloud-init 23.4.4-0ubuntu0~22.04.1 built in.

The fix for the issue you're observering is in cloud-init 24.1.1 or higher [2], as that contains the fix for this issue [3].

Refreshing the installer via a directive in your autoinstall.yaml wouldn't help, because the schema is invalid, so it doesn't get there...

```
refresh-installer:
  update: true
  channel: latest/edge
```

... however, one could run `snap refresh subiquity --channel=latest/edge` by hand at the shell prompt after the error occurs. From there, the install will continue to run.

[1] https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso
[2] https://github.com/canonical/cloud-init/blob/main/ChangeLog#L21
[3] https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/2056460

Dan Bungert (dbungert)
Changed in cloud-init (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.