git commit: updated refs/heads/4.4 to 90117f0

2014-04-01 Thread devdeep
Repository: cloudstack
Updated Branches:
  refs/heads/4.4 e7724e90b -> 90117f09e


CLOUDSTACK-6288: Changing default ImageFormat to vhdx for hyper-v and allowing 
registration of vhdx format templates.

Signed-off-by: Devdeep Singh 


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

Branch: refs/heads/4.4
Commit: 90117f09e80a936c006bfe6ea1e380f6af591c12
Parents: e7724e9
Author: Anshul Gangwar 
Authored: Tue Apr 1 13:38:54 2014 +0530
Committer: Devdeep Singh 
Committed: Tue Apr 1 13:40:21 2014 +0530

--
 .../orchestration/VolumeOrchestrator.java   | 21 
 .../HypervResource/HypervResourceController.cs  |  2 +-
 .../ServerResource/HypervResource/WmiCallsV2.cs |  2 +-
 ui/scripts/templates.js |  4 
 4 files changed, 23 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/90117f09/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
--
diff --git 
a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
 
b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
index 4ebde04..064ffca 100644
--- 
a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
+++ 
b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
@@ -30,8 +30,6 @@ import java.util.concurrent.ExecutionException;
 import javax.inject.Inject;
 import javax.naming.ConfigurationException;
 
-import com.cloud.vm.UserVmVO;
-import com.cloud.vm.dao.UserVmDao;
 import org.apache.log4j.Logger;
 
 import 
org.apache.cloudstack.engine.orchestration.service.VolumeOrchestrationService;
@@ -113,10 +111,12 @@ import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.utils.fsm.NoTransitionException;
 import com.cloud.utils.fsm.StateMachine2;
 import com.cloud.vm.DiskProfile;
+import com.cloud.vm.UserVmVO;
 import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachine.State;
 import com.cloud.vm.VirtualMachineProfile;
 import com.cloud.vm.VirtualMachineProfileImpl;
+import com.cloud.vm.dao.UserVmDao;
 
 public class VolumeOrchestrator extends ManagerBase implements 
VolumeOrchestrationService, Configurable {
 private static final Logger s_logger = 
Logger.getLogger(VolumeOrchestrator.class);
@@ -687,16 +687,29 @@ public class VolumeOrchestrator extends ManagerBase 
implements VolumeOrchestrati
 } else if (hyperType == HypervisorType.Ovm) {
 return ImageFormat.RAW;
 } else if (hyperType == HypervisorType.Hyperv) {
-return ImageFormat.VHD;
+return ImageFormat.VHDX;
 } else {
 return null;
 }
 }
 
