From 272704c4a7ba6811cafc9ea02b0fb78c10040734 Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Wed, 27 Sep 2023 11:32:17 -0400 Subject: [PATCH] move creation of segments to design phase --- .../com/cloud/network/guru/NetworkGuru.java | 14 +++-- .../orchestration/NetworkOrchestrator.java | 2 +- .../guru/BigSwitchBcfGuestNetworkGuru.java | 4 +- .../guru/BrocadeVcsGuestNetworkGuru.java | 4 +- .../guru/BrocadeVcsGuestNetworkGuruTest.java | 6 +- .../contrail/management/ContrailGuru.java | 2 +- .../management/ManagementNetworkGuru.java | 2 +- .../guru/NiciraNvpGuestNetworkGuru.java | 4 +- .../guru/NiciraNvpGuestNetworkGuruTest.java | 8 +-- .../service/NsxGuestNetworkGuru.java | 56 +++++++++++++++---- .../OpendaylightGuestNetworkGuru.java | 4 +- .../network/guru/OvsGuestNetworkGuru.java | 4 +- .../service/TungstenGuestNetworkGuru.java | 4 +- .../service/TungstenGuestNetworkGuruTest.java | 2 +- .../network/guru/VxlanGuestNetworkGuru.java | 4 +- .../guru/VxlanGuestNetworkGuruTest.java | 2 +- .../network/NetworkMigrationManagerImpl.java | 2 +- .../network/guru/ControlNetworkGuru.java | 2 +- .../cloud/network/guru/DirectNetworkGuru.java | 2 +- .../guru/ExternalGuestNetworkGuru.java | 4 +- .../cloud/network/guru/GuestNetworkGuru.java | 2 +- .../network/guru/PodBasedNetworkGuru.java | 2 +- .../network/guru/PrivateNetworkGuru.java | 2 +- .../cloud/network/guru/PublicNetworkGuru.java | 2 +- .../network/guru/StorageNetworkGuru.java | 2 +- .../network/guru/DirectNetworkGuruTest.java | 4 +- .../guru/ExternalGuestNetworkGuruTest.java | 2 +- 27 files changed, 91 insertions(+), 57 deletions(-) diff --git a/api/src/main/java/com/cloud/network/guru/NetworkGuru.java b/api/src/main/java/com/cloud/network/guru/NetworkGuru.java index 52f654007f2..a0e856daea5 100644 --- a/api/src/main/java/com/cloud/network/guru/NetworkGuru.java +++ b/api/src/main/java/com/cloud/network/guru/NetworkGuru.java @@ -79,20 +79,22 @@ public interface NetworkGuru extends Adapter { * be used to make determination can be isolation methods, services * provided on the guest network and the service provider that's on the * guest network. - * + *

* If a network is already fully substantiated with the necessary resources * during this design phase, then the state should be set to Setup. If * the resources are not allocated at this point, the state should be set * to Allocated. * - * @param offering network offering that contains the package of services - * the end user intends to use on that network. - * @param plan where is this network being deployed. + * @param offering network offering that contains the package of services + * the end user intends to use on that network. + * @param plan where is this network being deployed. * @param userSpecified user specified parameters for this network. - * @param owner owner of this network. + * @param name + * @param vpcId + * @param owner owner of this network. * @return Network */ - Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner); + Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner); /** * For guest networks that are in Allocated state after the design stage, diff --git a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java index 572a9e64b39..3231930de44 100644 --- a/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java +++ b/engine/orchestration/src/main/java/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java @@ -764,7 +764,7 @@ public class NetworkOrchestrator extends ManagerBase implements NetworkOrchestra long related = -1; for (final NetworkGuru guru : networkGurus) { - final Network network = guru.design(offering, plan, predefined, owner); + final Network network = guru.design(offering, plan, predefined, name, vpcId, owner); if (network == null) { continue; } diff --git a/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/guru/BigSwitchBcfGuestNetworkGuru.java b/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/guru/BigSwitchBcfGuestNetworkGuru.java index 7cb50edb4ef..a3940114bee 100644 --- a/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/guru/BigSwitchBcfGuestNetworkGuru.java +++ b/plugins/network-elements/bigswitch/src/main/java/com/cloud/network/guru/BigSwitchBcfGuestNetworkGuru.java @@ -145,7 +145,7 @@ public class BigSwitchBcfGuestNetworkGuru extends GuestNetworkGuru implements Ne } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { // Check if the isolation type of the physical network is BCF_SEGMENT, then delegate GuestNetworkGuru to design PhysicalNetworkVO physnet = _physicalNetworkDao.findById(plan.getPhysicalNetworkId()); if (physnet == null || physnet.getIsolationMethods() == null || !physnet.getIsolationMethods().contains("BCF_SEGMENT")) { @@ -164,7 +164,7 @@ public class BigSwitchBcfGuestNetworkGuru extends GuestNetworkGuru implements Ne } s_logger.debug("Physical isolation type is BCF_SEGMENT, asking GuestNetworkGuru to design this network"); - NetworkVO networkObject = (NetworkVO)super.design(offering, plan, userSpecified, owner); + NetworkVO networkObject = (NetworkVO)super.design(offering, plan, userSpecified, name, vpcId, owner); if (networkObject == null) { return null; } diff --git a/plugins/network-elements/brocade-vcs/src/main/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuru.java b/plugins/network-elements/brocade-vcs/src/main/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuru.java index 6a201cf988b..b01b473a3f1 100644 --- a/plugins/network-elements/brocade-vcs/src/main/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuru.java +++ b/plugins/network-elements/brocade-vcs/src/main/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuru.java @@ -97,7 +97,7 @@ public class BrocadeVcsGuestNetworkGuru extends GuestNetworkGuru { } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { // Check of the isolation type of the related physical network is VLAN PhysicalNetworkVO physnet = _physicalNetworkDao.findById(plan.getPhysicalNetworkId()); DataCenter dc = _dcDao.findById(plan.getDataCenterId()); @@ -106,7 +106,7 @@ public class BrocadeVcsGuestNetworkGuru extends GuestNetworkGuru { return null; } s_logger.debug("Physical isolation type is VCS, asking GuestNetworkGuru to design this network"); - NetworkVO networkObject = (NetworkVO)super.design(offering, plan, userSpecified, owner); + NetworkVO networkObject = (NetworkVO)super.design(offering, plan, userSpecified, name, vpcId, owner); if (networkObject == null) { return null; } diff --git a/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java b/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java index b73ddabae19..524e5899348 100644 --- a/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java +++ b/plugins/network-elements/brocade-vcs/src/test/java/com/cloud/network/guru/BrocadeVcsGuestNetworkGuruTest.java @@ -170,7 +170,7 @@ public class BrocadeVcsGuestNetworkGuruTest { final Network network = mock(Network.class); final Account account = mock(Account.class); - final Network designednetwork = guru.design(offering, plan, network, account); + final Network designednetwork = guru.design(offering, plan, network, "", 1L, account); assertTrue(designednetwork != null); assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Vcs); } @@ -191,7 +191,7 @@ public class BrocadeVcsGuestNetworkGuruTest { final Network network = mock(Network.class); final Account account = mock(Account.class); - final Network designednetwork = guru.design(offering, plan, network, account); + final Network designednetwork = guru.design(offering, plan, network, "", 1L, account); assertTrue(designednetwork == null); } @@ -213,7 +213,7 @@ public class BrocadeVcsGuestNetworkGuruTest { final Network network = mock(Network.class); final Account account = mock(Account.class); - final Network designednetwork = guru.design(offering, plan, network, account); + final Network designednetwork = guru.design(offering, plan, network, "", 1L, account); assertTrue(designednetwork == null); } diff --git a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailGuru.java b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailGuru.java index 775ca7e0906..bae6e8664a8 100644 --- a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailGuru.java +++ b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ContrailGuru.java @@ -119,7 +119,7 @@ public class ContrailGuru extends AdapterBase implements NetworkGuru { } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { // Check of the isolation type of the related physical network is L3VPN PhysicalNetworkVO physnet = _physicalNetworkDao.findById(plan.getPhysicalNetworkId()); DataCenter dc = _dcDao.findById(plan.getDataCenterId()); diff --git a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ManagementNetworkGuru.java b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ManagementNetworkGuru.java index 6ad0746ba6b..52d375d2f4f 100644 --- a/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ManagementNetworkGuru.java +++ b/plugins/network-elements/juniper-contrail/src/main/java/org/apache/cloudstack/network/contrail/management/ManagementNetworkGuru.java @@ -111,7 +111,7 @@ public class ManagementNetworkGuru extends ContrailGuru { } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { if (!canHandle(offering)) { return null; diff --git a/plugins/network-elements/nicira-nvp/src/main/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java b/plugins/network-elements/nicira-nvp/src/main/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java index 3ffc601990c..47ec469faa0 100644 --- a/plugins/network-elements/nicira-nvp/src/main/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java +++ b/plugins/network-elements/nicira-nvp/src/main/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuru.java @@ -138,7 +138,7 @@ public class NiciraNvpGuestNetworkGuru extends GuestNetworkGuru implements Netwo } @Override - public Network design(final NetworkOffering offering, final DeploymentPlan plan, final Network userSpecified, final Account owner) { + public Network design(final NetworkOffering offering, final DeploymentPlan plan, final Network userSpecified, String name, Long vpcId, final Account owner) { // Check of the isolation type of the related physical network is supported final PhysicalNetworkVO physnet = physicalNetworkDao.findById(plan.getPhysicalNetworkId()); final DataCenter dc = _dcDao.findById(plan.getDataCenterId()); @@ -155,7 +155,7 @@ public class NiciraNvpGuestNetworkGuru extends GuestNetworkGuru implements Netwo s_logger.debug("Nicira Nvp " + devices.get(0).getUuid() + " found on physical network " + physnet.getId()); s_logger.debug("Physical isolation type is supported, asking GuestNetworkGuru to design this network"); - final NetworkVO networkObject = (NetworkVO) super.design(offering, plan, userSpecified, owner); + final NetworkVO networkObject = (NetworkVO) super.design(offering, plan, userSpecified, name, vpcId, owner); if (networkObject == null) { return null; } diff --git a/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java b/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java index c99404a3ec3..f0fad694ae9 100644 --- a/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java +++ b/plugins/network-elements/nicira-nvp/src/test/java/com/cloud/network/guru/NiciraNvpGuestNetworkGuruTest.java @@ -168,7 +168,7 @@ public class NiciraNvpGuestNetworkGuruTest { final Network network = mock(Network.class); final Account account = mock(Account.class); - final Network designednetwork = guru.design(offering, plan, network, account); + final Network designednetwork = guru.design(offering, plan, network, "", 1L, account); assertTrue(designednetwork != null); assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Lswitch); } @@ -192,7 +192,7 @@ public class NiciraNvpGuestNetworkGuruTest { final Network network = mock(Network.class); final Account account = mock(Account.class); - final Network designednetwork = guru.design(offering, plan, network, account); + final Network designednetwork = guru.design(offering, plan, network, "", 1L, account); assertTrue(designednetwork == null); } @@ -215,7 +215,7 @@ public class NiciraNvpGuestNetworkGuruTest { final Network network = mock(Network.class); final Account account = mock(Account.class); - final Network designednetwork = guru.design(offering, plan, network, account); + final Network designednetwork = guru.design(offering, plan, network, "", 1L, account); assertTrue(designednetwork == null); } @@ -241,7 +241,7 @@ public class NiciraNvpGuestNetworkGuruTest { final Network network = mock(Network.class); final Account account = mock(Account.class); - final Network designednetwork = guru.design(offering, plan, network, account); + final Network designednetwork = guru.design(offering, plan, network, "", 1L, account); assertTrue(designednetwork == null); } diff --git a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java index e29e9a6f23d..6128e110375 100644 --- a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java +++ b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxGuestNetworkGuru.java @@ -76,7 +76,7 @@ public class NsxGuestNetworkGuru extends GuestNetworkGuru implements NetworkMigr } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { PhysicalNetworkVO physnet = _physicalNetworkDao.findById(plan.getPhysicalNetworkId()); DataCenter dc = _dcDao.findById(plan.getDataCenterId()); @@ -85,7 +85,7 @@ public class NsxGuestNetworkGuru extends GuestNetworkGuru implements NetworkMigr return null; } - NetworkVO network = (NetworkVO) super.design(offering, plan, userSpecified, owner); + NetworkVO network = (NetworkVO) super.design(offering, plan, userSpecified, name, vpcId, owner); network.setBroadcastDomainType(Networks.BroadcastDomainType.NSX); if (network == null) { return null; @@ -104,6 +104,38 @@ public class NsxGuestNetworkGuru extends GuestNetworkGuru implements NetworkMigr network.setBroadcastDomainType(Networks.BroadcastDomainType.NSX); network.setState(Network.State.Allocated); + + NetworkVO implemented = new NetworkVO(network.getTrafficType(), network.getMode(), + network.getBroadcastDomainType(), network.getNetworkOfferingId(), Network.State.Implemented, + network.getDataCenterId(), network.getPhysicalNetworkId(), offering.isRedundantRouter()); + implemented.setAccountId(owner.getAccountId()); + + if (network.getGateway() != null) { + implemented.setGateway(network.getGateway()); + } + + if (network.getCidr() != null) { + implemented.setCidr(network.getCidr()); + } + + if (vpcId != null) { + implemented.setVpcId(vpcId); + } + + if (name != null) { + implemented.setName(name); + } + implemented.setBroadcastUri(Networks.BroadcastDomainType.NSX.toUri("nsx")); + try { + long zoneId = network.getDataCenterId(); + DataCenter zone = zoneDao.findById(zoneId); + if (isNull(zone)) { + throw new CloudRuntimeException(String.format("Failed to find zone with id: %s", zoneId)); + } + createNsxSegment(implemented, zone); + } catch (Exception ex) { + throw new CloudRuntimeException("unable to create NSX network " + network.getUuid() + "due to: " + ex.getMessage()); + } return network; } @@ -137,16 +169,16 @@ public class NsxGuestNetworkGuru extends GuestNetworkGuru implements NetworkMigr implemented.setName(network.getName()); } implemented.setBroadcastUri(Networks.BroadcastDomainType.NSX.toUri("nsx")); - try { - long zoneId = network.getDataCenterId(); - DataCenter zone = zoneDao.findById(zoneId); - if (isNull(zone)) { - throw new CloudRuntimeException(String.format("Failed to find zone with id: %s", zoneId)); - } - createNsxSegment(implemented, zone); - } catch (Exception ex) { - throw new CloudRuntimeException("unable to create NSX network " + network.getUuid() + "due to: " + ex.getMessage()); - } +// try { +// long zoneId = network.getDataCenterId(); +// DataCenter zone = zoneDao.findById(zoneId); +// if (isNull(zone)) { +// throw new CloudRuntimeException(String.format("Failed to find zone with id: %s", zoneId)); +// } +// createNsxSegment(implemented, zone); +// } catch (Exception ex) { +// throw new CloudRuntimeException("unable to create NSX network " + network.getUuid() + "due to: " + ex.getMessage()); +// } return implemented; } diff --git a/plugins/network-elements/opendaylight/src/main/java/org/apache/cloudstack/network/opendaylight/OpendaylightGuestNetworkGuru.java b/plugins/network-elements/opendaylight/src/main/java/org/apache/cloudstack/network/opendaylight/OpendaylightGuestNetworkGuru.java index e99ec555b88..e626989169f 100644 --- a/plugins/network-elements/opendaylight/src/main/java/org/apache/cloudstack/network/opendaylight/OpendaylightGuestNetworkGuru.java +++ b/plugins/network-elements/opendaylight/src/main/java/org/apache/cloudstack/network/opendaylight/OpendaylightGuestNetworkGuru.java @@ -99,7 +99,7 @@ public class OpendaylightGuestNetworkGuru extends GuestNetworkGuru { } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { PhysicalNetworkVO physnet = physicalNetworkDao.findById(plan.getPhysicalNetworkId()); DataCenter dc = _dcDao.findById(plan.getDataCenterId()); if (!canHandle(offering, dc.getNetworkType(), physnet)) { @@ -115,7 +115,7 @@ public class OpendaylightGuestNetworkGuru extends GuestNetworkGuru { s_logger.debug("Controller " + devices.get(0).getUuid() + " found on physical network " + physnet.getId()); s_logger.debug("Physical isolation type is ODL, asking GuestNetworkGuru to design this network"); - NetworkVO networkObject = (NetworkVO)super.design(offering, plan, userSpecified, owner); + NetworkVO networkObject = (NetworkVO)super.design(offering, plan, userSpecified, name, vpcId, owner); if (networkObject == null) { return null; } diff --git a/plugins/network-elements/ovs/src/main/java/com/cloud/network/guru/OvsGuestNetworkGuru.java b/plugins/network-elements/ovs/src/main/java/com/cloud/network/guru/OvsGuestNetworkGuru.java index f8d851e586e..641c4fb9b2a 100644 --- a/plugins/network-elements/ovs/src/main/java/com/cloud/network/guru/OvsGuestNetworkGuru.java +++ b/plugins/network-elements/ovs/src/main/java/com/cloud/network/guru/OvsGuestNetworkGuru.java @@ -97,7 +97,7 @@ public class OvsGuestNetworkGuru extends GuestNetworkGuru { @Override public Network design(NetworkOffering offering, DeploymentPlan plan, - Network userSpecified, Account owner) { + Network userSpecified, String name, Long vpcId, Account owner) { PhysicalNetworkVO physnet = _physicalNetworkDao.findById(plan .getPhysicalNetworkId()); @@ -107,7 +107,7 @@ public class OvsGuestNetworkGuru extends GuestNetworkGuru { return null; } NetworkVO config = (NetworkVO)super.design(offering, plan, - userSpecified, owner); + userSpecified, name, vpcId, owner); if (config == null) { return null; } diff --git a/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenGuestNetworkGuru.java b/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenGuestNetworkGuru.java index 12fe160f979..360c8428823 100644 --- a/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenGuestNetworkGuru.java +++ b/plugins/network-elements/tungsten/src/main/java/org/apache/cloudstack/network/tungsten/service/TungstenGuestNetworkGuru.java @@ -147,7 +147,7 @@ public class TungstenGuestNetworkGuru extends GuestNetworkGuru implements Networ } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { PhysicalNetworkVO physnet = _physicalNetworkDao.findById(plan.getPhysicalNetworkId()); DataCenter dc = _dcDao.findById(plan.getDataCenterId()); @@ -157,7 +157,7 @@ public class TungstenGuestNetworkGuru extends GuestNetworkGuru implements Networ return null; } - NetworkVO network = (NetworkVO) super.design(offering, plan, userSpecified, owner); + NetworkVO network = (NetworkVO) super.design(offering, plan, userSpecified, name, vpcId, owner); if (network == null) { return null; diff --git a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenGuestNetworkGuruTest.java b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenGuestNetworkGuruTest.java index 6a5a0132442..f66e026ba91 100644 --- a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenGuestNetworkGuruTest.java +++ b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenGuestNetworkGuruTest.java @@ -233,7 +233,7 @@ public class TungstenGuestNetworkGuruTest { final Network network = mock(Network.class); final Account account = mock(Account.class); - final Network designedNetwork = guru.design(offering, plan, network, account); + final Network designedNetwork = guru.design(offering, plan, network, "", 1L, account); assertNotNull(designedNetwork); assertSame(Networks.BroadcastDomainType.TUNGSTEN, designedNetwork.getBroadcastDomainType()); assertSame(Network.State.Allocated, designedNetwork.getState()); diff --git a/plugins/network-elements/vxlan/src/main/java/com/cloud/network/guru/VxlanGuestNetworkGuru.java b/plugins/network-elements/vxlan/src/main/java/com/cloud/network/guru/VxlanGuestNetworkGuru.java index ce6baaa15e9..cdfb64ca2af 100644 --- a/plugins/network-elements/vxlan/src/main/java/com/cloud/network/guru/VxlanGuestNetworkGuru.java +++ b/plugins/network-elements/vxlan/src/main/java/com/cloud/network/guru/VxlanGuestNetworkGuru.java @@ -68,8 +68,8 @@ public class VxlanGuestNetworkGuru extends GuestNetworkGuru { } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { - NetworkVO network = (NetworkVO)super.design(offering, plan, userSpecified, owner); + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { + NetworkVO network = (NetworkVO)super.design(offering, plan, userSpecified, name, vpcId, owner); if (network == null) { return null; } diff --git a/plugins/network-elements/vxlan/src/test/java/com/cloud/network/guru/VxlanGuestNetworkGuruTest.java b/plugins/network-elements/vxlan/src/test/java/com/cloud/network/guru/VxlanGuestNetworkGuruTest.java index 27c2ad53e8c..49fdaa6faeb 100644 --- a/plugins/network-elements/vxlan/src/test/java/com/cloud/network/guru/VxlanGuestNetworkGuruTest.java +++ b/plugins/network-elements/vxlan/src/test/java/com/cloud/network/guru/VxlanGuestNetworkGuruTest.java @@ -138,7 +138,7 @@ public class VxlanGuestNetworkGuruTest { Network network = mock(Network.class); Account account = mock(Account.class); - Network designednetwork = guru.design(offering, plan, network, account); + Network designednetwork = guru.design(offering, plan, network, "", 1L, account); assertTrue(designednetwork != null); assertTrue(designednetwork.getBroadcastDomainType() == BroadcastDomainType.Vxlan); } diff --git a/server/src/main/java/com/cloud/network/NetworkMigrationManagerImpl.java b/server/src/main/java/com/cloud/network/NetworkMigrationManagerImpl.java index 0cfd6e6021b..2859cd34cb8 100644 --- a/server/src/main/java/com/cloud/network/NetworkMigrationManagerImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkMigrationManagerImpl.java @@ -459,7 +459,7 @@ public class NetworkMigrationManagerImpl implements NetworkMigrationManager { DataCenterDeployment plan = new DataCenterDeployment(network.getDataCenterId(), null, null, null, null, newPhysicalNetworkId); for (final NetworkGuru guru : _networkMgr.getNetworkGurus()) { - final Network designedNetwork = guru.design(newOffering, plan, network, networkAccount); + final Network designedNetwork = guru.design(newOffering, plan, network, network.getName(), vpcId, networkAccount); if (designedNetwork == null) { continue; } diff --git a/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java index ce62c7b4e3f..11f629a16d9 100644 --- a/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java +++ b/server/src/main/java/com/cloud/network/guru/ControlNetworkGuru.java @@ -90,7 +90,7 @@ public class ControlNetworkGuru extends PodBasedNetworkGuru implements NetworkGu } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network specifiedConfig, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network specifiedConfig, String name, Long vpcId, Account owner) { if (!canHandle(offering)) { return null; } diff --git a/server/src/main/java/com/cloud/network/guru/DirectNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/DirectNetworkGuru.java index 7763d5b1adb..b5a88685ba0 100644 --- a/server/src/main/java/com/cloud/network/guru/DirectNetworkGuru.java +++ b/server/src/main/java/com/cloud/network/guru/DirectNetworkGuru.java @@ -162,7 +162,7 @@ public class DirectNetworkGuru extends AdapterBase implements NetworkGuru { } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { DataCenter dc = _dcDao.findById(plan.getDataCenterId()); PhysicalNetworkVO physnet = _physicalNetworkDao.findById(plan.getPhysicalNetworkId()); diff --git a/server/src/main/java/com/cloud/network/guru/ExternalGuestNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/ExternalGuestNetworkGuru.java index 471f4d11b25..893f90ceacb 100644 --- a/server/src/main/java/com/cloud/network/guru/ExternalGuestNetworkGuru.java +++ b/server/src/main/java/com/cloud/network/guru/ExternalGuestNetworkGuru.java @@ -110,13 +110,13 @@ public class ExternalGuestNetworkGuru extends GuestNetworkGuru { } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { if (_networkModel.areServicesSupportedByNetworkOffering(offering.getId(), Network.Service.Connectivity)) { return null; } - NetworkVO config = (NetworkVO)super.design(offering, plan, userSpecified, owner); + NetworkVO config = (NetworkVO)super.design(offering, plan, userSpecified, name, vpcId, owner); if (config == null) { return null; } else if (_networkModel.networkIsConfiguredForExternalNetworking(plan.getDataCenterId(), config.getId())) { diff --git a/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java index 137d1e7268b..641a663a796 100644 --- a/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java +++ b/server/src/main/java/com/cloud/network/guru/GuestNetworkGuru.java @@ -219,7 +219,7 @@ public abstract class GuestNetworkGuru extends AdapterBase implements NetworkGur protected abstract boolean canHandle(NetworkOffering offering, final NetworkType networkType, PhysicalNetwork physicalNetwork); @Override - public Network design(final NetworkOffering offering, final DeploymentPlan plan, final Network userSpecified, final Account owner) { + public Network design(final NetworkOffering offering, final DeploymentPlan plan, final Network userSpecified, String name, Long vpcId, final Account owner) { final DataCenter dc = _dcDao.findById(plan.getDataCenterId()); final PhysicalNetworkVO physnet = _physicalNetworkDao.findById(plan.getPhysicalNetworkId()); diff --git a/server/src/main/java/com/cloud/network/guru/PodBasedNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/PodBasedNetworkGuru.java index 9f9771e7cfb..168209b1e4b 100644 --- a/server/src/main/java/com/cloud/network/guru/PodBasedNetworkGuru.java +++ b/server/src/main/java/com/cloud/network/guru/PodBasedNetworkGuru.java @@ -76,7 +76,7 @@ public class PodBasedNetworkGuru extends AdapterBase implements NetworkGuru { } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { TrafficType type = offering.getTrafficType(); if (!isMyTrafficType(type)) { diff --git a/server/src/main/java/com/cloud/network/guru/PrivateNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/PrivateNetworkGuru.java index a5eac9aac1b..14f9ebe773c 100644 --- a/server/src/main/java/com/cloud/network/guru/PrivateNetworkGuru.java +++ b/server/src/main/java/com/cloud/network/guru/PrivateNetworkGuru.java @@ -98,7 +98,7 @@ public class PrivateNetworkGuru extends AdapterBase implements NetworkGuru { } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { DataCenter dc = _entityMgr.findById(DataCenter.class, plan.getDataCenterId()); if (!canHandle(offering, dc)) { return null; diff --git a/server/src/main/java/com/cloud/network/guru/PublicNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/PublicNetworkGuru.java index e8374b39f53..1c9654a2b45 100644 --- a/server/src/main/java/com/cloud/network/guru/PublicNetworkGuru.java +++ b/server/src/main/java/com/cloud/network/guru/PublicNetworkGuru.java @@ -100,7 +100,7 @@ public class PublicNetworkGuru extends AdapterBase implements NetworkGuru { } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network network, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network network, String name, Long vpcId, Account owner) { if (!canHandle(offering)) { return null; } diff --git a/server/src/main/java/com/cloud/network/guru/StorageNetworkGuru.java b/server/src/main/java/com/cloud/network/guru/StorageNetworkGuru.java index a26705e6d2c..31f91bc4467 100644 --- a/server/src/main/java/com/cloud/network/guru/StorageNetworkGuru.java +++ b/server/src/main/java/com/cloud/network/guru/StorageNetworkGuru.java @@ -82,7 +82,7 @@ public class StorageNetworkGuru extends PodBasedNetworkGuru implements NetworkGu } @Override - public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { + public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, String name, Long vpcId, Account owner) { if (!canHandle(offering)) { return null; } diff --git a/server/src/test/java/com/cloud/network/guru/DirectNetworkGuruTest.java b/server/src/test/java/com/cloud/network/guru/DirectNetworkGuruTest.java index a623be886e1..1988fbde62b 100644 --- a/server/src/test/java/com/cloud/network/guru/DirectNetworkGuruTest.java +++ b/server/src/test/java/com/cloud/network/guru/DirectNetworkGuruTest.java @@ -134,7 +134,7 @@ public class DirectNetworkGuruTest { when(networkModel.areServicesSupportedByNetworkOffering(offering.getId(), Network.Service.SecurityGroup)).thenReturn(true); - assertNotNull(guru.design(offering, plan, network, owner)); + assertNotNull(guru.design(offering, plan, network, "", 1L, owner)); } @Test @@ -151,7 +151,7 @@ public class DirectNetworkGuruTest { when(networkModel.areServicesSupportedByNetworkOffering(offering.getId(), Network.Service.SecurityGroup)).thenReturn(false); - Network config = guru.design(offering, plan, network, owner); + Network config = guru.design(offering, plan, network, "", 1L, owner); assertNotNull(config); assertEquals(ip4Dns[0], config.getDns1()); assertEquals(ip4Dns[1], config.getDns2()); diff --git a/server/src/test/java/com/cloud/network/guru/ExternalGuestNetworkGuruTest.java b/server/src/test/java/com/cloud/network/guru/ExternalGuestNetworkGuruTest.java index 3286ee54b3b..bcb39b6b3b5 100644 --- a/server/src/test/java/com/cloud/network/guru/ExternalGuestNetworkGuruTest.java +++ b/server/src/test/java/com/cloud/network/guru/ExternalGuestNetworkGuruTest.java @@ -75,7 +75,7 @@ public class ExternalGuestNetworkGuruTest { Mockito.when(network.getIp6Dns1()).thenReturn(ip6Dns[0]); Mockito.when(network.getIp6Dns2()).thenReturn(ip6Dns[1]); Account owner = Mockito.mock(Account.class); - Network config = guru.design(networkOffering, plan, network, owner); + Network config = guru.design(networkOffering, plan, network, "", 1L, owner); assertNotNull(config); assertEquals(ip4Dns[0], config.getDns1()); assertEquals(ip4Dns[1], config.getDns2());