You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2015/03/04 12:30:08 UTC

[1/5] git commit: updated refs/heads/4.5 to 1f97f94

Repository: cloudstack
Updated Branches:
  refs/heads/4.5 9562175ca -> 1f97f9404


CLOUDSTACK-8298: Update copying large size VR config file in xenserver

 When there is large size VR configuration (aggregate commands) copying data to VR using vmops plugin was failed
 because of the ARG_MAX size limitation. The configuration data size is around 300KB.

 Updated this to create file in host by scp with file contents. This will create file in host.
 Then copy the file from the host to VR using hte vmops createFileInDomr method.

  In host file get created in /tmp/ with name VR-<UUID>.cfg, once it copied to VR this file will be removed.

(cherry picked from commit 619f0142555d2245e3fa90036f825525191b31bd)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


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

Branch: refs/heads/4.5
Commit: dd6bcde65b3aea47faa5884d22846070b00cf6bd
Parents: 9562175
Author: Jayapal <ja...@apache.org>
Authored: Mon Feb 23 13:51:20 2015 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Wed Mar 4 16:56:07 2015 +0530

----------------------------------------------------------------------
 .../xenserver/resource/CitrixResourceBase.java  | 14 ++++++++++---
 scripts/vm/hypervisor/xenserver/vmops           | 21 +++++++++-----------
 2 files changed, 20 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dd6bcde6/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
index f200178..f24b214 100644
--- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
+++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
@@ -571,9 +571,17 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
     @Override
     public ExecutionResult createFileInVR(String routerIp, String path, String filename, String content) {
         Connection conn = getConnection();
-        String rc = callHostPlugin(conn, "vmops", "createFileInDomr", "domrip", routerIp, "filepath", path + filename, "filecontents", content);
-        s_logger.debug ("VR Config file " + filename + " got created in VR with ip " + routerIp + " with content \n" + content);
-        // Fail case would be start with "fail#"
+        String hostPath = "/tmp/";
+
+        s_logger.debug("Copying VR with ip " + routerIp +" config file into host "+ _host.ip );
+        try {
+            SshHelper.scpTo(_host.ip, 22, _username, null, _password.peek(), hostPath, content.getBytes(), filename, null);
+        } catch (Exception e) {
+            s_logger.warn("scp VR config file into host " + _host.ip + " failed with exception " + e.getMessage().toString());
+        }
+
+        String rc = callHostPlugin(conn, "vmops", "createFileInDomr", "domrip", routerIp, "srcfilepath", hostPath + filename, "dstfilepath", path);
+        s_logger.debug ("VR Config file " + filename + " got created in VR, ip " + routerIp + " with content \n" + content);
         return new ExecutionResult(rc.startsWith("succ#"), rc.substring(5));
     }
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dd6bcde6/scripts/vm/hypervisor/xenserver/vmops
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/xenserver/vmops b/scripts/vm/hypervisor/xenserver/vmops
index 59ede97..8abddff 100755
--- a/scripts/vm/hypervisor/xenserver/vmops
+++ b/scripts/vm/hypervisor/xenserver/vmops
@@ -215,20 +215,17 @@ def createFile(session, args):
 
 @echo
 def createFileInDomr(session, args):
-    file_path = args['filepath']
-    file_contents = args['filecontents']
+    src_filepath = args['srcfilepath']
+    dst_path = args['dstfilepath']
     domrip = args['domrip']
+    txt=""
     try:
-        tmpfile = util.pread2(['mktemp']).strip()
-        f = open(tmpfile, "w")
-        f.write(file_contents)
-        f.close()
-        target = "root@" + domrip + ":" + file_path
-        txt = util.pread2(['scp','-P','3922','-q','-o','StrictHostKeyChecking=no','-i','/root/.ssh/id_rsa.cloud',tmpfile, target])
-        util.pread2(['rm',tmpfile])
+        target = "root@" + domrip + ":" + dst_path
+        txt = util.pread2(['scp','-P','3922','-q','-o','StrictHostKeyChecking=no','-i','/root/.ssh/id_rsa.cloud',src_filepath, target])
+        util.pread2(['rm',src_filepath])
         txt = 'succ#' + txt
     except:
-        logging.debug("failed to create file " + file_path + " in VR, contain: " + file_contents)
+        logging.debug("failed to copy file " + src_filepath + " from host to VR with ip " + domrip)
         txt = 'fail#' + txt
     return txt
 
@@ -1497,8 +1494,8 @@ if __name__ == "__main__":
                             "destroy_network_rules_for_vm":destroy_network_rules_for_vm, 
                             "default_network_rules_systemvm":default_network_rules_systemvm, 
                             "network_rules_vmSecondaryIp":network_rules_vmSecondaryIp,
