canonical/lxd

`lxc network` gets 200 from API when action failed

Open

#18,715 opened on Jul 9, 2026

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Go (1,035 forks)auto 404
Good first issue

Repository metrics

Stars
 (4,805 stars)
PR merge metrics
 (PR metrics pending)

Description

Please confirm

  • I have searched existing issues to check if an issue already exists for the bug I encountered.

Distribution

Armbian/Ubuntu

Distribution version

26.04

Output of snap list --all lxd core20 core22 core24 core26 snapd

$ snap list --all lxd core20 core22 core24 core26 snapd
Name    Version      Rev    Tracking       Publisher   Notes
core24  20260410     1644   latest/stable  canonical✓  base
core26  20260531     410    latest/stable  canonical✓  base
lxd     6.9-5cf451d  39996  6/candidate    canonical✓  -
snapd   2.76         27407  latest/stable  canonical✓  snapd

System info

$ lxd --version
6.9
$ uname -a
Linux terra 6.18.35-current-rockchip64 #2 SMP PREEMPT Tue Jun  9 10:28:53 UTC 2026 aarch64 GNU/Linux

$ lxc storage ls
+-------+--------+-------------+---------+---------+
| NAME  | DRIVER | DESCRIPTION | USED BY |  STATE  |
+-------+--------+-------------+---------+---------+
| local | btrfs  |             | 2       | CREATED |
+-------+--------+-------------+---------+---------+

OVN networking set up by MicroCloud.

Instance log

N/A

Expected behavior

Creating a network twice fails on the second go:

$ lxc network create default --type=ovn network=UPLINK ipv4.address=10.0.2.1/24
Network default created
$ lxc network create default --type=ovn network=UPLINK ipv4.address=10.0.2.1/24
The network already exists
$ echo $?
1

Actual behavior

Creating the network twice appears to succeed:

$ lxc network create default --type=ovn network=UPLINK ipv4.address=10.0.2.1/24
Network default created
$ lxc network create default --type=ovn network=UPLINK ipv4.address=10.0.2.1/24
Network default created

The API response is just wrong:

2026-07-09T18:15:24.424346-05:00 terra lxd.daemon[2962]: time="2026-07-09T18:15:24-05:00" level=warning msg="Failure for operation" class=task description="Creating network" err="The network already exists" operation=019f492a-1c59-7c61-999f-668635bc0b69 project=prod

Steps to reproduce

  1. Deploy single-node microcloud; configure only distributed networking with OVN.
  2. Create an OVN network twice.

This occurs for other failed actions too:

2026-07-09T18:20:11.558483-05:00 terra lxd.daemon[2962]: time="2026-07-09T18:20:11-05:00" level=warning msg="Failure for operation" class=task description="Updating network" err="Invalid option for network \"UPLINK\" option \"ovn.ingress-mode\"" operation=019f492e-7e0c-73a5-9367-244f7e7ba1c0 project=default

I suspect lxc network isn't handling operation responses correctly.

Information to attach

  • Any relevant kernel output (dmesg)
  • Instance configuration (lxc config show <instance> --expanded)
  • Main daemon log (at /var/log/lxd/lxd.log or /var/snap/lxd/common/lxd/logs/lxd.log)
  • If a lxc command fails, output of the command with --debug
  • Output of the daemon with --debug (or use lxc monitor while reproducing the issue)

Contributor guide