mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 22:55:23 +00:00
Improve error message in LXC startup with network is not active
If an LXC container is using a virtual network and that network is not active, currently the user gets a rather unhelpful error message about tap device setup failure. Add an explicit check for whether the network is active, in exactly the same way as the QEMU driver
This commit is contained in:
parent
92c5924a05
commit
ac97c2ba4c
@ -452,14 +452,37 @@ static int virLXCProcessSetupInterfaces(virConnectPtr conn,
|
|||||||
case VIR_DOMAIN_NET_TYPE_NETWORK: {
|
case VIR_DOMAIN_NET_TYPE_NETWORK: {
|
||||||
virNetworkPtr network;
|
virNetworkPtr network;
|
||||||
char *brname = NULL;
|
char *brname = NULL;
|
||||||
|
bool fail = false;
|
||||||
|
int active;
|
||||||
|
virErrorPtr errobj;
|
||||||
|
|
||||||
if (!(network = virNetworkLookupByName(conn,
|
if (!(network = virNetworkLookupByName(conn,
|
||||||
def->nets[i]->data.network.name)))
|
def->nets[i]->data.network.name)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
brname = virNetworkGetBridgeName(network);
|
active = virNetworkIsActive(network);
|
||||||
|
if (active != 1) {
|
||||||
|
fail = true;
|
||||||
|
if (active == 0)
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
_("Network '%s' is not active."),
|
||||||
|
def->nets[i]->data.network.name);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!fail) {
|
||||||
|
brname = virNetworkGetBridgeName(network);
|
||||||
|
if (brname == NULL)
|
||||||
|
fail = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Make sure any above failure is preserved */
|
||||||
|
errobj = virSaveLastError();
|
||||||
virNetworkFree(network);
|
virNetworkFree(network);
|
||||||
if (!brname)
|
virSetError(errobj);
|
||||||
|
virFreeError(errobj);
|
||||||
|
|
||||||
|
if (fail)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virLXCProcessSetupInterfaceBridged(conn,
|
if (virLXCProcessSetupInterfaceBridged(conn,
|
||||||
|
Loading…
Reference in New Issue
Block a user