-                            "get_rule_logs_for_vms":get_rule_logs_for_vms, 
-			    "add_to_VCPUs_params_live":add_to_VCPUs_params_live,
+                            "get_rule_logs_for_vms":get_rule_logs_for_vms,
+                            "add_to_VCPUs_params_live":add_to_VCPUs_params_live,
                             "setLinkLocalIP":setLinkLocalIP,
                             "cleanup_rules":cleanup_rules,
                             "createFileInDomr":createFileInDomr,


[5/5] git commit: updated refs/heads/4.5 to 1f97f94

Posted by bh...@apache.org.
Fixed checkstyle issues due to commit 0b6c540a203453580bb76a0d0a60be292fccfa0e

(cherry picked from commit c5c1b1d4628c5fc7a402586325c7bf937f42766e)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


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

Branch: refs/heads/4.5
Commit: 1f97f940467f9c603bfef99c1162d8e2ec0e1a5f
Parents: 0ae5912
Author: Rajani Karuturi <ra...@gmail.com>
Authored: Wed Mar 4 16:21:53 2015 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Wed Mar 4 16:59:13 2015 +0530

----------------------------------------------------------------------
 utils/src/com/cloud/utils/S3Utils.java | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/1f97f940/utils/src/com/cloud/utils/S3Utils.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/S3Utils.java b/utils/src/com/cloud/utils/S3Utils.java
