Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Init-local Checks DataSourceNoCloud Before Curtin Was Able to Mount the Filesystem #6001

Open
bryanfraschetti opened this issue Feb 4, 2025 · 9 comments
Labels
bug Something isn't working correctly

Comments

@bryanfraschetti
Copy link
Contributor

bryanfraschetti commented Feb 4, 2025

Bug report

In a customer environment, where curtin is used to place seed data in /var/lib/cloud/seed/nocloud/, we observed a situation where cloud-init-local executed before the mountpoint was fully configured. As a result, by the time the user-data and meta-data were able to be read, cloud-init-local already determined that DataSourceNoCloud had no data even though this was the intended datasource target.

As the datasource was not detected, the VM failed to initialize as intended and began to test remote datasources. In this case, this was perceived as a negative side effect because the VM is intended to run without external connectivity but it had to wait for all NICs to attempt and fail at DHCP and then try to wait on the network (which failed since systemd-networkd-wait-online.service was masked). To summarize, cloud-init-local executed so quickly that it determined a datasource was invalid before it was ready and this unfolded in such a way that introduced a series boot delays

It is worth mentioning that the VMs are on logical volumes and the filesystem on dm-3 (virtual block device created dynamically by the Device Mapper and used for the "var" Logical Volume) is mounted to the /var mount point much later during the boot process, after cloud-init during the "init-local" stage tried to find DataSourceNoCloud by looking for /var/lib/cloud/seed/nocloud/user-data and /var/lib/cloud/seed/nocloud/meta-data. However, at the time they were checked it couldn't find these files because the filesystem on the "var" Logical Volume and dm-3 virtual block device is not yet mounted to the /var mount point

We have found that adding the following to cloud-init-local.service allows for init-local to wait for the local filesystem to be ready before it checks it for the seed files and are seeking guidance from upstream and wondering if this should be patched

[Unit]
...
RequiresMountsFor=/var
Requires=local-fs.target
After=local-fs.target

Steps to reproduce the problem

Relevant fragment from curtin-install.yaml with certain details obscured:

write_files:
  disable-network-config:
    content: "network:\n  config: disabled\n"
    path: etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
  ds-identify:
    content: 'policy: enabled
  meta-data:
    content: '{instance-id: <obscured>}'
    path: var/lib/cloud/seed/nocloud/meta-data
  netplan:
    content: "# This file describes the network interfaces available on your system\n\
      # For more information, see netplan(5).\n# Temporary netplan file for XXX installer\
      \ development\nnetwork:\n  version: 2\n  renderer: networkd\n  ethernets:\n\
      \    ens2:\n      addresses: [ <subnet> ]\n      routes:\n       \
      \ - to: <destination>\n          via: <gateway>\n      nameservers:\n      \
      \  search: [ unassigned-domain ]\n        addresses:\n          - \" <gateway>\"\
      \n"
    path: etc/netplan/01-netcfg.yaml
  user-data:
    content: '#cloud-config
        users: []
        hostname: whatever-1
        timezone: Europe/XXX
        locale: en_US.UTF-8
        no_ssh_fingerprints: true
        ssh_deletekeys: false
      '
    path: var/lib/cloud/seed/nocloud/user-data

Environment Details

Cloud-init version: 24.4-0ubuntu1~22.04.1
Operating System: Ubuntu 22.04 (Jammy)
Data sources on local filesystem, with limited network features enabled

cloud-init logs

We see the cloud-init starts init-local and begins searching DataSourceNoCloud and trying to read from /var/lib/cloud/seed/nocloud. Shortly after dm-3, which is mounted at /var, succeeds. However, it is too late and init-local's check of DataSourceNoCloud returns having not found the seed data.

