Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

By admin
I recently upgraded an old droplet from 16.04 ->18.04 ->20.04. The first upgrade went fine but something broke networking after the second update. The droplet no-longer sets its IPV4 address/gateway correctly after a reboot. If I manually configured it using the recovery console everything works fine but it’s obviously broken again on next reboot.
In other words I need to run the following commands before I can use the droplet.
ifconfig eth0 <ipv4 address> netmask 255.255.240.0 up
ip route add default via <gateway>
I thought it might be an issue with cloud-init since I think that is meant to handle configuring the droplet and there was an exception logged in /var/log/cloud-init.log:
2023-09-15 23:16:30,093 - util.py[DEBUG]: Getting data from <class 'cloudinit.sources.DataSourceDigitalOcean.DataSourceDigitalOcean'> failed
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1018, in find_source
if s.update_metadata_if_supported(
File "/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 904, in update_metadata_if_supported
result = self.get_data()
File "/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceDigitalOcean.py", line 48, in get_data
(is_do, droplet_id) = self._get_sysinfo()
File "/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceDigitalOcean.py", line 45, in _get_sysinfo
return do_helper.read_sysinfo()
File "/usr/lib/python3/dist-packages/cloudinit/sources/helpers/digitalocean.py", line 194, in read_sysinfo
vendor_name = util.read_dmi_data("system-manufacturer")
AttributeError: module 'cloudinit.util' has no attribute 'read_dmi_data'
2023-09-15 23:16:30,096 - main.py[DEBUG]: No local datasource found
I tried upgrading cloud-init to the latest version but that didn’t seem to do anything. Didn’t even resolve the error message.
Any ideas? Should I just cut my loses and copy the data over to a new droplet?
jeffs
0621335d663b4b699a60eb27e28153
accesstrax
Dwight Trumbower
yimprogramming
samunyi90
1d6ce141ab5444dfb1ea2dd29cf4b1
Matt Fricker
joel9b158e40551b15093f213f
EmilJacobs
Nicolas Steenhout