Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

google-guest-agent now requires systemd-networkd version 252+, but Ubuntu 22.04.05 only provides 249

### Summary
After updating google-guest-agent to version 20241011.01-0ubuntu1~22.04.0, we noticed that systemd-networkd version 252 or higher is now required. However, Ubuntu 22.04.05 LTS(Jammy Jellyfish) provides only version 249 by default, causing a compatibility issue.

### Environment

  • VM Image: ubuntu-2204-jammy-v20241119
  • google-guest-agent Version: 20241011.01-0ubuntu1~22.04.0
  • systemd-networkd Version: 249

### Observed Issue
On boot, google-guest-agent logs the following error:


systemd-networkd version 249 not supported: minimum 252 required
rolling back regular ethernet changes for netplan
rolling back changes for systemd-networkd
Rolling back netplan
rolling back changes for netplan
Rolling back wicked
Rolling back NetworkManager
Rolling back systemd-networkd
rolling back changes for systemd-networkd Setting up dhclient
Finished setting up dhclient
Completed adding/removing routes for aliases, forwarded IP and target-instance IPs

This prevents the network from properly initializing, requiring manual intervention.

### Questions

  1. What are the specific reasons behind google-guest-agent now requiring systemd-networkd version 252 or higher?
  2. Is there an official way to upgrade systemd-networkd on Ubuntu 22.04 to meet this requirement?
  3. Will there be any updates to google-guest-agent that address this compatibility issue?

Any guidance on how to proceed would be greatly appreciated.

0 1 350
1 REPLY 1

Hi @noll_6451

Welcome to Google Cloud Community! 

The message you're seeing indicates that the network configuration process encountered issues due to an unsupported version of systemd-networkd (version 249), which is lower than the minimum required version (252). As a result, it rolled back various changes related to network management tools like netplan, wicked, NetworkManager, and systemd-networkd. Following the rollback, the system then set up dhclient (the DHCP client), which is responsible for obtaining IP configuration from a DHCP server.

The requirement for systemd-networkd version 252 or higher by google-guest-agent may involve the introduction of new features, bug fixes, security enhancements, or a shift towards standardization.

Since there is no officially supported or recommended way to upgrade systemd-networkd on Ubuntu 22.04 to version 252 here are some possible workarounds and solutions:

This is often the simplest and safest solution if possible. If you can revert to a version of the google-guest-agent before the 20241011.01-0ubuntu1~22.04.0 update, you'll avoid the dependency issue.

sudo apt install google-guest-agent=<previous_version>

Hold the Package (Prevent Automatic Updates): Once you've downgraded, prevent apt from automatically updating the google-guest-agent:

sudo apt-mark hold google-guest-agent

To unhold later:

sudo apt-mark unhold google-guest-agent

Monitor for Updates: Periodically check if newer versions of the google-guest-agent that are compatible with systemd 249 are released.

  • Use NetworkManager (Alternative Network Configuration):

NetworkManager is a very common and robust network management tool in Linux. If systemd-networkd is causing issues, you can configure your instance to use NetworkManager instead. The google-guest-agent can work with NetworkManager.

Install NetworkManager:

sudo apt update
sudo apt install network-manager

Disable systemd-networkd:

udo systemctl stop systemd-networkd
sudo systemctl disable systemd-networkd
sudo systemctl mask systemd-networkd

The mask command prevents systemd-networkd from being started by other services.

Configure NetworkManager: Configure your network interfaces using NetworkManager's tools (nmcli command-line tool or nmtui terminal user interface). You'll need to configure your interfaces with static IP addresses or DHCP as appropriate for your environment.

Verify NetworkManager is Active:

sudo systemctl status NetworkManager

Note: Reboot your VM to ensure that NetworkManager is the primary network manager.

When configuring your network on Google Cloud, ensure that the chosen method (such as NetworkManager or static IP) is capable of retrieving metadata from the Google Compute Engine metadata server, as the google-guest-agent depends on this for various functions. After applying any changes, thoroughly test your network configuration to ensure proper connectivity, including access to external networks, DNS resolution, and communication between instances. Additionally, prioritize security by carefully configuring firewall rules and other security settings to protect your network.

If the issue still persist after the workarounds, please contact Google Cloud Customer Care for more detailed guidance,

Was this helpful? If so, please accept this answer as “Solution”. If you need additional assistance, reply here within 2 business days and I’ll be happy to help