Jan 27 08:58:59 ubuntu cloud-init[525]: Cloud-init v. 24.4-0ubuntu1~22.04.1 running 'init-local' at Mon, 27 Jan 2025 08:58:58 +0000. Up 4.31 seconds.
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,023 - log_util.py[DEBUG]: Cloud-init v. 24.4-0ubuntu1~22.04.1 running 'init-local' at Mon, 27 Jan 2025 08:58:58 +0000. Up 4.31 seconds.
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,023 - main.py[INFO]: PID [1] started cloud-init 'init-local'.
...
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,130 - sources[DEBUG]: Searching for local data source in: ['DataSourceNoCloud', 'DataSourceConfigDrive', 'DataSourceOpenNebula', 'DataSourceDigitalOcean', 'DataSourceAzure', 'DataSourceOVF', 'DataSourceMAASLocal', 'DataSourceGCELocal', 'DataSourceOpenStackLocal', 'DataSourceCloudSigma', 'DataSourceSmartOS', 'DataSourceScaleway', 'DataSourceAliYunLocal', 'DataSourceEc2Local', 'DataSourceHetzner', 'DataSourceIBMCloud', 'DataSourceOracle', 'DataSourceRbxCloud', 'DataSourceUpCloudLocal', 'DataSourceVMware', 'DataSourceVultr', 'DataSourceLXD', 'DataSourceNWCS', 'DataSourceAkamaiLocal', 'DataSourceWSL']
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,130 - handlers.py[DEBUG]: start: init-local/search-NoCloud: searching for local data from DataSourceNoCloud
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,130 - sources[DEBUG]: Seeing if we can get any data from <class 'cloudinit.sources.DataSourceNoCloud.DataSourceNoCloud'>
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,130 - sources[DEBUG]: Update datasource metadata and network config due to events: boot-new-instance
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,131 - sources[DEBUG]: Detected DataSourceNoCloud
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,131 - dmi.py[DEBUG]: querying dmi data /sys/class/dmi/id/product_serial
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,131 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud/user-data (quiet=False)
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,131 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud/meta-data (quiet=False)
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,131 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud/vendor-data (quiet=False)
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,131 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud/network-config (quiet=False)
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,131 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud-net/user-data (quiet=False)
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,131 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud-net/meta-data (quiet=False)
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,132 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud-net/vendor-data (quiet=False)
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,132 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud-net/network-config (quiet=False)
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,132 - subp.py[DEBUG]: Running command ['blkid', '-tTYPE=vfat', '-odevice'] with allowed return codes [0, 2] (shell=False, capture=True)

Jan 27 08:58:59 ubuntu kernel: EXT4-fs (dm-7): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.

Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,250 - performance.py[DEBUG]: Running ['blkid', '-tTYPE=vfat', '-odevice'] took 0.118 seconds
Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,250 - subp.py[DEBUG]: Running command ['blkid', '-tTYPE=iso9660', '-odevice'] with allowed return codes [0, 2] (shell=False, capture=True)

Jan 27 08:58:59 ubuntu kernel: EXT4-fs (dm-3): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none. <============== FILESYSTEM ON dm-3 MOUNTED LATER TO /var  MOUNTPOINT SO/var/lib/cloud/seed/nocloud WILL BE AVAILABLE LATER,  AFTER CLOUT-INIT ATTEMPTED TO SEARCH FOR DataSourceNoCloud

Jan 27 08:58:59 ubuntu cloud-init[525]: 2025-01-27 08:58:59,295 - handlers.py[DEBUG]: finish: init-local/search-NoCloud: SUCCESS: no local data found from DataSourceNoCloud

Block device map lvm2/lvmdump/dev_listing

/dev/XXX-vg-rrr
total 0
drwxr-xr-x  2 root root  220 Jan 27 11:13 .
drwxr-xr-x 18 root root 4380 Jan 27 11:14 ..
lrwxrwxrwx  1 root root    7 Jan 27 11:13 home -> ../dm-7
lrwxrwxrwx  1 root root    7 Jan 27 11:13 opt_<obscured>_virtualmachines -> ../dm-8
lrwxrwxrwx  1 root root    7 Jan 27 11:13 root -> ../dm-1
lrwxrwxrwx  1 root root    7 Jan 27 11:13 swap -> ../dm-0
lrwxrwxrwx  1 root root    7 Jan 27 11:13 tmp -> ../dm-2
lrwxrwxrwx  1 root root    7 Jan 27 11:13 var -> ../dm-3
lrwxrwxrwx  1 root root    7 Jan 27 11:13 var_log -> ../dm-5
lrwxrwxrwx  1 root root    7 Jan 27 11:13 var_log_audit -> ../dm-6
lrwxrwxrwx  1 root root    7 Jan 27 11:13 var_tmp -> ../dm-4
@bryanfraschetti bryanfraschetti added bug Something isn't working correctly new An issue that still needs triage labels Feb 4, 2025
@TheRealFalcon
Copy link
Member

