diff --git a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 643ccbbf8a46..c8ea47b31db1 100644 --- a/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -2057,6 +2057,11 @@ public boolean finalizeStart(final VirtualMachineProfile profile, final long hos // Get guest networks info final List guestNetworks = new ArrayList(); + final GetDomRVersionAnswer versionAnswer = (GetDomRVersionAnswer) cmds.getAnswer("getDomRVersion"); + router.setTemplateVersion(versionAnswer.getTemplateVersion()); + router.setScriptsVersion(versionAnswer.getScriptsVersion()); + _routerDao.persist(router, guestNetworks); + final List routerNics = _nicDao.listByVmId(profile.getId()); for (final Nic nic : routerNics) { final Network network = _networkModel.getNetwork(nic.getNetworkId()); @@ -2077,11 +2082,11 @@ public boolean finalizeStart(final VirtualMachineProfile profile, final long hos } } } + if (result) { - final GetDomRVersionAnswer versionAnswer = (GetDomRVersionAnswer) cmds.getAnswer("getDomRVersion"); - router.setTemplateVersion(versionAnswer.getTemplateVersion()); - router.setScriptsVersion(versionAnswer.getScriptsVersion()); - _routerDao.persist(router, guestNetworks); + for (Network guestNetwork : guestNetworks) { + _routerDao.addRouterToGuestNetwork(router, guestNetwork); + } } return result;