[23/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
adding setupPrivateGateway to new style;
removing methods from Vpc appliance;
changing the way VpcElement calls the command;

there is still work tob e done with the destroyPrivateGateway rule.

Conflicts:
server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java

server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
server/src/org/apache/cloudstack/network/topology/NetworkTopology.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/07be4945
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/07be4945
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/07be4945

Branch: refs/heads/vpc-refactor
Commit: 07be4945df7edd4d4a7487fa626bc6c691ee18e9
Parents: 5489130
Author: wrodrigues 
Authored: Wed Aug 20 18:13:33 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../element/VpcVirtualRouterElement.java|   5 +-
 .../VpcVirtualNetworkApplianceManager.java  |   9 --
 .../VpcVirtualNetworkApplianceManagerImpl.java  |  36 -
 .../network/rules/PrivateGatewayRules.java  | 156 ++-
 .../com/cloud/network/rules/RuleApplier.java|   9 ++
 .../rules/VirtualNetworkApplianceFactory.java   |  47 +-
 .../topology/AdvancedNetworkTopology.java   |  12 ++
 .../topology/AdvancedNetworkVisitor.java|  47 +-
 .../network/topology/BasicNetworkTopology.java  |  15 +-
 .../network/topology/NetworkTopology.java   |  17 +-
 .../MockVpcVirtualNetworkApplianceManager.java  |   9 --
 11 files changed, 286 insertions(+), 76 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/07be4945/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
--
diff --git a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java 
b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
index 5504df3..0f11c73 100644
--- a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
@@ -384,8 +384,11 @@ public class VpcVirtualRouterElement extends 
VirtualRouterElement implements Vpc
 }
 
 VirtualRouter router = routers.get(0);
+
+DataCenterVO dcVO = _dcDao.findById(gateway.getZoneId());
+NetworkTopology networkTopology = 
networkTopologyContext.retrieveNetworkTopology(dcVO);
 
