Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
1a85213
Rules and visitors for Load Balance Rules
Jul 3, 2014
f28426e
Extract general behavior to Router and Vpc delegates
Jul 10, 2014
24b230d
Fix dependency problem. Extract and unify router deployment stuff
Jul 11, 2014
65d7e07
Adding Firewall Rules to comply with the Visitor pattern implementati…
Jul 13, 2014
3457d0f
changing accessor modifier in instance variables
Jul 14, 2014
bbce7d9
fixing checkstyles
wilderrodrigues Jul 14, 2014
4b1112a
finished firewall rules and load balancing rules; fixed all the injec…
wilderrodrigues Jul 14, 2014
f17a0b8
TODO
DaanHoogland Jul 14, 2014
fb8973f
adding static nat rules. Deploying new VMs is not working due to the …
wilderrodrigues Jul 14, 2014
7e98e3e
we have to check if VPC is null bfore calling it. VPC is not used in …
wilderrodrigues Jul 15, 2014
f965fb9
adding apache license headers
wilderrodrigues Jul 15, 2014
6b2d35c
adding Ip Association and VPN Rules
wilderrodrigues Jul 15, 2014
563f853
Fix offering setup
Jul 15, 2014
e1866bf
package rename
DaanHoogland Jul 15, 2014
a982532
Temporary put state info in a state object
Jul 15, 2014
87f0e68
fixing the classes relationship; adding beans properly in the spring …
wilderrodrigues Jul 15, 2014
299c42c
adding password to router rules; moving the advance code to the advan…
wilderrodrigues Jul 15, 2014
631b561
Unify and encapsulate deployment flow methods and params
Jul 15, 2014
f0189ac
adding userdata to router and ssh pub key to router rules.
wilderrodrigues Jul 16, 2014
b9ffe23
making instance variables compliant with ACS convention
wilderrodrigues Jul 16, 2014
8f313ca
adding user data pwd rules
wilderrodrigues Jul 16, 2014
d153296
fixing injection of beans with a relationship
wilderrodrigues Jul 16, 2014
c76952b
whitespace
DaanHoogland Jul 16, 2014
e99b5b0
fixing the injection of the networkDao
wilderrodrigues Jul 16, 2014
95395f9
Deployment more OO - Objects with data and behavior
Jul 16, 2014
869f0ad
replacing my IP by localhost to avoid problems with my environment
wilderrodrigues Jul 17, 2014
0b78731
fixing import in virtual router element and checkstyle in dhcp entry …
wilderrodrigues Jul 17, 2014
e35fded
commenting broken code in tests in order to run build adn tests other…
wilderrodrigues Jul 17, 2014
8437c2f
removing bean from the xml
wilderrodrigues Jul 17, 2014
bfd4316
adding new bean to spring context file; renaming package from "com" t…
wilderrodrigues Jul 17, 2014
f23ba91
Fixing null pointers during vpc router deployment
Jul 17, 2014
b97f2b0
apply network acls; acls items to pvt gw; vpc ip association
wilderrodrigues Jul 17, 2014
325026d
fixing VPC IP Association and ACL rules. Have to rewrite in a better …
wilderrodrigues Jul 18, 2014
8852153
Splitting Vpc and NonVpc deployment into phases & testing it
Jul 17, 2014
f3c0417
RouterDeployment and VPC. Improving code and Unit Testing
Jul 23, 2014
6fac126
More refactoring and testing in the same classes
Jul 27, 2014
a83f579
License headers
Jul 28, 2014
12b0d18
Replacing the old [Vpc}VirtualNetworkApplianceManager by the new ones;
wilderrodrigues Aug 18, 2014
d2d9157
Complete tests for normal deployment and start vpc one
Jul 28, 2014
240a539
Factor out prepareDeployment and update tests
Jul 29, 2014
0d81cf0
Increasing test coverage for Vpc Deployment
Jul 29, 2014
95d32b4
Fix unnecessary changes Spring contexts
Aug 18, 2014
16ad412
moving sendCommand to the NetworkGeneralHelper;
wilderrodrigues Aug 19, 2014
00dc8a7
fixing check styles
wilderrodrigues Aug 19, 2014
2da3ced
Refactor to include network creation as actual deployment
Aug 19, 2014
b96035f
adding applyStaticRoutes method to the network topology/visitor. it w…
wilderrodrigues Aug 19, 2014
adebaf2
adding applyStaticRoutes to the new visitor pattern.
wilderrodrigues Aug 19, 2014
3d4ddb7
DeployRouter includes nw creation following TellDontAsk principle
Aug 20, 2014
b9bff84
Whole router.deployment package got 97% coverage
Aug 20, 2014
01edc8e
adding setupPrivateGateway to new style;
wilderrodrigues Aug 20, 2014
e08cb11
fixing check style issues
wilderrodrigues Aug 21, 2014
2802d3b
Refactor and test NetworkHelper#sendCommandsToRouterWithNoAnswers
Aug 21, 2014
b5e96af
Missing license headers
Aug 21, 2014
546e563
refactor all private methods in the virtual router appliance and VPC …
wilderrodrigues Aug 21, 2014
65fb216
auto wire the network helper
wilderrodrigues Aug 21, 2014
cd8cada
Refactor hypervisor retrieval from VpcNwHelper and NwHelper
Aug 21, 2014
02c7525
Fixing NPE due to use of dependencies before Spring injection
Aug 22, 2014
5f51a06
fix dhcp subnet rules. we can create VMs again.
wilderrodrigues Aug 23, 2014
b7c193a
fixing nic plug unplug rule
wilderrodrigues Aug 25, 2014
ee9068b
merging cmd-visitor into cmd-visitor-rebase, with the upstream from A…
wilderrodrigues Sep 5, 2014
64eed6c
Fix: VpcRouter has always PublicIp setup as it did before refactoring
Aug 28, 2014
dc5fefc
making sure the instance variable _router in the Rules is being used …
wilderrodrigues Sep 2, 2014
251e7ff
removing the root password becuase it was breaking the simulator test…
wilderrodrigues Sep 2, 2014
f2f4732
Removing the VirtualNetworkStatus, it was not being used properly;
wilderrodrigues Sep 4, 2014
60eea3b
Adding fixes for the add user data and vpn rules
wilderrodrigues Sep 8, 2014
9f801d1
Changing the way the DAOs were being injected in the RuleApplier;
wilderrodrigues Sep 9, 2014
025ff72
fixing checkstyle in the virtual network manager. problem appeared af…
wilderrodrigues Sep 9, 2014
4e21948
Fixing the NetworkHelperImpl class. It was throwing a NPE due to a hy…
wilderrodrigues Sep 11, 2014
3ac2e22
CLOUDSTACK-6278 Baremetal Advanced Networking support from commit id …
wilderrodrigues Sep 11, 2014
c81b338
Applying the latest chances from the VPC Refactor branch onto the new…
wilderrodrigues Sep 29, 2014
db86bdf
Applygin fix from commit ID aaeadc5c44e3fe16a1deea5348b085b08b5f4f4d
wilderrodrigues Sep 30, 2014
2ed64b2
Applying fix from commit id 6b8e0baa21e6cffc62eb2d35eecc7aeb2087d1c1
wilderrodrigues Oct 14, 2014
1e87d7b
Fixing checkstyle.
wilderrodrigues Oct 14, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix dependency problem. Extract and unify router deployment stuff
Conflicts:
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
  • Loading branch information
