in Nutanix

Unable To Remove a Bridge From an AHV Host

Incorrect bridge configuration on an AHV host can break a lot of functionalities, even if your cluster show nothing abnormal and all data replication is OK.

If you go through the Prism interface and you verify:

  • The network configuration
  • CVM and hosts availability
  • Cluster status and data redundancy

Everything’s will look fine and this can be a tricky situation. One of the symptoms was the inability to schedule virtual machines on the affected host. In my case it was a misconfigured bridge on one of the hosts, it was created by using an unicode character!!

The bridge in question was named br1-test”, if you try to remove it using the command bellow:

allssh manage_ovs --bridge_name "br1-test”" delete_single_bridge
Code language: Bash (bash)

You will end with this error:

2020-07-20 10:47:42 ERROR manage_ovs:602 OVS error ( delete_single_bridge): 'ascii' codec can't decode byte 0xe2 in position 34: ordinal not in range(128) Input: { "args": [ "br1-test\u201d" ], "cmd": "delete_single_bridge", "kwargs": {} } Traceback: Traceback (most recent call last): File "/root/acropolis_modules/", line 104, in _execute_command return _enforce_atomic(_ovs_execute)(config, input_obj) File "/root/acropolis_modules/", line 59, in actual_func return fn(*args, **kwargs) File "/root/acropolis_modules/", line 84, in _ovs_execute ret = getattr(br_manager, cmd)(*args, **kwargs) File "/root/acropolis_modules/", line 1078, in delete_single_bridge br, ignored_ports, bridge_chaining_enabled) File "/root/acropolis_modules/", line 256, in _list_interfaces KvmOvsBrLocal(self._ovs_util, br).get_bridge_name())) File "/root/acropolis_modules/", line 101, in list_ports return self._execute_fn("ovs-vsctl list-ifaces %s" % br).splitlines() File "/root/acropolis_modules/", line 65, in _execute_fn log.ERROR("%s: %d\n%s\n%s" % (errmsg, p.returncode, out, err)) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 34: ordinal not in range(128)
Code language: PHP (php)

The workaround is to connect to the affected host (not the CVM) and then use the following command to delete that bridge:

# ovs-vsctl del-br br1-test”
Code language: Bash (bash)

Hope that can help!

Share your thoughts