Thanks for the bug report. There was a recent upstream change that moved RequiresMountsFor=/var/lib/cloud from cloud-init-local.service to cloud-init-main.service, but it looks like the downstream quilt patch didn't get updated appropriately to move it back.

@TheRealFalcon TheRealFalcon removed the new An issue that still needs triage label Feb 4, 2025
@TheRealFalcon TheRealFalcon added this to the cloud-init-25.1 milestone Feb 4, 2025
@zilardcherry
Copy link

zilardcherry commented Feb 4, 2025

Thanks for the bug report. There was a recent upstream change that moved RequiresMountsFor=/var/lib/cloud from cloud-init-local.service to cloud-init-main.service, but it looks like the downstream quilt patch didn't get updated appropriately to move it back.

we experienced this issue in a Jammy LVM-based Virtual Machine and in Ubuntu Jammy there's no cloud-init-main.service

cloud-init-local.service is the first cloud-init service being executed during the "init-local" stage, where the seed discovery is happening and that's why we need RequiresMountsFor=/var/lib/cloud back into the cloud-init-local.service definition

the most important triggering factor here is LVM that's the key thing that made this whole scenario to happen

I didn't have LVM in my Virtual Machine so I tried many times to reproduce with the same seed data and config (mentioned above) and never managed to reproduce

But then I got the sosreport from a LVM-based Virtual Machine where this whole issue has been detected, and then by studying the journal it became clear why is this happening

We then added this modification on the LVM-based Virtual Machine

sudo vi /usr/lib/systemd/system/cloud-init-local.service
------------------------------------------------------------------------ 
[Unit]
...
RequiresMountsFor=/var
Requires=local-fs.target
After=local-fs.target

and only after this change, the NoCloud seed discovery on the next reboot was successful because now the "init-local" stage waited until all the filesystems on the Logical Volumes got mounted to their final mount points

sos_commands/lvm2$ cat lvs_-a_-o_lv_tags_devices_lv_kernel_read_ahead_lv_read_ahead_stripes_stripesize_--config_global_metadata_read_only_1_--nolocking_--foreign 

  LV                           VG         Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert LV Tags Devices          KRahead Rahead #Str Stripe
  home                         XXX-vg-rrr -wi-ao----   2.00g                                                             /dev/vda3(14080) 128.00k   auto    1     0 
  opt_virtualmachines          XXX-vg-rrr -wi-ao---- 792.00g                                                             /dev/vda3(14592) 128.00k   auto    1     0 
  root                         XXX-vg-rrr -wi-ao----  10.00g                                                             /dev/vda3(3584)  128.00k   auto    1     0 
  swap                         XXX-vg-rrr -wi-ao----  14.00g                                                             /dev/vda3(0)     128.00k   auto    1     0 
  tmp                          XXX-vg-rrr -wi-ao----   5.00g                                                             /dev/vda3(6144)  128.00k   auto    1     0 
  var                          XXX-vg-rrr -wi-ao----  10.00g                                                             /dev/vda3(7424)  128.00k   auto    1     0 
  var_log                      XXX-vg-rrr -wi-ao----  10.00g                                                             /dev/vda3(11264) 128.00k   auto    1     0 
  var_log_audit                XXX-vg-rrr -wi-ao----   1.00g                                                             /dev/vda3(13824) 128.00k   auto    1     0 
  var_tmp                      XXX-vg-rrr -wi-ao----   5.00g                                                             /dev/vda3(9984)  128.00k   auto    1     0 

sos_commands/lvm2/lvmdump/dev_listing

/dev/XXX-vg-rrr:
total 0
drwxr-xr-x  2 root root  220 Jan 27 11:13 .
drwxr-xr-x 18 root root 4380 Jan 27 11:14 ..
lrwxrwxrwx  1 root root    7 Jan 27 11:13 home -> ../dm-7
lrwxrwxrwx  1 root root    7 Jan 27 11:13 opt_virtualmachines -> ../dm-8
lrwxrwxrwx  1 root root    7 Jan 27 11:13 root -> ../dm-1
lrwxrwxrwx  1 root root    7 Jan 27 11:13 swap -> ../dm-0
lrwxrwxrwx  1 root root    7 Jan 27 11:13 tmp -> ../dm-2
lrwxrwxrwx  1 root root    7 Jan 27 11:13 var -> ../dm-3
lrwxrwxrwx  1 root root    7 Jan 27 11:13 var_log -> ../dm-5
lrwxrwxrwx  1 root root    7 Jan 27 11:13 var_log_audit -> ../dm-6
lrwxrwxrwx  1 root root    7 Jan 27 11:13 var_tmp -> ../dm-4