Antonio Fornie authored and wilderrodrigues committed Oct 14, 2014
commit 24b230d11bd35b0a9f1fb7a5e49ba745f61ac483
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@
class="com.cloud.network.router.NetworkGeneralHelper" />
<bean id="vpcVirtualNetworkHelper"
class="com.cloud.network.router.VpcVirtualNetworkHelperImpl" />
<bean id="routerDeploymentManager"
class="com.cloud.network.router.RouterDeploymentManager" />


<bean id="ApiAsyncJobDispatcher" class="com.cloud.api.ApiAsyncJobDispatcher">
Expand Down
18 changes: 11 additions & 7 deletions server/src/com/cloud/network/element/VirtualRouterElement.java
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@
import com.cloud.network.lb.LoadBalancingRule;
import com.cloud.network.lb.LoadBalancingRule.LbStickinessPolicy;
import com.cloud.network.lb.LoadBalancingRulesManager;
import com.cloud.network.router.RouterDeploymentDefinition;
import com.cloud.network.router.VirtualRouter;
import com.cloud.network.router.VirtualRouter.Role;
import com.cloud.network.router.VpcVirtualNetworkApplianceManager;
Expand Down Expand Up @@ -196,9 +197,11 @@ public boolean implement(final Network network, final NetworkOffering offering,
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);