-if (_vpcRouterMgr.setupPrivateGateway(gateway, router)) {
+if (networkTopology.setupPrivateGateway(gateway, router)) {
 try {
 List rules = 
_networkACLItemDao.listByACL(gateway.getNetworkACLId());
 if (!applyACLItemsToPrivateGw(gateway, rules)) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/07be4945/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java
--
diff --git 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java
index 7aecba5..5785263 100644
--- a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java
+++ b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java
@@ -32,15 +32,6 @@ public interface VpcVirtualNetworkApplianceManager extends 
VirtualNetworkApplian
 
 /**
  * @param gateway
- * @param router TODO
- * @return
- * @throws ResourceUnavailableException
- * @throws ConcurrentOperationException
- */
-boolean setupPrivateGateway(PrivateGateway gateway, VirtualRouter router) 
throws ConcurrentOperationException, ResourceUnavailableException;
-
-/**
- * @param gateway
  * @param router
  * @return
  * @throws ResourceUnavailableException

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/07be4945/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
--
diff --git 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
index 1edea75..99ed723 100644
--- 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
@@ -649,42 +649,6 @@ public class VpcVirtualNetworkApplianceManagerImpl extends 
VirtualNetworkApplian
 return _nwHelper.sendCommandsToRouter(router, cmds);
 }
 
-@Override
-public boolean setupPrivateGateway(final PrivateGateway gateway, final 
VirtualRouter router) throws Con

[22/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Whole router.deployment package got 97% coverage

Conflicts:

server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java

server/test/org/cloud/network/router/deployment/VpcRouterDeploymentDefinitionTest.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/5489130e
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/5489130e
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/5489130e

Branch: refs/heads/vpc-refactor
Commit: 5489130ef519473c2a85014811f2fbb2fbbfb812
Parents: c43e6ef
Author: Antonio Fornie 
Authored: Wed Aug 20 05:16:54 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../deployment/RouterDeploymentDefinition.java  | 243 +--
 .../RouterDeploymentDefinitionBuilder.java  |   7 +-
 .../VpcRouterDeploymentDefinition.java  |   2 -
 .../RouterDeploymentDefinitionTest.java |   5 +-
 .../RouterDeploymentDefinitionTestBase.java |   5 +-
 5 files changed, 127 insertions(+), 135 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5489130e/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
index 1867a22..9852085 100644
--- 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
+++ 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
@@ -20,8 +20,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import javax.inject.Inject;
-
 import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
 import org.apache.log4j.Logger;
 
@@ -88,15 +86,7 @@ public class RouterDeploymentDefinition {
 protected UserIpv6AddressDao ipv6Dao;
 protected IPAddressDao ipAddressDao;
 protected VirtualRouterProvider vrProvider;
-<<< HEAD
-
-
-@Inject
-protected NetworkGeneralHelper nwHelper;
-===
 protected NetworkHelper nwHelper;
->>> 40df9d4... Refactor to include network creation as actual deployment
-
 
 protected Network guestNetwork;
 protected DeployDestination dest;
@@ -110,8 +100,7 @@ public class RouterDeploymentDefinition {
 protected boolean isPublicNetwork;
 protected PublicIp sourceNatIp;
 
-protected RouterDeploymentDefinition(final Network guestNetwork, final 
DeployDestination dest,
-final Account owner, final Map params, final 
boolean isRedundant) {
+protected RouterDeploymentDefinition(final Network guestNetwork, final 
DeployDestination dest, final Account owner, final Map params, 
final boolean isRedundant) {
 
 this.guestNetwork = guestNetwork;
 this.dest = dest;
@@ -121,98 +110,105 @@ public class RouterDeploymentDefinition {
 }
 
 public Long getOfferingId() {
-return this.offeringId;
+return offeringId;
 }
 
 public Vpc getVpc() {
 return null;
 }
+
 public Network getGuestNetwork() {
 return guestNetwork;
 }
+
 public DeployDestination getDest() {
 return dest;
 }
+
 public Account getOwner() {
 return owner;
 }
+
 public Map getParams() {
 return params;
 }
+
 public boolean isRedundant() {
 return isRedundant;
 }
+
 public DeploymentPlan getPlan() {
 return plan;
 }
+
 public boolean isVpcRouter() {
 return false;
 }
+
 public Pod getPod() {
 return dest.getPod();
 }
+
 public Long getPodId() {
 return dest.getPod() == null ? null : dest.getPod().getId();
 }
+
 public List getRouters() {
 return routers;
 }
 
 public VirtualRouterProvider getVirtualProvider() {
-return this.vrProvider;
+return vrProvider;
 }
 
 public boolean isBasic() {
-return this.dest.getDataCenter().getNetworkType() == NetworkType.Basic;
+return dest.getDataCenter().getNetworkType() == NetworkType.Basic;
 }
 
 public boolean isPublicNetwork() {
-return this.isPublicNetwork;
+return isPublicNetwork;
 }
 
 public PublicIp getSourceNatIP() {
-return this.sourceNatIp;
+return sourceNatIp;
 }
 
 protected void generateDeploymentPlan() {
-final long dcId = this.dest.getDataCenter().getId();
+final long dcId = dest.getDataCenter().getId();
 Long podId = null;
-if (this.isBasic()) {
-if (this.dest.getPod() == null) {
+if (isBasic()) {
+if 

[28/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Fixing NPE due to use of dependencies before Spring injection


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/34f2863e
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/34f2863e
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/34f2863e

Branch: refs/heads/vpc-refactor
Commit: 34f2863e630e7beb359e085edaea2949cf094532
Parents: 0d17f3b
Author: Antonio Fornie 
Authored: Fri Aug 22 06:44:10 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../src/com/cloud/network/router/VpcNetworkHelperImpl.java  | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/34f2863e/server/src/com/cloud/network/router/VpcNetworkHelperImpl.java
--
diff --git a/server/src/com/cloud/network/router/VpcNetworkHelperImpl.java 
b/server/src/com/cloud/network/router/VpcNetworkHelperImpl.java
index bbd08fd..aa57a54 100644
--- a/server/src/com/cloud/network/router/VpcNetworkHelperImpl.java
+++ b/server/src/com/cloud/network/router/VpcNetworkHelperImpl.java
@@ -23,6 +23,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.TreeSet;
 
+import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 
 import org.apache.commons.lang.StringUtils;
@@ -56,7 +57,13 @@ public class VpcNetworkHelperImpl extends NetworkHelperImpl {
 @Inject
 protected NicProfileHelper nicProfileHelper;
 
-protected final String noHypervisorsErrMsgDetails = 
StringUtils.join(this.vpcMgr.getSupportedVpcHypervisors(), ',');
+protected String noHypervisorsErrMsgDetails;
+
+@PostConstruct
+protected void setupNoHypervisorsErrMsgDetails() {
+this.noHypervisorsErrMsgDetails = 
StringUtils.join(this.vpcMgr.getSupportedVpcHypervisors(), ',');
+this.noHypervisorsErrMsgDetails += " are the only supported 
Hypervisors";
+}
 
 @Override
 protected String getNoHypervisorsErrMsgDetails() {



[43/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
refactor all private methods in the virtual router appliance and VPC appliance

Conflicts:

server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java

server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
server/src/com/cloud/network/rules/DhcpEntryRules.java
server/src/com/cloud/network/rules/LoadBalancingRules.java
server/src/com/cloud/network/rules/RuleApplier.java
server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java

server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java

server/src/org/apache/cloudstack/network/topology/AdvancedNetworkVisitor.java

server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
server/src/org/apache/cloudstack/network/topology/NetworkTopology.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/bc90ce08
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/bc90ce08
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/bc90ce08

Branch: refs/heads/vpc-refactor
Commit: bc90ce0871a0060a8c1e829895f1bc25fce1f456
Parents: 085bbb7
Author: Wilder Rodrigues 
Authored: Thu Aug 21 12:28:07 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../spring-server-core-managers-context.xml |   3 +
 .../network/router/CommandSetupHelper.java  | 998 +++
 .../VirtualNetworkApplianceManagerImpl.java | 631 +---
 .../VpcVirtualNetworkApplianceManagerImpl.java  | 451 ++---
 .../com/cloud/network/rules/DhcpEntryRules.java |  64 --
 .../cloud/network/rules/DhcpSubNetRules.java|  51 -
 .../com/cloud/network/rules/FirewallRules.java  | 166 ---
 .../cloud/network/rules/IpAssociationRules.java | 106 --
 .../cloud/network/rules/LoadBalancingRules.java |  63 --
 .../cloud/network/rules/NetworkAclsRules.java   |  39 -
 .../network/rules/PasswordToRouterRules.java|  26 +-
 .../network/rules/PrivateGatewayRules.java  |  55 -
 .../com/cloud/network/rules/RuleApplier.java| 116 ---
 .../network/rules/SshKeyToRouterRules.java  |  23 -
 .../com/cloud/network/rules/StaticNatRules.java |  28 -
 .../cloud/network/rules/StaticRoutesRules.java  |  13 -
 .../cloud/network/rules/UserdataPwdRules.java   |  24 -
 .../rules/VirtualNetworkApplianceFactory.java   |  89 +-
 .../network/rules/VpcIpAssociationRules.java|  77 --
 .../src/com/cloud/network/rules/VpnRules.java   |  26 -
 .../topology/AdvancedNetworkTopology.java   | 123 +--
 .../topology/AdvancedNetworkVisitor.java|  20 +-
 .../network/topology/BasicNetworkTopology.java  |   7 +-
 .../network/topology/BasicNetworkVisitor.java   |  34 +-
 .../network/topology/NetworkTopology.java   |   5 +
 25 files changed, 1191 insertions(+), 2047 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bc90ce08/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
--
diff --git 
a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
 
b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
index 7a9044b..6d8f32e 100644
--- 
a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
+++ 
b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
@@ -197,6 +197,9 @@
 
 
 
+
+
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bc90ce08/server/src/com/cloud/network/router/CommandSetupHelper.java
--
diff --git a/server/src/com/cloud/network/router/CommandSetupHelper.java 
b/server/src/com/cloud/network/router/CommandSetupHelper.java
new file mode 100644
index 000..acc343a
--- /dev/null
+++ b/server/src/com/cloud/network/router/CommandSetupHelper.java
@@ -0,0 +1,998 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limi

[38/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
making sure the instance variable _router in the Rules is being used instead of 
the parameter

Conflicts:
server/src/com/cloud/network/router/NetworkHelperImpl.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3ba8599e
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3ba8599e
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3ba8599e

Branch: refs/heads/vpc-refactor
Commit: 3ba8599ed6f679a848c97c247926333079930543
Parents: 961e715
Author: Wilder Rodrigues 
Authored: Tue Sep 2 11:05:23 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../network/router/CommandSetupHelper.java  |  41 +--
 .../com/cloud/network/router/NetworkHelper.java |  20 +-
 .../cloud/network/router/NetworkHelperImpl.java | 281 ++-
 3 files changed, 170 insertions(+), 172 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3ba8599e/server/src/com/cloud/network/router/CommandSetupHelper.java
--
diff --git a/server/src/com/cloud/network/router/CommandSetupHelper.java 
b/server/src/com/cloud/network/router/CommandSetupHelper.java
index 798bcfb..92a3bb1 100644
--- a/server/src/com/cloud/network/router/CommandSetupHelper.java
+++ b/server/src/com/cloud/network/router/CommandSetupHelper.java
@@ -176,6 +176,7 @@ public class CommandSetupHelper {
 
 @Inject
 private RouterControlHelper _routerControlHelper;
+
 @Autowired
 @Qualifier("networkHelper")
 protected NetworkHelper _networkHelper;
@@ -195,7 +196,7 @@ public class CommandSetupHelper {
 final List addUsers = new ArrayList();
 final List removeUsers = new ArrayList();
 for (final VpnUser user : users) {
-if ((user.getState() == VpnUser.State.Add) || (user.getState() == 
VpnUser.State.Active)) {
+if (user.getState() == VpnUser.State.Add || user.getState() == 
VpnUser.State.Active) {
 addUsers.add(user);
 } else if (user.getState() == VpnUser.State.Revoke) {
 removeUsers.add(user);
@@ -218,7 +219,7 @@ public class CommandSetupHelper {
 final DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId());
 final Nic defaultNic = findGatewayIp(vm.getId());
 String gatewayIp = defaultNic.getGateway();
-if ((gatewayIp != null) && !gatewayIp.equals(nic.getGateway())) {
+if (gatewayIp != null && !gatewayIp.equals(nic.getGateway())) {
 gatewayIp = "0.0.0.0";
 }
 dhcpCommand.setDefaultRouter(gatewayIp);
@@ -290,7 +291,7 @@ public class CommandSetupHelper {
 // We don't support VR to be inline currently
 final boolean inline = false;
 for (final LoadBalancingRule rule : rules) {
-final boolean revoked = 
(rule.getState().equals(FirewallRule.State.Revoke));
+final boolean revoked = 
rule.getState().equals(FirewallRule.State.Revoke);
 final String protocol = rule.getProtocol();
 final String algorithm = rule.getAlgorithm();
 final String uuid = rule.getUuid();
@@ -392,7 +393,7 @@ public class CommandSetupHelper {
 Boolean defaultEgressPolicy = false;
 if (rules != null) {
 if (rules.size() > 0) {
-if ((rules.get(0).getTrafficType() == 
FirewallRule.TrafficType.Egress) && (rules.get(0).getType() == 
FirewallRule.FirewallRuleType.System)) {
+if (rules.get(0).getTrafficType() == 
FirewallRule.TrafficType.Egress && rules.get(0).getType() == 
FirewallRule.FirewallRuleType.System) {
 systemRule = 
String.valueOf(FirewallRule.FirewallRuleType.System);
 }
 }
@@ -407,7 +408,7 @@ public class CommandSetupHelper {
 final NetworkVO network = 
_networkDao.findById(guestNetworkId);
 final NetworkOfferingVO offering = 
_networkOfferingDao.findById(network.getNetworkOfferingId());
 defaultEgressPolicy = offering.getEgressDefaultPolicy();
-assert (rule.getSourceIpAddressId() == null) : 
"ipAddressId should be null for egress firewall rule. ";
+assert rule.getSourceIpAddressId() == null : "ipAddressId 
should be null for egress firewall rule. ";
 final FirewallRuleTO ruleTO = new FirewallRuleTO(rule, 
null, "", Purpose.Firewall, traffictype, defaultEgressPolicy);
 rulesTO.add(ruleTO);
 }
@@ -435,7 +436,7 @@ public class CommandSetupHelper {
 Boolean defaultEgressPolicy = false;
 if (rules != null) {
 if (rules.size() > 0) {
-if ((rules.get(0).getTrafficType() == 
Fire

[29/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
auto wire the network helper

Conflicts:

server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/1836e0ba
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/1836e0ba
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/1836e0ba

Branch: refs/heads/vpc-refactor
Commit: 1836e0ba5845cff937d5d6dfb168fbc86c201b9f
Parents: bc90ce0
Author: Wilder Rodrigues 
Authored: Thu Aug 21 14:50:55 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../src/com/cloud/network/router/CommandSetupHelper.java  |  7 +--
 .../cloudstack/network/topology/BasicNetworkTopology.java | 10 +-
 2 files changed, 10 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1836e0ba/server/src/com/cloud/network/router/CommandSetupHelper.java
--
diff --git a/server/src/com/cloud/network/router/CommandSetupHelper.java 
b/server/src/com/cloud/network/router/CommandSetupHelper.java
index acc343a..124ed54 100644
--- a/server/src/com/cloud/network/router/CommandSetupHelper.java
+++ b/server/src/com/cloud/network/router/CommandSetupHelper.java
@@ -28,6 +28,8 @@ import javax.inject.Inject;
 
 import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
 import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 
 import com.cloud.agent.api.SetupGuestNetworkCommand;
 import com.cloud.agent.api.routing.CreateIpAliasCommand;
@@ -174,8 +176,9 @@ public class CommandSetupHelper {
 
 @Inject
 private RouterControlHelper _routerControlHelper;
-@Inject
-private NetworkHelper _networkHelper;
+@Autowired
+@Qualifier("networkHelper")
+protected NetworkHelper _networkHelper;
 
 private final String _dnsBasicZoneUpdates = "all";
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1836e0ba/server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
--
diff --git 
a/server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java 
b/server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
index 5327a5d..8560d36 100644
--- 
a/server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
+++ 
b/server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
@@ -90,8 +90,9 @@ public class BasicNetworkTopology implements NetworkTopology {
 @Inject
 protected HostDao _hostDao;
 
-@Inject
-protected NetworkHelper _nwHelper;
+@Autowired
+@Qualifier("networkHelper")
+protected NetworkHelper _networkHelper;
 
 @Inject
 protected UserVmDao _userVmDao;
@@ -419,9 +420,8 @@ public class BasicNetworkTopology implements 
NetworkTopology {
 if (!connectedRouters.isEmpty()) {
 // Shouldn't we include this check inside the method?
 if (!isZoneBasic && !disconnectedRouters.isEmpty() && 
disconnectedRouters.get(0).getIsRedundantRouter()) {
-// These disconnected redundant virtual routers are out of sync
-// now, stop them for synchronization
-_nwHelper.handleSingleWorkingRedundantRouter(connectedRouters, 
disconnectedRouters, msg);
+// These disconnected redundant virtual routers are out of 
sync now, stop them for synchronization
+
_networkHelper.handleSingleWorkingRedundantRouter(connectedRouters, 
disconnectedRouters, msg);
 }
 } else if (!disconnectedRouters.isEmpty()) {
 for (final VirtualRouter router : disconnectedRouters) {



[19/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Refactor to include network creation as actual deployment

Conflicts:

server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java

server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java

server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java

server/test/org/cloud/network/router/deployment/VpcRouterDeploymentDefinitionTest.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a515d6c3
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a515d6c3
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a515d6c3

Branch: refs/heads/vpc-refactor
Commit: a515d6c313de9762ed0c6b0b05b0d75e7ff1bba6
Parents: d6b4355
Author: Antonio Fornie 
Authored: Tue Aug 19 04:57:46 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../network/router/NetworkGeneralHelper.java| 862 ---
 .../com/cloud/network/router/NetworkHelper.java |  87 ++
 .../cloud/network/router/NetworkHelperImpl.java | 820 ++
 .../VirtualNetworkApplianceManagerImpl.java |   2 +-
 .../cloud/network/router/VpcNetworkHelper.java  |  15 +
 .../network/router/VpcNetworkHelperImpl.java| 210 +
 .../VpcVirtualNetworkApplianceManagerImpl.java  |   2 +-
 .../router/VpcVirtualNetworkHelperImpl.java | 121 ---
 .../com/cloud/network/rules/RuleApplier.java|   4 +-
 .../rules/VirtualNetworkApplianceFactory.java   |   4 +-
 .../network/topology/BasicNetworkTopology.java  |   4 +-
 .../network/topology/BasicNetworkVisitor.java   |   4 +-
 .../deployment/RouterDeploymentDefinition.java  |   8 +-
 .../RouterDeploymentDefinitionBuilder.java  |  12 +-
 .../VpcRouterDeploymentDefinition.java  |  61 +-
 .../RouterDeploymentDefinitionTestBase.java |   4 +-
 .../VpcRouterDeploymentDefinitionTest.java  |  83 +-
 17 files changed, 1223 insertions(+), 1080 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a515d6c3/server/src/com/cloud/network/router/NetworkGeneralHelper.java
--
diff --git a/server/src/com/cloud/network/router/NetworkGeneralHelper.java 
b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
deleted file mode 100644
index 9768de2..000
--- a/server/src/com/cloud/network/router/NetworkGeneralHelper.java
+++ /dev/null
@@ -1,862 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-package com.cloud.network.router;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeSet;
-
-import javax.inject.Inject;
-
-import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
-import org.apache.log4j.Logger;
-import org.cloud.network.router.deployment.RouterDeploymentDefinition;
-import org.cloud.network.router.deployment.VpcRouterDeploymentDefinition;
-
-import com.cloud.agent.AgentManager;
-import com.cloud.agent.api.Answer;
-import com.cloud.agent.api.BumpUpPriorityCommand;
-import com.cloud.agent.api.routing.NetworkElementCommand;
-import com.cloud.agent.api.to.NicTO;
-import com.cloud.agent.manager.Commands;
-import com.cloud.alert.AlertManager;
-import com.cloud.dc.ClusterVO;
-import com.cloud.dc.DataCenter;
-import com.cloud.dc.Pod;
-import com.cloud.dc.dao.ClusterDao;
-import com.cloud.dc.dao.VlanDao;
-import com.cloud.deploy.DataCenterDeployment;
-import com.cloud.deploy.DeployDestination;
-import com.cloud.deploy.DeploymentPlan;
-import com.cloud.deploy.DeploymentPlanner.ExcludeList;
-import com.cloud.exception.AgentUnavailableException;
-import com.cloud.exception.ConcurrentOperationException;
-import com.cloud.exception.InsufficientAddressCapacityException;
-import com.cloud.exception.InsufficientCapacityException;
-import com.cloud.exception.InsufficientServerCapacityException;
-import com.cloud.exception.Opera

[35/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
merging cmd-visitor into cmd-visitor-rebase, with the upstream from ACS repo

Conflicts:
server/src/com/cloud/network/rules/DhcpRules.java

server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a18e01cf
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a18e01cf
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a18e01cf

Branch: refs/heads/vpc-refactor
Commit: a18e01cfde00b71abd50eb49829ad34df1d8bc3c
Parents: 00e3af4
Author: Wilder Rodrigues 
Authored: Fri Sep 5 10:57:30 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../cloud/network/rules/AdvancedVpnRules.java   |  2 +-
 .../src/com/cloud/network/rules/DhcpRules.java  |  4 +-
 .../cloud/network/rules/DhcpSubNetRules.java| 12 ++--
 .../cloud/network/rules/NicPlugInOutRules.java  | 69 ++--
 .../network/rules/PrivateGatewayRules.java  | 26 
 .../network/rules/VpcIpAssociationRules.java|  4 +-
 .../topology/AdvancedNetworkTopology.java   |  2 +-
 7 files changed, 60 insertions(+), 59 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a18e01cf/server/src/com/cloud/network/rules/AdvancedVpnRules.java
--
diff --git a/server/src/com/cloud/network/rules/AdvancedVpnRules.java 
b/server/src/com/cloud/network/rules/AdvancedVpnRules.java
index 0f37d0e..f7cb361 100644
--- a/server/src/com/cloud/network/rules/AdvancedVpnRules.java
+++ b/server/src/com/cloud/network/rules/AdvancedVpnRules.java
@@ -47,7 +47,7 @@ public class AdvancedVpnRules extends BasicVpnRules {
 
 Vpc vpc = _vpcDao.findById(_remoteAccessVpn.getVpcId());
 
-if (router.getState() != State.Running) {
+if (_router.getState() != State.Running) {
 s_logger.warn("Failed to add/remove Remote Access VPN users: 
router not in running state");
 throw new ResourceUnavailableException("Failed to add/remove 
Remote Access VPN users: router not in running state: " + router.getState(), 
DataCenter.class,
 vpc.getZoneId());

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a18e01cf/server/src/com/cloud/network/rules/DhcpRules.java
--
diff --git a/server/src/com/cloud/network/rules/DhcpRules.java 
b/server/src/com/cloud/network/rules/DhcpRules.java
index 0ff2462..655d430 100644
--- a/server/src/com/cloud/network/rules/DhcpRules.java
+++ b/server/src/com/cloud/network/rules/DhcpRules.java
@@ -49,9 +49,9 @@ public class DhcpRules extends RuleApplier {
 }
 
 final Network network = _networkDao.findById(_nic.getNetworkId());
-final String networkTag = 
_networkModel.getNetworkTag(router.getHypervisorType(), network);
+final String networkTag = 
_networkModel.getNetworkTag(_router.getHypervisorType(), network);
 
-_setupCommand = PvlanSetupCommand.createDhcpSetup(op, 
_nic.getBroadCastUri(), networkTag, router.getInstanceName(), 
_nic.getMacAddress(), _nic.getIp4Address());
+_setupCommand = PvlanSetupCommand.createDhcpSetup(op, 
_nic.getBroadCastUri(), networkTag, _router.getInstanceName(), 
_nic.getMacAddress(), _nic.getIp4Address());
 
 return visitor.visit(this);
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a18e01cf/server/src/com/cloud/network/rules/DhcpSubNetRules.java
--
diff --git a/server/src/com/cloud/network/rules/DhcpSubNetRules.java 
b/server/src/com/cloud/network/rules/DhcpSubNetRules.java
index ec99f44..0bbcfcc 100644
--- a/server/src/com/cloud/network/rules/DhcpSubNetRules.java
+++ b/server/src/com/cloud/network/rules/DhcpSubNetRules.java
@@ -74,7 +74,7 @@ public class DhcpSubNetRules extends RuleApplier {
 _userVmDao.loadDetails(vm);
 
 // check if this is not the primary subnet.
-final NicVO domr_guest_nic = 
_nicDao.findByInstanceIdAndIpAddressAndVmtype(router.getId(), 
_nicDao.getIpAddress(_nic.getNetworkId(), router.getId()),
+final NicVO domr_guest_nic = 
_nicDao.findByInstanceIdAndIpAddressAndVmtype(_router.getId(), 
_nicDao.getIpAddress(_nic.getNetworkId(), _router.getId()),
 VirtualMachine.Type.DomainRouter);
 // check if the router ip address and the vm ip address belong to same
 // subnet.
@@ -94,7 +94,7 @@ public class DhcpSubNetRules extends RuleApplier {
 }
 
 PublicIp routerPublicIP = null;
-final DataCenter dc = _dcDao.findById(router.getDataCenterId());
+final DataCenter dc = _dcDao.findById(_router.getDataCenterId

[21/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
adding applyStaticRoutes to the new visitor pattern.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/0de16e03
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/0de16e03
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/0de16e03

Branch: refs/heads/vpc-refactor
Commit: 0de16e0398725a659e02c1145820f979a24c4601
Parents: 51df3aa
Author: wrodrigues 
Authored: Tue Aug 19 18:04:24 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../element/VpcVirtualRouterElement.java|  5 +++-
 .../VpcVirtualNetworkApplianceManager.java  |  8 --
 .../VpcVirtualNetworkApplianceManagerImpl.java  | 29 ---
 .../cloud/network/rules/StaticRoutesRules.java  |  3 +-
 .../rules/VirtualNetworkApplianceFactory.java   |  9 ++
 .../topology/AdvancedNetworkTopology.java   | 30 +---
 .../topology/AdvancedNetworkVisitor.java| 10 +--
 .../MockVpcVirtualNetworkApplianceManager.java  |  9 --
 8 files changed, 48 insertions(+), 55 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0de16e03/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
--
diff --git a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java 
b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
index 5bc62c0..5504df3 100644
--- a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
@@ -493,7 +493,10 @@ public class VpcVirtualRouterElement extends 
VirtualRouterElement implements Vpc
 return true;
 }
 
-if (!_vpcRouterMgr.applyStaticRoutes(routes, routers)) {
+DataCenterVO dcVO = _dcDao.findById(vpc.getZoneId());
+NetworkTopology networkTopology = 
networkTopologyContext.retrieveNetworkTopology(dcVO);
+
+if (!networkTopology.applyStaticRoutes(routes, routers)) {
 throw new CloudRuntimeException("Failed to apply static routes in 
vpc " + vpc);
 } else {
 s_logger.debug("Applied static routes on vpc " + vpc);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0de16e03/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java
--
diff --git 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java
index db8a1dc..7aecba5 100644
--- a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java
+++ b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManager.java
@@ -49,14 +49,6 @@ public interface VpcVirtualNetworkApplianceManager extends 
VirtualNetworkApplian
 boolean destroyPrivateGateway(PrivateGateway gateway, VirtualRouter 
router) throws ConcurrentOperationException, ResourceUnavailableException;
 
 /**
- * @param routes
- * @param routers
- * @return
- * @throws ResourceUnavailableException
- */
-boolean applyStaticRoutes(List routes, 
List routers) throws ResourceUnavailableException;
-
-/**
  * @param conn
  * @param routers
  * @return

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0de16e03/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
--
diff --git 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
index 9af35d6..b3993d9 100644
--- 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
@@ -774,35 +774,6 @@ public class VpcVirtualNetworkApplianceManagerImpl extends 
VirtualNetworkApplian
 }
 }
 
-@Override
-public boolean applyStaticRoutes(final List 
staticRoutes, final List routers) throws 
ResourceUnavailableException {
-if (staticRoutes == null || staticRoutes.isEmpty()) {
-s_logger.debug("No static routes to apply");
-return true;
-}
-
-boolean result = true;
-for (VirtualRouter router : routers) {
-if (router.getState() == State.Running) {
-result = result && sendStaticRoutes(staticRoutes, 
routers.get(0));
-} else if (router.getState() == State.Stopped || router.getState() 
== State.Stopping) {
-s_logger.debug("Router " + router.getInstanceName() + " is in 
" + router.getState() + ", so not sending StaticRoute comma

[36/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Changing the way the DAOs were being injected in the RuleApplier;
Making code clearer and simple.

Conflicts:
server/src/com/cloud/network/rules/PrivateGatewayRules.java
server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java

server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java

server/src/org/apache/cloudstack/network/topology/NetworkTopologyVisitor.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/b9485761
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/b9485761
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/b9485761

Branch: refs/heads/vpc-refactor
Commit: b9485761fd8e6a6c687897399132ec9b657bb16c
Parents: 7ad7c56
Author: Wilder Rodrigues 
Authored: Tue Sep 9 17:09:29 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../cloud/network/rules/AdvancedVpnRules.java   |   4 +-
 .../com/cloud/network/rules/DhcpEntryRules.java |  12 +-
 .../src/com/cloud/network/rules/DhcpRules.java  |   9 +-
 .../cloud/network/rules/DhcpSubNetRules.java|  52 +++--
 .../com/cloud/network/rules/FirewallRules.java  |  20 +-
 .../cloud/network/rules/LoadBalancingRules.java |  20 +-
 .../cloud/network/rules/NicPlugInOutRules.java  |  48 +++--
 .../network/rules/PasswordToRouterRules.java|   8 +-
 .../network/rules/PrivateGatewayRules.java  |  41 ++--
 .../com/cloud/network/rules/RuleApplier.java|  47 +---
 .../network/rules/SshKeyToRouterRules.java  |  16 +-
 .../cloud/network/rules/UserdataPwdRules.java   |  10 +-
 .../network/rules/UserdataToRouterRules.java|  10 +-
 .../rules/VirtualNetworkApplianceFactory.java   | 212 ---
 .../network/rules/VpcIpAssociationRules.java|   4 +-
 .../topology/AdvancedNetworkTopology.java   |  20 +-
 .../topology/AdvancedNetworkVisitor.java|   4 +-
 .../network/topology/BasicNetworkTopology.java  |  26 ++-
 .../network/topology/BasicNetworkVisitor.java   |   9 +
 .../topology/NetworkTopologyVisitor.java|   8 +-
 20 files changed, 260 insertions(+), 320 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b9485761/server/src/com/cloud/network/rules/AdvancedVpnRules.java
--
diff --git a/server/src/com/cloud/network/rules/AdvancedVpnRules.java 
b/server/src/com/cloud/network/rules/AdvancedVpnRules.java
index f7cb361..d97ffb6 100644
--- a/server/src/com/cloud/network/rules/AdvancedVpnRules.java
+++ b/server/src/com/cloud/network/rules/AdvancedVpnRules.java
@@ -28,6 +28,7 @@ import com.cloud.network.RemoteAccessVpn;
 import com.cloud.network.VpnUser;
 import com.cloud.network.router.VirtualRouter;
 import com.cloud.network.vpc.Vpc;
+import com.cloud.network.vpc.dao.VpcDao;
 import com.cloud.vm.VirtualMachine.State;
 
 public class AdvancedVpnRules extends BasicVpnRules {
@@ -45,7 +46,8 @@ public class AdvancedVpnRules extends BasicVpnRules {
 public boolean accept(final NetworkTopologyVisitor visitor, final 
VirtualRouter router) throws ResourceUnavailableException {
 _router = router;
 
-Vpc vpc = _vpcDao.findById(_remoteAccessVpn.getVpcId());
+VpcDao vpcDao = 
visitor.getVirtualNetworkApplianceFactory().getVpcDao();
+Vpc vpc = vpcDao.findById(_remoteAccessVpn.getVpcId());
 
 if (_router.getState() != State.Running) {
 s_logger.warn("Failed to add/remove Remote Access VPN users: 
router not in running state");

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b9485761/server/src/com/cloud/network/rules/DhcpEntryRules.java
--
diff --git a/server/src/com/cloud/network/rules/DhcpEntryRules.java 
b/server/src/com/cloud/network/rules/DhcpEntryRules.java
index b7a7bd3..991813c 100644
--- a/server/src/com/cloud/network/rules/DhcpEntryRules.java
+++ b/server/src/com/cloud/network/rules/DhcpEntryRules.java
@@ -27,6 +27,8 @@ import com.cloud.vm.NicProfile;
 import com.cloud.vm.NicVO;
 import com.cloud.vm.UserVmVO;
 import com.cloud.vm.VirtualMachineProfile;
+import com.cloud.vm.dao.NicDao;
+import com.cloud.vm.dao.UserVmDao;
 
 public class DhcpEntryRules extends RuleApplier {
 
@@ -49,9 +51,13 @@ public class DhcpEntryRules extends RuleApplier {
 public boolean accept(final NetworkTopologyVisitor visitor, final 
VirtualRouter router) throws ResourceUnavailableException {
 _router = router;
 
-_userVM = _userVmDao.findById(_profile.getId());
-_userVmDao.loadDetails(_userVM);
-_nicVo = _nicDao.findById(_nic.getId());
+UserVmDao userVmDao = 
visitor.getVirtualNetworkApplianceFactory().getUserVmDao();
+_userVM = userVmDao.findById(_profil

[09/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
More refactoring and testing in the same classes

Conflicts:

server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/d0467731
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/d0467731
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/d0467731

Branch: refs/heads/vpc-refactor
Commit: d0467731dee7dbd7de2581502127133ca7f91e96
Parents: 3f02162
Author: Antonio Fornie 
Authored: Sun Jul 27 12:08:57 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:26 2014 +0200

--
 .../network/router/NetworkGeneralHelper.java| 179 +
 .../VirtualNetworkApplianceManagerImpl.java |   2 +-
 .../deployment/RouterDeploymentDefinition.java  | 415 +--
 .../RouterDeploymentDefinitionBuilder.java  |  77 +-
 .../VpcRouterDeploymentDefinition.java  |  88 ++-
 .../RouterDeploymentDefinitionTest.java | 700 ++-
 6 files changed, 926 insertions(+), 535 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d0467731/server/src/com/cloud/network/router/NetworkGeneralHelper.java
--
diff --git a/server/src/com/cloud/network/router/NetworkGeneralHelper.java 
b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
index 28ff08f..dd90bef 100644
--- a/server/src/com/cloud/network/router/NetworkGeneralHelper.java
+++ b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
@@ -17,7 +17,6 @@
 package com.cloud.network.router;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -57,12 +56,8 @@ import com.cloud.maint.Version;
 import com.cloud.network.IpAddressManager;
 import com.cloud.network.Network;
 import com.cloud.network.NetworkModel;
-import com.cloud.network.Networks.BroadcastDomainType;
-import com.cloud.network.Networks.IsolationType;
 import com.cloud.network.Networks.TrafficType;
 import com.cloud.network.VirtualNetworkApplianceService;
-import com.cloud.network.VirtualRouterProvider;
-import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.IPAddressDao;
 import com.cloud.network.dao.NetworkDao;
 import com.cloud.network.dao.NetworkVO;
@@ -70,7 +65,6 @@ import com.cloud.network.dao.UserIpv6AddressDao;
 import com.cloud.network.router.VirtualRouter.RedundantState;
 import com.cloud.network.router.VirtualRouter.Role;
 import com.cloud.network.vpn.Site2SiteVpnManager;
-import com.cloud.offering.NetworkOffering;
 import com.cloud.resource.ResourceManager;
 import com.cloud.service.ServiceOfferingVO;
 import com.cloud.service.dao.ServiceOfferingDao;
@@ -82,11 +76,8 @@ import com.cloud.storage.dao.VolumeDao;
 import com.cloud.user.Account;
 import com.cloud.user.AccountManager;
 import com.cloud.user.User;
-import com.cloud.utils.Pair;
 import com.cloud.utils.exception.CloudRuntimeException;
-import com.cloud.utils.net.NetUtils;
 import com.cloud.vm.DomainRouterVO;
-import com.cloud.vm.Nic;
 import com.cloud.vm.NicProfile;
 import com.cloud.vm.NicVO;
 import com.cloud.vm.VirtualMachine.State;
@@ -413,14 +404,13 @@ public class NetworkGeneralHelper {
 
 //@Override
 public DomainRouterVO deployRouter(final RouterDeploymentDefinition 
routerDeploymentDefinition,
-final VirtualRouterProvider vrProvider, final long svcOffId,
 final LinkedHashMap> networks,
 final boolean startRouter, final List 
supportedHypervisors)
 throws InsufficientAddressCapacityException,
 InsufficientServerCapacityException, 
InsufficientCapacityException,
 StorageUnavailableException, ResourceUnavailableException {
 
-final ServiceOfferingVO routerOffering = 
serviceOfferingDao.findById(svcOffId);
+final ServiceOfferingVO routerOffering = 
serviceOfferingDao.findById(routerDeploymentDefinition.getOfferingId());
 final DeployDestination dest = routerDeploymentDefinition.getDest();
 final Account owner = routerDeploymentDefinition.getOwner();
 
@@ -475,7 +465,7 @@ public class NetworkGeneralHelper {
 // routerDeploymentDefinition.getVpc().getId() ==> do not use 
VPC because it is not a VPC offering.
 Long vpcId = routerDeploymentDefinition.getVpc() != null ? 
routerDeploymentDefinition.getVpc().getId() : null;
 
-router = new DomainRouterVO(id, routerOffering.getId(), 
vrProvider.getId(),
+router = new DomainRouterVO(id, routerOffering.getId(), 
routerDeploymentDefinition.getVirtualProvider().getId(),
 VirtualMachineName.getRouterName(id, 
VirtualNwStatus.

[20/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
DeployRouter includes nw creation following TellDontAsk principle

Also factor out NicProfile specific methods and fix some DI config.

Conflicts:

server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java

server/test/org/cloud/network/router/deployment/VpcRouterDeploymentDefinitionTest.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c43e6efd
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c43e6efd
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c43e6efd

Branch: refs/heads/vpc-refactor
Commit: c43e6efd1015624ed612cff2988cb0dd599f8ad1
Parents: 0de16e0
Author: Antonio Fornie 
Authored: Wed Aug 20 04:21:53 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../spring-server-core-managers-context.xml |  10 +-
 .../com/cloud/network/router/NetworkHelper.java |  16 ---
 .../cloud/network/router/NetworkHelperImpl.java |  21 +---
 .../cloud/network/router/NicProfileHelper.java  |  15 +++
 .../network/router/NicProfileHelperImpl.java| 110 +++
 .../cloud/network/router/VpcNetworkHelper.java  |  15 ---
 .../network/router/VpcNetworkHelperImpl.java|  87 +--
 .../VpcVirtualNetworkApplianceManagerImpl.java  |   2 +-
 .../deployment/RouterDeploymentDefinition.java  |   8 +-
 .../RouterDeploymentDefinitionBuilder.java  |   4 +-
 .../VpcRouterDeploymentDefinition.java  |   9 +-
 .../RouterDeploymentDefinitionTest.java |   3 +-
 .../VpcRouterDeploymentDefinitionTest.java  |   4 +-
 13 files changed, 150 insertions(+), 154 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c43e6efd/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
--
diff --git 
a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
 
b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
index 5cfc802..2b46ca3 100644
--- 
a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
+++ 
b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
@@ -200,12 +200,18 @@
 
 
-
+
+
+
 
 
 
+
+
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c43e6efd/server/src/com/cloud/network/router/NetworkHelper.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelper.java 
b/server/src/com/cloud/network/router/NetworkHelper.java
index 8bc76ea..01beb91 100644
--- a/server/src/com/cloud/network/router/NetworkHelper.java
+++ b/server/src/com/cloud/network/router/NetworkHelper.java
@@ -1,6 +1,5 @@
 package com.cloud.network.router;
 
-import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -16,11 +15,9 @@ import 
com.cloud.exception.InsufficientServerCapacityException;
 import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.exception.StorageUnavailableException;
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
-import com.cloud.network.Network;
 import com.cloud.user.Account;
 import com.cloud.user.User;
 import com.cloud.vm.DomainRouterVO;
-import com.cloud.vm.NicProfile;
 import com.cloud.vm.VirtualMachineProfile.Param;
 
 public interface NetworkHelper {
@@ -29,7 +26,6 @@ public interface NetworkHelper {
 
 public abstract String getRouterIpInNetwork(long networkId, long 
instanceId);
 
-//@Override
 public abstract boolean sendCommandsToRouter(VirtualRouter router,
 Commands cmds) throws AgentUnavailableException;
 
@@ -40,11 +36,9 @@ public interface NetworkHelper {
 
 public abstract int getRealPriority(DomainRouterVO router);
 
-//@Override
 public abstract NicTO getNicTO(VirtualRouter router, Long networkId,
 String broadcastUri);
 
-//@Override
 public abstract VirtualRouter destroyRouter(long routerId, Account caller,
 Long callerUserId) throws ResourceUnavailableException,
 ConcurrentOperationException;
@@ -55,33 +49,23 @@ public interface NetworkHelper {
  * @param router
  * @return
  */
-//@Override
 public abstract boolean checkRouterVersion(VirtualRouter router);
 
-//@Override
 public abstract List startRouters(
 RouterDeploymentDefinition routerDeploymentDefinition)
 throws StorageUnavailableException, InsufficientCapacityException,
 ConcurrentOperationException, ResourceUnavailableException;
 
-//@Override
 public abstract DomainRouterVO startVirtualRouter(DomainRouter

[04/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Fixing null pointers during vpc router deployment


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8a1462c9
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8a1462c9
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8a1462c9

Branch: refs/heads/vpc-refactor
Commit: 8a1462c9cc345b9759abb412c5a4b97ec6d8230b
Parents: 6852f31
Author: Antonio Fornie 
Authored: Thu Jul 17 04:51:46 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:26 2014 +0200

--
 .../network/router/NetworkGeneralHelper.java|  2 +-
 .../deployment/RouterDeploymentDefinition.java  |  3 +-
 .../VpcRouterDeploymentDefinition.java  | 34 +++-
 3 files changed, 13 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8a1462c9/server/src/com/cloud/network/router/NetworkGeneralHelper.java
--
diff --git a/server/src/com/cloud/network/router/NetworkGeneralHelper.java 
b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
index fc249aa..28ff08f 100644
--- a/server/src/com/cloud/network/router/NetworkGeneralHelper.java
+++ b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
@@ -538,7 +538,7 @@ public class NetworkGeneralHelper {
 hypervisors.add(defaults);
 } else {
 //if there is no default hypervisor, get it from the cluster
-hypervisors = 
resourceMgr.getSupportedHypervisorTypes(dest.getDataCenter().getId(), true, 
routerDeploymentDefinition.getPodId());
+hypervisors = 
resourceMgr.getSupportedHypervisorTypes(dest.getDataCenter().getId(), true, 
routerDeploymentDefinition.getPlan().getPodId());
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8a1462c9/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
index 41ec4b3..df9d49b 100644
--- 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
+++ 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
@@ -177,7 +177,7 @@ public class RouterDeploymentDefinition {
 return dest.getPod();
 }
 public Long getPodId() {
-return dest.getPod().getId();
+return dest.getPod() == null ? null : dest.getPod().getId();
 }
 
 public List getRouters() {
@@ -207,7 +207,6 @@ public class RouterDeploymentDefinition {
 this.plan = new DataCenterDeployment(dcId, podId, null, null, null, 
null);
 }
 
-
 public List deployVirtualRouter()
 throws InsufficientCapacityException,
 ConcurrentOperationException, ResourceUnavailableException {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8a1462c9/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
index c592efc..6111754 100644
--- 
a/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
+++ 
b/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
@@ -7,12 +7,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.TreeSet;
 
-import javax.inject.Inject;
-
-import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
 import org.apache.log4j.Logger;
 
 import com.cloud.dc.dao.VlanDao;
+import com.cloud.deploy.DataCenterDeployment;
 import com.cloud.deploy.DeployDestination;
 import com.cloud.exception.ConcurrentOperationException;
 import com.cloud.exception.InsufficientAddressCapacityException;
@@ -22,7 +20,6 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.exception.StorageUnavailableException;
 import com.cloud.network.IpAddress;
 import com.cloud.network.Network;
-import com.cloud.network.NetworkModel;
 import com.cloud.network.Networks.BroadcastDomainType;
 import com.cloud.network.Networks.IsolationType;
 import com.cloud.network.PhysicalNetwork;
@@ -30,11 +27,8 @@ import com.cloud.network.PhysicalNetworkServiceProvider;
 import com.cloud.network.VirtualRouterProvider;
 import com.cloud.network.VirtualRouterProvider.Type;
 import com.cloud.network.addr.PublicIp;
-import com.cloud.network.dao.IPAddressDao;
 import com.cloud.network.dao.IPAddressVO;
 import co

[41/50] [abbrv] refactor all private methods in the virtual router appliance and VPC appliance

2014-10-03 Thread dahn
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bc90ce08/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
--
diff --git 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
index a7edfe3..abb4849 100644
--- 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
@@ -16,7 +16,6 @@
 // under the License.
 package com.cloud.network.router;
 
-
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -39,17 +38,8 @@ import com.cloud.agent.api.PlugNicCommand;
 import com.cloud.agent.api.SetupGuestNetworkCommand;
 import com.cloud.agent.api.routing.AggregationControlCommand;
 import com.cloud.agent.api.routing.AggregationControlCommand.Action;
-import com.cloud.agent.api.routing.IpAssocVpcCommand;
-import com.cloud.agent.api.routing.NetworkElementCommand;
-import com.cloud.agent.api.routing.SetNetworkACLCommand;
-import com.cloud.agent.api.routing.SetSourceNatCommand;
-import com.cloud.agent.api.routing.SetStaticRouteCommand;
-import com.cloud.agent.api.routing.Site2SiteVpnCfgCommand;
-import com.cloud.agent.api.to.IpAddressTO;
-import com.cloud.agent.api.to.NetworkACLTO;
 import com.cloud.agent.manager.Commands;
 import com.cloud.dc.DataCenter;
-import com.cloud.dc.DataCenterVO;
 import com.cloud.deploy.DeployDestination;
 import com.cloud.exception.AgentUnavailableException;
 import com.cloud.exception.ConcurrentOperationException;
@@ -67,13 +57,9 @@ import com.cloud.network.RemoteAccessVpn;
 import com.cloud.network.Site2SiteVpnConnection;
 import com.cloud.network.VirtualRouterProvider;
 import com.cloud.network.VpcVirtualNetworkApplianceService;
-import com.cloud.network.VpnUser;
 import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.IPAddressVO;
 import com.cloud.network.dao.RemoteAccessVpnVO;
-import com.cloud.network.dao.Site2SiteCustomerGatewayVO;
-import com.cloud.network.dao.Site2SiteVpnGatewayVO;
-import com.cloud.network.vpc.NetworkACLItem;
 import com.cloud.network.vpc.NetworkACLItemDao;
 import com.cloud.network.vpc.NetworkACLItemVO;
 import com.cloud.network.vpc.NetworkACLManager;
@@ -91,7 +77,6 @@ import com.cloud.network.vpc.dao.StaticRouteDao;
 import com.cloud.network.vpc.dao.VpcDao;
 import com.cloud.network.vpc.dao.VpcGatewayDao;
 import com.cloud.network.vpn.Site2SiteVpnManager;
-import com.cloud.user.Account;
 import com.cloud.user.UserStatisticsVO;
 import com.cloud.utils.Pair;
 import com.cloud.utils.db.EntityManager;
@@ -109,7 +94,7 @@ import com.cloud.vm.VirtualMachineProfile.Param;
 import com.cloud.vm.dao.VMInstanceDao;
 
 @Component
-@Local(value = {VpcVirtualNetworkApplianceManager.class, 
VpcVirtualNetworkApplianceService.class})
+@Local(value = { VpcVirtualNetworkApplianceManager.class, 
VpcVirtualNetworkApplianceService.class })
 public class VpcVirtualNetworkApplianceManagerImpl extends 
VirtualNetworkApplianceManagerImpl implements VpcVirtualNetworkApplianceManager 
{
 private static final Logger s_logger = 
Logger.getLogger(VpcVirtualNetworkApplianceManagerImpl.class);
 
@@ -134,9 +119,6 @@ public class VpcVirtualNetworkApplianceManagerImpl extends 
VirtualNetworkApplian
 @Inject
 private EntityManager _entityMgr;
 
-@Inject
-private NicProfileHelper nicProfileHelper;
-
 @Override
 public boolean configure(final String name, final Map 
params) throws ConfigurationException {
 _itMgr.registerGuru(VirtualMachine.Type.DomainRouter, this);
@@ -151,7 +133,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends 
VirtualNetworkApplian
 return false;
 }
 
-//Add router to the Guest network
+// Add router to the Guest network
 boolean result = true;
 try {
 
@@ -159,16 +141,15 @@ public class VpcVirtualNetworkApplianceManagerImpl 
extends VirtualNetworkApplian
 _routerDao.addRouterToGuestNetwork(router, network);
 
 NicProfile guestNic = _itMgr.addVmToNetwork(router, network, null);
-//2) setup guest network
+// 2) setup guest network
 if (guestNic != null) {
 result = setupVpcGuestNetwork(network, router, true, guestNic);
 } else {
 s_logger.warn("Failed to add router " + router + " to guest 
network " + network);
 result = false;
 }
-//3) apply networking rules
-if (result && params.get(Param.ReProgramGuestNetworks) != null
-&& (Boolean) params.get(Param.ReProgramGuestNetworks) == 
true) {
+// 3) apply networking rules
+if (result && params.get(Param.ReProgramGuestNetworks) != null && 
(Boolean) params.get(Param.ReProgramGuestNet

[13/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
fixing check styles

Conflicts:

server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java

server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/d6b4355e
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/d6b4355e
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/d6b4355e

Branch: refs/heads/vpc-refactor
Commit: d6b4355e2be8418c0af86398f6779df162af46ab
Parents: 0ad3661
Author: Wilder Rodrigues 
Authored: Tue Aug 19 11:05:53 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../cloud/network/router/NetworkGeneralHelper.java  | 16 
 .../network/topology/AdvancedNetworkTopology.java   |  3 +--
 .../network/topology/BasicNetworkTopology.java  |  3 +--
 3 files changed, 10 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d6b4355e/server/src/com/cloud/network/router/NetworkGeneralHelper.java
--
diff --git a/server/src/com/cloud/network/router/NetworkGeneralHelper.java 
b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
index d22631b..9768de2 100644
--- a/server/src/com/cloud/network/router/NetworkGeneralHelper.java
+++ b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
@@ -215,7 +215,7 @@ public class NetworkGeneralHelper {
 }
 return result;
 }
-
+
 public void handleSingleWorkingRedundantRouter(final List connectedRouters, final List 
disconnectedRouters, final String reason)
 throws ResourceUnavailableException {
 if (connectedRouters.isEmpty() || disconnectedRouters.isEmpty()) {
@@ -275,7 +275,7 @@ public class NetworkGeneralHelper {
 }
 return priority;
 }
-
+
 //@Override
 public NicTO getNicTO(final VirtualRouter router, final Long networkId, 
final String broadcastUri) {
 NicProfile nicProfile = _networkModel.getNicProfile(router, networkId, 
broadcastUri);
@@ -792,22 +792,22 @@ public class NetworkGeneralHelper {
 
 //1) allocate nic for control and source nat public ip
 final LinkedHashMap> networks =
-this.createRouterNetworks(vpcRouterDeploymentDefinition);
+createRouterNetworks(vpcRouterDeploymentDefinition);
 
 
 final Long vpcId = vpcRouterDeploymentDefinition.getVpc().getId();
 //2) allocate nic for private gateways if needed
-final List privateGateways = 
this._vpcMgr.getVpcPrivateGateways(vpcId);
+final List privateGateways = 
_vpcMgr.getVpcPrivateGateways(vpcId);
 if (privateGateways != null && !privateGateways.isEmpty()) {
 for (PrivateGateway privateGateway : privateGateways) {
-NicProfile privateNic = 
this._vpcHelper.createPrivateNicProfileForGateway(privateGateway);
+NicProfile privateNic = 
_vpcHelper.createPrivateNicProfileForGateway(privateGateway);
 Network privateNetwork = 
_networkModel.getNetwork(privateGateway.getNetworkId());
 networks.put(privateNetwork, new 
ArrayList(Arrays.asList(privateNic)));
 }
 }
 
 //3) allocate nic for guest gateway if needed
-List guestNetworks = 
this._vpcMgr.getVpcNetworks(vpcId);
+List guestNetworks = _vpcMgr.getVpcNetworks(vpcId);
 for (Network guestNetwork : guestNetworks) {
 if (_networkModel.isPrivateGateway(guestNetwork.getId())) {
 continue;
@@ -823,8 +823,8 @@ public class NetworkGeneralHelper {
 final List publicNics = new ArrayList();
 Network publicNetwork = null;
 for (IPAddressVO ip : ips) {
-PublicIp publicIp = PublicIp.createFromAddrAndVlan(ip, 
this._vlanDao.findById(ip.getVlanId()));
-if ((ip.getState() == IpAddress.State.Allocated || ip.getState() 
== IpAddress.State.Allocating) && this._vpcMgr.isIpAllocatedToVpc(ip) &&
+PublicIp publicIp = PublicIp.createFromAddrAndVlan(ip, 
_vlanDao.findById(ip.getVlanId()));
+if ((ip.getState() == IpAddress.State.Allocated || ip.getState() 
== IpAddress.State.Allocating) && _vpcMgr.isIpAllocatedToVpc(ip) &&
 !publicVlans.contains(publicIp.getVlanTag())) {
 s_logger.debug("Allocating nic for router in vlan " + 
publicIp.getVlanTag());
 NicProfile publicNic = new NicProfile();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d6b4355e/server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
--
diff --git 
a/server/src/org/a

[32/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Refactor hypervisor retrieval from VpcNwHelper and NwHelper

Conflicts:
server/src/com/cloud/network/router/NetworkHelperImpl.java

server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java

server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java

server/test/org/cloud/network/router/deployment/VpcRouterDeploymentDefinitionTest.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/0d17f3ba
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/0d17f3ba
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/0d17f3ba

Branch: refs/heads/vpc-refactor
Commit: 0d17f3bad408dc52e1332e179ff8c51fc6e76dc7
Parents: 1836e0b
Author: Antonio Fornie 
Authored: Thu Aug 21 09:52:28 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../com/cloud/network/router/NetworkHelper.java |  3 +-
 .../cloud/network/router/NetworkHelperImpl.java | 80 ++--
 .../network/router/VpcNetworkHelperImpl.java| 21 -
 .../com/cloud/network/vpc/VpcManagerImpl.java   | 23 --
 .../deployment/RouterDeploymentDefinition.java  |  7 ++
 .../VpcRouterDeploymentDefinition.java  |  3 +-
 .../RouterDeploymentDefinitionTest.java |  2 +-
 .../VpcRouterDeploymentDefinitionTest.java  | 40 +-
 8 files changed, 117 insertions(+), 62 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0d17f3ba/server/src/com/cloud/network/router/NetworkHelper.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelper.java 
b/server/src/com/cloud/network/router/NetworkHelper.java
index 5cfae8e..635e56c 100644
--- a/server/src/com/cloud/network/router/NetworkHelper.java
+++ b/server/src/com/cloud/network/router/NetworkHelper.java
@@ -30,7 +30,6 @@ import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InsufficientServerCapacityException;
 import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.exception.StorageUnavailableException;
-import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.user.Account;
 import com.cloud.user.User;
 import com.cloud.vm.DomainRouterVO;
@@ -79,7 +78,7 @@ public interface NetworkHelper {
 
 public abstract DomainRouterVO deployRouter(
 RouterDeploymentDefinition routerDeploymentDefinition,
-boolean startRouter, List supportedHypervisors)
+boolean startRouter)
 throws InsufficientAddressCapacityException,
 InsufficientServerCapacityException, InsufficientCapacityException,
 StorageUnavailableException, ResourceUnavailableException;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0d17f3ba/server/src/com/cloud/network/router/NetworkHelperImpl.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelperImpl.java 
b/server/src/com/cloud/network/router/NetworkHelperImpl.java
index 689ef3b..fd1fc17 100644
--- a/server/src/com/cloud/network/router/NetworkHelperImpl.java
+++ b/server/src/com/cloud/network/router/NetworkHelperImpl.java
@@ -18,15 +18,18 @@ package com.cloud.network.router;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
+import javax.annotation.PostConstruct;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
 import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
+import org.apache.cloudstack.framework.config.ConfigKey;
 import org.apache.log4j.Logger;
 import org.cloud.network.router.deployment.RouterDeploymentDefinition;
 
@@ -142,9 +145,17 @@ public class NetworkHelperImpl implements NetworkHelper {
 @Inject
 protected NetworkOrchestrationService _networkMgr;
 
-/* (non-Javadoc)
- * @see com.cloud.network.router.NetworkHelper#getRouterControlIp(long)
- */
+protected final Map> hypervisorsMap = 
new HashMap<>();
+
+@PostConstruct
+protected void setupHypervisorsMap() {
+hypervisorsMap.put(HypervisorType.XenServer, 
VirtualNetworkApplianceManager.RouterTemplateXen);
+hypervisorsMap.put(HypervisorType.KVM, 
VirtualNetworkApplianceManager.RouterTemplateKvm);
+hypervisorsMap.put(HypervisorType.VMware, 
VirtualNetworkApplianceManager.RouterTemplateVmware);
+hypervisorsMap.put(HypervisorType.Hyperv, 
VirtualNetworkApplianceManager.RouterTemplateHyperV);
+hypervisorsMap.put(HypervisorType.LXC, 
VirtualNetworkApplianceManager.RouterTemplateLxc);
+}
+
 @Override
 public Str

[11/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Splitting Vpc and NonVpc deployment into phases & testing it


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/70644157
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/70644157
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/70644157

Branch: refs/heads/vpc-refactor
Commit: 70644157c5f2bda1eb649a1c1cb724ba94e8895e
Parents: 6e2cb08
Author: Antonio Fornie 
Authored: Thu Jul 17 07:48:20 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:26 2014 +0200

--
 .../deployment/RouterDeploymentDefinition.java  | 168 ++-
 .../VpcRouterDeploymentDefinition.java  |  68 +++-
 2 files changed, 232 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/70644157/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
index df9d49b..01fc774 100644
--- 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
+++ 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
@@ -116,8 +116,7 @@ public class RouterDeploymentDefinition {
 protected DeploymentPlan plan;
 protected List routers = new ArrayList<>();
 protected ServiceOfferingVO offering;
-
-
+protected Long tableLockId;
 
 
 protected RouterDeploymentDefinition(final Network guestNetwork, final 
DeployDestination dest,
@@ -220,6 +219,171 @@ public class RouterDeploymentDefinition {
 protected void findOrDeployVirtualRouter()
 throws ConcurrentOperationException, 
InsufficientCapacityException, ResourceUnavailableException {
 
+try {
+this.lock();
+this.checkPreconditions();
+// dest has pod=null, for Basic Zone findOrDeployVRs for all Pods
+final List destinations = findDestinations();
+
+for (final DeployDestination destination : destinations) {
+this.dest = destination;
+this.planDeploymentRouters();
+this.generateDeploymentPlan();
+this.proceedEffectiveDeployment();
+}
+} finally {
+this.unlock();
+}
+}
+
+protected void lock() {
+final Network lock = 
networkDao.acquireInLockTable(guestNetwork.getId(), 
NetworkOrchestrationService.NetworkLockTimeout.value());
+if (lock == null) {
+throw new ConcurrentOperationException("Unable to lock network " + 
guestNetwork.getId());
+}
+this.tableLockId = lock.getId();
+}
+
+protected void unlock() {
+if (this.tableLockId != null) {
+networkDao.releaseFromLockTable(this.tableLockId);
+if (logger.isDebugEnabled()) {
+logger.debug("Lock is released for network id " + 
this.tableLockId
++ " as a part of router startup in " + dest);
+}
+}
+}
+
+protected void checkPreconditions() throws ResourceUnavailableException {
+if (guestNetwork.getState() != Network.State.Implemented &&
+guestNetwork.getState() != Network.State.Setup &&
+guestNetwork.getState() != Network.State.Implementing) {
+throw new ResourceUnavailableException("Network is not yet fully 
implemented: " + guestNetwork,
+Network.class, this.guestNetwork.getId());
+}
+
+if (guestNetwork.getTrafficType() != TrafficType.Guest) {
+throw new ResourceUnavailableException("Network is not type Guest 
as expected: " + guestNetwork,
+Network.class, this.guestNetwork.getId());
+}
+}
+
+protected List findDestinations() {
+// dest has pod=null, for Basic Zone findOrDeployVRs for all Pods
+final List destinations = new 
ArrayList();
+
+// for basic zone, if 'dest' has pod set to null then this is network 
restart scenario otherwise it is a vm deployment scenario
+if (this.isBasic() && dest.getPod() == null) {
+// Find all pods in the data center with running or starting user 
vms
+final long dcId = dest.getDataCenter().getId();
+final List pods = 
listByDataCenterIdVMTypeAndStates(dcId, VirtualMachine.Type.User, 
VirtualMachine.State.Starting, VirtualMachine.State.Running);
+
+// Loop through all the pods skip those with running or starting 
VRs
+for (final HostPodVO pod : pods) {
+// Get list of VRs in starting or running state
+final long 

[50/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Applygin fix from commit ID aaeadc5c44e3fe16a1deea5348b085b08b5f4f4d

Sheng Yang changed 2 classes, ut only one was related to the bug 
CLOUDSTACK-7605.
I applied the changed on the routerslist, used during the deployment of the 
virtual routers.

Tested Advanced Zone against the simulator. 69 happy tests in place


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a8cb7c14
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a8cb7c14
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a8cb7c14

Branch: refs/heads/vpc-refactor
Commit: a8cb7c1480499b1c901ff4f69ebf7ccb3587c541
Parents: f79e7cd
Author: Wilder Rodrigues 
Authored: Tue Sep 30 14:18:52 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:29 2014 +0200

--
 .../deployment/RouterDeploymentDefinition.java  | 217 +--
 .../VpcRouterDeploymentDefinition.java  |  45 ++--
 .../RouterDeploymentDefinitionTest.java |   2 +-
 3 files changed, 126 insertions(+), 138 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a8cb7c14/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
index 7728f61..89dde3e 100644
--- 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
+++ 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
@@ -100,8 +100,7 @@ public class RouterDeploymentDefinition {
 protected boolean isPublicNetwork;
 protected PublicIp sourceNatIp;
 
-protected RouterDeploymentDefinition(final Network guestNetwork, final 
DeployDestination dest,
-final Account owner, final Map params, final 
boolean isRedundant) {
+protected RouterDeploymentDefinition(final Network guestNetwork, final 
DeployDestination dest, final Account owner, final Map params, 
final boolean isRedundant) {
 
 this.guestNetwork = guestNetwork;
 this.dest = dest;
@@ -111,98 +110,103 @@ public class RouterDeploymentDefinition {
 }
 
 public Long getOfferingId() {
-return this.offeringId;
+return offeringId;
 }
 
 public Vpc getVpc() {
 return null;
 }
+
 public Network getGuestNetwork() {
 return guestNetwork;
 }
+
 public DeployDestination getDest() {
 return dest;
 }
+
 public Account getOwner() {
 return owner;
 }
+
 public Map getParams() {
 return params;
 }
+
 public boolean isRedundant() {
 return isRedundant;
 }
+
 public DeploymentPlan getPlan() {
 return plan;
 }
+
 public boolean isVpcRouter() {
 return false;
 }
+
 public Pod getPod() {
 return dest.getPod();
 }
+
 public Long getPodId() {
 return dest.getPod() == null ? null : dest.getPod().getId();
 }
+
 public List getRouters() {
 return routers;
 }
 
 public VirtualRouterProvider getVirtualProvider() {
-return this.vrProvider;
+return vrProvider;
 }
 
 public boolean isBasic() {
-return this.dest.getDataCenter().getNetworkType() == NetworkType.Basic;
+return dest.getDataCenter().getNetworkType() == NetworkType.Basic;
 }
 
 public boolean isPublicNetwork() {
-return this.isPublicNetwork;
+return isPublicNetwork;
 }
 
 public PublicIp getSourceNatIP() {
-return this.sourceNatIp;
+return sourceNatIp;
 }
 
 protected void generateDeploymentPlan() {
-final long dcId = this.dest.getDataCenter().getId();
+final long dcId = dest.getDataCenter().getId();
 Long podId = null;
-if (this.isBasic()) {
-if (this.dest.getPod() == null) {
+if (isBasic()) {
+if (dest.getPod() == null) {
 throw new CloudRuntimeException("Pod id is expected in 
deployment destination");
 }
-podId = this.dest.getPod().getId();
+podId = dest.getPod().getId();
 }
-this.plan = new DataCenterDeployment(dcId, podId, null, null, null, 
null);
+plan = new DataCenterDeployment(dcId, podId, null, null, null, null);
 }
 
-public List deployVirtualRouter()
-throws InsufficientCapacityException,
-ConcurrentOperationException, ResourceUnavailableException {
+public List deployVirtualRouter() throws 
InsufficientCapacityException, ConcurrentOperationException, 
ResourceUnavailableException {
 
-this.findOrDeployVirtualRouter();
+

[14/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Fix unnecessary changes Spring contexts


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9d9e4407
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9d9e4407
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9d9e4407

Branch: refs/heads/vpc-refactor
Commit: 9d9e4407a4118dde619b00cd2f7281fc69acf6e5
Parents: 9289f31
Author: Antonio Fornie 
Authored: Mon Aug 18 07:24:38 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../META-INF/cloudstack/core/spring-server-core-misc-context.xml | 4 
 .../cloudstack/server-network/spring-server-network-context.xml  | 4 
 2 files changed, 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9d9e4407/server/resources/META-INF/cloudstack/core/spring-server-core-misc-context.xml
--
diff --git 
a/server/resources/META-INF/cloudstack/core/spring-server-core-misc-context.xml 
b/server/resources/META-INF/cloudstack/core/spring-server-core-misc-context.xml
index d3f020e..479dc9c 100644
--- 
a/server/resources/META-INF/cloudstack/core/spring-server-core-misc-context.xml
+++ 
b/server/resources/META-INF/cloudstack/core/spring-server-core-misc-context.xml
@@ -37,10 +37,6 @@
 
 
 
-
-
-
-
 
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9d9e4407/server/resources/META-INF/cloudstack/server-network/spring-server-network-context.xml
--
diff --git 
a/server/resources/META-INF/cloudstack/server-network/spring-server-network-context.xml
 
b/server/resources/META-INF/cloudstack/server-network/spring-server-network-context.xml
index 831ca1f..553ae44 100644
--- 
a/server/resources/META-INF/cloudstack/server-network/spring-server-network-context.xml
+++ 
b/server/resources/META-INF/cloudstack/server-network/spring-server-network-context.xml
@@ -61,8 +61,4 @@
 
 
 
-
-
-
-
 



[16/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
moving sendCommand to the NetworkGeneralHelper;
adding handle single network method to the NetworkGeneralHelper;
moving getRealPriority to the NetworkGeneralHelper;
making priority constants part of the VirtualNetworkApplianceManager;
changing the network topology implementation in order to use the 
NetworkGeneralManager instead of the appliance

Conflicts:

server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java

server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java

server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/0ad36615
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/0ad36615
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/0ad36615

Branch: refs/heads/vpc-refactor
Commit: 0ad366156421dfde2bcdeebe06c7a68513e22786
Parents: 9d9e440
Author: wrodrigues 
Authored: Tue Aug 19 08:04:23 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../network/router/NetworkGeneralHelper.java| 290 +++
 .../router/VirtualNetworkApplianceManager.java  |   2 +
 .../VirtualNetworkApplianceManagerImpl.java | 133 ++---
 .../VpcVirtualNetworkApplianceManagerImpl.java  |  22 +-
 .../topology/AdvancedNetworkTopology.java   |   3 +-
 .../topology/AdvancedNetworkVisitor.java|  14 +-
 .../network/topology/BasicNetworkTopology.java  |   7 +-
 .../network/topology/BasicNetworkVisitor.java   |  30 +-
 .../MockVpcVirtualNetworkApplianceManager.java  |   8 -
 9 files changed, 235 insertions(+), 274 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0ad36615/server/src/com/cloud/network/router/NetworkGeneralHelper.java
--
diff --git a/server/src/com/cloud/network/router/NetworkGeneralHelper.java 
b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
index 314cbc0..d22631b 100644
--- a/server/src/com/cloud/network/router/NetworkGeneralHelper.java
+++ b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
@@ -33,8 +33,11 @@ import 
org.cloud.network.router.deployment.VpcRouterDeploymentDefinition;
 
 import com.cloud.agent.AgentManager;
 import com.cloud.agent.api.Answer;
+import com.cloud.agent.api.BumpUpPriorityCommand;
+import com.cloud.agent.api.routing.NetworkElementCommand;
 import com.cloud.agent.api.to.NicTO;
 import com.cloud.agent.manager.Commands;
+import com.cloud.alert.AlertManager;
 import com.cloud.dc.ClusterVO;
 import com.cloud.dc.DataCenter;
 import com.cloud.dc.Pod;
@@ -102,58 +105,60 @@ import com.cloud.vm.dao.DomainRouterDao;
 import com.cloud.vm.dao.NicDao;
 
 public class NetworkGeneralHelper {
-private static final Logger logger = 
Logger.getLogger(NetworkGeneralHelper.class);
 
+private static final Logger s_logger = 
Logger.getLogger(NetworkGeneralHelper.class);
 
 @Inject
-private NicDao nicDao;
+private NicDao _nicDao;
 @Inject
-private NetworkDao networkDao;
+private NetworkDao _networkDao;
 @Inject
-private DomainRouterDao routerDao;
+private DomainRouterDao _routerDao;
 @Inject
-private AgentManager agentMgr;
+private AgentManager _agentMgr;
 @Inject
-private NetworkModel networkModel;
+private AlertManager _alertMgr;
 @Inject
-private VirtualMachineManager itMgr;
+private NetworkModel _networkModel;
 @Inject
-private AccountManager accountMgr;
+private VirtualMachineManager _itMgr;
 @Inject
-private Site2SiteVpnManager s2sVpnMgr;
+private AccountManager _accountMgr;
 @Inject
-private HostDao hostDao;
+private Site2SiteVpnManager _s2sVpnMgr;
 @Inject
-private VolumeDao volumeDao;
+private HostDao _hostDao;
 @Inject
-private ServiceOfferingDao serviceOfferingDao;
+private VolumeDao _volumeDao;
 @Inject
-private VMTemplateDao templateDao;
+private ServiceOfferingDao _serviceOfferingDao;
 @Inject
-private ResourceManager resourceMgr;
+private VMTemplateDao _templateDao;
 @Inject
-private ClusterDao clusterDao;
+private ResourceManager _resourceMgr;
 @Inject
-private IPAddressDao ipAddressDao;
+private ClusterDao _clusterDao;
 @Inject
-private IpAddressManager ipAddrMgr;
+private IPAddressDao _ipAddressDao;
 @Inject
-private UserIpv6AddressDao ipv6Dao;
+private IpAddressManager _ipAddrMgr;
 @Inject
-private NetworkOrchestrationService networkMgr;
+private UserIpv6AddressDao _ipv6Dao;
 @Inject
-protected VpcVirtualNetworkHelperImpl vpcHelper;
+private NetworkOrchestrationService _networkMgr;
 @Inject
-protected Vpc

[26/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
fixing check style issues

Conflicts:
server/src/com/cloud/network/element/VpcVirtualRouterElement.java
server/src/com/cloud/network/rules/AdvancedVpnRules.java
server/src/com/cloud/network/rules/RuleApplier.java
server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java

server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java

server/src/org/apache/cloudstack/network/topology/AdvancedNetworkVisitor.java

server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java

server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
server/src/org/apache/cloudstack/network/topology/NetworkTopology.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/51ce9357
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/51ce9357
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/51ce9357

Branch: refs/heads/vpc-refactor
Commit: 51ce93579ee8affb8971eaa9e276a9b7a8b78dd7
Parents: 07be494
Author: Wilder Rodrigues 
Authored: Thu Aug 21 10:17:59 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../element/VpcVirtualRouterElement.java| 88 
 .../cloud/network/rules/AdvancedVpnRules.java   | 58 +
 .../network/rules/PrivateGatewayRules.java  | 52 ++--
 .../com/cloud/network/rules/RuleApplier.java| 12 ++-
 .../rules/VirtualNetworkApplianceFactory.java   | 20 ++---
 .../topology/AdvancedNetworkTopology.java   | 27 +++---
 .../topology/AdvancedNetworkVisitor.java| 57 -
 .../network/topology/BasicNetworkTopology.java  |  5 --
 .../network/topology/NetworkTopology.java   |  6 +-
 9 files changed, 192 insertions(+), 133 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/51ce9357/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
--
diff --git a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java 
b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
index 0f11c73..b6b5ccf 100644
--- a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
@@ -72,9 +72,9 @@ import com.cloud.vm.ReservationContext;
 import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachineProfile;
 
-@Local(value = {NetworkElement.class, FirewallServiceProvider.class, 
DhcpServiceProvider.class, UserDataServiceProvider.class, 
StaticNatServiceProvider.class,
+@Local(value = { NetworkElement.class, FirewallServiceProvider.class, 
DhcpServiceProvider.class, UserDataServiceProvider.class, 
StaticNatServiceProvider.class,
 LoadBalancingServiceProvider.class, 
PortForwardingServiceProvider.class, IpDeployer.class, VpcProvider.class, 
Site2SiteVpnServiceProvider.class,
-NetworkACLServiceProvider.class})
+NetworkACLServiceProvider.class })
 public class VpcVirtualRouterElement extends VirtualRouterElement implements 
VpcProvider, Site2SiteVpnServiceProvider, NetworkACLServiceProvider {
 private static final Logger s_logger = 
Logger.getLogger(VpcVirtualRouterElement.class);
 @Inject
@@ -133,18 +133,13 @@ public class VpcVirtualRouterElement extends 
VirtualRouterElement implements Vpc
 
 @Override
 public boolean implementVpc(final Vpc vpc, final DeployDestination dest, 
final ReservationContext context) throws ConcurrentOperationException, 
ResourceUnavailableException,
-InsufficientCapacityException {
+InsufficientCapacityException {
 
 Map params = new 
HashMap(1);
 params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);
 
-RouterDeploymentDefinition routerDeploymentDefinition =
-routerDeploymentDefinitionBuilder.create()
-.setVpc(vpc)
-.setDeployDestination(dest)
-.setAccountOwner(_accountMgr.getAccount(vpc.getAccountId()))
-.setParams(params)
-.build();
+RouterDeploymentDefinition routerDeploymentDefinition = 
routerDeploymentDefinitionBuilder.create().setVpc(vpc).setDeployDestination(dest)
+
.setAccountOwner(_accountMgr.getAccount(vpc.getAccountId())).setParams(params).build();
 
 routerDeploymentDefinition.deployVirtualRouter();
 
@@ -165,8 +160,8 @@ public class VpcVirtualRouterElement extends 
VirtualRouterElement implements Vpc
 }
 
 @Override
-public boolean implement(final Network network, final NetworkOffering 
offering, final DeployDestination dest, final ReservationContext context) 
throws ResourceUnavailableException,
-Con

[17/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
adding applyStaticRoutes method to the network topology/visitor. it will be 
used by the VPC virtual net manager appliance.

Conflicts:
server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/51df3aa0
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/51df3aa0
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/51df3aa0

Branch: refs/heads/vpc-refactor
Commit: 51df3aa0f2ee364651c095b40521481563044817
Parents: a515d6c
Author: Wilder Rodrigues 
Authored: Tue Aug 19 15:10:10 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../cloud/network/router/NetworkHelperImpl.java |  6 +-
 .../VirtualNetworkApplianceManagerImpl.java |  2 +-
 .../network/router/VirtualNetworkStatus.java| 26 +
 .../cloud/network/router/VirtualNwStatus.java   | 26 -
 .../network/router/VpcNetworkHelperImpl.java|  2 +-
 .../com/cloud/network/rules/RuleApplier.java|  7 ---
 .../cloud/network/rules/StaticRoutesRules.java  | 61 
 .../rules/VirtualNetworkApplianceFactory.java   |  3 +-
 .../topology/AdvancedNetworkTopology.java   |  8 +++
 .../topology/AdvancedNetworkVisitor.java|  7 +++
 .../network/topology/BasicNetworkTopology.java  |  6 ++
 .../network/topology/BasicNetworkVisitor.java   |  6 ++
 .../network/topology/NetworkTopology.java   |  3 +
 .../topology/NetworkTopologyVisitor.java|  2 +
 14 files changed, 125 insertions(+), 40 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/51df3aa0/server/src/com/cloud/network/router/NetworkHelperImpl.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelperImpl.java 
b/server/src/com/cloud/network/router/NetworkHelperImpl.java
index bcebcd7..bf4c7af 100644
--- a/server/src/com/cloud/network/router/NetworkHelperImpl.java
+++ b/server/src/com/cloud/network/router/NetworkHelperImpl.java
@@ -580,7 +580,7 @@ public class NetworkHelperImpl implements NetworkHelper {
 Long vpcId = routerDeploymentDefinition.getVpc() != null ? 
routerDeploymentDefinition.getVpc().getId() : null;
 
 router = new DomainRouterVO(id, routerOffering.getId(), 
routerDeploymentDefinition.getVirtualProvider().getId(),
-VirtualMachineName.getRouterName(id, 
VirtualNwStatus.instance), template.getId(), template.getHypervisorType(),
+VirtualMachineName.getRouterName(id, 
VirtualNetworkStatus.instance), template.getId(), template.getHypervisorType(),
 template.getGuestOSId(), owner.getDomainId(), 
owner.getId(), routerDeploymentDefinition.isRedundant(), 0,
 false, RedundantState.UNKNOWN, offerHA, false, vpcId);
 
@@ -774,7 +774,7 @@ public class NetworkHelperImpl implements NetworkHelper {
 s_logger.debug("Adding nic for Virtual Router in Control network ");
 List offerings = 
_networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork);
 NetworkOffering controlOffering = offerings.get(0);
-Network controlConfig = 
_networkMgr.setupNetwork(VirtualNwStatus.account, controlOffering, 
routerDeploymentDefinition.getPlan(),
+Network controlConfig = 
_networkMgr.setupNetwork(VirtualNetworkStatus.account, controlOffering, 
routerDeploymentDefinition.getPlan(),
 null, null, false).get(0);
 networks.put(controlConfig, new ArrayList());
 //3) Public network
@@ -803,7 +803,7 @@ public class NetworkHelperImpl implements NetworkHelper {
 defaultNic.setDeviceId(2);
 }
 final NetworkOffering publicOffering = 
_networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0);
-final List publicNetworks = 
_networkMgr.setupNetwork(VirtualNwStatus.account, publicOffering,
+final List publicNetworks = 
_networkMgr.setupNetwork(VirtualNetworkStatus.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

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/51df3aa0/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
--
diff --git 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index a798ef5..db1c9e6 100644
--- 
a/server/sr

[02/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Deployment more OO - Objects with data and behavior

Conflicts:
server/src/com/cloud/network/element/VirtualRouterElement.java

server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/09763596
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/09763596
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/09763596

Branch: refs/heads/vpc-refactor
Commit: 09763596d0399f32c5acbbed055572eaf4830d28
Parents: 7de179d
Author: Antonio Fornie 
Authored: Wed Jul 16 12:11:47 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:26 2014 +0200

--
 .../network/element/VirtualRouterElement.java   |  18 +-
 .../element/VpcVirtualRouterElement.java|  38 +-
 .../network/router/NetworkGeneralHelper.java| 137 ++--
 .../router/RouterDeploymentDefinition.java  | 139 
 .../network/router/RouterDeploymentManager.java | 681 ---
 .../router/VirtualNetworkApplianceManager.java  |   4 -
 .../VirtualNetworkApplianceManagerImpl.java |  12 +-
 .../VpcVirtualNetworkApplianceManagerImpl.java  |  51 +-
 .../router/VpcVirtualNetworkHelperImpl.java |  81 +--
 .../deployment/RouterDeploymentDefinition.java  | 530 +++
 .../RouterDeploymentDefinitionBuilder.java  | 188 +
 .../VpcRouterDeploymentDefinition.java  | 241 +++
 .../MockVpcVirtualNetworkApplianceManager.java  |  11 -
 13 files changed, 1104 insertions(+), 1027 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/09763596/server/src/com/cloud/network/element/VirtualRouterElement.java
--
diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java 
b/server/src/com/cloud/network/element/VirtualRouterElement.java
index 65f06b3..90e9a63 100755
--- a/server/src/com/cloud/network/element/VirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -72,10 +72,11 @@ import com.cloud.network.dao.VirtualRouterProviderDao;
 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;
+import com.cloud.network.router.deployment.RouterDeploymentDefinition;
+import com.cloud.network.router.deployment.RouterDeploymentDefinitionBuilder;
 import com.cloud.network.rules.FirewallRule;
 import com.cloud.network.rules.LbStickinessMethod;
 import com.cloud.network.rules.LbStickinessMethod.StickinessMethodType;
@@ -156,6 +157,8 @@ public class VirtualRouterElement extends AdapterBase 
implements VirtualRouterEl
 
 @Inject
 NetworkTopologyContext networkTopologyContext;
+@Inject
+private RouterDeploymentDefinitionBuilder 
routerDeploymentDefinitionBuilder;
 
 protected boolean canHandle(final Network network, final Service service) {
 Long physicalNetworkId = _networkMdl.getPhysicalNetworkId(network);
@@ -197,10 +200,10 @@ public class VirtualRouterElement extends AdapterBase 
implements VirtualRouterEl
 Map params = new 
HashMap(1);
 params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);
 
-RouterDeploymentDefinition routerDeploymentDefinition = new 
RouterDeploymentDefinition(network, dest, 
_accountMgr.getAccount(network.getAccountId()), params,
-offering.getRedundantRouter());
+RouterDeploymentDefinition routerDeploymentDefinition = 
routerDeploymentDefinitionBuilder.create().setGuestNetwork(network).setDeployDestination(dest)
+
.setAccountOwner(_accountMgr.getAccount(network.getAccountId())).setParams(params).setRedundant(offering.getRedundantRouter()).build();
 
-List routers = 
_routerMgr.deployVirtualRouter(routerDeploymentDefinition);
+List routers = 
routerDeploymentDefinition.deployVirtualRouter();
 
 int routerCounts = 1;
 if (offering.getRedundantRouter()) {
@@ -232,9 +235,10 @@ public class VirtualRouterElement extends AdapterBase 
implements VirtualRouterEl
 return false;
 }
 
-RouterDeploymentDefinition routerDeploymentDefinition = new 
RouterDeploymentDefinition(network, dest, 
_accountMgr.getAccount(network.getAccountId()), vm.getParameters(),
-offering.getRedundantRouter());
-List routers = 
_routerMgr.deployVirtualRouter(routerDeploymentDefinition);
+RouterDeploymentDefinition routerDeploymentDefinition = 
routerDeploymen

[40/50] [abbrv] refactor all private methods in the virtual router appliance and VPC appliance

2014-10-03 Thread dahn
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bc90ce08/server/src/com/cloud/network/rules/PrivateGatewayRules.java
--
diff --git a/server/src/com/cloud/network/rules/PrivateGatewayRules.java 
b/server/src/com/cloud/network/rules/PrivateGatewayRules.java
index c62f862..1d13efb 100644
--- a/server/src/com/cloud/network/rules/PrivateGatewayRules.java
+++ b/server/src/com/cloud/network/rules/PrivateGatewayRules.java
@@ -17,27 +17,15 @@
 
 package com.cloud.network.rules;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cloudstack.network.topology.NetworkTopologyVisitor;
 import org.apache.log4j.Logger;
 
-import com.cloud.agent.api.routing.IpAssocVpcCommand;
-import com.cloud.agent.api.routing.NetworkElementCommand;
-import com.cloud.agent.api.to.IpAddressTO;
-import com.cloud.agent.manager.Commands;
-import com.cloud.dc.DataCenterVO;
 import com.cloud.exception.ConcurrentOperationException;
 import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.network.Network;
 import com.cloud.network.router.VirtualRouter;
 import com.cloud.network.vpc.PrivateGateway;
-import com.cloud.network.vpc.PrivateIpAddress;
 import com.cloud.network.vpc.PrivateIpVO;
-import com.cloud.user.Account;
 import com.cloud.vm.NicProfile;
 
 public class PrivateGatewayRules extends RuleApplier {
@@ -142,47 +130,4 @@ public class PrivateGatewayRules extends RuleApplier {
 s_logger.debug("Private gateawy " + _privateGateway + " is removed 
from router " + _router);
 return result;
 }
-
-public void createVpcAssociatePrivateIPCommands(final VirtualRouter 
router, final List ips, final Commands cmds, final boolean 
add) {
-
-// Ensure that in multiple vlans case we first send all ip addresses 
of vlan1, then all ip addresses of vlan2, etc..
-Map> vlanIpMap = new 
HashMap>();
-for (final PrivateIpAddress ipAddress : ips) {
-String vlanTag = ipAddress.getBroadcastUri();
-ArrayList ipList = vlanIpMap.get(vlanTag);
-if (ipList == null) {
-ipList = new ArrayList();
-}
-
-ipList.add(ipAddress);
-vlanIpMap.put(vlanTag, ipList);
-}
-
-for (Map.Entry> vlanAndIp : 
vlanIpMap.entrySet()) {
-List ipAddrList = vlanAndIp.getValue();
-IpAddressTO[] ipsToSend = new IpAddressTO[ipAddrList.size()];
-int i = 0;
-
-for (final PrivateIpAddress ipAddr : ipAddrList) {
-Network network = 
_networkModel.getNetwork(ipAddr.getNetworkId());
-IpAddressTO ip =
-new IpAddressTO(Account.ACCOUNT_ID_SYSTEM, 
ipAddr.getIpAddress(), add, false, ipAddr.getSourceNat(), 
ipAddr.getBroadcastUri(), ipAddr.getGateway(),
-ipAddr.getNetmask(), ipAddr.getMacAddress(), 
null, false);
-
-ip.setTrafficType(network.getTrafficType());
-
ip.setNetworkName(_networkModel.getNetworkTag(router.getHypervisorType(), 
network));
-ipsToSend[i++] = ip;
-
-}
-
-IpAssocVpcCommand cmd = new IpAssocVpcCommand(ipsToSend);
-cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, 
_routerControlHelper.getRouterControlIp(router.getId()));
-cmd.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP, 
_routerControlHelper.getRouterIpInNetwork(ipAddrList.get(0).getNetworkId(), 
router.getId()));
-cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, 
router.getInstanceName());
-DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId());
-cmd.setAccessDetail(NetworkElementCommand.ZONE_NETWORK_TYPE, 
dcVo.getNetworkType().toString());
-
-cmds.addCommand("IPAssocVpcCommand", cmd);
-}
-}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bc90ce08/server/src/com/cloud/network/rules/RuleApplier.java
--
diff --git a/server/src/com/cloud/network/rules/RuleApplier.java 
b/server/src/com/cloud/network/rules/RuleApplier.java
index c6f1cc0..4c399ed 100644
--- a/server/src/com/cloud/network/rules/RuleApplier.java
+++ b/server/src/com/cloud/network/rules/RuleApplier.java
@@ -17,14 +17,8 @@
 
 package com.cloud.network.rules;
 
-import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
 import org.apache.cloudstack.network.topology.NetworkTopologyVisitor;
 
-import com.cloud.agent.api.routing.NetworkElementCommand;
-import com.cloud.agent.api.routing.VmDataCommand;
-import com.cloud.agent.manager.Commands;
-import com.cloud.dc.DataCenter.NetworkType;
-import com.cloud.dc.DataCenterVO;
 import com.cloud.dc.dao.DataCenterDao;
 import com.cloud.dc.dao.HostPodDao;
 import com.cloud.dc.dao.VlanDao;
@@ -32,29 +26,20 

[31/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Removing the VirtualNetworkStatus, it was not being used properly;
fixing the injection of the network DAO in the PrivateGatewayRules;
all tests that were failing in Travis have been tested before the commit.

Conflicts:
server/src/com/cloud/network/router/NetworkHelperImpl.java

server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/70bd734b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/70bd734b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/70bd734b

Branch: refs/heads/vpc-refactor
Commit: 70bd734be7fc44e7174a3c81dc1fa3d884e6d2e2
Parents: 13ccdcb
Author: Wilder Rodrigues 
Authored: Thu Sep 4 16:49:49 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../com/cloud/network/router/NetworkHelper.java |  1 -
 .../cloud/network/router/NetworkHelperImpl.java | 18 +++---
 .../VirtualNetworkApplianceManagerImpl.java | 25 ++-
 .../network/router/VirtualNetworkStatus.java| 26 
 .../network/router/VpcNetworkHelperImpl.java| 23 +
 .../rules/VirtualNetworkApplianceFactory.java   |  3 ++-
 6 files changed, 40 insertions(+), 56 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/70bd734b/server/src/com/cloud/network/router/NetworkHelper.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelper.java 
b/server/src/com/cloud/network/router/NetworkHelper.java
index 59338f7..711c02d 100644
--- a/server/src/com/cloud/network/router/NetworkHelper.java
+++ b/server/src/com/cloud/network/router/NetworkHelper.java
@@ -78,5 +78,4 @@ public interface NetworkHelper {
 throws InsufficientAddressCapacityException,
 InsufficientServerCapacityException, 
InsufficientCapacityException,
 StorageUnavailableException, ResourceUnavailableException;
-
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/70bd734b/server/src/com/cloud/network/router/NetworkHelperImpl.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelperImpl.java 
b/server/src/com/cloud/network/router/NetworkHelperImpl.java
index 6c695d5..357802f 100644
--- a/server/src/com/cloud/network/router/NetworkHelperImpl.java
+++ b/server/src/com/cloud/network/router/NetworkHelperImpl.java
@@ -106,6 +106,9 @@ public class NetworkHelperImpl implements NetworkHelper {
 
 private static final Logger s_logger = 
Logger.getLogger(NetworkHelperImpl.class);
 
+protected static Account s_systemAccount;
+protected static String s_vmInstanceName;
+
 @Inject
 protected NicDao _nicDao;
 @Inject
@@ -559,7 +562,7 @@ public class NetworkHelperImpl implements NetworkHelper {
 Long vpcId = routerDeploymentDefinition.getVpc() != null ? 
routerDeploymentDefinition.getVpc().getId() : null;
 
 router = new DomainRouterVO(id, routerOffering.getId(), 
routerDeploymentDefinition.getVirtualProvider().getId(), 
VirtualMachineName.getRouterName(id,
-VirtualNetworkStatus.instance), template.getId(), 
template.getHypervisorType(), template.getGuestOSId(), owner.getDomainId(), 
owner.getId(),
+s_vmInstanceName), template.getId(), 
template.getHypervisorType(), template.getGuestOSId(), owner.getDomainId(), 
owner.getId(),
 routerDeploymentDefinition.isRedundant(), 0, false, 
RedundantState.UNKNOWN, offerHA, false, vpcId);
 
 
router.setDynamicallyScalable(template.isDynamicallyScalable());
@@ -747,7 +750,7 @@ public class NetworkHelperImpl implements NetworkHelper {
 s_logger.debug("Adding nic for Virtual Router in Control network ");
 List offerings = 
_networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork);
 NetworkOffering controlOffering = offerings.get(0);
-Network controlConfig = 
_networkMgr.setupNetwork(VirtualNetworkStatus.account, controlOffering, 
routerDeploymentDefinition.getPlan(), null, null, false).get(0);
+Network controlConfig = _networkMgr.setupNetwork(s_systemAccount, 
controlOffering, routerDeploymentDefinition.getPlan(), null, null, 
false).get(0);
 networks.put(controlConfig, new ArrayList());
 // 3) Public network
 if (routerDeploymentDefinition.isPublicNetwork()) {
@@ -776,8 +779,7 @@ public class NetworkHelperImpl implements NetworkHelper {
 defaultNic.setDeviceId(2);
 }
 final NetworkOffering publicOffering = 
_

[46/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
fixing checkstyle in the virtual network manager. problem appeared after a 
rebase. probably due to my saving action in the eclipse workspace

Conflicts:

server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9379d1a1
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9379d1a1
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9379d1a1

Branch: refs/heads/vpc-refactor
Commit: 9379d1a104ca581b03cd4fd1ded590da6720
Parents: b948576
Author: wrodrigues 
Authored: Tue Sep 9 22:52:05 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:29 2014 +0200

--
 .../cloud/network/router/VirtualNetworkApplianceManagerImpl.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9379d1a1/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
--
diff --git 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index 8d9ac7a..75cbfeb 100644
--- 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -2594,4 +2594,4 @@ public class VirtualNetworkApplianceManagerImpl extends 
ManagerBase implements V
 public boolean completeAggregatedExecution(final Network network, final 
List routers) throws AgentUnavailableException {
 return aggregationExecution(Action.Finish, network, routers);
 }
-}
\ No newline at end of file
+}



[08/50] [abbrv] More refactoring and testing in the same classes

2014-10-03 Thread dahn
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d0467731/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java
--
diff --git 
a/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java
 
b/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java
index 6941e9a..10d4b42 100644
--- 
a/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java
+++ 
b/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java
@@ -1,9 +1,19 @@
 package org.cloud.network.router.deployment;
 
 import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.Assert.assertNull;
+import static junit.framework.Assert.assertTrue;
+import static junit.framework.Assert.fail;
+import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.anyLong;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -14,7 +24,6 @@ import java.util.List;
 import java.util.Map;
 
 import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -27,29 +36,59 @@ import com.cloud.dc.DataCenter;
 import com.cloud.dc.DataCenter.NetworkType;
 import com.cloud.dc.HostPodVO;
 import com.cloud.dc.Pod;
+import com.cloud.dc.dao.HostPodDao;
 import com.cloud.deploy.DeployDestination;
+import com.cloud.deploy.DeploymentPlan;
 import com.cloud.exception.ConcurrentOperationException;
+import com.cloud.exception.InsufficientAddressCapacityException;
+import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.IpAddressManager;
 import com.cloud.network.Network;
+import com.cloud.network.Network.Provider;
+import com.cloud.network.Network.Service;
+import com.cloud.network.NetworkModel;
 import com.cloud.network.Networks.TrafficType;
+import com.cloud.network.VirtualRouterProvider.Type;
+import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.NetworkDao;
 import com.cloud.network.dao.NetworkVO;
+import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
+import com.cloud.network.dao.PhysicalNetworkServiceProviderVO;
+import com.cloud.network.dao.VirtualRouterProviderDao;
+import com.cloud.network.element.VirtualRouterProviderVO;
+import com.cloud.network.router.NetworkGeneralHelper;
+import com.cloud.network.router.VirtualRouter.Role;
+import com.cloud.offerings.NetworkOfferingVO;
+import com.cloud.offerings.dao.NetworkOfferingDao;
+import com.cloud.service.ServiceOfferingVO;
 import com.cloud.user.Account;
+import com.cloud.user.AccountManager;
+import com.cloud.utils.db.SearchBuilder;
+import com.cloud.utils.db.SearchCriteria;
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.vm.DomainRouterVO;
+import com.cloud.vm.VMInstanceVO;
 import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachineProfile.Param;
 import com.cloud.vm.dao.DomainRouterDao;
+import com.cloud.vm.dao.VMInstanceDao;
 
 @RunWith(MockitoJUnitRunner.class)
 public class RouterDeploymentDefinitionTest {
 
+private static final long OFFERING_ID = 16L;
+private static final String 
NUMBER_OF_ROUTERS_TO_DEPLOY_IS_NOT_THE_EXPECTED = "Number of routers to deploy 
is not the expected";
 private static final String 
ONLY_THE_PROVIDED_AS_DEFAULT_DESTINATION_WAS_EXPECTED = "Only the provided as 
default destination was expected";
 protected static final Long DATA_CENTER_ID = 100l;
+protected static final Long NW_ID = 102l;
 protected static final Long POD_ID1 = 111l;
 protected static final Long POD_ID2 = 112l;
 protected static final Long POD_ID3 = 113l;
-protected static final Long NW_ID = 102l;
+protected static final Long ROUTER1_ID = 121l;
+protected static final Long ROUTER2_ID = 122l;
+private static final long PROVIDER_ID = 131L;
+private static final long PHYSICAL_NW_ID = 141L;
 
 // General delegates (Daos, Mgrs...)
 @Mock
@@ -69,11 +108,32 @@ public class RouterDeploymentDefinitionTest {
 @Mock
 protected HostPodVO mockHostPodVO3;
 @Mock
-protected NetworkVO mockNwLock;
+protected NetworkVO mockNw;
+@Mock
+NetworkOfferingVO mockNwOfferingVO;
 @Mock
 protected Account mockOwner;
 @Mock
 protected DomainRouterDao mockRouterDao;
+@Mock
+protected NetworkG

[49/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Fixing the NetworkHelperImpl class. It was throwing a NPE due to a hypervisor 
type SIMULATOR not being in the hashmap.

When the refactor took place, we should have changed first structure, then 
behaviour. By refactoring the deployRouter method
we changed how the templateName was retrieved.
Fixed and tested using the simulator and the following Marvin tests

test_privategateway_acl
test_routers
test_vpc_vpn
test_service_offerings
test_volumes
test_reset_vm_on_reboot
test_multipleips_per_nic

Conflicts:
server/src/com/cloud/network/router/NetworkHelperImpl.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/53703c98
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/53703c98
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/53703c98

Branch: refs/heads/vpc-refactor
Commit: 53703c98fea54a835f794aa358745794591b420e
Parents: 9379d1a
Author: wrodrigues 
Authored: Thu Sep 11 20:41:23 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:29 2014 +0200

--
 .../cloud/network/router/NetworkHelperImpl.java | 28 +++-
 1 file changed, 10 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/53703c98/server/src/com/cloud/network/router/NetworkHelperImpl.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelperImpl.java 
b/server/src/com/cloud/network/router/NetworkHelperImpl.java
index 357802f..f589394 100644
--- a/server/src/com/cloud/network/router/NetworkHelperImpl.java
+++ b/server/src/com/cloud/network/router/NetworkHelperImpl.java
@@ -372,14 +372,6 @@ public class NetworkHelperImpl implements NetworkHelper {
 return null;
 }
 
-// @Override
-/*
- * (non-Javadoc)
- * 
- * @see
- * com.cloud.network.router.NetworkHelper#startRouters(org.cloud.network
- * .router.deployment.RouterDeploymentDefinition)
- */
 @Override
 public List startRouters(final RouterDeploymentDefinition 
routerDeploymentDefinition) throws StorageUnavailableException, 
InsufficientCapacityException,
 ConcurrentOperationException, ResourceUnavailableException {
@@ -407,15 +399,6 @@ public class NetworkHelperImpl implements NetworkHelper {
 return runningRouters;
 }
 
-// @Override
-/*
- * (non-Javadoc)
- * 
- * @see
- * com.cloud.network.router.NetworkHelper#startVirtualRouter(com.cloud.vm
- * .DomainRouterVO, com.cloud.user.User, com.cloud.user.Account,
- * java.util.Map)
- */
 @Override
 public DomainRouterVO startVirtualRouter(final DomainRouterVO router, 
final User user, final Account caller, final Map params)
 throws StorageUnavailableException, InsufficientCapacityException, 
ConcurrentOperationException, ResourceUnavailableException {
@@ -513,7 +496,16 @@ public class NetworkHelperImpl implements NetworkHelper {
 }
 }
 
-return hypervisorsMap.get(hType).valueIn(datacenterId);
+// Returning NULL is fine because the simulator will need it when being
+// used instead of a real hypervisor.
+// The hypervisorsMap contains only real hypervisors.
+String templateName = null;
+ConfigKey hypervisorConfigKey = hypervisorsMap.get(hType);
+
+if (hypervisorConfigKey != null) {
+templateName = hypervisorConfigKey.valueIn(datacenterId);
+}
+return templateName;
 }
 
 @Override



[05/50] [abbrv] adding new bean to spring context file; renaming package from "com" to "org"

2014-10-03 Thread dahn
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6852f312/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
new file mode 100644
index 000..41ec4b3
--- /dev/null
+++ 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
@@ -0,0 +1,530 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package org.cloud.network.router.deployment;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.inject.Inject;
+
+import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
+import org.apache.log4j.Logger;
+
+import com.cloud.dc.DataCenter.NetworkType;
+import com.cloud.dc.HostPodVO;
+import com.cloud.dc.Pod;
+import com.cloud.dc.dao.HostPodDao;
+import com.cloud.deploy.DataCenterDeployment;
+import com.cloud.deploy.DeployDestination;
+import com.cloud.deploy.DeploymentPlan;
+import com.cloud.exception.ConcurrentOperationException;
+import com.cloud.exception.InsufficientAddressCapacityException;
+import com.cloud.exception.InsufficientCapacityException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.IpAddressManager;
+import com.cloud.network.Network;
+import com.cloud.network.Network.Provider;
+import com.cloud.network.Network.Service;
+import com.cloud.network.NetworkModel;
+import com.cloud.network.Networks.BroadcastDomainType;
+import com.cloud.network.Networks.IsolationType;
+import com.cloud.network.Networks.TrafficType;
+import com.cloud.network.PhysicalNetworkServiceProvider;
+import com.cloud.network.VirtualRouterProvider;
+import com.cloud.network.VirtualRouterProvider.Type;
+import com.cloud.network.addr.PublicIp;
+import com.cloud.network.dao.IPAddressDao;
+import com.cloud.network.dao.NetworkDao;
+import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
+import com.cloud.network.dao.UserIpv6AddressDao;
+import com.cloud.network.dao.VirtualRouterProviderDao;
+import com.cloud.network.router.NetworkGeneralHelper;
+import com.cloud.network.router.VirtualNwStatus;
+import com.cloud.network.router.VirtualRouter.Role;
+import com.cloud.network.router.VpcVirtualNetworkHelperImpl;
+import com.cloud.network.vpc.Vpc;
+import com.cloud.offering.NetworkOffering;
+import com.cloud.offerings.dao.NetworkOfferingDao;
+import com.cloud.service.ServiceOfferingVO;
+import com.cloud.user.Account;
+import com.cloud.user.AccountManager;
+import com.cloud.utils.Pair;
+import com.cloud.utils.db.DB;
+import com.cloud.utils.db.JoinBuilder;
+import com.cloud.utils.db.SearchBuilder;
+import com.cloud.utils.db.SearchCriteria;
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.utils.net.NetUtils;
+import com.cloud.vm.DomainRouterVO;
+import com.cloud.vm.Nic;
+import com.cloud.vm.NicProfile;
+import com.cloud.vm.NicVO;
+import com.cloud.vm.VMInstanceVO;
+import com.cloud.vm.VirtualMachine;
+import com.cloud.vm.VirtualMachineProfile.Param;
+import com.cloud.vm.dao.DomainRouterDao;
+import com.cloud.vm.dao.NicDao;
+import com.cloud.vm.dao.VMInstanceDao;
+
+public class RouterDeploymentDefinition {
+private static final Logger logger = 
Logger.getLogger(RouterDeploymentDefinition.class);
+
+protected NetworkDao networkDao;
+protected DomainRouterDao routerDao;
+protected PhysicalNetworkServiceProviderDao physicalProviderDao;
+protected NetworkModel networkModel;
+protected VirtualRouterProviderDao vrProviderDao;
+protected NetworkOfferingDao networkOfferingDao;
+protected IpAddressManager ipAddrMgr;
+protected VMInstanceDao vmDao;
+protected HostPodDao podDao;
+protected AccountManager accountMgr;
+protected NetworkOrchestrationService networkMgr;
+protected NicDao nicDao;
+protected UserIpv6AddressDao ipv6Dao;
+protected IPAddressDao ipAddressDao;
+
+
+@Inject
+protected NetworkGeneralHelper nwHelper;
+@Inject
+

[03/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
fixing import in virtual router element and checkstyle in dhcp entry related 
changes

Conflicts:
server/src/com/cloud/network/element/VirtualRouterElement.java
server/src/com/cloud/network/rules/DhcpEntryRules.java

server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java

server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java

server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/4ae9e67a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/4ae9e67a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/4ae9e67a

Branch: refs/heads/vpc-refactor
Commit: 4ae9e67a5b13b90bae35c1e1c77d35cf2aac9592
Parents: e6b1a3c
Author: Wilder Rodrigues 
Authored: Thu Jul 17 07:57:29 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:26 2014 +0200

--
 .../network/element/VirtualRouterElement.java   |  4 +
 .../com/cloud/network/rules/DhcpEntryRules.java | 95 +---
 .../topology/AdvancedNetworkTopology.java   | 17 
 .../network/topology/BasicNetworkTopology.java  | 21 +
 .../network/topology/BasicNetworkVisitor.java   | 14 ++-
 .../topology/NetworkTopologyContext.java|  2 -
 6 files changed, 139 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4ae9e67a/server/src/com/cloud/network/element/VirtualRouterElement.java
--
diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java 
b/server/src/com/cloud/network/element/VirtualRouterElement.java
index 90e9a63..0ea6c18 100755
--- a/server/src/com/cloud/network/element/VirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -157,6 +157,7 @@ public class VirtualRouterElement extends AdapterBase 
implements VirtualRouterEl
 
 @Inject
 NetworkTopologyContext networkTopologyContext;
+
 @Inject
 private RouterDeploymentDefinitionBuilder 
routerDeploymentDefinitionBuilder;
 
@@ -959,6 +960,9 @@ public class VirtualRouterElement extends AdapterBase 
implements VirtualRouterEl
 throw new ResourceUnavailableException("Can't find at least 
one router!", DataCenter.class, network.getDataCenterId());
 }
 
+DataCenterVO dcVO = _dcDao.findById(network.getDataCenterId());
+NetworkTopology networkTopology = 
networkTopologyContext.retrieveNetworkTopology(dcVO);
+
 return _routerMgr.applyDhcpEntry(network, nic, uservm, dest, 
routers);
 }
 return false;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4ae9e67a/server/src/com/cloud/network/rules/DhcpEntryRules.java
--
diff --git a/server/src/com/cloud/network/rules/DhcpEntryRules.java 
b/server/src/com/cloud/network/rules/DhcpEntryRules.java
index 7e0eae0..2bfa4e6 100644
--- a/server/src/com/cloud/network/rules/DhcpEntryRules.java
+++ b/server/src/com/cloud/network/rules/DhcpEntryRules.java
@@ -19,43 +19,116 @@ package com.cloud.network.rules;
 
 import org.apache.cloudstack.network.topology.NetworkTopologyVisitor;
 
+import com.cloud.agent.api.routing.DhcpEntryCommand;
+import com.cloud.agent.api.routing.NetworkElementCommand;
+import com.cloud.agent.manager.Commands;
+import com.cloud.dc.DataCenterVO;
 import com.cloud.deploy.DeployDestination;
 import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.network.Network;
+import com.cloud.network.Network.Provider;
+import com.cloud.network.Network.Service;
 import com.cloud.network.router.VirtualRouter;
+import com.cloud.offering.NetworkOffering;
+import com.cloud.uservm.UserVm;
+import com.cloud.utils.net.NetUtils;
+import com.cloud.vm.Nic;
 import com.cloud.vm.NicProfile;
+import com.cloud.vm.NicVO;
+import com.cloud.vm.UserVmVO;
 import com.cloud.vm.VirtualMachineProfile;
 
 public class DhcpEntryRules extends RuleApplier {
 
-private final NicProfile nic;
-private final VirtualMachineProfile profile;
-private final DeployDestination destination;
+private final NicProfile _nic;
+private final VirtualMachineProfile _profile;
+private final DeployDestination _destination;
+
+private NicVO _nicVo;
+private UserVmVO _userVM;
 
 public DhcpEntryRules(final Network network, final NicProfile nic, final 
VirtualMachineProfile profile, final DeployDestination destination) {
 super(network);
 
-this.nic = nic;
-this.profile = profile;
-this.destination = destination;
+_nic = nic;
+_profile = profile;
+_destination = destination;
 }
 

[27/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Factor out prepareDeployment and update tests


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f0cae57e
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f0cae57e
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f0cae57e

Branch: refs/heads/vpc-refactor
Commit: f0cae57e2d697a1e0ad6f35434f36cb41fee6bcb
Parents: eff9b8d
Author: Antonio Fornie 
Authored: Tue Jul 29 06:47:50 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../deployment/RouterDeploymentDefinition.java  |  53 +
 .../VpcRouterDeploymentDefinition.java  |  37 +++---
 .../RouterDeploymentDefinitionTest.java | 118 +--
 .../VpcRouterDeploymentDefinitionTest.java  |   7 +-
 4 files changed, 137 insertions(+), 78 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f0cae57e/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
index ea22faf..09192d3 100644
--- 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
+++ 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
@@ -302,6 +302,32 @@ public class RouterDeploymentDefinition {
 }
 
 /**
+ * It executes last pending tasks to prepare the deployment and checks the 
deployment
+ * can proceed. If it can't it return false
+ *
+ * @return if the deployment can proceed
+ */
+protected boolean prepareDeployment() {
+boolean canProceed = true;
+if (networkModel.isNetworkSystem(guestNetwork) || 
guestNetwork.getGuestType() == Network.GuestType.Shared) {
+this.owner = accountMgr.getAccount(Account.ACCOUNT_ID_SYSTEM);
+}
+
+// Check if public network has to be set on VR
+this.isPublicNetwork = networkModel.isProviderSupportServiceInNetwork(
+guestNetwork.getId(), Service.SourceNat, 
Provider.VirtualRouter);
+
+if (this.isRedundant && !this.isPublicNetwork) {
+// TODO Shouldn't be this throw an exception instead of log error 
and empty list of routers
+logger.error("Didn't support redundant virtual router without 
public network!");
+this.routers = new ArrayList<>();
+canProceed = false;
+}
+
+return canProceed;
+}
+
+/**
  * Executes preparation and deployment of the routers. After this method 
ends, {@link this#routers}
  * should have all of the deployed routers ready for start, and no more.
  *
@@ -313,28 +339,13 @@ public class RouterDeploymentDefinition {
 throws ConcurrentOperationException, 
InsufficientCapacityException, ResourceUnavailableException {
 
 //Check current redundant routers, if possible(all routers are 
stopped), reset the priority
-// TODO Why shouldn't we call this method also for VPC
-setupPriorityOfRedundantRouter();
+this.setupPriorityOfRedundantRouter();
 
-if (this.getNumberOfRoutersToDeploy() > 0) {
-if (networkModel.isNetworkSystem(guestNetwork) || 
guestNetwork.getGuestType() == Network.GuestType.Shared) {
-this.owner = accountMgr.getAccount(Account.ACCOUNT_ID_SYSTEM);
-}
-
-// Check if public network has to be set on VR
-this.isPublicNetwork = 
networkModel.isProviderSupportServiceInNetwork(
-guestNetwork.getId(), Service.SourceNat, 
Provider.VirtualRouter);
-
-if (this.isRedundant && !this.isPublicNetwork) {
-// TODO Shouldn't be this throw an exception instead of log 
error and empty list of routers
-logger.error("Didn't support redundant virtual router without 
public network!");
-this.routers = new ArrayList<>();
-} else {
-this.findVirtualProvider();
-this.findOfferingId();
-this.findSourceNatIP();
-this.deployAllVirtualRouters();
-}
+if (this.getNumberOfRoutersToDeploy() > 0 && this.prepareDeployment()) 
{
+this.findVirtualProvider();
+this.findOfferingId();
+this.findSourceNatIP();
+this.deployAllVirtualRouters();
 }
 }
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f0cae57e/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
--
diff --git 
a/server/src/o

[47/50] [abbrv] Applying the latest chances from the VPC Refactor branch onto the new one.

2014-10-03 Thread dahn
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f79e7cdc/server/test/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java
--
diff --git 
a/server/test/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java
 
b/server/test/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java
index f1bd84b..a7fa5f0 100644
--- 
a/server/test/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java
+++ 
b/server/test/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java
@@ -1,32 +1,3 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-package com.cloud.network.router;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.when;
-
-import java.util.LinkedHashMap;
-import java.util.List;
-
-import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
 package com.cloud.network.router;
 
 import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
@@ -36,19 +7,10 @@ import org.mockito.Mock;
 import org.mockito.runners.MockitoJUnitRunner;
 
 import com.cloud.cluster.dao.ManagementServerHostDao;
-import com.cloud.dc.DataCenter;
-import com.cloud.dc.DataCenter.NetworkType;
-import com.cloud.dc.DataCenterVO;
 import com.cloud.dc.dao.ClusterDao;
 import com.cloud.dc.dao.DataCenterDao;
 import com.cloud.dc.dao.HostPodDao;
 import com.cloud.dc.dao.VlanDao;
-import com.cloud.deploy.DataCenterDeployment;
-import com.cloud.deploy.DeployDestination;
-import com.cloud.deploy.DeploymentPlan;
-import com.cloud.host.dao.HostDao;
-import com.cloud.hypervisor.Hypervisor.HypervisorType;
-import com.cloud.network.Network;
 import com.cloud.host.dao.HostDao;
 import com.cloud.network.dao.FirewallRulesDao;
 import com.cloud.network.dao.IPAddressDao;
@@ -65,26 +27,6 @@ import com.cloud.network.dao.Site2SiteVpnGatewayDao;
 import com.cloud.network.dao.UserIpv6AddressDao;
 import com.cloud.network.dao.VirtualRouterProviderDao;
 import com.cloud.network.dao.VpnUserDao;
-import com.cloud.network.element.VirtualRouterProviderVO;
-import com.cloud.network.router.VirtualRouter.RedundantState;
-import com.cloud.network.rules.dao.PortForwardingRulesDao;
-import com.cloud.offerings.dao.NetworkOfferingDao;
-import com.cloud.resource.ResourceManager;
-import com.cloud.service.ServiceOfferingVO;
-import com.cloud.service.dao.ServiceOfferingDao;
-import com.cloud.storage.Storage.ProvisioningType;
-import com.cloud.storage.VMTemplateVO;
-import com.cloud.storage.dao.GuestOSDao;
-import com.cloud.storage.dao.VMTemplateDao;
-import com.cloud.storage.dao.VolumeDao;
-import com.cloud.user.AccountManager;
-import com.cloud.user.AccountVO;
-import com.cloud.user.dao.UserDao;
-import com.cloud.user.dao.UserStatisticsDao;
-import com.cloud.user.dao.UserStatsLogDao;
-import com.cloud.vm.DomainRouterVO;
-import com.cloud.vm.NicProfile;
-import com.cloud.vm.VirtualMachine;
 import com.cloud.network.rules.dao.PortForwardingRulesDao;
 import com.cloud.offerings.dao.NetworkOfferingDao;
 import com.cloud.service.dao.ServiceOfferingDao;
@@ -104,7 +46,6 @@ import com.cloud.vm.dao.VMInstanceDao;
 
 @RunWith(MockitoJUnitRunner.class)
 public class VirtualNetworkApplianceManagerImplTest {
-
 @Mock
 private ClusterDao _clusterDao;
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f79e7cdc/server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java
--
diff --git 
a/server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java 
b/server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java
index fa780c0..9fab707 100644
--- a/server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java
+++ b/server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java
@@ -35,11 +35,9 @@ import com.cloud.network.Network;
 import com.cloud.network.RemoteAccessVpn;
 import com.cloud.network.Site2SiteVpnConnection;
 import com.cloud.network.VpcVirtualNetworkApplianceService;
-import com.cloud.network.VpnUser;
 import 

[01/50] [abbrv] Deployment more OO - Objects with data and behavior

2014-10-03 Thread dahn
Repository: cloudstack
Updated Branches:
  refs/heads/vpc-refactor [created] a8cb7c148


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/09763596/server/src/com/cloud/network/router/deployment/RouterDeploymentDefinition.java
--
diff --git 
a/server/src/com/cloud/network/router/deployment/RouterDeploymentDefinition.java
 
b/server/src/com/cloud/network/router/deployment/RouterDeploymentDefinition.java
new file mode 100644
index 000..5d740a4
--- /dev/null
+++ 
b/server/src/com/cloud/network/router/deployment/RouterDeploymentDefinition.java
@@ -0,0 +1,530 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.network.router.deployment;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.inject.Inject;
+
+import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
+import org.apache.log4j.Logger;
+
+import com.cloud.dc.DataCenter.NetworkType;
+import com.cloud.dc.HostPodVO;
+import com.cloud.dc.Pod;
+import com.cloud.dc.dao.HostPodDao;
+import com.cloud.deploy.DataCenterDeployment;
+import com.cloud.deploy.DeployDestination;
+import com.cloud.deploy.DeploymentPlan;
+import com.cloud.exception.ConcurrentOperationException;
+import com.cloud.exception.InsufficientAddressCapacityException;
+import com.cloud.exception.InsufficientCapacityException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.IpAddressManager;
+import com.cloud.network.Network;
+import com.cloud.network.Network.Provider;
+import com.cloud.network.Network.Service;
+import com.cloud.network.NetworkModel;
+import com.cloud.network.Networks.BroadcastDomainType;
+import com.cloud.network.Networks.IsolationType;
+import com.cloud.network.Networks.TrafficType;
+import com.cloud.network.PhysicalNetworkServiceProvider;
+import com.cloud.network.VirtualRouterProvider;
+import com.cloud.network.VirtualRouterProvider.Type;
+import com.cloud.network.addr.PublicIp;
+import com.cloud.network.dao.IPAddressDao;
+import com.cloud.network.dao.NetworkDao;
+import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
+import com.cloud.network.dao.UserIpv6AddressDao;
+import com.cloud.network.dao.VirtualRouterProviderDao;
+import com.cloud.network.router.NetworkGeneralHelper;
+import com.cloud.network.router.VirtualNwStatus;
+import com.cloud.network.router.VirtualRouter.Role;
+import com.cloud.network.router.VpcVirtualNetworkHelperImpl;
+import com.cloud.network.vpc.Vpc;
+import com.cloud.offering.NetworkOffering;
+import com.cloud.offerings.dao.NetworkOfferingDao;
+import com.cloud.service.ServiceOfferingVO;
+import com.cloud.user.Account;
+import com.cloud.user.AccountManager;
+import com.cloud.utils.Pair;
+import com.cloud.utils.db.DB;
+import com.cloud.utils.db.JoinBuilder;
+import com.cloud.utils.db.SearchBuilder;
+import com.cloud.utils.db.SearchCriteria;
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.utils.net.NetUtils;
+import com.cloud.vm.DomainRouterVO;
+import com.cloud.vm.Nic;
+import com.cloud.vm.NicProfile;
+import com.cloud.vm.NicVO;
+import com.cloud.vm.VMInstanceVO;
+import com.cloud.vm.VirtualMachine;
+import com.cloud.vm.VirtualMachineProfile.Param;
+import com.cloud.vm.dao.DomainRouterDao;
+import com.cloud.vm.dao.NicDao;
+import com.cloud.vm.dao.VMInstanceDao;
+
+public class RouterDeploymentDefinition {
+private static final Logger logger = 
Logger.getLogger(RouterDeploymentDefinition.class);
+
+protected NetworkDao networkDao;
+protected DomainRouterDao routerDao;
+protected PhysicalNetworkServiceProviderDao physicalProviderDao;
+protected NetworkModel networkModel;
+protected VirtualRouterProviderDao vrProviderDao;
+protected NetworkOfferingDao networkOfferingDao;
+protected IpAddressManager ipAddrMgr;
+protected VMInstanceDao vmDao;
+protected HostPodDao podDao;
+protected AccountManager accountMgr;
+protected NetworkOrchestrationService networkMgr;
+protected NicDao nicDao;
+protected UserIpv6AddressDao ipv6Dao;
+protected IPAddressDao ipAddr

[34/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
fixing nic plug unplug rule

Conflicts:

server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/00e3af45
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/00e3af45
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/00e3af45

Branch: refs/heads/vpc-refactor
Commit: 00e3af45847e2aa7b51c90d97391176632f03976
Parents: bb66060
Author: wrodrigues 
Authored: Mon Aug 25 20:35:07 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../network/router/CommandSetupHelper.java  | 259 ++-
 .../cloud/network/rules/NicPlugInOutRules.java  |  99 +++
 .../network/topology/BasicNetworkVisitor.java   |  10 +-
 3 files changed, 190 insertions(+), 178 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/00e3af45/server/src/com/cloud/network/router/CommandSetupHelper.java
--
diff --git a/server/src/com/cloud/network/router/CommandSetupHelper.java 
b/server/src/com/cloud/network/router/CommandSetupHelper.java
index 124ed54..798bcfb 100644
--- a/server/src/com/cloud/network/router/CommandSetupHelper.java
+++ b/server/src/com/cloud/network/router/CommandSetupHelper.java
@@ -195,7 +195,7 @@ public class CommandSetupHelper {
 final List addUsers = new ArrayList();
 final List removeUsers = new ArrayList();
 for (final VpnUser user : users) {
-if (user.getState() == VpnUser.State.Add || user.getState() == 
VpnUser.State.Active) {
+if ((user.getState() == VpnUser.State.Add) || (user.getState() == 
VpnUser.State.Active)) {
 addUsers.add(user);
 } else if (user.getState() == VpnUser.State.Revoke) {
 removeUsers.add(user);
@@ -213,12 +213,12 @@ public class CommandSetupHelper {
 }
 
 public void createDhcpEntryCommand(final VirtualRouter router, final 
UserVm vm, final NicVO nic, final Commands cmds) {
-final DhcpEntryCommand dhcpCommand =
-new DhcpEntryCommand(nic.getMacAddress(), nic.getIp4Address(), 
vm.getHostName(), nic.getIp6Address(), 
_networkModel.getExecuteInSeqNtwkElmtCmd());
+final DhcpEntryCommand dhcpCommand = new 
DhcpEntryCommand(nic.getMacAddress(), nic.getIp4Address(), vm.getHostName(), 
nic.getIp6Address(),
+_networkModel.getExecuteInSeqNtwkElmtCmd());
 final DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId());
 final Nic defaultNic = findGatewayIp(vm.getId());
 String gatewayIp = defaultNic.getGateway();
-if (gatewayIp != null && !gatewayIp.equals(nic.getGateway())) {
+if ((gatewayIp != null) && !gatewayIp.equals(nic.getGateway())) {
 gatewayIp = "0.0.0.0";
 }
 dhcpCommand.setDefaultRouter(gatewayIp);
@@ -269,8 +269,8 @@ public class CommandSetupHelper {
 for (final NicIpAliasVO ipAliasVO : ipAliasVOList) {
 final DhcpTO DhcpTO = new DhcpTO(ipAliasVO.getIp4Address(), 
ipAliasVO.getGateway(), ipAliasVO.getNetmask(), ipAliasVO.getStartIpOfSubnet());
 if (s_logger.isTraceEnabled()) {
-s_logger.trace("configDnsMasq : adding ip {" + 
DhcpTO.getGateway() + ", " + DhcpTO.getNetmask() + ", " + DhcpTO.getRouterIp() 
+ ", " +
-DhcpTO.getStartIpOfSubnet() + "}");
+s_logger.trace("configDnsMasq : adding ip {" + 
DhcpTO.getGateway() + ", " + DhcpTO.getNetmask() + ", " + DhcpTO.getRouterIp() 
+ ", " + DhcpTO.getStartIpOfSubnet()
++ "}");
 }
 ipList.add(DhcpTO);
 ipAliasVO.setVmId(router.getId());
@@ -307,13 +307,15 @@ public class CommandSetupHelper {
 if (router instanceof DomainRouterVO) {
 final DomainRouterVO domr = _routerDao.findById(router.getId());
 routerPublicIp = domr.getPublicIpAddress();
+if (routerPublicIp == null) {
+routerPublicIp = router.getPublicIpAddress();
+}
 }
 
 final Network guestNetwork = _networkModel.getNetwork(guestNetworkId);
 final Nic nic = 
_nicDao.findByNtwkIdAndInstanceId(guestNetwork.getId(), router.getId());
-final NicProfile nicProfile =
-new NicProfile(nic, guestNetwork, nic.getBroadcastUri(), 
nic.getIsolationUri(), _networkModel.getNetworkRate(guestNetwork.getId(), 
router.getId()),
-
_networkModel.isSecurityGroupSupportedInNetwork(guestNetwork), 
_networkModel.getNetworkTag(router.getHypervisorType(), guestNetwork));
+final NicProfile nicProfile = new NicProfile(nic, guestNetwork, 
nic.getBroadcastUri(), nic.getIsolationUri

[18/50] [abbrv] Refactor to include network creation as actual deployment

2014-10-03 Thread dahn
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a515d6c3/server/src/com/cloud/network/router/NetworkHelperImpl.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelperImpl.java 
b/server/src/com/cloud/network/router/NetworkHelperImpl.java
new file mode 100644
index 000..bcebcd7
--- /dev/null
+++ b/server/src/com/cloud/network/router/NetworkHelperImpl.java
@@ -0,0 +1,820 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.network.router;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.ejb.Local;
+import javax.inject.Inject;
+
+import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
+import org.apache.log4j.Logger;
+import org.cloud.network.router.deployment.RouterDeploymentDefinition;
+import org.springframework.stereotype.Component;
+
+import com.cloud.agent.AgentManager;
+import com.cloud.agent.api.Answer;
+import com.cloud.agent.api.BumpUpPriorityCommand;
+import com.cloud.agent.api.routing.NetworkElementCommand;
+import com.cloud.agent.api.to.NicTO;
+import com.cloud.agent.manager.Commands;
+import com.cloud.alert.AlertManager;
+import com.cloud.dc.ClusterVO;
+import com.cloud.dc.DataCenter;
+import com.cloud.dc.Pod;
+import com.cloud.dc.dao.ClusterDao;
+import com.cloud.deploy.DataCenterDeployment;
+import com.cloud.deploy.DeployDestination;
+import com.cloud.deploy.DeploymentPlan;
+import com.cloud.deploy.DeploymentPlanner.ExcludeList;
+import com.cloud.exception.AgentUnavailableException;
+import com.cloud.exception.ConcurrentOperationException;
+import com.cloud.exception.InsufficientAddressCapacityException;
+import com.cloud.exception.InsufficientCapacityException;
+import com.cloud.exception.InsufficientServerCapacityException;
+import com.cloud.exception.OperationTimedoutException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.exception.StorageUnavailableException;
+import com.cloud.host.HostVO;
+import com.cloud.host.Status;
+import com.cloud.host.dao.HostDao;
+import com.cloud.hypervisor.Hypervisor.HypervisorType;
+import com.cloud.maint.Version;
+import com.cloud.network.IpAddressManager;
+import com.cloud.network.Network;
+import com.cloud.network.NetworkModel;
+import com.cloud.network.Networks.BroadcastDomainType;
+import com.cloud.network.Networks.IsolationType;
+import com.cloud.network.Networks.TrafficType;
+import com.cloud.network.VirtualNetworkApplianceService;
+import com.cloud.network.addr.PublicIp;
+import com.cloud.network.dao.IPAddressDao;
+import com.cloud.network.dao.NetworkDao;
+import com.cloud.network.dao.NetworkVO;
+import com.cloud.network.dao.UserIpv6AddressDao;
+import com.cloud.network.router.VirtualRouter.RedundantState;
+import com.cloud.network.router.VirtualRouter.Role;
+import com.cloud.network.vpn.Site2SiteVpnManager;
+import com.cloud.offering.NetworkOffering;
+import com.cloud.resource.ResourceManager;
+import com.cloud.service.ServiceOfferingVO;
+import com.cloud.service.dao.ServiceOfferingDao;
+import com.cloud.storage.VMTemplateVO;
+import com.cloud.storage.Volume;
+import com.cloud.storage.VolumeVO;
+import com.cloud.storage.dao.VMTemplateDao;
+import com.cloud.storage.dao.VolumeDao;
+import com.cloud.user.Account;
+import com.cloud.user.AccountManager;
+import com.cloud.user.User;
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.utils.net.NetUtils;
+import com.cloud.vm.DomainRouterVO;
+import com.cloud.vm.Nic;
+import com.cloud.vm.NicProfile;
+import com.cloud.vm.NicVO;
+import com.cloud.vm.VirtualMachine.State;
+import com.cloud.vm.VirtualMachineManager;
+import com.cloud.vm.VirtualMachineName;
+import com.cloud.vm.VirtualMachineProfile.Param;
+import com.cloud.vm.dao.DomainRouterDao;
+import com.cloud.vm.dao.NicDao;
+
+@Component
+//This will not be a public service anymore, but a helper for the only public 
service
+@Local(value = {NetworkHelperImpl.class})
+public class NetworkHelperImpl implements NetworkHelper {
+
+private static final Logger s_logger = 
Logger.getLo

[07/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
removing bean from the xml


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ea34c11d
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ea34c11d
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ea34c11d

Branch: refs/heads/vpc-refactor
Commit: ea34c11d83e1d3392db53635c40aa40eed6129ac
Parents: 83a2cd9
Author: Wilder Rodrigues 
Authored: Thu Jul 17 09:55:10 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:26 2014 +0200

--
 .../cloudstack/core/spring-server-core-managers-context.xml  | 4 
 1 file changed, 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ea34c11d/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
--
diff --git 
a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
 
b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
index 6459ddb..b6cfa16 100644
--- 
a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
+++ 
b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
@@ -209,10 +209,6 @@
 
 
-
-
-
 
 
 



[15/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Increasing test coverage for Vpc Deployment


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9289f310
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9289f310
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9289f310

Branch: refs/heads/vpc-refactor
Commit: 9289f3109167e29a307cded290f572139d19e62c
Parents: f0cae57
Author: Antonio Fornie 
Authored: Tue Jul 29 09:20:33 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../deployment/RouterDeploymentDefinition.java  |  12 +-
 .../VpcRouterDeploymentDefinition.java  |   4 +-
 .../RouterDeploymentDefinitionTest.java | 201 +++
 .../RouterDeploymentDefinitionTestBase.java |   5 +-
 .../VpcRouterDeploymentDefinitionTest.java  |  65 +-
 5 files changed, 147 insertions(+), 140 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9289f310/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
index 09192d3..c8742be 100644
--- 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
+++ 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
@@ -301,6 +301,12 @@ public class RouterDeploymentDefinition {
 0 : routersExpected - this.routers.size();
 }
 
+protected void setupAccountOwner() {
+if (networkModel.isNetworkSystem(guestNetwork) || 
guestNetwork.getGuestType() == Network.GuestType.Shared) {
+this.owner = accountMgr.getAccount(Account.ACCOUNT_ID_SYSTEM);
+}
+}
+
 /**
  * It executes last pending tasks to prepare the deployment and checks the 
deployment
  * can proceed. If it can't it return false
@@ -308,15 +314,13 @@ public class RouterDeploymentDefinition {
  * @return if the deployment can proceed
  */
 protected boolean prepareDeployment() {
-boolean canProceed = true;
-if (networkModel.isNetworkSystem(guestNetwork) || 
guestNetwork.getGuestType() == Network.GuestType.Shared) {
-this.owner = accountMgr.getAccount(Account.ACCOUNT_ID_SYSTEM);
-}
+this.setupAccountOwner();
 
 // Check if public network has to be set on VR
 this.isPublicNetwork = networkModel.isProviderSupportServiceInNetwork(
 guestNetwork.getId(), Service.SourceNat, 
Provider.VirtualRouter);
 
+boolean canProceed = true;
 if (this.isRedundant && !this.isPublicNetwork) {
 // TODO Shouldn't be this throw an exception instead of log error 
and empty list of routers
 logger.error("Didn't support redundant virtual router without 
public network!");

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9289f310/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
index a1e1bc4..8ec05d6 100644
--- 
a/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
+++ 
b/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
@@ -116,7 +116,7 @@ public class VpcRouterDeploymentDefinition extends 
RouterDeploymentDefinition {
 @Override
 protected int getNumberOfRoutersToDeploy() {
 // TODO Should we make our changes here in order to enable Redundant 
Router for VPC?
-return 1 - this.routers.size();
+return this.routers.isEmpty() ? 1 : 0;
 }
 
 /**
@@ -144,8 +144,6 @@ public class VpcRouterDeploymentDefinition extends 
RouterDeploymentDefinition {
 protected void findVirtualProvider() {
 List pNtwks = 
pNtwkDao.listByZone(vpc.getZoneId());
 
-this.vrProvider = null;
-
 for (PhysicalNetwork pNtwk : pNtwks) {
 PhysicalNetworkServiceProvider provider = 
physicalProviderDao.findByServiceProvider(pNtwk.getId(), 
Type.VPCVirtualRouter.toString());
 if (provider == null) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9289f310/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java
--
diff --git 
a/server/test/org/cloud/network/router/deployment/RouterDeploymentDefinitionTest.java
 
b/server/test/org/cloud/network/router/deployment/RouterDe

[24/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Complete tests for normal deployment and start vpc one

Conflicts:

server/src/org/cloud/network/router/deployment/RouterDeploymentDefinitionBuilder.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/eff9b8d5
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/eff9b8d5
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/eff9b8d5

Branch: refs/heads/vpc-refactor
Commit: eff9b8d5708780db17f2cb506b008b0bb959b557
Parents: 3008ce3
Author: Antonio Fornie 
Authored: Mon Jul 28 08:09:48 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../core/spring-server-core-misc-context.xml|   4 +
 .../spring-server-network-context.xml   |   4 +
 .../network/element/VirtualRouterElement.java   |   2 +-
 .../network/router/NetworkGeneralHelper.java| 255 +--
 .../deployment/RouterDeploymentDefinition.java  | 140 +-
 .../RouterDeploymentDefinitionBuilder.java  |   6 +-
 .../VpcRouterDeploymentDefinition.java  |  93 +--
 .../element/VirtualRouterElementTest.java   |  10 +-
 .../RouterDeploymentDefinitionTest.java | 129 ++
 .../RouterDeploymentDefinitionTestBase.java | 130 ++
 .../VpcRouterDeploymentDefinitionTest.java  |  81 +-
 11 files changed, 510 insertions(+), 344 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eff9b8d5/server/resources/META-INF/cloudstack/core/spring-server-core-misc-context.xml
--
diff --git 
a/server/resources/META-INF/cloudstack/core/spring-server-core-misc-context.xml 
b/server/resources/META-INF/cloudstack/core/spring-server-core-misc-context.xml
index 479dc9c..d3f020e 100644
--- 
a/server/resources/META-INF/cloudstack/core/spring-server-core-misc-context.xml
+++ 
b/server/resources/META-INF/cloudstack/core/spring-server-core-misc-context.xml
@@ -37,6 +37,10 @@
 
 
 
+
+
+
+
 
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eff9b8d5/server/resources/META-INF/cloudstack/server-network/spring-server-network-context.xml
--
diff --git 
a/server/resources/META-INF/cloudstack/server-network/spring-server-network-context.xml
 
b/server/resources/META-INF/cloudstack/server-network/spring-server-network-context.xml
index 553ae44..831ca1f 100644
--- 
a/server/resources/META-INF/cloudstack/server-network/spring-server-network-context.xml
+++ 
b/server/resources/META-INF/cloudstack/server-network/spring-server-network-context.xml
@@ -61,4 +61,8 @@
 
 
 
+
+
+
+
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eff9b8d5/server/src/com/cloud/network/element/VirtualRouterElement.java
--
diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java 
b/server/src/com/cloud/network/element/VirtualRouterElement.java
index 0fd22bd..83153fa 100755
--- a/server/src/com/cloud/network/element/VirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -162,7 +162,7 @@ public class VirtualRouterElement extends AdapterBase 
implements VirtualRouterEl
 NetworkTopologyContext networkTopologyContext;
 
 @Inject
-private RouterDeploymentDefinitionBuilder 
routerDeploymentDefinitionBuilder;
+protected RouterDeploymentDefinitionBuilder 
routerDeploymentDefinitionBuilder;
 
 protected boolean canHandle(final Network network, final Service service) {
 Long physicalNetworkId = _networkMdl.getPhysicalNetworkId(network);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eff9b8d5/server/src/com/cloud/network/router/NetworkGeneralHelper.java
--
diff --git a/server/src/com/cloud/network/router/NetworkGeneralHelper.java 
b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
index dd90bef..314cbc0 100644
--- a/server/src/com/cloud/network/router/NetworkGeneralHelper.java
+++ b/server/src/com/cloud/network/router/NetworkGeneralHelper.java
@@ -17,16 +17,19 @@
 package com.cloud.network.router;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.TreeSet;
 
 import javax.inject.Inject;
 
 import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
 import org.apache.log4j.Logger;
 import org.cloud.network.router.deployment.RouterDeploymentDefinition;
+import org.cloud.network.router.deployment.VpcRouterDeploymentDefinition;
 
 import com.cloud.agent.A

[42/50] [abbrv] refactor all private methods in the virtual router appliance and VPC appliance

2014-10-03 Thread dahn
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bc90ce08/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
--
diff --git 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index db1c9e6..40f95b0 100644
--- 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -21,8 +21,6 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
-import java.util.Collections;
-import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -81,30 +79,11 @@ import com.cloud.agent.api.StartupCommand;
 import com.cloud.agent.api.check.CheckSshCommand;
 import com.cloud.agent.api.routing.AggregationControlCommand;
 import com.cloud.agent.api.routing.AggregationControlCommand.Action;
-import com.cloud.agent.api.routing.CreateIpAliasCommand;
-import com.cloud.agent.api.routing.DeleteIpAliasCommand;
-import com.cloud.agent.api.routing.DhcpEntryCommand;
-import com.cloud.agent.api.routing.DnsMasqConfigCommand;
 import com.cloud.agent.api.routing.GetRouterAlertsCommand;
 import com.cloud.agent.api.routing.IpAliasTO;
-import com.cloud.agent.api.routing.IpAssocCommand;
-import com.cloud.agent.api.routing.LoadBalancerConfigCommand;
 import com.cloud.agent.api.routing.NetworkElementCommand;
-import com.cloud.agent.api.routing.RemoteAccessVpnCfgCommand;
-import com.cloud.agent.api.routing.SetFirewallRulesCommand;
 import com.cloud.agent.api.routing.SetMonitorServiceCommand;
-import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
-import com.cloud.agent.api.routing.SetPortForwardingRulesVpcCommand;
-import com.cloud.agent.api.routing.SetStaticNatRulesCommand;
-import com.cloud.agent.api.routing.VmDataCommand;
-import com.cloud.agent.api.routing.VpnUsersCfgCommand;
-import com.cloud.agent.api.to.DhcpTO;
-import com.cloud.agent.api.to.FirewallRuleTO;
-import com.cloud.agent.api.to.IpAddressTO;
-import com.cloud.agent.api.to.LoadBalancerTO;
 import com.cloud.agent.api.to.MonitorServiceTO;
-import com.cloud.agent.api.to.PortForwardingRuleTO;
-import com.cloud.agent.api.to.StaticNatRuleTO;
 import com.cloud.agent.manager.Commands;
 import com.cloud.alert.AlertManager;
 import com.cloud.api.ApiAsyncJobDispatcher;
@@ -155,8 +134,6 @@ import com.cloud.network.Site2SiteVpnConnection;
 import com.cloud.network.SshKeysDistriMonitor;
 import com.cloud.network.VirtualNetworkApplianceService;
 import com.cloud.network.VirtualRouterProvider;
-import com.cloud.network.VpnUser;
-import com.cloud.network.VpnUserVO;
 import com.cloud.network.addr.PublicIp;
 import com.cloud.network.dao.FirewallRulesDao;
 import com.cloud.network.dao.IPAddressDao;
@@ -189,7 +166,6 @@ import 
com.cloud.network.router.VirtualRouter.RedundantState;
 import com.cloud.network.router.VirtualRouter.Role;
 import com.cloud.network.rules.FirewallRule;
 import com.cloud.network.rules.FirewallRule.Purpose;
-import com.cloud.network.rules.FirewallRuleVO;
 import com.cloud.network.rules.LoadBalancerContainer.Scheme;
 import com.cloud.network.rules.PortForwardingRule;
 import com.cloud.network.rules.RulesManager;
@@ -200,13 +176,11 @@ import com.cloud.network.rules.dao.PortForwardingRulesDao;
 import com.cloud.network.vpn.Site2SiteVpnManager;
 import com.cloud.offering.NetworkOffering;
 import com.cloud.offering.ServiceOffering;
-import com.cloud.offerings.NetworkOfferingVO;
 import com.cloud.offerings.dao.NetworkOfferingDao;
 import com.cloud.resource.ResourceManager;
 import com.cloud.server.ConfigurationServer;
 import com.cloud.service.ServiceOfferingVO;
 import com.cloud.service.dao.ServiceOfferingDao;
-import com.cloud.storage.GuestOSVO;
 import com.cloud.storage.Storage.ProvisioningType;
 import com.cloud.storage.dao.GuestOSDao;
 import com.cloud.storage.dao.VMTemplateDao;
@@ -220,9 +194,7 @@ import com.cloud.user.UserVO;
 import com.cloud.user.dao.UserDao;
 import com.cloud.user.dao.UserStatisticsDao;
 import com.cloud.user.dao.UserStatsLogDao;
-import com.cloud.uservm.UserVm;
 import com.cloud.utils.NumbersUtil;
-import com.cloud.utils.StringUtils;
 import com.cloud.utils.component.ComponentContext;
 import com.cloud.utils.component.ManagerBase;
 import com.cloud.utils.concurrency.NamedThreadFactory;
@@ -247,7 +219,6 @@ import com.cloud.vm.NicProfile;
 import com.cloud.vm.NicVO;
 import com.cloud.vm.ReservationContext;
 import com.cloud.vm.ReservationContextImpl;
-import com.cloud.vm.UserVmVO;
 import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachine.State;
 import com.cloud.vm.VirtualMachineGuru;
@@ -387,6 +358,8 @@ public class VirtualNetworkApplianceManagerImpl extends 
ManagerBase implements V
 @Inject
 protected N

[37/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Fix: VpcRouter has always PublicIp setup as it did before refactoring


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/961e7156
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/961e7156
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/961e7156

Branch: refs/heads/vpc-refactor
Commit: 961e71562bc7621ff7ae9c6d6ba9dd32a58e093a
Parents: a18e01c
Author: Antonio Fornie 
Authored: Wed Aug 27 19:39:53 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../router/deployment/VpcRouterDeploymentDefinition.java| 5 +
 1 file changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/961e7156/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
index 8e8a6ea..acd764b 100644
--- 
a/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
+++ 
b/server/src/org/cloud/network/router/deployment/VpcRouterDeploymentDefinition.java
@@ -71,6 +71,11 @@ public class VpcRouterDeploymentDefinition extends 
RouterDeploymentDefinition {
 }
 
 @Override
+public boolean isPublicNetwork() {
+return true;
+}
+
+@Override
 protected void lock() {
 Vpc vpcLock = vpcDao.acquireInLockTable(vpc.getId());
 if (vpcLock == null) {



[44/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
removing the root password becuase it was breaking the simulator tests. Root 
password must always be empty


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/13ccdcb0
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/13ccdcb0
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/13ccdcb0

Branch: refs/heads/vpc-refactor
Commit: 13ccdcb0ce008661c5d3e0968540bf4a3d1393f5
Parents: 3ba8599
Author: wrodrigues 
Authored: Tue Sep 2 19:36:29 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 utils/conf/db.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/13ccdcb0/utils/conf/db.properties
--
diff --git a/utils/conf/db.properties b/utils/conf/db.properties
index 09a88c3..cdd2909 100644
--- a/utils/conf/db.properties
+++ b/utils/conf/db.properties
@@ -27,7 +27,7 @@ region.id=1
 # CloudStack database settings
 db.cloud.username=cloud
 db.cloud.password=cloud
-db.root.password=changeme
+db.root.password=
 db.cloud.host=localhost
 db.cloud.port=3306
 db.cloud.name=cloud



[12/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
fixing VPC IP Association and ACL rules. Have to rewrite in a better why the 
apply rules method in the Advanced Topology


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6e2cb083
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6e2cb083
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6e2cb083

Branch: refs/heads/vpc-refactor
Commit: 6e2cb083758c4e7f2cbe65d07b41bdedfe0a5d85
Parents: acc3f23
Author: Wilder Rodrigues 
Authored: Fri Jul 18 16:50:47 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:26 2014 +0200

--
 .../VpcVirtualNetworkApplianceManagerImpl.java  |   7 --
 .../cloud/network/rules/NicPlugInOutRules.java  |   2 +-
 .../rules/VirtualNetworkApplianceFactory.java   |   4 +-
 .../network/rules/VpcIpAssociationRules.java|   9 +-
 .../topology/AdvancedNetworkTopology.java   | 110 ++-
 .../topology/AdvancedNetworkVisitor.java|   5 +-
 6 files changed, 116 insertions(+), 21 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6e2cb083/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
--
diff --git 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
index 9d11d12..6a4376c 100644
--- 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
@@ -397,13 +397,6 @@ public class VpcVirtualNetworkApplianceManagerImpl extends 
VirtualNetworkApplian
 return super.finalizeVirtualMachineProfile(profile, dest, context);
 }
 
-protected boolean sendNetworkACLs(final VirtualRouter router, final List rules, final long guestNetworkId, final boolean 
isPrivateGateway)
-throws ResourceUnavailableException {
-Commands cmds = new Commands(Command.OnError.Continue);
-createNetworkACLsCommands(rules, router, cmds, guestNetworkId, 
isPrivateGateway);
-return sendCommandsToRouter(router, cmds);
-}
-
 private void createNetworkACLsCommands(final List rules, final VirtualRouter router, final Commands cmds, final 
long guestNetworkId, final boolean privateGateway) {
 List rulesTO = new ArrayList();
 String guestVlan = null;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6e2cb083/server/src/com/cloud/network/rules/NicPlugInOutRules.java
--
diff --git a/server/src/com/cloud/network/rules/NicPlugInOutRules.java 
b/server/src/com/cloud/network/rules/NicPlugInOutRules.java
index f4be96f..b96e2b1 100644
--- a/server/src/com/cloud/network/rules/NicPlugInOutRules.java
+++ b/server/src/com/cloud/network/rules/NicPlugInOutRules.java
@@ -127,7 +127,7 @@ public class NicPlugInOutRules extends RuleApplier {
 }
 }
 
-// Let the IpAssociationRule call the visitor fot the NicPlugInOutRule
+// The visit will be done from the AdvancedNetworkTopology, after the 
VpcIpAssociation is done.
 return true;
 }
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6e2cb083/server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
--
diff --git 
a/server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java 
b/server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
index 32f61ce..356f3bb 100644
--- a/server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
+++ b/server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
@@ -158,8 +158,8 @@ public class VirtualNetworkApplianceFactory {
 return ipAssociationRules;
 }
 
-public VpcIpAssociationRules createVpcIpAssociationRules(final Network 
network, final List ipAddresses, final 
NicPlugInOutRules nicPlugInOutRules) {
-VpcIpAssociationRules ipAssociationRules = new 
VpcIpAssociationRules(network, ipAddresses, nicPlugInOutRules);
+public VpcIpAssociationRules createVpcIpAssociationRules(final Network 
network, final List ipAddresses) {
+VpcIpAssociationRules ipAssociationRules = new 
VpcIpAssociationRules(network, ipAddresses);
 
 initBeans(ipAssociationRules);
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6e2cb083/server/src/com/cloud/network/rules/VpcIpAssociationRules.java
--
diff --git a/server/src/com/cloud/network/rules/VpcIpAssociationRules.java 
b/server/src/com/cloud/network/rules/VpcIpAssociationRules.java
index bcda360..e3c9be

[10/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
RouterDeployment and VPC. Improving code and Unit Testing


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3f021625
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3f021625
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3f021625

Branch: refs/heads/vpc-refactor
Commit: 3f021625a2c4b6626e6e79ecc870d343bd7186ee
Parents: 7064415
Author: Antonio Fornie 
Authored: Wed Jul 23 07:48:07 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:26 2014 +0200

--
 .../deployment/RouterDeploymentDefinition.java  |  33 +-
 .../RouterDeploymentDefinitionBuilder.java  |   2 +-
 .../VpcRouterDeploymentDefinition.java  |  62 +---
 .../RouterDeploymentDefinitionTest.java | 363 +++
 .../VpcRouterDeploymentDefinitionTest.java  |  52 +++
 5 files changed, 427 insertions(+), 85 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3f021625/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
--
diff --git 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
index 01fc774..a5e3ec7 100644
--- 
a/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
+++ 
b/server/src/org/cloud/network/router/deployment/RouterDeploymentDefinition.java
@@ -129,7 +129,7 @@ public class RouterDeploymentDefinition {
 this.isRedundant = isRedundant;
 }
 
-public void setOffering(ServiceOfferingVO offering) {
+protected void setOffering(ServiceOfferingVO offering) {
 this.offering = offering;
 }
 public Vpc getVpc() {
@@ -138,37 +138,21 @@ public class RouterDeploymentDefinition {
 public Network getGuestNetwork() {
 return guestNetwork;
 }
-public void setGuestNetwork(final Network guestNetwork) {
-this.guestNetwork = guestNetwork;
-}
 public DeployDestination getDest() {
 return dest;
 }
-public void setDest(final DeployDestination dest) {
-this.dest = dest;
-}
 public Account getOwner() {
 return owner;
 }
-public void setOwner(final Account owner) {
-this.owner = owner;
-}
 public Map getParams() {
 return params;
 }
-public void setParams(final Map params) {
-this.params = params;
-}
 public boolean isRedundant() {
 return isRedundant;
 }
-public void setRedundant(final boolean isRedundant) {
-this.isRedundant = isRedundant;
-}
 public DeploymentPlan getPlan() {
 return plan;
 }
-
 public boolean isVpcRouter() {
 return false;
 }
@@ -178,13 +162,9 @@ public class RouterDeploymentDefinition {
 public Long getPodId() {
 return dest.getPod() == null ? null : dest.getPod().getId();
 }
-
 public List getRouters() {
 return routers;
 }
-public void setRouters(List routers) {
-this.routers = routers;
-}
 
 public boolean isBasic() {
 return this.dest.getDataCenter().getNetworkType() == NetworkType.Basic;
@@ -194,7 +174,7 @@ public class RouterDeploymentDefinition {
 return offering == null ? null : offering.getId();
 }
 
-public void generateDeploymentPlan() {
+protected void generateDeploymentPlan() {
 final long dcId = this.dest.getDataCenter().getId();
 Long podId = null;
 if (this.isBasic()) {
@@ -229,7 +209,7 @@ public class RouterDeploymentDefinition {
 this.dest = destination;
 this.planDeploymentRouters();
 this.generateDeploymentPlan();
-this.proceedEffectiveDeployment();
+this.executeDeployment();
 }
 } finally {
 this.unlock();
@@ -284,7 +264,10 @@ public class RouterDeploymentDefinition {
 final long podId = pod.getId();
 final List virtualRouters = 
routerDao.listByPodIdAndStates(podId, VirtualMachine.State.Starting, 
VirtualMachine.State.Running);
 
-assert (virtualRouters.size() <= 1) : "Pod can have utmost one 
VR in Basic Zone, please check!";
+if (virtualRouters.size() > 1) {
+// FIXME Find or create a better and more specific 
exception for this
+throw new CloudRuntimeException("Pod can have utmost one 
VR in Basic Zone, please check!");
+}
 
 // Add virtualRouters to the routers, this avoids the 
situation when
 // all routers are skipped and VirtualRouterElement throws 
exception
@@ -305,7 +288,7 @@ public class Rout

[33/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Adding fixes for the add user data and vpn rules


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7ad7c568
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7ad7c568
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7ad7c568

Branch: refs/heads/vpc-refactor
Commit: 7ad7c568d85ded95d2b4001ad924c0ae85c57697
Parents: 70bd734
Author: Wilder Rodrigues 
Authored: Mon Sep 8 17:30:01 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../cloud/network/element/VpcVirtualRouterElement.java   |  4 ++--
 .../src/com/cloud/network/router/CommandSetupHelper.java | 11 ++-
 .../network/rules/VirtualNetworkApplianceFactory.java|  1 +
 3 files changed, 13 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7ad7c568/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
--
diff --git a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java 
b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
index b6b5ccf..4a29fd1 100644
--- a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
@@ -576,8 +576,8 @@ public class VpcVirtualRouterElement extends 
VirtualRouterElement implements Vpc
 return null;
 }
 
-Network network = _networkDao.findById(vpn.getNetworkId());
-DataCenterVO dcVO = _dcDao.findById(network.getDataCenterId());
+Vpc vpc = _entityMgr.findById(Vpc.class, vpn.getVpcId());
+DataCenterVO dcVO = _dcDao.findById(vpc.getZoneId());
 NetworkTopology networkTopology = 
networkTopologyContext.retrieveNetworkTopology(dcVO);
 
 return networkTopology.applyVpnUsers(vpn, users, routers.get(0));

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7ad7c568/server/src/com/cloud/network/router/CommandSetupHelper.java
--
diff --git a/server/src/com/cloud/network/router/CommandSetupHelper.java 
b/server/src/com/cloud/network/router/CommandSetupHelper.java
index 92a3bb1..df5ad48 100644
--- a/server/src/com/cloud/network/router/CommandSetupHelper.java
+++ b/server/src/com/cloud/network/router/CommandSetupHelper.java
@@ -657,8 +657,17 @@ public class CommandSetupHelper {
 
 final IpAddress ip = _networkModel.getIp(vpn.getServerAddressId());
 
+// This block is needed due to the line 206 of the
+// RemoteAccessVpnManagenerImpl:
+// TODO: assumes one virtual network / domr per account per zone
+final String cidr;
 final Network network = _networkDao.findById(vpn.getNetworkId());
-final String cidr = network.getCidr();
+if (network == null) {
+Vpc vpc = _vpcDao.findById(vpn.getVpcId());
+cidr = vpc.getCidr();
+} else {
+cidr = network.getCidr();
+}
 
 final RemoteAccessVpnCfgCommand startVpnCmd = new 
RemoteAccessVpnCfgCommand(isCreate, ip.getAddress().addr(), vpn.getLocalIp(), 
vpn.getIpRange(),
 vpn.getIpsecPresharedKey(), vpn.getVpcId() != null);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7ad7c568/server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
--
diff --git 
a/server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java 
b/server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
index a1944e0..5a551f0 100644
--- a/server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
+++ b/server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
@@ -273,6 +273,7 @@ public class VirtualNetworkApplianceFactory {
 AdvancedVpnRules vpnRules = new AdvancedVpnRules(remoteAccessVpn, 
users);
 
 initBeans(vpnRules);
+vpnRules._vpcDao = _vpcDao;
 
 return vpnRules;
 }



[06/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
adding new bean to spring context file; renaming package from "com" to "org"


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6852f312
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6852f312
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6852f312

Branch: refs/heads/vpc-refactor
Commit: 6852f312716fe400483714662e5589994517ccb7
Parents: ea34c11
Author: Wilder Rodrigues 
Authored: Thu Jul 17 10:00:02 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:26 2014 +0200

--
 .../spring-server-core-managers-context.xml |   3 +
 .../network/element/VirtualRouterElement.java   |   4 +-
 .../element/VpcVirtualRouterElement.java|  81 +--
 .../network/router/NetworkGeneralHelper.java|   2 +-
 .../VirtualNetworkApplianceManagerImpl.java |   2 +-
 .../deployment/RouterDeploymentDefinition.java  | 530 ---
 .../RouterDeploymentDefinitionBuilder.java  | 188 ---
 .../VpcRouterDeploymentDefinition.java  | 241 -
 .../deployment/RouterDeploymentDefinition.java  | 530 +++
 .../RouterDeploymentDefinitionBuilder.java  | 188 +++
 .../VpcRouterDeploymentDefinition.java  | 241 +
 11 files changed, 1009 insertions(+), 1001 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6852f312/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
--
diff --git 
a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
 
b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
index b6cfa16..37004d2 100644
--- 
a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
+++ 
b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
@@ -209,6 +209,9 @@
 
 
+
+
 
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6852f312/server/src/com/cloud/network/element/VirtualRouterElement.java
--
diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java 
b/server/src/com/cloud/network/element/VirtualRouterElement.java
index 0ea6c18..4481a20 100755
--- a/server/src/com/cloud/network/element/VirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -34,6 +34,8 @@ import 
org.apache.cloudstack.framework.config.dao.ConfigurationDao;
 import org.apache.cloudstack.network.topology.NetworkTopology;
 import org.apache.cloudstack.network.topology.NetworkTopologyContext;
 import org.apache.log4j.Logger;
+import org.cloud.network.router.deployment.RouterDeploymentDefinition;
+import org.cloud.network.router.deployment.RouterDeploymentDefinitionBuilder;
 
 import com.cloud.agent.api.to.LoadBalancerTO;
 import com.cloud.configuration.ConfigurationManager;
@@ -75,8 +77,6 @@ import com.cloud.network.lb.LoadBalancingRulesManager;
 import com.cloud.network.router.VirtualRouter;
 import com.cloud.network.router.VirtualRouter.Role;
 import com.cloud.network.router.VpcVirtualNetworkApplianceManager;
-import com.cloud.network.router.deployment.RouterDeploymentDefinition;
-import com.cloud.network.router.deployment.RouterDeploymentDefinitionBuilder;
 import com.cloud.network.rules.FirewallRule;
 import com.cloud.network.rules.LbStickinessMethod;
 import com.cloud.network.rules.LbStickinessMethod.StickinessMethodType;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6852f312/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
--
diff --git a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java 
b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
index 77346c8..c1bfb9f 100644
--- a/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VpcVirtualRouterElement.java
@@ -24,9 +24,13 @@ import java.util.Set;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import org.apache.cloudstack.network.topology.NetworkTopology;
 import org.apache.log4j.Logger;
+import org.cloud.network.router.deployment.RouterDeploymentDefinition;
+import org.cloud.network.router.deployment.RouterDeploymentDefinitionBuilder;
 
 import com.cloud.dc.DataCenter;
+import com.cloud.dc.DataCenterVO;
 import com.cloud.deploy.DeployDestination;
 import com.cloud.exception.ConcurrentOperationException;
 import com.cloud.exception.InsufficientCapacityException;
@@ -50,8 +54,6 @@ import com.cloud.network.dao.Site2SiteVpnGatewayDao;
 import com.cloud.network.router.VirtualRouter;
 import com.cloud.network.router.V

[39/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Missing license headers


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/085bbb71
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/085bbb71
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/085bbb71

Branch: refs/heads/vpc-refactor
Commit: 085bbb71b2cbe786d883132c932c1885d96fdfb0
Parents: 8061c5c
Author: Antonio Fornie 
Authored: Thu Aug 21 03:45:45 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../src/com/cloud/network/router/NetworkHelper.java | 16 
 .../com/cloud/network/router/NicProfileHelper.java  | 16 
 2 files changed, 32 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/085bbb71/server/src/com/cloud/network/router/NetworkHelper.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelper.java 
b/server/src/com/cloud/network/router/NetworkHelper.java
index 01beb91..5cfae8e 100644
--- a/server/src/com/cloud/network/router/NetworkHelper.java
+++ b/server/src/com/cloud/network/router/NetworkHelper.java
@@ -1,3 +1,19 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
 package com.cloud.network.router;
 
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/085bbb71/server/src/com/cloud/network/router/NicProfileHelper.java
--
diff --git a/server/src/com/cloud/network/router/NicProfileHelper.java 
b/server/src/com/cloud/network/router/NicProfileHelper.java
index e75fa9a..12f3038 100644
--- a/server/src/com/cloud/network/router/NicProfileHelper.java
+++ b/server/src/com/cloud/network/router/NicProfileHelper.java
@@ -1,3 +1,19 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
 package com.cloud.network.router;
 
 import com.cloud.network.Network;



[30/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
fix dhcp subnet rules. we can create VMs again.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/bb66060c
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/bb66060c
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/bb66060c

Branch: refs/heads/vpc-refactor
Commit: bb66060c4046e1b4c030ac3dec3e94c77fbf0052
Parents: 34f2863
Author: wrodrigues 
Authored: Sat Aug 23 14:10:46 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:28 2014 +0200

--
 .../cloud/network/rules/DhcpSubNetRules.java| 39 +---
 1 file changed, 17 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bb66060c/server/src/com/cloud/network/rules/DhcpSubNetRules.java
--
diff --git a/server/src/com/cloud/network/rules/DhcpSubNetRules.java 
b/server/src/com/cloud/network/rules/DhcpSubNetRules.java
index 37b3857..ec99f44 100644
--- a/server/src/com/cloud/network/rules/DhcpSubNetRules.java
+++ b/server/src/com/cloud/network/rules/DhcpSubNetRules.java
@@ -73,17 +73,20 @@ public class DhcpSubNetRules extends RuleApplier {
 final UserVmVO vm = _userVmDao.findById(_profile.getId());
 _userVmDao.loadDetails(vm);
 
-//check if this is not the primary subnet.
-final NicVO domr_guest_nic =
-_nicDao.findByInstanceIdAndIpAddressAndVmtype(router.getId(), 
_nicDao.getIpAddress(_nic.getNetworkId(), router.getId()), 
VirtualMachine.Type.DomainRouter);
-//check if the router ip address and the vm ip address belong to same 
subnet.
-//if they do not belong to same netwoek check for the alias ips. if 
not create one.
-// This should happen only in case of Basic and Advanced SG enabled 
networks.
+// check if this is not the primary subnet.
+final NicVO domr_guest_nic = 
_nicDao.findByInstanceIdAndIpAddressAndVmtype(router.getId(), 
_nicDao.getIpAddress(_nic.getNetworkId(), router.getId()),
+VirtualMachine.Type.DomainRouter);
+// check if the router ip address and the vm ip address belong to same
+// subnet.
+// if they do not belong to same netwoek check for the alias ips. if 
not
+// create one.
+// This should happen only in case of Basic and Advanced SG enabled
+// networks.
 if (!NetUtils.sameSubnet(domr_guest_nic.getIp4Address(), 
_nic.getIp4Address(), _nic.getNetmask())) {
 final List aliasIps = 
_nicIpAliasDao.listByNetworkIdAndState(domr_guest_nic.getNetworkId(), 
NicIpAlias.state.active);
 boolean ipInVmsubnet = false;
 for (final NicIpAliasVO alias : aliasIps) {
-//check if any of the alias ips belongs to the Vm's subnet.
+// check if any of the alias ips belongs to the Vm's subnet.
 if (NetUtils.sameSubnet(alias.getIp4Address(), 
_nic.getIp4Address(), _nic.getNetmask())) {
 ipInVmsubnet = true;
 break;
@@ -94,7 +97,7 @@ public class DhcpSubNetRules extends RuleApplier {
 final DataCenter dc = _dcDao.findById(router.getDataCenterId());
 if (ipInVmsubnet == false) {
 try {
-if (_network.getTrafficType() == TrafficType.Guest && 
_network.getGuestType() == GuestType.Shared) {
+if ((_network.getTrafficType() == TrafficType.Guest) && 
(_network.getGuestType() == GuestType.Shared)) {
 _podDao.findById(vm.getPodIdToDeployIn());
 final Account caller = 
CallContext.current().getCallingAccount();
 final List vlanList = 
_vlanDao.listVlansByNetworkIdAndGateway(_network.getId(), _nic.getGateway());
@@ -103,13 +106,11 @@ public class DhcpSubNetRules extends RuleApplier {
 vlanDbIdList.add(vlan.getId());
 }
 if (dc.getNetworkType() == NetworkType.Basic) {
-routerPublicIP =
-
_ipAddrMgr.assignPublicIpAddressFromVlans(router.getDataCenterId(), 
vm.getPodIdToDeployIn(), caller, Vlan.VlanType.DirectAttached,
-vlanDbIdList, _nic.getNetworkId(), 
null, false);
+routerPublicIP = 
_ipAddrMgr.assignPublicIpAddressFromVlans(router.getDataCenterId(), 
vm.getPodIdToDeployIn(), caller, Vlan.VlanType.DirectAttached,
+vlanDbIdList, _nic.getNetworkId(), null, 
false);
 } else {
-routerPublicIP =
-
_ipAddrMgr.assignPublicIpAddressFromVlans(router.getDataC

[25/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Refactor and test NetworkHelper#sendCommandsToRouterWithNoAnswers


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8061c5ca
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8061c5ca
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8061c5ca

Branch: refs/heads/vpc-refactor
Commit: 8061c5cadbbda6ce51b30d55ca36de7efe35b961
Parents: 51ce935
Author: Antonio Fornie 
Authored: Thu Aug 21 03:31:02 2014 -0500
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:27 2014 +0200

--
 .../spring-server-core-managers-context.xml |   3 -
 .../cloud/network/router/NetworkHelperImpl.java |  18 +--
 .../network/router/RouterControlHelper.java |   2 +-
 .../VpcVirtualNetworkApplianceManagerImpl.java  |   8 +-
 .../topology/AdvancedNetworkTopology.java   |   1 +
 .../network/topology/BasicNetworkTopology.java  |   1 +
 .../network/router/NetworkHelperImplTest.java   | 156 +++
 .../network/router/RouterControlHelperTest.java | 105 +
 8 files changed, 274 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8061c5ca/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
--
diff --git 
a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
 
b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
index 2b46ca3..7a9044b 100644
--- 
a/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
+++ 
b/server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml
@@ -206,9 +206,6 @@
 
 
-
-
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8061c5ca/server/src/com/cloud/network/router/NetworkHelperImpl.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelperImpl.java 
b/server/src/com/cloud/network/router/NetworkHelperImpl.java
index ece0c0f..689ef3b 100644
--- a/server/src/com/cloud/network/router/NetworkHelperImpl.java
+++ b/server/src/com/cloud/network/router/NetworkHelperImpl.java
@@ -195,22 +195,16 @@ public class NetworkHelperImpl implements NetworkHelper {
 throw new AgentUnavailableException("Unable to send commands to 
virtual router ", router.getHostId(), e);
 }
 
-if (answers == null) {
-return false;
-}
-
-if (answers.length != cmds.size()) {
+if (answers == null || answers.length != cmds.size()) {
 return false;
 }
 
 // FIXME: Have to return state for individual command in the future
 boolean result = true;
-if (answers.length > 0) {
-for (final Answer answer : answers) {
-if (!answer.getResult()) {
-result = false;
-break;
-}
+for (final Answer answer : answers) {
+if (!answer.getResult()) {
+result = false;
+break;
 }
 }
 return result;
@@ -253,7 +247,7 @@ public class NetworkHelperImpl implements NetworkHelper {
 final int connRouterPR = getRealPriority(connectedRouter);
 final int disconnRouterPR = getRealPriority(disconnectedRouter);
 if (connRouterPR < disconnRouterPR) {
-//connRouterPR < disconnRouterPR, they won't equal at anytime
+//connRouterPR < disconnRouterPR, they won't equal at any time
 if (!connectedRouter.getIsPriorityBumpUp()) {
 final BumpUpPriorityCommand command = new 
BumpUpPriorityCommand();
 command.setAccessDetail(NetworkElementCommand.ROUTER_IP, 
getRouterControlIp(connectedRouter.getId()));

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8061c5ca/server/src/com/cloud/network/router/RouterControlHelper.java
--
diff --git a/server/src/com/cloud/network/router/RouterControlHelper.java 
b/server/src/com/cloud/network/router/RouterControlHelper.java
index 583bd58..68fd6e3 100644
--- a/server/src/com/cloud/network/router/RouterControlHelper.java
+++ b/server/src/com/cloud/network/router/RouterControlHelper.java
@@ -35,7 +35,7 @@ public class RouterControlHelper {
 private static final Logger logger = 
Logger.getLogger(RouterControlHelper.class);
 
 @Inject
-private final DomainRouterDao routerDao = null;
+private DomainRouterDao routerDao;
 
 @Inject
 private NetworkDao networkDao;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8061c5ca/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManag

[45/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
CLOUDSTACK-6278 Baremetal Advanced Networking support from commit id 
e06fa18ed2ee2ee6a417e089cf5ac6bde11d0079 by Frank Zhang

Conflicts:
server/src/com/cloud/network/router/NetworkHelperImpl.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/fb558516
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/fb558516
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/fb558516

Branch: refs/heads/vpc-refactor
Commit: fb5585161425f0fd0eac4a5b283b9e8568cae886
Parents: 53703c9
Author: wrodrigues 
Authored: Thu Sep 11 22:17:02 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:29 2014 +0200

--
 .../cloud/network/router/NetworkHelperImpl.java | 35 +++-
 1 file changed, 12 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fb558516/server/src/com/cloud/network/router/NetworkHelperImpl.java
--
diff --git a/server/src/com/cloud/network/router/NetworkHelperImpl.java 
b/server/src/com/cloud/network/router/NetworkHelperImpl.java
index f589394..5acad2c 100644
--- a/server/src/com/cloud/network/router/NetworkHelperImpl.java
+++ b/server/src/com/cloud/network/router/NetworkHelperImpl.java
@@ -30,7 +30,6 @@ import javax.inject.Inject;
 
 import 
org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService;
 import org.apache.cloudstack.framework.config.ConfigKey;
-import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
 import org.apache.log4j.Logger;
 import org.cloud.network.router.deployment.RouterDeploymentDefinition;
 
@@ -41,7 +40,6 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
 import com.cloud.agent.api.to.NicTO;
 import com.cloud.agent.manager.Commands;
 import com.cloud.alert.AlertManager;
-import com.cloud.configuration.Config;
 import com.cloud.dc.ClusterVO;
 import com.cloud.dc.DataCenter;
 import com.cloud.dc.Pod;
@@ -148,8 +146,6 @@ public class NetworkHelperImpl implements NetworkHelper {
 @Inject
 private RouterControlHelper _routerControlHelper;
 @Inject
-private ConfigurationDao _configDao;
-@Inject
 protected NetworkOrchestrationService _networkMgr;
 
 protected final Map> hypervisorsMap = 
new HashMap<>();
@@ -481,30 +477,23 @@ public class NetworkHelperImpl implements NetworkHelper {
 return result;
 }
 
-protected String retrieveTemplateName(HypervisorType hType, final long 
datacenterId) {
+protected String retrieveTemplateName(final HypervisorType hType, final 
long datacenterId) {
+String templateName = null;
+
 if (hType == HypervisorType.BareMetal) {
-String peerHvType = 
_configDao.getValue(Config.BaremetalPeerHypervisorType.key());
-if (peerHvType == null) {
-throw new CloudRuntimeException(String.format("To use 
baremetal in advanced networking, you must set %s to type of hypervisor(e.g 
XenServer)"
-+ " that exists in the same zone with baremetal host. 
That hyperivsor is used to spring up virtual router for baremetal instance",
-Config.BaremetalPeerHypervisorType.key()));
-}
+ConfigKey hypervisorConfigKey = 
hypervisorsMap.get(HypervisorType.VMware);
+templateName = hypervisorConfigKey.valueIn(datacenterId);
+} else {
+// Returning NULL is fine because the simulator will need it when
+// being used instead of a real hypervisor.
+// The hypervisorsMap contains only real hypervisors.
+ConfigKey hypervisorConfigKey = hypervisorsMap.get(hType);
 
-hType = HypervisorType.getType(peerHvType);
-if (HypervisorType.XenServer != hType && HypervisorType.KVM != 
hType && HypervisorType.VMware != hType) {
-throw new CloudRuntimeException(String.format("Baremetal only 
supports peer hypervisor(XenServer/KVM/VMWare) right now, you specified %s", 
peerHvType));
+if (hypervisorConfigKey != null) {
+templateName = hypervisorConfigKey.valueIn(datacenterId);
 }
 }
 
-// Returning NULL is fine because the simulator will need it when being
-// used instead of a real hypervisor.
-// The hypervisorsMap contains only real hypervisors.
-String templateName = null;
-ConfigKey hypervisorConfigKey = hypervisorsMap.get(hType);
-
-if (hypervisorConfigKey != null) {
-templateName = hypervisorConfigKey.valueIn(datacenterId);
-}
 return templateName;
 }
 



git commit: CLOUDSTACK-7670: Avoid color output when non-interactive

2014-10-03 Thread bhaisaab
Repository: cloudstack-cloudmonkey
Updated Branches:
  refs/heads/master 6153b8f86 -> b4bf97c38


CLOUDSTACK-7670: Avoid color output when non-interactive

Signed-off-by: Rohit Yadav 


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/b4bf97c3
Tree: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/b4bf97c3
Diff: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/b4bf97c3

Branch: refs/heads/master
Commit: b4bf97c38dbf1c7a7389938b68547d93e9c3684e
Parents: 6153b8f
Author: Rohit Yadav 
Authored: Fri Oct 3 13:10:55 2014 +0200
Committer: Rohit Yadav 
Committed: Fri Oct 3 13:10:55 2014 +0200

--
 cloudmonkey/cloudmonkey.py | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/b4bf97c3/cloudmonkey/cloudmonkey.py
--
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index 549d653..3e67f5d 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -590,6 +590,7 @@ def main():
 shell.set_attr("display", args.displayType)
 
 if len(args.commands) > 0:
+shell.set_attr("color", "false")
 shell.onecmd(" ".join(map(lambda x: x.replace("\\ ", " ")
  .replace(" ", "\\ "),
   args.commands)))



[48/50] [abbrv] git commit: updated refs/heads/vpc-refactor to a8cb7c1

2014-10-03 Thread dahn
Applying the latest chances from the VPC Refactor branch onto the new one.

We will keep this branch as clean as possible to avoid problems with merge.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f79e7cdc
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f79e7cdc
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f79e7cdc

Branch: refs/heads/vpc-refactor
Commit: f79e7cdcffdb75487b4426ce43f8a4bf0bc09765
Parents: fb55851
Author: Wilder Rodrigues 
Authored: Mon Sep 29 16:14:34 2014 +0200
Committer: Wilder Rodrigues 
Committed: Fri Oct 3 06:21:29 2014 +0200

--
 .../network/element/VirtualRouterElement.java   |  10 +-
 .../network/router/CommandSetupHelper.java  |  19 +-
 .../cloud/network/router/NetworkHelperImpl.java |  64 ++---
 .../VpcVirtualNetworkApplianceManager.java  |  13 +-
 .../com/cloud/network/rules/BasicVpnRules.java  |  48 
 .../com/cloud/network/rules/DhcpEntryRules.java |   8 +-
 .../com/cloud/network/rules/DhcpPvlanRules.java |  67 ++
 .../src/com/cloud/network/rules/DhcpRules.java  |  67 --
 .../cloud/network/rules/LoadBalancingRules.java |   3 +-
 .../rules/VirtualNetworkApplianceFactory.java   |   8 +-
 .../src/com/cloud/network/rules/VpnRules.java   |  48 
 .../topology/AdvancedNetworkTopology.java   |  22 +-
 .../topology/AdvancedNetworkVisitor.java|  25 +-
 .../network/topology/BasicNetworkTopology.java  |  32 ++-
 .../network/topology/BasicNetworkVisitor.java   |  50 +++-
 .../network/topology/NetworkTopology.java   |  23 +-
 .../topology/NetworkTopologyVisitor.java|  33 +--
 .../deployment/RouterDeploymentDefinition.java  | 232 +--
 .../RouterDeploymentDefinitionBuilder.java  |  17 +-
 .../VpcRouterDeploymentDefinition.java  |  46 ++--
 .../VirtualNetworkApplianceManagerImplTest.java |  59 -
 .../MockVpcVirtualNetworkApplianceManager.java  |  16 +-
 22 files changed, 387 insertions(+), 523 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f79e7cdc/server/src/com/cloud/network/element/VirtualRouterElement.java
--
diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java 
b/server/src/com/cloud/network/element/VirtualRouterElement.java
index 83153fa..546aab4 100755
--- a/server/src/com/cloud/network/element/VirtualRouterElement.java
+++ b/server/src/com/cloud/network/element/VirtualRouterElement.java
@@ -717,11 +717,14 @@ public class VirtualRouterElement extends AdapterBase 
implements VirtualRouterEl
 
 VirtualMachineProfile uservm = vm;
 
+DataCenterVO dcVO = _dcDao.findById(network.getDataCenterId());
+NetworkTopology networkTopology = 
networkTopologyContext.retrieveNetworkTopology(dcVO);
+
 // If any router is running then send save password command otherwise
 // save the password in DB
 for (VirtualRouter router : routers) {
 if (router.getState() == State.Running) {
-return _routerMgr.savePasswordToRouter(network, nic, uservm, 
routers);
+return networkTopology.savePasswordToRouter(network, nic, 
uservm, routers);
 }
 }
 String password = (String) 
uservm.getParameter(VirtualMachineProfile.Param.VmPassword);
@@ -735,10 +738,7 @@ public class VirtualRouterElement extends AdapterBase 
implements VirtualRouterEl
 userVmVO.setUpdateParameters(true);
 _userVmDao.update(userVmVO.getId(), userVmVO);
 
-DataCenterVO dcVO = _dcDao.findById(network.getDataCenterId());
-NetworkTopology networkTopology = 
networkTopologyContext.retrieveNetworkTopology(dcVO);
-
-return networkTopology.savePasswordToRouter(network, nic, uservm, 
routers);
+return true;
 }
 
 @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f79e7cdc/server/src/com/cloud/network/router/CommandSetupHelper.java
--
diff --git a/server/src/com/cloud/network/router/CommandSetupHelper.java 
b/server/src/com/cloud/network/router/CommandSetupHelper.java
index df5ad48..7ef04ad 100644
--- a/server/src/com/cloud/network/router/CommandSetupHelper.java
+++ b/server/src/com/cloud/network/router/CommandSetupHelper.java
@@ -107,6 +107,8 @@ import com.cloud.offering.NetworkOffering;
 import com.cloud.offerings.NetworkOfferingVO;
 import com.cloud.offerings.dao.NetworkOfferingDao;
 import com.cloud.service.dao.ServiceOfferingDao;
+import com.cloud.storage.GuestOSVO;
+import com.cloud.storage.dao.GuestOSDao;
 import com.cloud.user.Account;
 import com.cloud.uservm.UserVm;
 import com.cloud.utils.Pair;
@@ -173,6 +175,8 @@ public class CommandSetupHelper {
 privat

[3/3] git commit: requester: write to standard err if API fails

2014-10-03 Thread bhaisaab
requester: write to standard err if API fails

Signed-off-by: Rohit Yadav 


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/76bc92b5
Tree: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/76bc92b5
Diff: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/76bc92b5

Branch: refs/heads/master
Commit: 76bc92b59061290511d5ecf7eba1afb23508702b
Parents: 0981f6c
Author: Rohit Yadav 
Authored: Fri Oct 3 14:08:09 2014 +0200
Committer: Rohit Yadav 
Committed: Fri Oct 3 14:08:09 2014 +0200

--
 cloudmonkey/requester.py | 15 ++-
 1 file changed, 10 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/76bc92b5/cloudmonkey/requester.py
--
diff --git a/cloudmonkey/requester.py b/cloudmonkey/requester.py
index 210b377..8e5e211 100644
--- a/cloudmonkey/requester.py
+++ b/cloudmonkey/requester.py
@@ -41,6 +41,11 @@ def logger_debug(logger, message):
 logger.debug(message)
 
 
+def writeError(msg):
+sys.stderr.write(msg)
+print msg
+
+
 def login(url, username, password):
 """
 Login and obtain a session to be used for subsequent API calls
@@ -60,18 +65,18 @@ def login(url, username, password):
 try:
 resp = session.post(url, params=args)
 except requests.exceptions.ConnectionError, e:
-print "Connection refused by server"
+writeError("Connection refused by server: %s" % e)
 return None, None
 
 if resp.status_code == 200:
 sessionkey = resp.json()['loginresponse']['sessionkey']
 elif resp.status_code == 405:
-print "Method not allowed, unauthorized access on URL: %s" % url
+writeError("Method not allowed, unauthorized access on URL: %s" % url)
 session = None
 sessionkey = None
 elif resp.status_code == 531:
-print "Error authenticating at %s, with username: %s" \
-  ", and password: %s" % (url, username, password)
+writeError("Error authenticating at %s using username: %s" \
+  ", and password: %s" % (url, username, password))
 session = None
 sessionkey = None
 else:
@@ -220,7 +225,7 @@ def monkeyrequest(command, args, isasync, asyncblock, 
logger, url,
 response = json.loads(str(response))
 except ValueError, e:
 logger_debug(logger, "Error processing json: %s" % e)
-print "Error processing json:", str(e)
+writeError("Error processing json: %s" % e)
 response = None
 error = e
 return response



[1/3] git commit: cloudmonkey: on error monkeyprint to stderr

2014-10-03 Thread bhaisaab
Repository: cloudstack-cloudmonkey
Updated Branches:
  refs/heads/master b4bf97c38 -> 76bc92b59


cloudmonkey: on error monkeyprint to stderr

Signed-off-by: Rohit Yadav 


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/3d081964
Tree: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/3d081964
Diff: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/3d081964

Branch: refs/heads/master
Commit: 3d081964ba52552db2265a5c65465e3a5817051b
Parents: b4bf97c
Author: Rohit Yadav 
Authored: Fri Oct 3 13:24:46 2014 +0200
Committer: Rohit Yadav 
Committed: Fri Oct 3 13:24:46 2014 +0200

--
 cloudmonkey/cloudmonkey.py | 2 +-
 cloudmonkey/printer.py | 5 -
 2 files changed, 5 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/3d081964/cloudmonkey/cloudmonkey.py
--
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index 3e67f5d..886381e 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -329,7 +329,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
 self.print_result(result[responsekey], field_filter)
 print
 except Exception as e:
-self.monkeyprint("🙈  Error on parsing and printing", e)
+self.monkeyprint("Error on parsing and printing", e)
 
 def completedefault(self, text, line, begidx, endidx):
 partitions = line.partition(" ")

http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/3d081964/cloudmonkey/printer.py
--
diff --git a/cloudmonkey/printer.py b/cloudmonkey/printer.py
index 6fe324f..e548d2c 100644
--- a/cloudmonkey/printer.py
+++ b/cloudmonkey/printer.py
@@ -116,4 +116,7 @@ def monkeyprint(text):
 lexer = MonkeyLexer()
 lexer.encoding = 'utf-8'
 fmter.encoding = 'utf-8'
-highlight(text, lexer, fmter, sys.stdout)
+if text.startswith("Error"):
+highlight(text, lexer, fmter, sys.stderr)
+else:
+highlight(text, lexer, fmter, sys.stdout)



[2/3] git commit: cloudmonkey: autocompletion for set/option values

2014-10-03 Thread bhaisaab
cloudmonkey: autocompletion for set/option values

Signed-off-by: Rohit Yadav 


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/0981f6c8
Tree: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/0981f6c8
Diff: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/0981f6c8

Branch: refs/heads/master
Commit: 0981f6c82c93e252c2a6c0c44fbec9e8540d2c7f
Parents: 3d08196
Author: Rohit Yadav 
Authored: Fri Oct 3 14:03:02 2014 +0200
Committer: Rohit Yadav 
Committed: Fri Oct 3 14:03:02 2014 +0200

--
 cloudmonkey/cloudmonkey.py | 20 
 cloudmonkey/config.py  | 14 ++
 2 files changed, 26 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/0981f6c8/cloudmonkey/cloudmonkey.py
--
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index 886381e..6801cef 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -71,6 +71,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
  ". Type help or ? to list commands.\n")
 ruler = "="
 config_options = []
+profile_names = []
 verbs = []
 prompt = "🐵 > "
 protocol = "http"
@@ -446,10 +447,21 @@ class CloudMonkeyShell(cmd.Cmd, object):
 print
 
 def complete_set(self, text, line, begidx, endidx):
-mline = line.partition(" ")[2]
-offs = len(mline) - len(text)
-return [s[offs:] for s in self.config_options
-if s.startswith(mline)]
+mline = line.partition(" ")[2].lstrip().partition(" ")
+option = mline[0].strip()
+separator = mline[1]
+value = mline[2].lstrip()
+if separator == "":
+return [s for s in self.config_options if s.startswith(option)]
+elif option == "profile":
+return [s for s in self.profile_names if s.startswith(value)]
+elif option == "display":
+return [s for s in ["default", "table", "json"]
+if s.startswith(value)]
+elif option == "asyncblock" or option == "color":
+return [s for s in ["true", "false"] if s.startswith(value)]
+
+return []
 
 def do_login(self, args):
 """

http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/0981f6c8/cloudmonkey/config.py
--
diff --git a/cloudmonkey/config.py b/cloudmonkey/config.py
index 6880c1a..3336274 100644
--- a/cloudmonkey/config.py
+++ b/cloudmonkey/config.py
@@ -16,7 +16,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-__version__ = "5.2.0"
+__version__ = "5.3.0"
 __description__ = "Command Line Interface for Apache CloudStack"
 __maintainer__ = "The Apache CloudStack Team"
 __maintaineremail__ = "d...@cloudstack.apache.org"
@@ -69,8 +69,10 @@ default_profile['password'] = 'password'
 default_profile['apikey'] = ''
 default_profile['secretkey'] = ''
 
+
 def write_config(get_attr, config_file):
-global config_fields, mandatory_sections, default_profile, 
default_profile_name
+global config_fields, mandatory_sections
+global default_profile, default_profile_name
 config = ConfigParser()
 if os.path.exists(config_file):
 try:
@@ -128,7 +130,8 @@ def write_config(get_attr, config_file):
 
 
 def read_config(get_attr, set_attr, config_file):
-global config_fields, config_dir, mandatory_sections, default_profile, 
default_profile_name
+global config_fields, config_dir, mandatory_sections
+global default_profile, default_profile_name
 if not os.path.exists(config_dir):
 os.makedirs(config_dir)
 
@@ -155,8 +158,11 @@ def read_config(get_attr, set_attr, config_file):
 print "Server profile cannot be", profile
 sys.exit(1)
 
+set_attr("profile_names", filter(lambda x: x != "core" and x != "ui",
+ config.sections()))
+
 if not config.has_section(profile):
-print "Selected profile (%s) does not exit, will use the defaults" % 
profile
+print "Selected profile (%s) does not exist, using defaults" % profile
 try:
 config.add_section(profile)
 except ValueError, e:



git commit: cloudmonkey: strip strings in setting config options

2014-10-03 Thread bhaisaab
Repository: cloudstack-cloudmonkey
Updated Branches:
  refs/heads/master 76bc92b59 -> 0ae940815


cloudmonkey: strip strings in setting config options

Signed-off-by: Rohit Yadav 


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/0ae94081
Tree: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/0ae94081
Diff: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/0ae94081

Branch: refs/heads/master
Commit: 0ae9408150dd2feb91a3969c3509a18731351555
Parents: 76bc92b
Author: Rohit Yadav 
Authored: Fri Oct 3 14:14:42 2014 +0200
Committer: Rohit Yadav 
Committed: Fri Oct 3 14:14:42 2014 +0200

--
 cloudmonkey/cloudmonkey.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/0ae94081/cloudmonkey/cloudmonkey.py
--
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index 6801cef..2d88786 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -423,7 +423,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
 set log_file /var/log/cloudmonkey.log
 """
 args = args.strip().partition(" ")
-key, value = (args[0], args[2])
+key, value = (args[0].strip(), args[2].strip())
 if not key:
 return
 if not value:
@@ -441,7 +441,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
 read_config(self.get_attr, self.set_attr, self.config_file)
 self.init_credential_store()
 if key.strip() == 'profile':
-print "\nLoaded server profile '%s' with options:" % key
+print "\nLoaded server profile '%s' with options:" % value
 for option in default_profile.keys():
 print "%s = %s" % (option, self.get_attr(option))
 print



git commit: cloudmonkey: have filter applicable for list outputs as well

2014-10-03 Thread bhaisaab
Repository: cloudstack-cloudmonkey
Updated Branches:
  refs/heads/master 0ae940815 -> ad69d2b9b


cloudmonkey: have filter applicable for list outputs as well

If filter is used for list output (default output) now, it filters out keys
based on the filter passed. If only one filter is applied say 'id', then only
the values are printed. For example;

  $ cloudmonkey list domains filter=id
  111b3bf9-4234-11e4-be95-00012e4ff7d0

In the above example, only UUIDs are printed. This can be useful for people to
just grab uuids and do interesting things with it.

Signed-off-by: Rohit Yadav 


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/ad69d2b9
Tree: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/ad69d2b9
Diff: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/ad69d2b9

Branch: refs/heads/master
Commit: ad69d2b9b4d8bf022d62c12d7d79c0035dc8752e
Parents: 0ae9408
Author: Rohit Yadav 
Authored: Fri Oct 3 14:51:14 2014 +0200
Committer: Rohit Yadav 
Committed: Fri Oct 3 14:51:30 2014 +0200

--
 cloudmonkey/cloudmonkey.py | 20 +++-
 1 file changed, 15 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/ad69d2b9/cloudmonkey/cloudmonkey.py
--
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index 2d88786..bb01247 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -247,8 +247,16 @@ class CloudMonkeyShell(cmd.Cmd, object):
   x not in ['id', 'count', 'name'] and x):
 if not (isinstance(result[key], list) or
 isinstance(result[key], dict)):
-self.monkeyprint("%s = %s" % (key, result[key]))
+if result_filter != None and key not in result_filter:
+continue
+if result_filter != None and len(result_filter) == 1:
+self.monkeyprint(result[key])
+else:
+self.monkeyprint("%s = %s" % (key, result[key]))
 else:
+if result_filter != None and key not in result_filter:
+self.print_result(result[key], result_filter)
+continue
 self.monkeyprint(key + ":")
 self.print_result(result[key], result_filter)
 
@@ -257,7 +265,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
 if isinstance(node, dict) and self.display == 'table':
 print_result_tabular(result, result_filter)
 break
-self.print_result(node)
+self.print_result(node, result_filter)
 if len(result) > 1:
 self.monkeyprint(self.ruler * 80)
 
@@ -298,7 +306,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
 args.append(next_val.replace('\x00', ''))
 
 args_dict = dict(map(lambda x: [x.partition("=")[0],
-urllib.quote(x.partition("=")[2])],
+x.partition("=")[2]],
  args[1:])[x] for x in range(len(args) - 1))
 field_filter = None
 if 'filter' in args_dict:
@@ -320,6 +328,9 @@ class CloudMonkeyShell(cmd.Cmd, object):
 if 'asyncapis' in self.apicache:
 isasync = apiname in self.apicache['asyncapis']
 
+for key in args_dict.keys():
+args_dict[key] = urllib.quote(args_dict[key])
+
 result = self.make_request(apiname, args_dict, isasync)
 
 if result is None:
@@ -377,8 +388,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
 autocompletions = uuids
 search_string = value
 
-if subject != "" and (self.display == "table" or
-  self.display == "json"):
+if subject != "":
 autocompletions.append("filter=")
 return [s for s in autocompletions if s.startswith(search_string)]
 



git commit: cloudmonkey: write errors to stderr

2014-10-03 Thread bhaisaab
Repository: cloudstack-cloudmonkey
Updated Branches:
  refs/heads/master ad69d2b9b -> 901154990


cloudmonkey: write errors to stderr

Signed-off-by: Rohit Yadav 


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/90115499
Tree: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/90115499
Diff: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/90115499

Branch: refs/heads/master
Commit: 901154990a23a7744cde7f49c552b99031c0c29b
Parents: ad69d2b
Author: Rohit Yadav 
Authored: Fri Oct 3 15:00:58 2014 +0200
Committer: Rohit Yadav 
Committed: Fri Oct 3 15:00:58 2014 +0200

--
 cloudmonkey/cloudmonkey.py | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/90115499/cloudmonkey/cloudmonkey.py
--
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index bb01247..bd0f6c7 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -174,7 +174,10 @@ class CloudMonkeyShell(cmd.Cmd, object):
 if self.color == 'true':
 monkeyprint(output)
 else:
-print(output)
+if output.startswith("Error"):
+sys.stderr.write(output)
+else:
+print output
 
 def print_result(self, result, result_filter=None):
 if result is None or len(result) == 0:
@@ -284,7 +287,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
 self.url, self.credentials,
 self.timeout, self.expires)
 if error is not None:
-self.monkeyprint(error)
+self.monkeyprint("Error " + error)
 return response
 
 def default(self, args):
@@ -483,7 +486,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
 self.credentials['session'] = session
 self.credentials['sessionkey'] = sessionkey
 except Exception, e:
-print "Error while trying to log in to the server: ", str(e)
+self.monkeyprint("Error: Login failed to the server: ", str(e))
 
 def do_logout(self, args):
 """



git commit: cloudmonkey: display current profile in parenthesis in the prompt

2014-10-03 Thread bhaisaab
Repository: cloudstack-cloudmonkey
Updated Branches:
  refs/heads/master 901154990 -> c6318fc13


cloudmonkey: display current profile in parenthesis in the prompt

Signed-off-by: Rohit Yadav 


Project: http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/commit/c6318fc1
Tree: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/tree/c6318fc1
Diff: 
http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/diff/c6318fc1

Branch: refs/heads/master
Commit: c6318fc13b2640af35b9b19d7355269a96e13f56
Parents: 9011549
Author: Rohit Yadav 
Authored: Fri Oct 3 16:38:40 2014 +0200
Committer: Rohit Yadav 
Committed: Fri Oct 3 16:38:40 2014 +0200

--
 cloudmonkey/cloudmonkey.py | 10 +-
 cloudmonkey/requester.py   |  2 +-
 2 files changed, 10 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/c6318fc1/cloudmonkey/cloudmonkey.py
--
diff --git a/cloudmonkey/cloudmonkey.py b/cloudmonkey/cloudmonkey.py
index bd0f6c7..e137aab 100644
--- a/cloudmonkey/cloudmonkey.py
+++ b/cloudmonkey/cloudmonkey.py
@@ -109,6 +109,13 @@ class CloudMonkeyShell(cmd.Cmd, object):
 self.host = parsed_url.netloc
 self.port = "8080" if not parsed_url.port else parsed_url.port
 self.path = parsed_url.path
+self.set_prompt()
+
+def get_prompt(self):
+return self.prompt.split(") ")[-1]
+
+def set_prompt(self):
+self.prompt = "(%s) %s" % (self.profile, self.get_prompt())
 
 def get_attr(self, field):
 return getattr(self, field)
@@ -175,7 +182,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
 monkeyprint(output)
 else:
 if output.startswith("Error"):
-sys.stderr.write(output)
+sys.stderr.write(output + "\n")
 else:
 print output
 
@@ -443,6 +450,7 @@ class CloudMonkeyShell(cmd.Cmd, object):
 print "Blank value of %s is not allowed" % key
 return
 
+self.prompt = self.get_prompt()
 setattr(self, key, value)
 if key in ['host', 'port', 'path', 'protocol']:
 key = 'url'

http://git-wip-us.apache.org/repos/asf/cloudstack-cloudmonkey/blob/c6318fc1/cloudmonkey/requester.py
--
diff --git a/cloudmonkey/requester.py b/cloudmonkey/requester.py
index 8e5e211..08876c9 100644
--- a/cloudmonkey/requester.py
+++ b/cloudmonkey/requester.py
@@ -114,7 +114,7 @@ def make_request_with_password(command, args, logger, url, 
credentials):
 if not (session and sessionkey):
 session, sessionkey = login(url, username, password)
 if not (session and sessionkey):
-return None, 'Error authenticating'
+return None, 'Authentication failed'
 credentials['session'] = session
 credentials['sessionkey'] = sessionkey