@holmanb
Copy link
Member

holmanb commented Feb 5, 2025

@bryanfraschetti @zilardcherry I just created a PPA that has the proposed fix for jammy. Please let me know if you can reproduce the issue using it.

@zilardcherry
Copy link

@holmanb thank you so much for the quick response, I asked customer to perform the test for us, please stay tuned, I will come back with the results shortly

@zilardcherry
Copy link

zilardcherry commented Feb 5, 2025

@holmanb Customer tested your package and reported back that now cloud-init works fine, please see the below logs I collected from the test environment

dpkg -l cloud-init
-------------------------------------------------
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version                 Architecture Description
+++-==============-=======================-============-=========================================================
ii  cloud-init     24.4.1-0ubuntu0~22.04.1 all          initialization and customization tool for cloud instances




cat /usr/lib/systemd/system/cloud-init-local.service
---------------------------------------------------
[Unit]
# https://docs.cloud-init.io/en/latest/explanation/boot.html
Description=Cloud-init: Local Stage (pre-network)
DefaultDependencies=no
Wants=network-pre.target
After=hv_kvp_daemon.service
After=systemd-remount-fs.service
Before=network-pre.target
Before=shutdown.target
Before=sysinit.target
Conflicts=shutdown.target
RequiresMountsFor=/var/lib/cloud
ConditionPathExists=!/etc/cloud/cloud-init.disabled
ConditionKernelCommandLine=!cloud-init=disabled
ConditionEnvironment=!KERNEL_CMDLINE=cloud-init=disabled

[Service]
Type=oneshot
ExecStart=/usr/bin/cloud-init init --local
RemainAfterExit=yes
TimeoutSec=0

# Output needs to appear in instance console output
StandardOutput=journal+console

[Install]
WantedBy=cloud-init.target