+private boolean isSupportedImageFormatForCluster(VolumeInfo volume, 
HypervisorType rootDiskHyperType) {
+ImageFormat volumeFormat = volume.getFormat();
+if (rootDiskHyperType == HypervisorType.Hyperv) {
+if (volumeFormat.equals(ImageFormat.VHDX) || 
volumeFormat.equals(ImageFormat.VHD)) {
+return true;
+} else {
+return false;
+}
+} else {
+return 
volume.getFormat().equals(getSupportedImageFormatForCluster(rootDiskHyperType));
+}
+}
+
 private VolumeInfo copyVolume(StoragePool rootDiskPool, VolumeInfo volume, 
VirtualMachine vm, VirtualMachineTemplate rootDiskTmplt, DataCenter dcVO, Pod 
pod,
 DiskOffering diskVO, ServiceOffering svo, HypervisorType 
rootDiskHyperType) throws NoTransitionException {
 
-if 
(!volume.getFormat().equals(getSupportedImageFormatForCluster(rootDiskHyperType)))
 {
+if (!isSupportedImageFormatForCluster(volume, rootDiskHyperType)) {
 throw new InvalidParameterValueException("Failed to attach volume 
to VM since volumes format " + volume.getFormat().getFileExtension()
 + " is not compatible with the vm hypervisor type");
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/90117f09/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
--
diff --git 
a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
 
b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
index 40609e4..66b9828 100644
--- 
a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/Hype

git commit: updated refs/heads/master to 24820d2

2014-04-01 Thread devdeep
Repository: cloudstack
Updated Branches:
  refs/heads/master 06c0486d0 -> 24820d20d


CLOUDSTACK-6288: Changing default ImageFormat to vhdx for hyper-v and allowing 
registration of vhdx format templates.

Signed-off-by: Devdeep Singh 


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

Branch: refs/heads/master
Commit: 24820d20d3f5f68ba07cd0fd92dc29c3634b5038
Parents: 06c0486
Author: Anshul Gangwar 
Authored: Tue Apr 1 13:38:54 2014 +0530
Committer: Devdeep Singh 
Committed: Tue Apr 1 14:00:24 2014 +0530

--
 .../orchestration/VolumeOrchestrator.java   | 21 
 .../HypervResource/HypervResourceController.cs  |  2 +-
 .../ServerResource/HypervResource/WmiCallsV2.cs |  2 +-
 ui/scripts/templates.js |  4 
 4 files changed, 23 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/24820d20/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
--
diff --git 
a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
 
b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
index 4ebde04..064ffca 100644
--- 
a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
+++ 
b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
@@ -30,8 +30,6 @@ import java.util.concurrent.ExecutionException;
 import javax.inject.Inject;
 import javax.naming.ConfigurationException;
 
-import com.cloud.vm.UserVmVO;
-import com.cloud.vm.dao.UserVmDao;
 import org.apache.log4j.Logger;
 
 import 
org.apache.cloudstack.engine.orchestration.service.VolumeOrchestrationService;
@@ -113,10 +111,12 @@ import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.utils.fsm.NoTransitionException;
 import com.cloud.utils.fsm.StateMachine2;
 import com.cloud.vm.DiskProfile;
+import com.cloud.vm.UserVmVO;
 import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachine.State;
 import com.cloud.vm.VirtualMachineProfile;
 import com.cloud.vm.VirtualMachineProfileImpl;
+import com.cloud.vm.dao.UserVmDao;
 
 public class VolumeOrchestrator extends ManagerBase implements 
VolumeOrchestrationService, Configurable {
 private static final Logger s_logger = 
Logger.getLogger(VolumeOrchestrator.class);
@@ -687,16 +687,29 @@ public class VolumeOrchestrator extends ManagerBase 
implements VolumeOrchestrati
 } else if (hyperType == HypervisorType.Ovm) {
 return ImageFormat.RAW;
 } else if (hyperType == HypervisorType.Hyperv) {
-return ImageFormat.VHD;
+return ImageFormat.VHDX;
 } else {
 return null;
 }
 }
 
+private boolean isSupportedImageFormatForCluster(VolumeInfo volume, 
HypervisorType rootDiskHyperType) {
+ImageFormat volumeFormat = volume.getFormat();
+if (rootDiskHyperType == HypervisorType.Hyperv) {
+if (volumeFormat.equals(ImageFormat.VHDX) || 
volumeFormat.equals(ImageFormat.VHD)) {
+return true;
+} else {
+return false;
+}
+} else {
+return 
volume.getFormat().equals(getSupportedImageFormatForCluster(rootDiskHyperType));
+}
+}
+
 private VolumeInfo copyVolume(StoragePool rootDiskPool, VolumeInfo volume, 
VirtualMachine vm, VirtualMachineTemplate rootDiskTmplt, DataCenter dcVO, Pod 
pod,
 DiskOffering diskVO, ServiceOffering svo, HypervisorType 
rootDiskHyperType) throws NoTransitionException {
 
-if 
(!volume.getFormat().equals(getSupportedImageFormatForCluster(rootDiskHyperType)))
 {
+if (!isSupportedImageFormatForCluster(volume, rootDiskHyperType)) {
 throw new InvalidParameterValueException("Failed to attach volume 
to VM since volumes format " + volume.getFormat().getFileExtension()
 + " is not compatible with the vm hypervisor type");
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/24820d20/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
--
diff --git 
a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
 
b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
index 40609e4..66b9828 100644
--- 
a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResourc

git commit: updated refs/heads/marvin to 95a6453

2014-04-01 Thread talluri
Repository: cloudstack
Updated Branches:
  refs/heads/marvin e4053bc32 -> 95a645349


Added fix for CLOUDSTACK-6316

Added changes for CLOUDSTACK-6316.
More details in the bug

Signed-off-by: Santhosh Edukulla 


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

Branch: refs/heads/marvin
Commit: 95a645349fc14bb16ea30509a265c2731736b206
Parents: e4053bc
Author: Santhosh Edukulla 
Authored: Tue Apr 1 20:58:11 2014 +0530
Committer: SrikanteswaraRao Talluri 
Committed: Tue Apr 1 16:02:59 2014 +0530

--
 tools/marvin/marvin/configGenerator.py | 110 +---
 1 file changed, 67 insertions(+), 43 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/95a64534/tools/marvin/marvin/configGenerator.py
--
diff --git a/tools/marvin/marvin/configGenerator.py 
b/tools/marvin/marvin/configGenerator.py
index 43b4d7c..68ec24e 100644
--- a/tools/marvin/marvin/configGenerator.py
+++ b/tools/marvin/marvin/configGenerator.py
@@ -25,6 +25,7 @@ from marvin.config.test_data import test_data
 
 
 class managementServer(object):
+
 def __init__(self):
 self.mgtSvrIp = None
 self.port = 8096
@@ -36,6 +37,7 @@ class managementServer(object):
 
 
 class dbServer(object):
+
 def __init__(self):
 self.dbSvr = None
 self.port = 3306
@@ -85,6 +87,7 @@ class zone(object):
 
 
 class trafficType(object):
+
 def __init__(self, typ, labeldict=None):
 self.typ = typ  # Guest/Management/Public
 if labeldict:
@@ -97,6 +100,7 @@ class trafficType(object):
 
 
 class pod(object):
+
 def __init__(self):
 self.gateway = None
 self.name = None
@@ -111,6 +115,7 @@ class pod(object):
 
 
 class VmwareDc(object):
+
 def __init__(self):
 self.zoneid = None
 self.name = None
@@ -120,6 +125,7 @@ class VmwareDc(object):
 
 
 class cluster(object):
+
 def __init__(self):
 self.clustername = None
 self.clustertype = None
@@ -134,6 +140,7 @@ class cluster(object):
 
 
 class host(object):
+
 def __init__(self):
 self.hypervisor = None
 self.password = None
@@ -151,6 +158,7 @@ class host(object):
 
 
 class physicalNetwork(object):
+
 def __init__(self):
 self.name = None
 self.tags = []
@@ -165,6 +173,7 @@ class physicalNetwork(object):
 
 
 class provider(object):
+
 def __init__(self, name=None):
 self.name = name
 self.state = None
@@ -175,6 +184,7 @@ class provider(object):
 
 
 class network(object):
+
 def __init__(self):
 self.displaytext = None
 self.name = None
@@ -187,6 +197,7 @@ class network(object):
 
 
 class iprange(object):
+
 def __init__(self):
 '''tagged/untagged'''
 self.gateway = None
@@ -200,12 +211,14 @@ class iprange(object):
 
 
 class primaryStorage(object):
+
 def __init__(self):
 self.name = None
 self.url = None
 
 
 class secondaryStorage(object):
+
 def __init__(self):
 self.url = None
 self.provider = None
@@ -213,6 +226,7 @@ class secondaryStorage(object):
 
 
 class cacheStorage(object):
+
 def __init__(self):
 self.url = None
 self.provider = None
@@ -220,6 +234,7 @@ class cacheStorage(object):
 
 
 class s3(object):
+
 def __init__(self):
 self.accesskey = None
 self.secretkey = None
@@ -232,6 +247,7 @@ class s3(object):
 
 
 class netscaler(object):
+
 def __init__(self, hostname=None, username='nsroot', password='nsroot'):
 self.hostname = hostname
 self.username = username
@@ -248,11 +264,12 @@ class netscaler(object):
 
 def __repr__(self):
 req = zip(self.__dict__.keys(), self.__dict__.values())
-return self.hostname+"?" + "&".join(["=".join([r[0], r[1]])
- for r in req])
+return self.hostname + "?" + "&".join(["=".join([r[0], r[1]])
+   for r in req])
 
 
 class srx(object):
+
 def __init__(self, hostname=None, username='root', password='admin'):
 self.hostname = hostname
 self.username = username
@@ -271,11 +288,12 @@ class srx(object):
 
 def __repr__(self):
 req = zip(self.__dict__.keys(), self.__dict__.values())
-return self.hostname+"?" + "&".join(["=".join([r[0], r[1]])
- for r in req])
+return self.hostname + "?" + "&".join(["=".join([r[0], r[1]])
+   for r in req])
 
 
 class bigip(object)

git commit: updated refs/heads/marvin to 70e1040

2014-04-01 Thread talluri
Repository: cloudstack
Updated Branches:
  refs/heads/marvin 95a645349 -> 70e104021


Revert "Added fix for CLOUDSTACK-6316"

This reverts commit 95a645349fc14bb16ea30509a265c2731736b206.


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

Branch: refs/heads/marvin
Commit: 70e104021c6db6dd454ff481ca3ee6283637ad90
Parents: 95a6453
Author: SrikanteswaraRao Talluri 
Authored: Tue Apr 1 16:09:54 2014 +0530
Committer: SrikanteswaraRao Talluri 
Committed: Tue Apr 1 16:09:54 2014 +0530

--
 tools/marvin/marvin/configGenerator.py | 110 +++-
 1 file changed, 43 insertions(+), 67 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/70e10402/tools/marvin/marvin/configGenerator.py
--
diff --git a/tools/marvin/marvin/configGenerator.py 
b/tools/marvin/marvin/configGenerator.py
index 68ec24e..43b4d7c 100644
--- a/tools/marvin/marvin/configGenerator.py
+++ b/tools/marvin/marvin/configGenerator.py
@@ -25,7 +25,6 @@ from marvin.config.test_data import test_data
 
 
 class managementServer(object):
-
 def __init__(self):
 self.mgtSvrIp = None
 self.port = 8096
@@ -37,7 +36,6 @@ class managementServer(object):
 
 
 class dbServer(object):
-
 def __init__(self):
 self.dbSvr = None
 self.port = 3306
@@ -87,7 +85,6 @@ class zone(object):
 
 
 class trafficType(object):
-
 def __init__(self, typ, labeldict=None):
 self.typ = typ  # Guest/Management/Public
 if labeldict:
@@ -100,7 +97,6 @@ class trafficType(object):
 
 
 class pod(object):
-
 def __init__(self):
 self.gateway = None
 self.name = None
@@ -115,7 +111,6 @@ class pod(object):
 
 
 class VmwareDc(object):
-
 def __init__(self):
 self.zoneid = None
 self.name = None
@@ -125,7 +120,6 @@ class VmwareDc(object):
 
 
 class cluster(object):
-
 def __init__(self):
 self.clustername = None
 self.clustertype = None
@@ -140,7 +134,6 @@ class cluster(object):
 
 
 class host(object):
-
 def __init__(self):
 self.hypervisor = None
 self.password = None
@@ -158,7 +151,6 @@ class host(object):
 
 
 class physicalNetwork(object):
-
 def __init__(self):
 self.name = None
 self.tags = []
@@ -173,7 +165,6 @@ class physicalNetwork(object):
 
 
 class provider(object):
-
 def __init__(self, name=None):
 self.name = name
 self.state = None
@@ -184,7 +175,6 @@ class provider(object):
 
 
 class network(object):
-
 def __init__(self):
 self.displaytext = None
 self.name = None
@@ -197,7 +187,6 @@ class network(object):
 
 
 class iprange(object):
-
 def __init__(self):
 '''tagged/untagged'''
 self.gateway = None
@@ -211,14 +200,12 @@ class iprange(object):
 
 
 class primaryStorage(object):
-
 def __init__(self):
 self.name = None
 self.url = None
 
 
 class secondaryStorage(object):
-
 def __init__(self):
 self.url = None
 self.provider = None
@@ -226,7 +213,6 @@ class secondaryStorage(object):
 
 
 class cacheStorage(object):
-
 def __init__(self):
 self.url = None
 self.provider = None
@@ -234,7 +220,6 @@ class cacheStorage(object):
 
 
 class s3(object):
-
 def __init__(self):
 self.accesskey = None
 self.secretkey = None
@@ -247,7 +232,6 @@ class s3(object):
 
 
 class netscaler(object):
-
 def __init__(self, hostname=None, username='nsroot', password='nsroot'):
 self.hostname = hostname
 self.username = username
@@ -264,12 +248,11 @@ class netscaler(object):
 
 def __repr__(self):
 req = zip(self.__dict__.keys(), self.__dict__.values())
-return self.hostname + "?" + "&".join(["=".join([r[0], r[1]])
-   for r in req])
+return self.hostname+"?" + "&".join(["=".join([r[0], r[1]])
+ for r in req])
 
 
 class srx(object):
-
 def __init__(self, hostname=None, username='root', password='admin'):
 self.hostname = hostname
 self.username = username
@@ -288,12 +271,11 @@ class srx(object):
 
 def __repr__(self):
 req = zip(self.__dict__.keys(), self.__dict__.values())
-return self.hostname + "?" + "&".join(["=".join([r[0], r[1]])
-   for r in req])
+return self.hostname+"?" + "&".join(["=".join([r[0], r[1]])
+ for r in req])
 
 
 class bigip(object):
-
 def __i

[1/3] Added fix for CLOUDSTACK-6316

2014-04-01 Thread talluri
Repository: cloudstack
Updated Branches:
  refs/heads/marvin 70e104021 -> 63d368836


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/63d36883/tools/marvin/marvin/tcExecuteEngine.py
--
diff --git a/tools/marvin/marvin/tcExecuteEngine.py 
b/tools/marvin/marvin/tcExecuteEngine.py
index c437337..e2f4d11 100644
--- a/tools/marvin/marvin/tcExecuteEngine.py
+++ b/tools/marvin/marvin/tcExecuteEngine.py
@@ -23,6 +23,7 @@ from functools import partial
 
 
 class TestCaseExecuteEngine(object):
+
 def __init__(self, testclient, config, tc_logger=None, debug_stream=None):
 """
 Initialize the testcase execution engine, just the basics here
@@ -53,7 +54,7 @@ class TestCaseExecuteEngine(object):
 if isinstance(test, unittest.BaseTestSuite):
 self.injectTestCase(test)
 else:
-#inject testclient and logger into each unittest
+# inject testclient and logger into each unittest
 self.tcRunLogger.name = test.__str__()
 setattr(test, "testClient", self.testclient)
 setattr(test, "config", self.config)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/63d36883/tools/marvin/marvin/testSetupSuccess.py
--
diff --git a/tools/marvin/marvin/testSetupSuccess.py 
b/tools/marvin/marvin/testSetupSuccess.py
index 1701626..8b000f9 100644
--- a/tools/marvin/marvin/testSetupSuccess.py
+++ b/tools/marvin/marvin/testSetupSuccess.py
@@ -23,6 +23,7 @@ from time import sleep as delay
 
 
 class TestSetupSuccess(cloudstackTestCase):
+
 """
 Test to verify if the cloudstack is ready to launch tests upon
 1. Verify that system VMs are up and running in all zones



[3/3] git commit: updated refs/heads/marvin to 63d3688

2014-04-01 Thread talluri
Added fix for CLOUDSTACK-6316

Added changes for CLOUDSTACK-6316.
More details in the bug

Signed-off-by: Santhosh Edukulla 


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

Branch: refs/heads/marvin
Commit: 63d36883605e42cf48eec1f50e2496f43ea6a496
Parents: 70e1040
Author: Santhosh Edukulla 
Authored: Tue Apr 1 20:58:11 2014 +0530
Committer: SrikanteswaraRao Talluri 
Committed: Tue Apr 1 16:15:53 2014 +0530

--
 .../maint/test_host_high_availability.py|   13 +-
 tools/marvin/marvin/__init__.py |2 +-
 tools/marvin/marvin/asyncJobMgr.py  |   10 +-
 tools/marvin/marvin/cloudstackConnection.py |   72 +-
 tools/marvin/marvin/cloudstackException.py  |4 +
 tools/marvin/marvin/cloudstackTestCase.py   |4 +-
 tools/marvin/marvin/cloudstackTestClient.py |  111 +-
 tools/marvin/marvin/codegenerator.py|   11 +-
 tools/marvin/marvin/config/test_data.py |3 +-
 tools/marvin/marvin/configGenerator.py  |  110 +-
 tools/marvin/marvin/dbConnection.py |3 +-
 tools/marvin/marvin/deployAndRun.py |6 +-
 tools/marvin/marvin/deployDataCenter.py | 1304 +-
 tools/marvin/marvin/jsonHelper.py   |7 +-
 tools/marvin/marvin/marvinInit.py   |   52 +-
 tools/marvin/marvin/marvinLog.py|   11 +-
 tools/marvin/marvin/marvinPlugin.py |   33 +-
 tools/marvin/marvin/sshClient.py|   22 +-
 tools/marvin/marvin/tcExecuteEngine.py  |3 +-
 tools/marvin/marvin/testSetupSuccess.py |1 +
 20 files changed, 933 insertions(+), 849 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/63d36883/test/integration/component/maint/test_host_high_availability.py
--
diff --git a/test/integration/component/maint/test_host_high_availability.py 
b/test/integration/component/maint/test_host_high_availability.py
index f81bff2..4cd7fd8 100644
--- a/test/integration/component/maint/test_host_high_availability.py
+++ b/test/integration/component/maint/test_host_high_availability.py
@@ -24,6 +24,7 @@ from marvin.cloudstackAPI import *
 from marvin.lib.utils import *
 from marvin.lib.base import *
 from marvin.lib.common import *
+import time
 
 
 class Services:
@@ -619,11 +620,7 @@ class TestHostHighAvailability(cloudstackTestCase):
 
 #verify the VM live migration happened to another running host
 self.debug("Waiting for VM to come up")
-wait_for_vm(
-self.apiclient,
-virtualmachineid=vm_with_ha_enabled.id,
-interval=timeout
-)
+time.sleep(timeout)
 
 vms = VirtualMachine.list(
 self.apiclient,
@@ -751,11 +748,7 @@ class TestHostHighAvailability(cloudstackTestCase):
 
 #verify the VM live migration happened to another running host
 self.debug("Waiting for VM to come up")
-wait_for_vm(
-self.apiclient,
-virtualmachineid=vm_with_ha_disabled.id,
-interval=timeout
-)
+time.sleep(timeout)
 
 vms = VirtualMachine.list(
 self.apiclient,

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/63d36883/tools/marvin/marvin/__init__.py
--
diff --git a/tools/marvin/marvin/__init__.py b/tools/marvin/marvin/__init__.py
index 7af168e..7102e3f 100644
--- a/tools/marvin/marvin/__init__.py
+++ b/tools/marvin/marvin/__init__.py
@@ -15,4 +15,4 @@
 # specific language governing permissions and limitations
 # under the License.
 
-#Marvin - The cloudstack test client
+# Marvin - The cloudstack test client

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/63d36883/tools/marvin/marvin/asyncJobMgr.py
--
diff --git a/tools/marvin/marvin/asyncJobMgr.py 
b/tools/marvin/marvin/asyncJobMgr.py
index ee3ae5a..00e8c19 100644
--- a/tools/marvin/marvin/asyncJobMgr.py
+++ b/tools/marvin/marvin/asyncJobMgr.py
@@ -26,12 +26,14 @@ import datetime
 
 
 class job(object):
+
 def __init__(self):
 self.id = None
 self.cmd = None
 
 
 class jobStatus(object):
+
 def __init__(self):
 self.result = None
 self.status = None
@@ -47,6 +49,7 @@ class jobStatus(object):
 
 
 class workThread(threading.Thread):
+
 def __init__(self, in_queue, outqueue, apiClient, db=None, lock=None):
 threading.Thread.__init__(self)
 self.inqueue = in_queue
@@ -62

git commit: updated refs/heads/4.4 to eb86ed6

2014-04-01 Thread bfederle
Repository: cloudstack
Updated Branches:
  refs/heads/4.4 90117f09e -> eb86ed60b


Value of Global parameter "custom.diskoffering.size.min" is not reflected in UI 
during new instance creation.

Added fields to /api and /server classes for CustomDiskOfferingMinSize
to be available in CapabilitiesResponse. Fixed UI code in Instance
Wizard to have this config value as the minimum selectable option when
we are in custom disk size mode.


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

Branch: refs/heads/4.4
Commit: eb86ed60bd30afcb660c7a05ad46ac0977c019f0
Parents: 90117f0
Author: Gabor Apati-Nagy 
Authored: Fri Mar 28 14:39:02 2014 +
Committer: Brian Federle 
Committed: Tue Apr 1 10:56:02 2014 -0700

--
 api/src/org/apache/cloudstack/api/ApiConstants.java  | 1 +
 .../api/command/user/config/ListCapabilitiesCmd.java | 1 +
 .../apache/cloudstack/api/response/CapabilitiesResponse.java | 8 
 server/src/com/cloud/server/ManagementServerImpl.java| 2 ++
 ui/index.jsp | 2 +-
 ui/scripts/instanceWizard.js | 6 ++
 ui/scripts/ui-custom/instanceWizard.js   | 7 ++-
 7 files changed, 25 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eb86ed60/api/src/org/apache/cloudstack/api/ApiConstants.java
--
diff --git a/api/src/org/apache/cloudstack/api/ApiConstants.java 
b/api/src/org/apache/cloudstack/api/ApiConstants.java
index 0cfc9b8..1146cea 100755
--- a/api/src/org/apache/cloudstack/api/ApiConstants.java
+++ b/api/src/org/apache/cloudstack/api/ApiConstants.java
@@ -419,6 +419,7 @@ public class ApiConstants {
 public static final String INSTANCE_NAME = "instancename";
 public static final String START_VM = "startvm";
 public static final String HA_HOST = "hahost";
+public static final String CUSTOM_DISK_OFF_MIN_SIZE = 
"customdiskofferingminsize";
 public static final String CUSTOM_DISK_OFF_MAX_SIZE = 
"customdiskofferingmaxsize";
 public static final String DEFAULT_ZONE_ID = "defaultzoneid";
 public static final String LIVE_MIGRATE = "livemigrate";

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eb86ed60/api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
--
diff --git 
a/api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
 
b/api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
index d47645b..e6696e1 100644
--- 
a/api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
+++ 
b/api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
@@ -53,6 +53,7 @@ public class ListCapabilitiesCmd extends BaseCmd {
 response.setSupportELB((String)capabilities.get("supportELB"));
 
response.setProjectInviteRequired((Boolean)capabilities.get("projectInviteRequired"));
 
response.setAllowUsersCreateProjects((Boolean)capabilities.get("allowusercreateprojects"));
+
response.setDiskOffMinSize((Long)capabilities.get("customDiskOffMinSize"));
 
response.setDiskOffMaxSize((Long)capabilities.get("customDiskOffMaxSize"));
 
response.setRegionSecondaryEnabled((Boolean)capabilities.get("regionSecondaryEnabled"));
 
response.setKVMSnapshotEnabled((Boolean)capabilities.get("KVMSnapshotEnabled"));

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eb86ed60/api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
--
diff --git 
a/api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java 
b/api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
index c8de587..f7fdb95 100644
--- a/api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
+++ b/api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
@@ -49,6 +49,10 @@ public class CapabilitiesResponse extends BaseResponse {
 @Param(description = "true if regular user is allowed to create projects")
 private Boolean allowUsersCreateProjects;
 
+@SerializedName(ApiConstants.CUSTOM_DISK_OFF_MIN_SIZE)
+@Param(description = "minimum size that can be specified when " + "create 
disk from disk offering with custom size")
+private Long diskOffMinSize;
+
 @SerializedName(ApiConstants.CUSTOM_DISK_OFF_MAX_SIZE)
 @Param(description = "maximum size that can be specified when "

git commit: updated refs/heads/master to 883d7f1

2014-04-01 Thread bfederle
Repository: cloudstack
Updated Branches:
  refs/heads/master 24820d20d -> 883d7f17f


Value of Global parameter "custom.diskoffering.size.min" is not reflected in UI 
during new instance creation.

Added fields to /api and /server classes for CustomDiskOfferingMinSize
to be available in CapabilitiesResponse. Fixed UI code in Instance
Wizard to have this config value as the minimum selectable option when
we are in custom disk size mode.


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

Branch: refs/heads/master
Commit: 883d7f17f78433b37e4f20103b532b3b20582014
Parents: 24820d2
Author: Gabor Apati-Nagy 
Authored: Fri Mar 28 14:39:02 2014 +
Committer: Brian Federle 
Committed: Tue Apr 1 10:57:36 2014 -0700

--
 api/src/org/apache/cloudstack/api/ApiConstants.java  | 1 +
 .../api/command/user/config/ListCapabilitiesCmd.java | 1 +
 .../apache/cloudstack/api/response/CapabilitiesResponse.java | 8 
 server/src/com/cloud/server/ManagementServerImpl.java| 2 ++
 ui/index.jsp | 2 +-
 ui/scripts/instanceWizard.js | 6 ++
 ui/scripts/ui-custom/instanceWizard.js   | 7 ++-
 7 files changed, 25 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/883d7f17/api/src/org/apache/cloudstack/api/ApiConstants.java
--
diff --git a/api/src/org/apache/cloudstack/api/ApiConstants.java 
b/api/src/org/apache/cloudstack/api/ApiConstants.java
index 87fa8ee..fdb4558 100755
--- a/api/src/org/apache/cloudstack/api/ApiConstants.java
+++ b/api/src/org/apache/cloudstack/api/ApiConstants.java
@@ -419,6 +419,7 @@ public class ApiConstants {
 public static final String INSTANCE_NAME = "instancename";
 public static final String START_VM = "startvm";
 public static final String HA_HOST = "hahost";
+public static final String CUSTOM_DISK_OFF_MIN_SIZE = 
"customdiskofferingminsize";
 public static final String CUSTOM_DISK_OFF_MAX_SIZE = 
"customdiskofferingmaxsize";
 public static final String DEFAULT_ZONE_ID = "defaultzoneid";
 public static final String LIVE_MIGRATE = "livemigrate";

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/883d7f17/api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
--
diff --git 
a/api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
 
b/api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
index d47645b..e6696e1 100644
--- 
a/api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
+++ 
b/api/src/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
@@ -53,6 +53,7 @@ public class ListCapabilitiesCmd extends BaseCmd {
 response.setSupportELB((String)capabilities.get("supportELB"));
 
response.setProjectInviteRequired((Boolean)capabilities.get("projectInviteRequired"));
 
response.setAllowUsersCreateProjects((Boolean)capabilities.get("allowusercreateprojects"));
+
response.setDiskOffMinSize((Long)capabilities.get("customDiskOffMinSize"));
 
response.setDiskOffMaxSize((Long)capabilities.get("customDiskOffMaxSize"));
 
response.setRegionSecondaryEnabled((Boolean)capabilities.get("regionSecondaryEnabled"));
 
response.setKVMSnapshotEnabled((Boolean)capabilities.get("KVMSnapshotEnabled"));

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/883d7f17/api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
--
diff --git 
a/api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java 
b/api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
index c8de587..f7fdb95 100644
--- a/api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
+++ b/api/src/org/apache/cloudstack/api/response/CapabilitiesResponse.java
@@ -49,6 +49,10 @@ public class CapabilitiesResponse extends BaseResponse {
 @Param(description = "true if regular user is allowed to create projects")
 private Boolean allowUsersCreateProjects;
 
+@SerializedName(ApiConstants.CUSTOM_DISK_OFF_MIN_SIZE)
+@Param(description = "minimum size that can be specified when " + "create 
disk from disk offering with custom size")
+private Long diskOffMinSize;
+
 @SerializedName(ApiConstants.CUSTOM_DISK_OFF_MAX_SIZE)
 @Param(description = "maximum size that can be specified 

git commit: updated refs/heads/marvin to 34409d7

2014-04-01 Thread talluri
Repository: cloudstack
Updated Branches:
  refs/heads/marvin 63d368836 -> 34409d74c


Fixed few issues for CLOUDSTACK-6316,CLOUDSTACK-5674

Fixed issues related to the mentioned bugs.
More information in the bug.

Signed-off-by: Santhosh Edukulla 
Signed-off-by: SrikanteswaraRao Talluri 


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

Branch: refs/heads/marvin
Commit: 34409d74cd62c3c8f26ca42fe02237892fc93bbd
Parents: 63d3688
Author: Santhosh Edukulla 
Authored: Wed Apr 2 04:57:39 2014 +0530
Committer: SrikanteswaraRao Talluri 
Committed: Tue Apr 1 23:53:14 2014 +0530

--
 .../smoke/test_deploy_vm_with_userdata.py   |  3 +++
 test/integration/smoke/test_iso.py  |  2 +-
 test/integration/smoke/test_public_ip_range.py  |  2 +-
 test/integration/smoke/test_templates.py|  2 +-
 test/integration/smoke/test_vm_snapshots.py |  1 -
 tools/marvin/marvin/lib/base.py |  2 +-
 tools/marvin/marvin/lib/common.py   | 22 +++-
 7 files changed, 14 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/34409d74/test/integration/smoke/test_deploy_vm_with_userdata.py
--
diff --git a/test/integration/smoke/test_deploy_vm_with_userdata.py 
b/test/integration/smoke/test_deploy_vm_with_userdata.py
index c1410fb..aec6334 100644
--- a/test/integration/smoke/test_deploy_vm_with_userdata.py
+++ b/test/integration/smoke/test_deploy_vm_with_userdata.py
@@ -67,6 +67,9 @@ class TestDeployVmWithUserData(cloudstackTestCase):
 user_data = ''.join(random.choice(string.ascii_uppercase + 
string.digits) for x in range(2500))
 cls.services["virtual_machine"]["userdata"] = user_data
 
+def setup(self):
+self.hypervisor = self.testClient.getHypervisorInfo()
+
 @attr(tags=["simulator", "devcloud", "basic", "advanced", "post"])
 def test_deployvm_userdata_post(self):
 """Test userdata as POST, size > 2k

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/34409d74/test/integration/smoke/test_iso.py
--
diff --git a/test/integration/smoke/test_iso.py 
b/test/integration/smoke/test_iso.py
index b3c3181..37990b7 100644
--- a/test/integration/smoke/test_iso.py
+++ b/test/integration/smoke/test_iso.py
@@ -143,7 +143,7 @@ class TestISO(cloudstackTestCase):
 cls.services = testClient.getParsedTestDataConfig()
 
 # Get Zone, Domain and templates
-cls.domain = get_domain(cls.apiclient, 
cls.testClient.getZoneForTests())
+cls.domain = get_domain(cls.apiclient)
 cls.zone = get_zone(cls.apiclient, cls.testClient.getZoneForTests())
 
 cls.services["domainid"] = cls.domain.id

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/34409d74/test/integration/smoke/test_public_ip_range.py
--
diff --git a/test/integration/smoke/test_public_ip_range.py 
b/test/integration/smoke/test_public_ip_range.py
index 50b0c9b..ca3c83b 100644
--- a/test/integration/smoke/test_public_ip_range.py
+++ b/test/integration/smoke/test_public_ip_range.py
@@ -31,7 +31,7 @@ class TestDedicatePublicIPRange(cloudstackTestCase):
 @classmethod
 def setUpClass(cls):
 cls.testClient = super(TestDedicatePublicIPRange, 
cls).getClsTestClient()
-   cls.apivlient = cls.testClient.getApiClient()
+   cls.apiclient = cls.testClient.getApiClient()
 cls.services =  cls.testClient.getParsedTestDataConfig()
 # Get Zone, Domain
 cls.domain = get_domain(cls.apiclient)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/34409d74/test/integration/smoke/test_templates.py
--
diff --git a/test/integration/smoke/test_templates.py 
b/test/integration/smoke/test_templates.py
index b25359b..54b0a83 100644
--- a/test/integration/smoke/test_templates.py
+++ b/test/integration/smoke/test_templates.py
@@ -231,7 +231,7 @@ class TestTemplates(cloudstackTestCase):
 cls.services = testClient.getParsedTestDataConfig()
 
 # Get Zone, Domain and templates
-cls.domain = get_domain(cls.apiclient, cls.getZoneForTests())
+cls.domain = get_domain(cls.apiclient)
 cls.zone = get_zone(cls.apiclient, cls.testClient.getZoneForTests())
 cls.services['mode'] = cls.zone.networktype
 #populate second zone id for iso copy

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/34409d74/test/integration

[1/2] Add 4.4 UI resources files on Transifex

2014-04-01 Thread milamber
Repository: cloudstack
Updated Branches:
  refs/heads/4.4 eb86ed60b -> 685d66490


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/685d6649/tools/transifex/.tx/config
--
diff --git a/tools/transifex/.tx/config b/tools/transifex/.tx/config
index 5e83db3..a2c1e26 100644
--- a/tools/transifex/.tx/config
+++ b/tools/transifex/.tx/config
@@ -15,23 +15,14 @@ source_lang = en
 
 [CloudStack_UI.42xmessagesproperties]
 file_filter = 
translations/CloudStack_UI.42xmessagesproperties/.properties
-source_file = work-dir/messages.properties
 source_lang = en
-trans.ar = work-dir/messages_ar.properties
-trans.ca = work-dir/messages_ca.properties
-trans.de_DE = work-dir/messages_de_DE.properties
-trans.es = work-dir/messages_es.properties
-trans.fr_FR = work-dir/messages_fr_FR.properties
-trans.it_IT = work-dir/messages_it_IT.properties
-trans.ja = work-dir/messages_ja.properties
-trans.ko_KR = work-dir/messages_ko_KR.properties
-trans.nb_NO = work-dir/messages_nb_NO.properties
-trans.pt_BR = work-dir/messages_pt_BR.properties
-trans.ru_RU = work-dir/messages_ru_RU.properties
-trans.zh_CN = work-dir/messages_zh_CN.properties
 
 [CloudStack_UI.43xmessagesproperties]
-source_file = work-dir/messages.properties
+file_filter = 
translations/CloudStack_UI.43xmessagesproperties/.properties
+source_lang = en
+
+[CloudStack_UI.44xmessagesproperties]
+file_filter = 
translations/CloudStack_UI.44xmessagesproperties/.properties
 source_lang = en
 trans.ar = work-dir/messages_ar.properties
 trans.ca = work-dir/messages_ca.properties



git commit: updated refs/heads/master to 6aef044

2014-04-01 Thread milamber
Repository: cloudstack
Updated Branches:
  refs/heads/master 883d7f17f -> 6aef044c1


Update Transifex config file (add 4.4 resources config)


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

Branch: refs/heads/master
Commit: 6aef044c17d8f4e7b6766b666904178a893bc571
Parents: 883d7f1
Author: Milamber 
Authored: Tue Apr 1 19:44:07 2014 +0100
Committer: Milamber 
Committed: Tue Apr 1 19:44:07 2014 +0100

--
 tools/transifex/.tx/config | 39 +++
 1 file changed, 11 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6aef044c/tools/transifex/.tx/config
--
diff --git a/tools/transifex/.tx/config b/tools/transifex/.tx/config
index 5e83db3..0732d9c 100644
--- a/tools/transifex/.tx/config
+++ b/tools/transifex/.tx/config
@@ -4,47 +4,30 @@ host = https://www.transifex.com
 [CloudStack_UI.2-2messagesproperties]
 file_filter = 
translations/CloudStack_UI.2-2messagesproperties/.properties
 source_lang = en
+type = PROPERTIES
 
 [CloudStack_UI.30xmessagesproperties]
 file_filter = 
translations/CloudStack_UI.30xmessagesproperties/.properties
 source_lang = en
+type = PROPERTIES
 
 [CloudStack_UI.41xmessageproperties]
 file_filter = translations/CloudStack_UI.41xmessageproperties/.properties
 source_lang = en
+type = UNICODEPROPERTIES
 
 [CloudStack_UI.42xmessagesproperties]
 file_filter = 
translations/CloudStack_UI.42xmessagesproperties/.properties
-source_file = work-dir/messages.properties
 source_lang = en
-trans.ar = work-dir/messages_ar.properties
-trans.ca = work-dir/messages_ca.properties
-trans.de_DE = work-dir/messages_de_DE.properties
-trans.es = work-dir/messages_es.properties
-trans.fr_FR = work-dir/messages_fr_FR.properties
-trans.it_IT = work-dir/messages_it_IT.properties
-trans.ja = work-dir/messages_ja.properties
-trans.ko_KR = work-dir/messages_ko_KR.properties
-trans.nb_NO = work-dir/messages_nb_NO.properties
-trans.pt_BR = work-dir/messages_pt_BR.properties
-trans.ru_RU = work-dir/messages_ru_RU.properties
-trans.zh_CN = work-dir/messages_zh_CN.properties
+type = UNICODEPROPERTIES
 
 [CloudStack_UI.43xmessagesproperties]
-source_file = work-dir/messages.properties
+file_filter = 
translations/CloudStack_UI.43xmessagesproperties/.properties
 source_lang = en
-trans.ar = work-dir/messages_ar.properties
-trans.ca = work-dir/messages_ca.properties
-trans.de_DE = work-dir/messages_de_DE.properties
-trans.es = work-dir/messages_es.properties
-trans.fr_FR = work-dir/messages_fr_FR.properties
-trans.it_IT = work-dir/messages_it_IT.properties
-trans.ja_JP = work-dir/messages_ja_JP.properties
-trans.ko_KR = work-dir/messages_ko_KR.properties
-trans.nb_NO = work-dir/messages_nb_NO.properties
-trans.nl_NL = work-dir/messages_nl_NL.properties
-trans.pl = work-dir/messages_pl.properties
-trans.pt_BR = work-dir/messages_pt_BR.properties
-trans.ru_RU = work-dir/messages_ru_RU.properties
-trans.zh_CN = work-dir/messages_zh_CN.properties
+type = UNICODEPROPERTIES
+
+[CloudStack_UI.44xmessagesproperties]
+file_filter = 
translations/CloudStack_UI.44xmessagesproperties/.properties
+source_lang = en
+type = UNICODEPROPERTIES
 



[1/2] git commit: updated refs/heads/4.4 to b917184

2014-04-01 Thread prachidamle
Repository: cloudstack
Updated Branches:
  refs/heads/4.4 685d66490 -> b917184fd


SecurityChecker can accept multiple ControlledEntity


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

Branch: refs/heads/4.4
Commit: 9962cf1706f2b006c4c9daaea07960d2ba6c110c
Parents: 685d664
Author: Prachi Damle 
Authored: Tue Apr 1 11:25:23 2014 -0700
Committer: Prachi Damle 
Committed: Tue Apr 1 12:06:13 2014 -0700

--
 .../apache/cloudstack/acl/SecurityChecker.java  |  20 
 server/src/com/cloud/acl/DomainChecker.java |  13 +++
 .../cloud/api/dispatch/ParamProcessWorker.java  | 109 +--
 .../iam/RoleBasedAPIAccessChecker.java  |   1 -
 .../iam/RoleBasedEntityAccessChecker.java   |  66 +--
 5 files changed, 186 insertions(+), 23 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9962cf17/api/src/org/apache/cloudstack/acl/SecurityChecker.java
--
diff --git a/api/src/org/apache/cloudstack/acl/SecurityChecker.java 
b/api/src/org/apache/cloudstack/acl/SecurityChecker.java
index 8ca34d0..0b29fb4 100644
--- a/api/src/org/apache/cloudstack/acl/SecurityChecker.java
+++ b/api/src/org/apache/cloudstack/acl/SecurityChecker.java
@@ -100,6 +100,26 @@ public interface SecurityChecker extends Adapter {
  */
 boolean checkAccess(Account caller, ControlledEntity entity, AccessType 
accessType, String action) throws PermissionDeniedException;
 
+/**
+ * Checks if the account can access multiple objects.
+ * 
+ * @param caller
+ *account to check against.
+ * @param entities
+ *objects that the account is trying to access.
+ * @param accessType
+ *TODO
+ * @param action
+ *name of the API
+ * @return true if access allowed. false if this adapter cannot provide
+ * permission.
+ * @throws PermissionDeniedException
+ * if this adapter is suppose to authenticate ownership and the
+ * check failed.
+ */
+boolean checkAccess(Account caller, AccessType accessType, String action, 
ControlledEntity... entities)
+throws PermissionDeniedException;
+
 
 /**
  * Checks if the user belongs to an account that can access the object.

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9962cf17/server/src/com/cloud/acl/DomainChecker.java
--
diff --git a/server/src/com/cloud/acl/DomainChecker.java 
b/server/src/com/cloud/acl/DomainChecker.java
index ea129f7..14976cc 100755
--- a/server/src/com/cloud/acl/DomainChecker.java
+++ b/server/src/com/cloud/acl/DomainChecker.java
@@ -341,4 +341,17 @@ public class DomainChecker extends AdapterBase implements 
SecurityChecker {
 }
 return checkAccess(caller, entity, accessType);
 }
+
+@Override
+public boolean checkAccess(Account caller, AccessType accessType, String 
action, ControlledEntity... entities)
+throws PermissionDeniedException {
+
+// returns true only if access to all entities is granted
+for (ControlledEntity entity : entities) {
+if (!checkAccess(caller, entity, accessType, action)) {
+return false;
+}
+}
+return true;
+}
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9962cf17/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
--
diff --git a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java 
b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
index e9bdd8b..3f1b47f 100644
--- a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
+++ b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
@@ -37,8 +37,10 @@ import org.apache.log4j.Logger;
 
 import org.apache.cloudstack.acl.ControlledEntity;
 import org.apache.cloudstack.acl.InfrastructureEntity;
+import org.apache.cloudstack.acl.SecurityChecker;
 import org.apache.cloudstack.acl.SecurityChecker.AccessType;
 import org.apache.cloudstack.api.ACL;
+import org.apache.cloudstack.api.APICommand;
 import org.apache.cloudstack.api.ApiErrorCode;
 import org.apache.cloudstack.api.BaseAsyncCreateCmd;
 import org.apache.cloudstack.api.BaseCmd;
@@ -54,7 +56,12 @@ import 
org.apache.cloudstack.api.command.user.event.DeleteEventsCmd;
 import org.apache.cloudstack.api.command.user.event.ListEventsCmd;
 import org.apache.cloudstack.context.CallContext;
 
+import com.cloud.configuration.ConfigurationManager;
+

[2/2] git commit: updated refs/heads/4.4 to b917184

2014-04-01 Thread prachidamle
Adding SecurityChecker list for the ParamProcessWorker


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

Branch: refs/heads/4.4
Commit: b917184fdaeef3b796d731727f306b59abd05773
Parents: 9962cf1
Author: Prachi Damle 
Authored: Tue Apr 1 12:05:41 2014 -0700
Committer: Prachi Damle 
Committed: Tue Apr 1 12:06:16 2014 -0700

--
 api/src/org/apache/cloudstack/acl/SecurityChecker.java   | 2 +-
 .../META-INF/cloudstack/core/spring-server-core-misc-context.xml | 4 +++-
 server/src/com/cloud/api/dispatch/ParamProcessWorker.java| 2 --
 3 files changed, 4 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b917184f/api/src/org/apache/cloudstack/acl/SecurityChecker.java
--
diff --git a/api/src/org/apache/cloudstack/acl/SecurityChecker.java 
b/api/src/org/apache/cloudstack/acl/SecurityChecker.java
index 0b29fb4..4170871 100644
--- a/api/src/org/apache/cloudstack/acl/SecurityChecker.java
+++ b/api/src/org/apache/cloudstack/acl/SecurityChecker.java
@@ -102,7 +102,7 @@ public interface SecurityChecker extends Adapter {
 
 /**
  * Checks if the account can access multiple objects.
- * 
+ *
  * @param caller
  *account to check against.
  * @param entities

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b917184f/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 91401e3..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
@@ -52,7 +52,9 @@
 
 
 
-
+
+
+
 
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b917184f/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
--
diff --git a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java 
b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
index 3f1b47f..21932f7 100644
--- a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
+++ b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
@@ -42,7 +42,6 @@ import org.apache.cloudstack.acl.SecurityChecker.AccessType;
 import org.apache.cloudstack.api.ACL;
 import org.apache.cloudstack.api.APICommand;
 import org.apache.cloudstack.api.ApiErrorCode;
-import org.apache.cloudstack.api.BaseAsyncCreateCmd;
 import org.apache.cloudstack.api.BaseCmd;
 import org.apache.cloudstack.api.EntityReference;
 import org.apache.cloudstack.api.InternalIdentity;
@@ -56,7 +55,6 @@ import 
org.apache.cloudstack.api.command.user.event.DeleteEventsCmd;
 import org.apache.cloudstack.api.command.user.event.ListEventsCmd;
 import org.apache.cloudstack.context.CallContext;
 
-import com.cloud.configuration.ConfigurationManager;
 import com.cloud.dc.DataCenter;
 import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.exception.PermissionDeniedException;



git commit: updated refs/heads/4.4 to a8a0e84

2014-04-01 Thread prachidamle
Repository: cloudstack
Updated Branches:
  refs/heads/4.4 b917184fd -> a8a0e84b8


Split the Root Admin policy to allow 'ListEntry' access for listing resources 
for scope 'all', but 'UseEntry' access only within Account scope

Same with Domain Admin policy


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

Branch: refs/heads/4.4
Commit: a8a0e84b88b2635d3603a663925f1571c3d86b9d
Parents: b917184
Author: Prachi Damle 
Authored: Tue Apr 1 16:01:36 2014 -0700
Committer: Prachi Damle 
Committed: Tue Apr 1 16:01:36 2014 -0700

--
 .../iam/RoleBasedAPIAccessChecker.java  | 49 +---
 1 file changed, 32 insertions(+), 17 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a8a0e84b/services/iam/plugin/src/org/apache/cloudstack/iam/RoleBasedAPIAccessChecker.java
--
diff --git 
a/services/iam/plugin/src/org/apache/cloudstack/iam/RoleBasedAPIAccessChecker.java
 
b/services/iam/plugin/src/org/apache/cloudstack/iam/RoleBasedAPIAccessChecker.java
index 9964d48..b7f672c 100644
--- 
a/services/iam/plugin/src/org/apache/cloudstack/iam/RoleBasedAPIAccessChecker.java
+++ 
b/services/iam/plugin/src/org/apache/cloudstack/iam/RoleBasedAPIAccessChecker.java
@@ -218,23 +218,6 @@ public class RoleBasedAPIAccessChecker extends AdapterBase 
implements APIChecker
 private void addDefaultAclPolicyPermission(String apiName, Class 
cmdClass, RoleType role) {
 AccessType accessType = null;
 Class[] entityTypes = null;
-if (cmdClass != null) {
-BaseCmd cmdObj;
-try {
-cmdObj = (BaseCmd) cmdClass.newInstance();
-if (cmdObj instanceof BaseListCmd) {
-accessType = AccessType.UseEntry;
-} else if (!(cmdObj instanceof BaseAsyncCreateCmd)) {
-accessType = AccessType.OperateEntry;
-}
-} catch (Exception e) {
-throw new CloudRuntimeException(String.format(
-"%s is claimed as an API command, but it cannot be 
instantiated", cmdClass.getName()));
- }
-
-APICommand at = cmdClass.getAnnotation(APICommand.class);
-entityTypes = at.entityType();
-}
 
 PermissionScope permissionScope = PermissionScope.ACCOUNT;
 Long policyId = getDefaultPolicyId(role);
@@ -256,15 +239,47 @@ public class RoleBasedAPIAccessChecker extends 
AdapterBase implements APIChecker
 break;
  }
 
+boolean addAccountScopedUseEntry = false;
+
+if (cmdClass != null) {
+BaseCmd cmdObj;
+try {
+cmdObj = (BaseCmd) cmdClass.newInstance();
+if (cmdObj instanceof BaseListCmd) {
+if (permissionScope == PermissionScope.ACCOUNT) {
+accessType = AccessType.UseEntry;
+} else {
+accessType = AccessType.ListEntry;
+addAccountScopedUseEntry = true;
+}
+} else if (!(cmdObj instanceof BaseAsyncCreateCmd)) {
+accessType = AccessType.OperateEntry;
+}
+} catch (Exception e) {
+throw new CloudRuntimeException(String.format(
+"%s is claimed as an API command, but it cannot be 
instantiated", cmdClass.getName()));
+}
+
+APICommand at = cmdClass.getAnnotation(APICommand.class);
+entityTypes = at.entityType();
+}
 
 if (entityTypes == null || entityTypes.length == 0) {
 _iamSrv.addIAMPermissionToIAMPolicy(policyId, null, 
permissionScope.toString(), new 
Long(IAMPolicyPermission.PERMISSION_SCOPE_ID_CURRENT_CALLER),
 apiName, (accessType == null) ? null : 
accessType.toString(), Permission.Allow, false);
+if (addAccountScopedUseEntry) {
+_iamSrv.addIAMPermissionToIAMPolicy(policyId, null, 
PermissionScope.ACCOUNT.toString(), new Long(
+
IAMPolicyPermission.PERMISSION_SCOPE_ID_CURRENT_CALLER), apiName, 
AccessType.UseEntry.toString(), Permission.Allow, false);
+}
 } else {
 for (Class entityType : entityTypes) {
 _iamSrv.addIAMPermissionToIAMPolicy(policyId, 
entityType.getSimpleName(), permissionScope.toString(), new Long(
 
IAMPolicyPermission.PERMISSION_SCOPE_ID_CURRENT_CALLER),
 apiName, (accessType == null) ? null : 
accessTyp

[2/4] Remove usage of sameOwner checkAccess invocation, and convert to OperateEntry IAM check.

2014-04-01 Thread mchen
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c89eb733/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
--
diff --git 
a/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
 
b/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
index c84fea2..516b3ab 100644
--- 
a/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
+++ 
b/server/src/org/apache/cloudstack/region/gslb/GlobalLoadBalancingRulesServiceImpl.java
@@ -183,7 +183,7 @@ public class GlobalLoadBalancingRulesServiceImpl implements 
GlobalLoadBalancingR
 throw new InvalidParameterValueException("Invalid global load 
balancer rule id: " + gslbRuleId);
 }
 
-_accountMgr.checkAccess(caller, 
SecurityChecker.AccessType.OperateEntry, true, gslbRule);
+_accountMgr.checkAccess(caller, 
SecurityChecker.AccessType.OperateEntry, gslbRule);
 
 if (gslbRule.getState() == GlobalLoadBalancerRule.State.Revoke) {
 throw new InvalidParameterValueException("global load balancer 
rule id: " + gslbRule.getUuid() + " is in revoked state");
@@ -224,7 +224,7 @@ public class GlobalLoadBalancingRulesServiceImpl implements 
GlobalLoadBalancingR
 throw new InvalidParameterValueException("Specified load 
balancer rule ID does not exist.");
 }
 
-_accountMgr.checkAccess(caller, null, true, loadBalancer);
+_accountMgr.checkAccess(caller, null, loadBalancer);
 
 if (gslbRule.getAccountId() != loadBalancer.getAccountId()) {
 throw new InvalidParameterValueException("GSLB rule and load 
balancer rule does not belong to same account");
@@ -319,7 +319,7 @@ public class GlobalLoadBalancingRulesServiceImpl implements 
GlobalLoadBalancingR
 throw new InvalidParameterValueException("Invalid global load 
balancer rule id: " + gslbRuleId);
 }
 
-_accountMgr.checkAccess(caller, 
SecurityChecker.AccessType.OperateEntry, true, gslbRule);
+_accountMgr.checkAccess(caller, 
SecurityChecker.AccessType.OperateEntry, gslbRule);
 
 if (gslbRule.getState() == GlobalLoadBalancerRule.State.Revoke) {
 throw new InvalidParameterValueException("global load balancer 
rule id: " + gslbRuleId + " is already in revoked state");
@@ -346,7 +346,7 @@ public class GlobalLoadBalancingRulesServiceImpl implements 
GlobalLoadBalancingR
 throw new InvalidParameterValueException("Specified load 
balancer rule ID does not exist.");
 }
 
-_accountMgr.checkAccess(caller, null, true, loadBalancer);
+_accountMgr.checkAccess(caller, null, loadBalancer);
 }
 
 for (GlobalLoadBalancerLbRuleMapVO gslbLbMapVo : gslbLbMapVos) {
@@ -445,7 +445,7 @@ public class GlobalLoadBalancingRulesServiceImpl implements 
GlobalLoadBalancingR
 throw new InvalidParameterValueException("Invalid global load 
balancer rule id: " + gslbRuleId);
 }
 
-_accountMgr.checkAccess(caller, 
SecurityChecker.AccessType.OperateEntry, true, gslbRule);
+_accountMgr.checkAccess(caller, 
SecurityChecker.AccessType.OperateEntry, gslbRule);
 
 if (gslbRule.getState() == 
com.cloud.region.ha.GlobalLoadBalancerRule.State.Staged) {
 if (s_logger.isDebugEnabled()) {
@@ -523,7 +523,7 @@ public class GlobalLoadBalancingRulesServiceImpl implements 
GlobalLoadBalancingR
 CallContext ctx = CallContext.current();
 Account caller = ctx.getCallingAccount();
 
-_accountMgr.checkAccess(caller, 
SecurityChecker.AccessType.OperateEntry, true, gslbRule);
+_accountMgr.checkAccess(caller, 
SecurityChecker.AccessType.OperateEntry, gslbRule);
 
 if (algorithm != null && 
!GlobalLoadBalancerRule.Algorithm.isValidAlgorithm(algorithm)) {
 throw new InvalidParameterValueException("Invalid Algorithm: " + 
algorithm);
@@ -583,7 +583,7 @@ public class GlobalLoadBalancingRulesServiceImpl implements 
GlobalLoadBalancingR
 if (gslbRule == null) {
 throw new InvalidParameterValueException("Invalid gslb rule id 
specified");
 }
-_accountMgr.checkAccess(caller, 
org.apache.cloudstack.acl.SecurityChecker.AccessType.UseEntry, false, gslbRule);
+_accountMgr.checkAccess(caller, 
org.apache.cloudstack.acl.SecurityChecker.AccessType.UseEntry, gslbRule);
 
 response.add(gslbRule);
 return response;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c89eb733/server/test/com/cloud/event/EventControlsUnitTest.java
--
diff --git a/server/test/com/cloud/event/EventControlsUnitTest.java 
b/server/test/com/cloud/event/EventControlsUnitTest.java
index 91dc921..0dc5742 100644
--- a/serve

[1/4] git commit: updated refs/heads/4.4 to 4367d14

2014-04-01 Thread mchen
Repository: cloudstack
Updated Branches:
  refs/heads/4.4 a8a0e84b8 -> 4367d1406


Change AccountManagerImpl.checkAccess to invoke SecurityChecker
interface that takes multiple controlled entities.


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

Branch: refs/heads/4.4
Commit: 4367d1406b1d956d2a8d867af83ca4707b30193e
Parents: c89eb73
Author: Min Chen 
Authored: Tue Apr 1 17:31:29 2014 -0700
Committer: Min Chen 
Committed: Tue Apr 1 17:31:56 2014 -0700

--
 api/src/com/cloud/user/AccountService.java  |  14 +--
 .../apache/cloudstack/acl/SecurityChecker.java  |   6 +-
 .../command/user/nat/DisableStaticNatCmd.java   |   5 +-
 .../command/user/nat/EnableStaticNatCmd.java|   3 +-
 .../command/user/volume/AttachVolumeCmd.java|   4 +-
 .../contrail/management/MockAccountManager.java |  11 --
 server/src/com/cloud/acl/DomainChecker.java |  12 ++
 server/src/com/cloud/api/ApiDispatcher.java |  22 
 .../cloud/api/dispatch/ParamProcessWorker.java  |  16 ++-
 .../com/cloud/storage/VolumeApiServiceImpl.java |   1 +
 .../src/com/cloud/user/AccountManagerImpl.java  | 115 ---
 .../com/cloud/user/MockAccountManagerImpl.java  |   9 --
 .../iam/RoleBasedEntityAccessChecker.java   |  19 +--
 13 files changed, 71 insertions(+), 166 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4367d140/api/src/com/cloud/user/AccountService.java
--
diff --git a/api/src/com/cloud/user/AccountService.java 
b/api/src/com/cloud/user/AccountService.java
index 4965270..4b5dc36 100755
--- a/api/src/com/cloud/user/AccountService.java
+++ b/api/src/com/cloud/user/AccountService.java
@@ -104,20 +104,14 @@ public interface AccountService {
 
 RoleType getRoleType(Account account);
 
-void checkAccess(Account account, Domain domain) throws 
PermissionDeniedException;
+void checkAccess(Account caller, Domain domain) throws 
PermissionDeniedException;
 
-void checkAccess(Account account, AccessType accessType, 
ControlledEntity... entities) throws PermissionDeniedException;
+void checkAccess(Account caller, AccessType accessType, 
ControlledEntity... entities) throws PermissionDeniedException;
 
-void checkAccess(Account account, AccessType accessType, String apiName, 
ControlledEntity... entities) throws PermissionDeniedException;
-
-// TODO: the following two interfaces will be deprecated by the above two 
counterparts when securityChecker implementation is in place
-void checkAccess(Account account, AccessType accessType, boolean 
sameOwner, ControlledEntity... entities) throws PermissionDeniedException;
-
-void checkAccess(Account account, AccessType accessType, boolean 
sameOwner, String apiName,
-ControlledEntity... entities) throws PermissionDeniedException;
+void checkAccess(Account caller, AccessType accessType, String apiName, 
ControlledEntity... entities) throws PermissionDeniedException;
 
 //TO be implemented, to check accessibility for an entity owned by domain
-void checkAccess(Account account, AccessType accessType, boolean 
sameOwner, PartOf... entities) throws PermissionDeniedException;
+void checkAccess(Account caller, AccessType accessType, boolean sameOwner, 
PartOf... entities) throws PermissionDeniedException;
 
 Long finalyzeAccountId(String accountName, Long domainId, Long projectId, 
boolean enabledOnly);
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4367d140/api/src/org/apache/cloudstack/acl/SecurityChecker.java
--
diff --git a/api/src/org/apache/cloudstack/acl/SecurityChecker.java 
b/api/src/org/apache/cloudstack/acl/SecurityChecker.java
index 4170871..79366bd 100644
--- a/api/src/org/apache/cloudstack/acl/SecurityChecker.java
+++ b/api/src/org/apache/cloudstack/acl/SecurityChecker.java
@@ -31,10 +31,10 @@ import com.cloud.utils.component.Adapter;
 public interface SecurityChecker extends Adapter {
 
 public enum AccessType {
-ModifyProject,
-OperateEntry,
+ListEntry,
 UseEntry,
-ListEntry
+OperateEntry,
+ModifyProject,
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/4367d140/api/src/org/apache/cloudstack/api/command/user/nat/DisableStaticNatCmd.java
--
diff --git 
a/api/src/org/apache/cloudstack/api/command/user/nat/DisableStaticNatCmd.java 
b/api/src/org/apache/cloudstack/api/command/user/nat/DisableStaticNatCmd.java
index 1df77ec..

git commit: updated refs/heads/4.4 to 43ce832

2014-04-01 Thread prachidamle
Repository: cloudstack
Updated Branches:
  refs/heads/4.4 4367d1406 -> 43ce83202


Fix for: doAccessChecks fail due to the wrong ClassCast toArray()


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

Branch: refs/heads/4.4
Commit: 43ce83202d9370f49c389fd06e7d258df057dc9d
Parents: 4367d14
Author: Prachi Damle 
Authored: Tue Apr 1 17:33:45 2014 -0700
Committer: Prachi Damle 
Committed: Tue Apr 1 17:42:07 2014 -0700

--
 server/src/com/cloud/api/dispatch/ParamProcessWorker.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/43ce8320/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
--
diff --git a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java 
b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
index 3c0c66b..4f55664 100644
--- a/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
+++ b/server/src/com/cloud/api/dispatch/ParamProcessWorker.java
@@ -263,8 +263,8 @@ public class ParamProcessWorker implements DispatchWorker {
 }
 
 if (!entitiesToOperate.isEmpty()) {
-_accountMgr.checkAccess(owner, AccessType.OperateEntry, 
apiName,
-(ControlledEntity[]) entitiesToOperate.toArray());
+_accountMgr.checkAccess(caller, AccessType.OperateEntry, 
false, apiName,
+entitiesToOperate.toArray(new 
ControlledEntity[entitiesToOperate.size()]));
 }
 
 }