List<DomainRouterVO> routers = _routerMgr.deployVirtualRouterInGuestNetwork(network, dest,
_accountMgr.getAccount(network.getAccountId()), params,
offering.getRedundantRouter());
RouterDeploymentDefinition routerDeploymentDefinition =
new RouterDeploymentDefinition(network, dest,_accountMgr.getAccount(network.getAccountId()),
params, offering.getRedundantRouter());
List<DomainRouterVO> routers = _routerMgr.deployVirtualRouter(routerDeploymentDefinition);

int routerCounts = 1;
if (offering.getRedundantRouter()) {
routerCounts = 2;
Expand Down Expand Up @@ -230,11 +233,12 @@ public boolean prepare(final Network network, final NicProfile nic, final Virtua
return false;
}

@SuppressWarnings("unchecked")
VirtualMachineProfile uservm = vm;
RouterDeploymentDefinition routerDeploymentDefinition =
new RouterDeploymentDefinition(network, dest,_accountMgr.getAccount(network.getAccountId()),
vm.getParameters(), offering.getRedundantRouter());
List<DomainRouterVO> routers =
_routerMgr.deployVirtualRouterInGuestNetwork(network, dest, _accountMgr.getAccount(network.getAccountId()), uservm.getParameters(),
offering.getRedundantRouter());
_routerMgr.deployVirtualRouter(routerDeploymentDefinition);

if (routers == null || routers.size() == 0) {
throw new ResourceUnavailableException("Can't find at least one running router!", DataCenter.class, network.getDataCenterId());
}
Expand Down
13 changes: 10 additions & 3 deletions server/src/com/cloud/network/element/VpcVirtualRouterElement.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
import com.cloud.network.dao.IPAddressDao;
import com.cloud.network.dao.NetworkDao;
import com.cloud.network.dao.Site2SiteVpnGatewayDao;
import com.cloud.network.router.RouterDeploymentDefinition;
import com.cloud.network.router.VirtualRouter;
import com.cloud.network.router.VirtualRouter.Role;
import com.cloud.network.router.VpcVirtualNetworkApplianceManager;
Expand Down Expand Up @@ -131,7 +132,9 @@ public boolean implementVpc(Vpc vpc, DeployDestination dest, ReservationContext
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);

_vpcRouterMgr.deployVirtualRouterInVpc(vpc, dest, _accountMgr.getAccount(vpc.getAccountId()), params);
RouterDeploymentDefinition routerDeploymentDefinition =
new RouterDeploymentDefinition(vpc, dest, _accountMgr.getAccount(vpc.getAccountId()), params, false);
_vpcRouterMgr.deployVirtualRouter(routerDeploymentDefinition);

return true;
}
Expand Down Expand Up @@ -168,7 +171,9 @@ public boolean implement(Network network, NetworkOffering offering, DeployDestin
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);