cat journal.log | grep "loud-init\|DataSource\|mounted filesystem "
-------------------------------------------
Feb 05 13:32:12 ubuntu kernel: EXT4-fs (dm-1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Feb 05 13:32:12 ubuntu kernel: EXT4-fs (vda2): mounted filesystem without journal. Opts: (null). Quota mode: none.
Feb 05 13:32:12 ubuntu kernel: EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Feb 05 13:32:12 ubuntu kernel: EXT4-fs (dm-3): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Feb 05 13:32:12 ubuntu systemd[1]: Starting Cloud-init: Local Stage (pre-network)...
Feb 05 13:32:12 ubuntu kernel: EXT4-fs (dm-4): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Feb 05 13:32:12 ubuntu kernel: EXT4-fs (dm-7): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Feb 05 13:32:12 ubuntu kernel: EXT4-fs (dm-5): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Feb 05 13:32:12 ubuntu kernel: EXT4-fs (dm-6): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Feb 05 13:32:12 ubuntu kernel: EXT4-fs (dm-8): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
Feb 05 13:32:13 ubuntu cloud-init[780]: Cloud-init v. 24.4.1-0ubuntu0~22.04.1 running 'init-local' at Wed, 05 Feb 2025 12:32:13 +0000. Up 4.62 seconds.
Feb 05 13:32:13 ubuntu systemd[1]: Finished Cloud-init: Local Stage (pre-network).



cat /var/log/cloud-init.log
---------------------------------------------
2025-02-05 12:32:13,304 - log_util.py[DEBUG]: Cloud-init v. 24.4.1-0ubuntu0~22.04.1 running 'init-local' at Wed, 05 Feb 2025 12:32:13 +0000. Up 4.62 seconds.
2025-02-05 12:32:13,305 - main.py[INFO]: PID [1] started cloud-init 'init-local'.
2025-02-05 12:32:13,305 - main.py[DEBUG]: No kernel command line url found.
2025-02-05 12:32:13,305 - main.py[DEBUG]: Closing stdin
2025-02-05 12:32:13,312 - util.py[DEBUG]: Writing to /var/log/cloud-init.log - ab: [640] 0 bytes
2025-02-05 12:32:13,312 - util.py[DEBUG]: Changing the ownership of /var/log/cloud-init.log to 105:4
2025-02-05 12:32:13,313 - util.py[DEBUG]: Writing to /var/lib/cloud/data/python-version - wb: [644] 4 bytes
2025-02-05 12:32:13,313 - util.py[DEBUG]: Attempting to remove /var/lib/cloud/instance/boot-finished
2025-02-05 12:32:13,313 - handlers.py[DEBUG]: start: init-local/check-cache: attempting to read from cache [check]
2025-02-05 12:32:13,313 - util.py[DEBUG]: Reading from /var/lib/cloud/instance/obj.pkl (quiet=False)
2025-02-05 12:32:13,313 - stages.py[DEBUG]: no cache found
2025-02-05 12:32:13,314 - handlers.py[DEBUG]: finish: init-local/check-cache: SUCCESS: no cache found
2025-02-05 12:32:13,321 - stages.py[DEBUG]: Using distro class <class 'cloudinit.distros.ubuntu.Distro'>
2025-02-05 12:32:13,322 - sources[DEBUG]: Looking for data source in: ['NoCloud', 'ConfigDrive', 'OpenNebula', 'DigitalOcean', 'Azure', 'AltCloud', 'OVF', 'MAAS', 'GCE', 'OpenStack', 'CloudSigma', 'SmartOS', 'Bigstep', 'Scaleway', 'AliYun', 'Ec2', 'CloudStack', 'Hetzner', 'IBMCloud', 'Oracle', 'Exoscale', 'RbxCloud', 'UpCloud', 'VMware', 'Vultr', 'LXD', 'NWCS', 'Akamai', 'WSL', 'None'], via packages ['', 'cloudinit.sources'] that matches dependencies ['FILESYSTEM']
2025-02-05 12:32:13,403 - sources[DEBUG]: Searching for local data source in: ['DataSourceNoCloud', 'DataSourceConfigDrive', 'DataSourceOpenNebula', 'DataSourceDigitalOcean', 'DataSourceAzure', 'DataSourceOVF', 'DataSourceMAASLocal', 'DataSourceGCELocal', 'DataSourceOpenStackLocal', 'DataSourceCloudSigma', 'DataSourceSmartOS', 'DataSourceScaleway', 'DataSourceAliYunLocal', 'DataSourceEc2Local', 'DataSourceHetzner', 'DataSourceIBMCloud', 'DataSourceOracle', 'DataSourceRbxCloud', 'DataSourceUpCloudLocal', 'DataSourceVMware', 'DataSourceVultr', 'DataSourceLXD', 'DataSourceNWCS', 'DataSourceAkamaiLocal', 'DataSourceWSL']
2025-02-05 12:32:13,403 - handlers.py[DEBUG]: start: init-local/search-NoCloud: searching for local data from DataSourceNoCloud
2025-02-05 12:32:13,403 - sources[DEBUG]: Seeing if we can get any data from <class 'cloudinit.sources.DataSourceNoCloud.DataSourceNoCloud'>
2025-02-05 12:32:13,403 - sources[DEBUG]: Update datasource metadata and network config due to events: boot-new-instance
2025-02-05 12:32:13,404 - sources[DEBUG]: Detected DataSourceNoCloud 
2025-02-05 12:32:13,404 - dmi.py[DEBUG]: querying dmi data /sys/class/dmi/id/product_serial
2025-02-05 12:32:13,404 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud/user-data (quiet=False)
2025-02-05 12:32:13,405 - util.py[DEBUG]: Reading 135 bytes from /var/lib/cloud/seed/nocloud/user-data
2025-02-05 12:32:13,405 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud/meta-data (quiet=False)
2025-02-05 12:32:13,405 - util.py[DEBUG]: Reading 26 bytes from /var/lib/cloud/seed/nocloud/meta-data
2025-02-05 12:32:13,405 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud/vendor-data (quiet=False)
2025-02-05 12:32:13,405 - util.py[DEBUG]: Reading from /var/lib/cloud/seed/nocloud/network-config (quiet=False)
2025-02-05 12:32:13,405 - DataSourceNoCloud.py[DEBUG]: Using seeded data from /var/lib/cloud/seed/nocloud
2025-02-05 12:32:13,405 - util.py[DEBUG]: Attempting to load yaml from string of length 26 with allowed root types (<class 'dict'>,)
2025-02-05 12:32:13,407 - subp.py[DEBUG]: Running command ['blkid', '-tTYPE=vfat', '-odevice'] with allowed return codes [0, 2] (shell=False, capture=True)
2025-02-05 12:32:13,492 - performance.py[DEBUG]: Running ['blkid', '-tTYPE=vfat', '-odevice'] took 0.085 seconds
2025-02-05 12:32:13,493 - subp.py[DEBUG]: Running command ['blkid', '-tTYPE=iso9660', '-odevice'] with allowed return codes [0, 2] (shell=False, capture=True)
2025-02-05 12:32:13,496 - subp.py[DEBUG]: Running command ['blkid', '-tLABEL=CIDATA', '-odevice'] with allowed return codes [0, 2] (shell=False, capture=True)
2025-02-05 12:32:13,499 - subp.py[DEBUG]: Running command ['blkid', '-tLABEL=cidata', '-odevice'] with allowed return codes [0, 2] (shell=False, capture=True)
2025-02-05 12:32:13,502 - subp.py[DEBUG]: Running command ['blkid', '-tLABEL_FATBOOT=cidata', '-odevice'] with allowed return codes [0, 2] (shell=False, capture=True)
2025-02-05 12:32:13,505 - util.py[DEBUG]: Reading from /etc/hosts (quiet=False)
2025-02-05 12:32:13,506 - util.py[DEBUG]: Reading 125 bytes from /etc/hosts
2025-02-05 12:32:13,507 - util.py[DEBUG]: Writing to /run/cloud-init/cloud-id-nocloud - wb: [644] 8 bytes
2025-02-05 12:32:13,507 - util.py[DEBUG]: Creating symbolic link from '/run/cloud-init/cloud-id' => '/run/cloud-init/cloud-id-nocloud'
2025-02-05 12:32:13,508 - atomic_helper.py[DEBUG]: Atomically writing to file /run/cloud-init/instance-data-sensitive.json (via temporary file /run/cloud-init/tmp35449gij) - w: [600] 8873 bytes/chars
2025-02-05 12:32:13,508 - atomic_helper.py[DEBUG]: Atomically writing to file /run/cloud-init/instance-data.json (via temporary file /run/cloud-init/tmpuel3gjhd) - w: [644] 1506 bytes/chars
2025-02-05 12:32:13,508 - performance.py[DEBUG]: Getting metadata took 0.105 seconds
2025-02-05 12:32:13,508 - handlers.py[DEBUG]: finish: init-local/search-NoCloud: SUCCESS: found local data from DataSourceNoCloud
2025-02-05 12:32:13,508 - util.py[DEBUG]: Attempting to remove /var/lib/cloud/instance
2025-02-05 12:32:13,508 - stages.py[INFO]: Loaded datasource DataSourceNoCloud - DataSourceNoCloud [seed=/var/lib/cloud/seed/nocloud]

@holmanb
Copy link
Member

holmanb commented Feb 5, 2025

@holmanb Customer tested your package and reported back that now cloud-init works fine, please see the below logs I collected from the test environment

That's good to hear, thanks! I'll make sure that this is included in the upcoming release.

@zilardcherry
Copy link

@holmanb @TheRealFalcon is this fix planned to be released at milestone cloud-init.25.1 for Ubuntu 22.04 Jammy ?
do you know any specific date for milestone cloud-init.25.1 ?

@holmanb
Copy link
Member

holmanb commented Feb 5, 2025

@holmanb @TheRealFalcon is this fix planned to be released at milestone cloud-init.25.1 for Ubuntu 22.04 Jammy ? do you know any specific date for milestone cloud-init.25.1 ?

This will be fixed in the downstream 24.4.1 releases, actually. We're queuing an SRU currently, so after validation and SRU review it will hit -updates.

@bryanfraschetti
Copy link
Contributor Author

Hello @holmanb @TheRealFalcon
Thanks for preparing the test PPA and merging the packaging fix so quickly. Just so we can plan with the customer, do you have an estimate for the timeframe of the SRU? Specifically, they would like to know if it will be possible to have it ready by the end of February

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

4 participants