index 37aeb91..6784587 100644
--- a/utils/src/com/cloud/utils/S3Utils.java
+++ b/utils/src/com/cloud/utils/S3Utils.java
@@ -339,18 +339,16 @@ public final class S3Utils {
 
     private static List<S3ObjectSummary> listDirectory(final String bucketName, final String directory, final AmazonS3 client) {
 
-   	 List<S3ObjectSummary> objects = new ArrayList<S3ObjectSummary>();
-   	 ListObjectsRequest listObjectsRequest = new ListObjectsRequest().withBucketName(bucketName).withPrefix(directory + SEPARATOR);
-   	 ObjectListing objectListing;
-
-   	 do {
-   	 	objectListing = client.listObjects(listObjectsRequest);
-   	 	
-   	 	if (objectListing != null )
-   	 		objects.addAll(objectListing.getObjectSummaries());
-   	 	listObjectsRequest.setMarker(objectListing.getNextMarker());
-   	 } while (objectListing.isTruncated());
-        
+     List<S3ObjectSummary> objects = new ArrayList<S3ObjectSummary>();
+     ListObjectsRequest listObjectsRequest = new ListObjectsRequest().withBucketName(bucketName).withPrefix(directory + SEPARATOR);
+     ObjectListing objectListing;
+
+     do {
+      objectListing = client.listObjects(listObjectsRequest);
+      if (objectListing != null )
+        objects.addAll(objectListing.getObjectSummaries());
+      listObjectsRequest.setMarker(objectListing.getNextMarker());
+     } while (objectListing.isTruncated());
         if (objects.isEmpty()) {
             return emptyList();
         }


[3/5] git commit: updated refs/heads/4.5 to 1f97f94

Posted by bh...@apache.org.
CLOUDSTACK-8296 VMs cannot be migrated with XenMotion as network is not available.

(cherry picked from commit 736c7d7668796af96f223a2c6cd82aac6789a2ee)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


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

Branch: refs/heads/4.5
Commit: 8069b172504ff2e66d092cfaf02cdd29dd03e849
Parents: c8e6fbb
Author: Sanjay Tripathi <sa...@citrix.com>
Authored: Mon Mar 2 11:22:49 2015 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Wed Mar 4 16:59:12 2015 +0530

----------------------------------------------------------------------
 .../hypervisor/xenserver/resource/XenServer610Resource.java    | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8069b172/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer610Resource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer610Resource.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer610Resource.java
index 5e3f95c..2283477 100644
--- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer610Resource.java
+++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/XenServer610Resource.java
@@ -132,6 +132,12 @@ public class XenServer610Resource extends XenServer600Resource {
 
         try {
             prepareISO(connection, vmSpec.getName());
+
+            // Get the list of networks and recreate VLAN, if required.
+            for (NicTO nicTo : vmSpec.getNics()) {
+                getNetwork(connection, nicTo);
+            }
+
             Map<String, String> other = new HashMap<String, String>();
             other.put("live", "true");
             Network networkForSm = getNativeNetworkForTraffic(connection, TrafficType.Storage, null).getNetwork();


[2/5] git commit: updated refs/heads/4.5 to 1f97f94

Posted by bh...@apache.org.
kvm: Check the return value of the cloudstack-setup-agent command

Bug-Url: https://issues.apache.org/jira/browse/CLOUDSTACK-8016
Signed-off-by: Laszlo Hornyak <la...@gmail.com>
Signed-off-by: Rajani Karuturi <ra...@gmail.com>

This closes #93

(cherry picked from commit 7c1590ffd67b74f52fe374b0fb91f8c1ef731c39)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


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

Branch: refs/heads/4.5
Commit: c8e6fbb8129818d980e06560e136e96a0111efd9
Parents: dd6bcde
Author: Laszlo Hornyak <la...@gmail.com>
Authored: Sat Jan 17 22:09:16 2015 +0100
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Wed Mar 4 16:56:48 2015 +0530

----------------------------------------------------------------------
 .../hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java    | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c8e6fbb8/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java b/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
index d475f4d..350b9a7 100644
--- a/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
+++ b/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
@@ -205,7 +205,12 @@ public abstract class LibvirtServerDiscoverer extends DiscovererBase implements
             parameters += " --guestNic=" + kvmGuestNic;
             parameters += " --hypervisor=" + cluster.getHypervisorType().toString().toLowerCase();
 
-            SSHCmdHelper.sshExecuteCmd(sshConnection, "cloudstack-setup-agent " + parameters, 3);
+            if (!SSHCmdHelper.sshExecuteCmd(sshConnection,
+                    "cloudstack-setup-agent " + parameters, 3)) {
+                s_logger.info("cloudstack agent setup command failed: "
+                        + "cloudstack-setup-agent " + parameters);
+                return null;
+            }
 
             KvmDummyResourceBase kvmResource = new KvmDummyResourceBase();
             Map<String, Object> params = new HashMap<String, Object>();


[4/5] git commit: updated refs/heads/4.5 to 1f97f94

Posted by bh...@apache.org.
listDirectory method updated to use ObjectListing.isTruncated().

Because buckets can contain a virtually unlimited number of keys, the
complete results of a list query can be extremely large. To manage large
result sets, Amazon S3 uses pagination to split them into multiple
responses.

Signed-off-by: Rajani Karuturi <ra...@gmail.com>

This closes #25

(cherry picked from commit 0b6c540a203453580bb76a0d0a60be292fccfa0e)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


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

Branch: refs/heads/4.5
Commit: 0ae5912f0019b9ea4c496ea138ecb57fc840ef23
Parents: 8069b17
Author: santhosh <sa...@47line.com>
Authored: Fri Oct 24 21:15:29 2014 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Wed Mar 4 16:59:12 2015 +0530

----------------------------------------------------------------------
 utils/src/com/cloud/utils/S3Utils.java | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0ae5912f/utils/src/com/cloud/utils/S3Utils.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/S3Utils.java b/utils/src/com/cloud/utils/S3Utils.java
index d9b850d..37aeb91 100644
--- a/utils/src/com/cloud/utils/S3Utils.java
+++ b/utils/src/com/cloud/utils/S3Utils.java
@@ -57,13 +57,14 @@ import com.amazonaws.services.s3.AmazonS3Client;
 import com.amazonaws.services.s3.model.Bucket;
 import com.amazonaws.services.s3.model.CannedAccessControlList;
 import com.amazonaws.services.s3.model.GetObjectRequest;
+import com.amazonaws.services.s3.model.ListObjectsRequest;
+import com.amazonaws.services.s3.model.ObjectListing;
 import com.amazonaws.services.s3.model.ObjectMetadata;
 import com.amazonaws.services.s3.model.PutObjectRequest;
 import com.amazonaws.services.s3.model.S3Object;
 import com.amazonaws.services.s3.model.S3ObjectSummary;
 import com.amazonaws.services.s3.transfer.TransferManager;
 import com.amazonaws.services.s3.transfer.Upload;
-
 import com.cloud.utils.exception.CloudRuntimeException;
 
 public final class S3Utils {
@@ -338,9 +339,19 @@ public final class S3Utils {
 
     private static List<S3ObjectSummary> listDirectory(final String bucketName, final String directory, final AmazonS3 client) {
 
-        final List<S3ObjectSummary> objects = client.listObjects(bucketName, directory + SEPARATOR).getObjectSummaries();
-
-        if (objects == null) {
+   	 List<S3ObjectSummary> objects = new ArrayList<S3ObjectSummary>();
+   	 ListObjectsRequest listObjectsRequest = new ListObjectsRequest().withBucketName(bucketName).withPrefix(directory + SEPARATOR);
+   	 ObjectListing objectListing;
+
+   	 do {
+   	 	objectListing = client.listObjects(listObjectsRequest);
+   	 	
+   	 	if (objectListing != null )
+   	 		objects.addAll(objectListing.getObjectSummaries());
+   	 	listObjectsRequest.setMarker(objectListing.getNextMarker());
+   	 } while (objectListing.isTruncated());
+        
+        if (objects.isEmpty()) {
             return emptyList();
         }