List<DomainRouterVO> routers = _vpcRouterMgr.deployVirtualRouterInVpc(vpc, dest, _accountMgr.getAccount(vpc.getAccountId()), params);
RouterDeploymentDefinition routerDeploymentDefinition =
new RouterDeploymentDefinition(vpc, dest, _accountMgr.getAccount(vpc.getAccountId()), params, false);
List<DomainRouterVO> routers = _vpcRouterMgr.deployVirtualRouter(routerDeploymentDefinition);
if ((routers == null) || (routers.size() == 0)) {
throw new ResourceUnavailableException("Can't find at least one running router!", DataCenter.class, network.getDataCenterId());
}
Expand Down Expand Up @@ -213,7 +218,9 @@ public boolean prepare(Network network, NicProfile nic, VirtualMachineProfile vm
if (vm.getType() == VirtualMachine.Type.User) {
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);
List<DomainRouterVO> routers = _vpcRouterMgr.deployVirtualRouterInVpc(vpc, dest, _accountMgr.getAccount(vpc.getAccountId()), params);
RouterDeploymentDefinition routerDeploymentDefinition =
new RouterDeploymentDefinition(vpc, dest, _accountMgr.getAccount(vpc.getAccountId()), params, false);
List<DomainRouterVO> routers = _vpcRouterMgr.deployVirtualRouter(routerDeploymentDefinition);
if ((routers == null) || (routers.size() == 0)) {
throw new ResourceUnavailableException("Can't find at least one running router!", DataCenter.class, network.getDataCenterId());
}
Expand Down
55 changes: 29 additions & 26 deletions server/src/com/cloud/network/router/NetworkGeneralHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -393,21 +393,21 @@ public DomainRouterVO startVirtualRouter(DomainRouterVO router, User user, Accou


// @Override
public DomainRouterVO deployRouter(Account owner,
DeployDestination dest, DeploymentPlan plan,
Map<Param, Object> params, boolean isRedundant,
VirtualRouterProvider vrProvider, long svcOffId, Long vpcId,
public DomainRouterVO deployRouter(final RouterDeploymentDefinition routerDeploymentDefinition,
VirtualRouterProvider vrProvider, long svcOffId,
LinkedHashMap<Network, List<? extends NicProfile>> networks,
boolean startRouter, List<HypervisorType> supportedHypervisors)
throws InsufficientAddressCapacityException,
InsufficientServerCapacityException, InsufficientCapacityException,
StorageUnavailableException, ResourceUnavailableException {

final ServiceOfferingVO routerOffering = _serviceOfferingDao.findById(svcOffId);
final DeployDestination dest = routerDeploymentDefinition.getDest();
final Account owner = routerDeploymentDefinition.getOwner();

// Router is the network element, we don't know the hypervisor type yet.
// Try to allocate the domR twice using diff hypervisors, and when failed both times, throw the exception up
final List<HypervisorType> hypervisors = getHypervisors(dest, plan, supportedHypervisors);
final List<HypervisorType> hypervisors = getHypervisors(routerDeploymentDefinition, supportedHypervisors);

int allocateRetry = 0;
int startRetry = 0;
Expand Down Expand Up @@ -449,19 +449,18 @@ public DomainRouterVO deployRouter(Account owner,

boolean offerHA = routerOffering.getOfferHA();
/* We don't provide HA to redundant router VMs, admin should own it all, and redundant router themselves are HA */
if (isRedundant) {
if (routerDeploymentDefinition.isRedundant()) {
offerHA = false;
}

router =
new DomainRouterVO(id, routerOffering.getId(), vrProvider.getId(),
VirtualMachineName.getRouterName(id, VirtualNwStatus.instance), template.getId(), template.getHypervisorType(),
template.getGuestOSId(), owner.getDomainId(), owner.getId(), isRedundant, 0, false, RedundantState.UNKNOWN,
offerHA, false, vpcId);
router = new DomainRouterVO(id, routerOffering.getId(), vrProvider.getId(),
VirtualMachineName.getRouterName(id, VirtualNwStatus.instance), template.getId(), template.getHypervisorType(),
template.getGuestOSId(), owner.getDomainId(), owner.getId(), routerDeploymentDefinition.isRedundant(), 0,
false, RedundantState.UNKNOWN, offerHA, false, routerDeploymentDefinition.getVpc().getId());
router.setDynamicallyScalable(template.isDynamicallyScalable());
router.setRole(Role.VIRTUAL_ROUTER);
router = _routerDao.persist(router);
_itMgr.allocate(router.getInstanceName(), template, routerOffering, networks, plan, null);
_itMgr.allocate(router.getInstanceName(), template, routerOffering, networks, routerDeploymentDefinition.getPlan(), null);
router = _routerDao.findById(router.getId());
} catch (final InsufficientCapacityException ex) {
if (allocateRetry < 2 && iter.hasNext()) {
Expand All @@ -476,7 +475,7 @@ public DomainRouterVO deployRouter(Account owner,

if (startRouter) {
try {
router = startVirtualRouter(router, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount(), params);
router = startVirtualRouter(router, _accountMgr.getSystemUser(), _accountMgr.getSystemAccount(), routerDeploymentDefinition.getParams());
break;
} catch (final InsufficientCapacityException ex) {
if (startRetry < 2 && iter.hasNext()) {
Expand All @@ -499,8 +498,9 @@ public DomainRouterVO deployRouter(Account owner,
return router;
}

protected List<HypervisorType> getHypervisors(final DeployDestination dest, final DeploymentPlan plan, final List<HypervisorType> supportedHypervisors)
protected List<HypervisorType> getHypervisors(final RouterDeploymentDefinition routerDeploymentDefinition, final List<HypervisorType> supportedHypervisors)
throws InsufficientServerCapacityException {
final DeployDestination dest = routerDeploymentDefinition.getDest();
List<HypervisorType> hypervisors = new ArrayList<HypervisorType>();

if (dest.getCluster() != null) {
Expand All @@ -515,7 +515,7 @@ protected List<HypervisorType> getHypervisors(final DeployDestination dest, fina
hypervisors.add(defaults);
} else {
//if there is no default hypervisor, get it from the cluster
hypervisors = _resourceMgr.getSupportedHypervisorTypes(dest.getDataCenter().getId(), true, plan.getPodId());
hypervisors = _resourceMgr.getSupportedHypervisorTypes(dest.getDataCenter().getId(), true, routerDeploymentDefinition.getPodId());
}
}

Expand All @@ -530,9 +530,9 @@ protected List<HypervisorType> getHypervisors(final DeployDestination dest, fina

if (hypervisors.isEmpty()) {
final String errMsg = (hTypesStr.capacity() > 0) ? "supporting hypervisors " + hTypesStr.toString() : "";
if (plan.getPodId() != null) {
if (routerDeploymentDefinition.getPodId() != null) {
throw new InsufficientServerCapacityException("Unable to create virtual router, " + "there are no clusters in the pod " + errMsg, Pod.class,
plan.getPodId());
routerDeploymentDefinition.getPodId());
}
throw new InsufficientServerCapacityException("Unable to create virtual router, " + "there are no clusters in the zone " + errMsg, DataCenter.class,
dest.getDataCenter().getId());
Expand Down Expand Up @@ -564,16 +564,19 @@ protected HypervisorType getClusterToStartDomainRouterForOvm(final long podId) {
}

final String errMsg =
"Cannot find an available cluster in Pod " + podId + " to start domain router for Ovm. \n Ovm won't support any system vm including domain router, " +
"please make sure you have a cluster with hypervisor type of any of xenserver/KVM/Vmware in the same pod" +
" with Ovm cluster. And there is at least one host in UP status in that cluster.";
new StringBuilder("Cannot find an available cluster in Pod ")
.append(podId)
.append(" to start domain router for Ovm. \n Ovm won't support any system vm including domain router, ")
.append("please make sure you have a cluster with hypervisor type of any of xenserver/KVM/Vmware in the same pod")
.append(" with Ovm cluster. And there is at least one host in UP status in that cluster.")
.toString();
throw new CloudRuntimeException(errMsg);
}


// @Override
public LinkedHashMap<Network, List<? extends NicProfile>> createRouterNetworks(
Account owner, boolean isRedundant, DeploymentPlan plan,
final RouterDeploymentDefinition routerDeploymentDefinition,
Network guestNetwork, Pair<Boolean, PublicIp> publicNetwork)
throws ConcurrentOperationException,
InsufficientAddressCapacityException {
Expand All @@ -595,7 +598,7 @@ public LinkedHashMap<Network, List<? extends NicProfile>> createRouterNetworks(
if (!setupPublicNetwork) {
final Nic placeholder = _networkModel
.getPlaceholderNicForRouter(guestNetwork,
plan.getPodId());
routerDeploymentDefinition.getPodId());
if (guestNetwork.getCidr() != null) {
if (placeholder != null
&& placeholder.getIp4Address() != null) {
Expand Down Expand Up @@ -651,7 +654,7 @@ public LinkedHashMap<Network, List<? extends NicProfile>> createRouterNetworks(
final NicProfile gatewayNic = new NicProfile(defaultNetworkStartIp,
defaultNetworkStartIpv6);
if (setupPublicNetwork) {
if (isRedundant) {
if (routerDeploymentDefinition.isRedundant()) {
gatewayNic.setIp4Address(_ipAddrMgr.acquireGuestIpAddress(
guestNetwork, null));
} else {
Expand Down Expand Up @@ -679,7 +682,7 @@ public LinkedHashMap<Network, List<? extends NicProfile>> createRouterNetworks(
.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork);
NetworkOffering controlOffering = offerings.get(0);
Network controlConfig = _networkMgr.setupNetwork(VirtualNwStatus.account,
controlOffering, plan, null, null, false).get(0);
controlOffering, routerDeploymentDefinition.getPlan(), null, null, false).get(0);
networks.put(controlConfig, new ArrayList<NicProfile>());
// 3) Public network
if (setupPublicNetwork) {
Expand Down Expand Up @@ -716,8 +719,8 @@ public LinkedHashMap<Network, List<? extends NicProfile>> createRouterNetworks(
.getSystemAccountNetworkOfferings(
NetworkOffering.SystemPublicNetwork).get(0);
final List<? extends Network> publicNetworks = _networkMgr
.setupNetwork(VirtualNwStatus.account, publicOffering, plan, null,
null, false);
.setupNetwork(VirtualNwStatus.account, publicOffering, routerDeploymentDefinition.getPlan(),
null, null, false);
final String publicIp = defaultNic.getIp4Address();
// We want to use the identical MAC address for RvR on public
// interface if possible
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
package com.cloud.network.router;

import java.util.Map;

import com.cloud.deploy.DeployDestination;
import com.cloud.deploy.DeploymentPlan;
import com.cloud.network.Network;
import com.cloud.network.vpc.Vpc;
import com.cloud.user.Account;
import com.cloud.vm.VirtualMachineProfile.Param;

public class RouterDeploymentDefinition {

protected Vpc vpc;
protected Network guestNetwork;
protected DeployDestination dest;
protected Account owner;
protected Map<Param, Object> params;
protected boolean isRedundant;
protected DeploymentPlan plan;

public RouterDeploymentDefinition(Vpc vpc, DeployDestination dest,
Account owner, Map<Param, Object> params,
boolean isRedundant) {

this.vpc = vpc;
this.dest = dest;
this.owner = owner;
this.params = params;
this.isRedundant = isRedundant;
}

public RouterDeploymentDefinition(Network guestNetwork, DeployDestination dest,
Account owner, Map<Param, Object> params, boolean isRedundant) {

this.guestNetwork = guestNetwork;
this.dest = dest;
this.owner = owner;
this.params = params;
this.isRedundant = isRedundant;
}

public Vpc getVpc() {
return vpc;
}
public void setVpc(Vpc vpc) {
this.vpc = vpc;
}
public Network getGuestNetwork() {
return guestNetwork;
}
public void setGuestNetwork(Network guestNetwork) {
this.guestNetwork = guestNetwork;
}
public DeployDestination getDest() {
return dest;
}
public void setDest(DeployDestination dest) {
this.dest = dest;
}
public Account getOwner() {
return owner;
}
public void setOwner(Account owner) {
this.owner = owner;
}
public Map<Param, Object> getParams() {
return params;
}
public void setParams(Map<Param, Object> params) {
this.params = params;
}
public boolean isRedundant() {
return isRedundant;
}
public void setRedundant(boolean isRedundant) {
this.isRedundant = isRedundant;
}
public DeploymentPlan getPlan() {
return plan;
}
public void setPlan(DeploymentPlan plan) {
this.plan = plan;
}

public boolean isVpcRouter() {
return this.vpc != null;
}
public Long getPodId() {
return this.plan.getPodId();
}

}
Loading