You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ra...@apache.org on 2013/12/27 10:48:40 UTC

[01/12] git commit: updated refs/heads/master to ea09c04

Updated Branches:
  refs/heads/master 84bf5b3e5 -> ea09c0435


CLOUDSTACK-5321 Added default guest template  centos 6.4-x64 and modified hyperv systemvm template download url


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

Branch: refs/heads/master
Commit: d37ce1e7c15f17f2b766315fb3b4f7faae5c93f0
Parents: 84bf5b3
Author: Rajesh Battala <ra...@citrix.com>
Authored: Thu Dec 5 16:12:47 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:45:55 2013 +0530

----------------------------------------------------------------------
 setup/db/templates.sql | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d37ce1e7/setup/db/templates.sql
----------------------------------------------------------------------
diff --git a/setup/db/templates.sql b/setup/db/templates.sql
index e5a653c..0f7958f 100755
--- a/setup/db/templates.sql
+++ b/setup/db/templates.sql
@@ -37,7 +37,10 @@ INSERT INTO `cloud`.`vm_template` (id, uuid, unique_name, name, public, created,
     VALUES (8, UUID(), 'routing-8', 'SystemVM Template (vSphere)', 0, now(), 'SYSTEM', 0, 32, 1, 'http://download.cloud.com/templates/4.2/systemvmtemplate-4.2-vh7.ova', '8fde62b1089e5844a9cd3b9b953f9596', 0, 'SystemVM Template (vSphere)', 'OVA', 15, 0, 1, 'VMware' );
 
 INSERT INTO `cloud`.`vm_template` (id, uuid, unique_name, name, public, created, type, hvm, bits, account_id, url, checksum, enable_password, display_text, format, guest_os_id, featured, cross_zones, hypervisor_type)
-    VALUES (9, UUID(), 'routing-9', 'SystemVM Template (HyperV)', 0, now(), 'SYSTEM', 0, 32, 1, 'http://download.cloud.com/templates/4.2/systemvmtemplate-2013-06-12-master-xen.vhd.bz2', 'fb1b6e032a160d86f2c28feb5add6d83', 0, 'SystemVM Template (HyperV)', 'VHD', 15, 0, 1, 'Hyperv' );
+    VALUES (9, UUID(), 'routing-9', 'SystemVM Template (HyperV)', 0, now(), 'SYSTEM', 0, 64, 1, 'http://download.cloud.com/templates/4.3/systemvm64template-2013-12-04-hyperv.vhd.bz2', 'fb1b6e032a160d86f2c28feb5add6d83', 0, 'SystemVM Template (HyperV)', 'VHD', 15, 0, 1, 'Hyperv' );
+
+INSERT INTO `cloud`.`vm_template` (id, uuid, unique_name, name, public, created, type, hvm, bits, account_id, url, checksum, enable_password, display_text,  format, guest_os_id, featured, cross_zones, hypervisor_type, extractable)
+    VALUES (6, UUID(), 'centos64-x64', 'CentOS 6.4(64-bit) no GUI (Hyperv)', 1, now(), 'BUILTIN', 0, 64, 1, 'http://download.cloud.com/releases/4.3/centos6_4_64bit.vhd.bz2', '89d124c4e7c93b88638b2a0e286c54f2', 0, 'CentOS 6.4 (64-bit) no GUI (Hyperv)', 'VHD', 182, 1, 1, 'Hyperv', 1);
 
 INSERT INTO `cloud`.`guest_os_category` (id, uuid, name) VALUES (1, UUID(), 'CentOS');
 INSERT INTO `cloud`.`guest_os_category` (id, uuid, name) VALUES (2, UUID(), 'Debian');


[04/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5559 Add CIFS support in ssvm-check script


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

Branch: refs/heads/master
Commit: dde7a5f43e9b3522db5bbb1a577daa97ee70e890
Parents: bd639bf
Author: Rajesh Battala <ra...@citrix.com>
Authored: Thu Dec 19 17:42:37 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:49:26 2013 +0530

----------------------------------------------------------------------
 systemvm/scripts/ssvm-check.sh | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dde7a5f4/systemvm/scripts/ssvm-check.sh
----------------------------------------------------------------------
diff --git a/systemvm/scripts/ssvm-check.sh b/systemvm/scripts/ssvm-check.sh
index 7b83c98..2ab51c5 100644
--- a/systemvm/scripts/ssvm-check.sh
+++ b/systemvm/scripts/ssvm-check.sh
@@ -34,6 +34,10 @@ do
    esac
 done
 
+isCifs() {
+ mount | grep "type cifs" > /dev/null
+ echo $?
+}
 
 # ping dns server
 echo ================================================
@@ -67,12 +71,18 @@ fi
 
 # check to see if we have the NFS volume mounted
 echo ================================================
-mount|grep -v sunrpc|grep -v rpc_pipefs|grep nfs 1> /dev/null 2>&1
+storage="cifs"
+if [ $(isCifs) -ne 0 ] ;
+ then
+   storage="nfs"
+fi
+
+mount|grep -v sunrpc|grep -v rpc_pipefs|grep $storage 1> /dev/null 2>&1
 if [ $? -eq 0 ]
 then
-    echo "NFS is currently mounted"
+    echo "$storage is currently mounted"
     # check for write access
-    for MOUNTPT in `mount|grep -v sunrpc|grep -v rpc_pipefs|grep nfs| awk '{print $3}'`
+    for MOUNTPT in `mount|grep -v sunrpc|grep -v rpc_pipefs|grep $storage| awk '{print $3}'`
     do
         if [ $MOUNTPT != "/proc/xen" ] # mounted by xen
         then
@@ -96,9 +106,9 @@ else
     ping -c 2  $NFSSERVER
     if [ $? -eq 0 ]
     then
-	echo "Good: Can ping NFS server"
+	echo "Good: Can ping $storage server"
     else
-	echo "WARNING: cannot ping NFS server"
+	echo "WARNING: cannot ping $storage server"
 	echo routing table follows
 	route -n
     fi


[12/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5193 [Hyper-V] VHDs not deleted post VM destroy and expunge


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

Branch: refs/heads/master
Commit: ea09c0435f50af42aa3ec2916484ce2a8a7e1f49
Parents: 31969e9
Author: Rajesh Battala <ra...@citrix.com>
Authored: Thu Dec 26 16:10:49 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:59:57 2013 +0530

----------------------------------------------------------------------
 .../HypervResource/HypervResourceController.cs  | 58 ++++++++++++++++++++
 1 file changed, 58 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ea09c043/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 c24e177..287f9f2 100644
--- a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
+++ b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/HypervResourceController.cs
@@ -419,6 +419,64 @@ namespace HypervResource
             }
         }
 
+        // POST api/HypervResource/DeleteCommand
+        [HttpPost]
+        [ActionName(CloudStackTypes.DeleteCommand)]
+        public JContainer DeleteCommand([FromBody]dynamic cmd)
+        {
+            using (log4net.NDC.Push(Guid.NewGuid().ToString()))
+            {
+                logger.Info(CloudStackTypes.DestroyCommand + cmd.ToString());
+
+                string details = null;
+                bool result = false;
+
+                try
+                {
+                    // Assert
+                    String errMsg = "No 'volume' details in " + CloudStackTypes.DestroyCommand + " " + cmd.ToString();
+                    VolumeObjectTO destVolumeObjectTO = VolumeObjectTO.ParseJson(cmd.data);
+
+                    if (destVolumeObjectTO.name == null)
+                    {
+                        logger.Error(errMsg);
+                        throw new ArgumentException(errMsg);
+                    }
+
+                    String path = destVolumeObjectTO.FullFileName;
+                    if (!File.Exists(path))
+                    {
+                        logger.Info(CloudStackTypes.DestroyCommand + ", but volume at pass already deleted " + path);
+                    }
+
+                    string vmName = (string)cmd.vmName;
+                    if (!string.IsNullOrEmpty(vmName) && File.Exists(path))
+                    {
+                        // Make sure that this resource is removed from the VM
+                        wmiCallsV2.DetachDisk(vmName, path);
+                    }
+
+                    File.Delete(path);
+                    result = true;
+                }
+                catch (Exception sysEx)
+                {
+                    details = CloudStackTypes.DestroyCommand + " failed due to " + sysEx.Message;
+                    logger.Error(details, sysEx);
+                }
+
+                object ansContent = new
+                {
+                    result = result,
+                    details = details,
+                    contextMap = contextMap
+                };
+
+                return ReturnCloudStackTypedJArray(ansContent, CloudStackTypes.Answer);
+            }
+        }
+
+        
         private static JArray ReturnCloudStackTypedJArray(object ansContent, string ansType)
         {
             JObject ansObj = Utils.CreateCloudStackObject(ansType, ansContent);


[09/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5602 cloudstack-release file in systemvm for hyperv is showing the release as 4.2. It should be 4.3
CLOUDSTACK-5538 additional libraries requires in systemvm for console proxy to work in HyperV


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

Branch: refs/heads/master
Commit: fc306d13bf00d8039f36b329ea5dbf252b31c817
Parents: 238eda3
Author: Rajesh Battala <ra...@citrix.com>
Authored: Sun Dec 22 18:10:24 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:58:23 2013 +0530

----------------------------------------------------------------------
 tools/appliance/definitions/systemvm64template/postinstall.sh | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc306d13/tools/appliance/definitions/systemvm64template/postinstall.sh
----------------------------------------------------------------------
diff --git a/tools/appliance/definitions/systemvm64template/postinstall.sh b/tools/appliance/definitions/systemvm64template/postinstall.sh
index 4b43eee..8bd7a52 100644
--- a/tools/appliance/definitions/systemvm64template/postinstall.sh
+++ b/tools/appliance/definitions/systemvm64template/postinstall.sh
@@ -19,7 +19,7 @@ set -x
 
 ROOTPW=password
 HOSTNAME=systemvm
-CLOUDSTACK_RELEASE=4.2.0
+CLOUDSTACK_RELEASE=4.3.0
 
 add_backports () {
     sed -i '/backports/d' /etc/apt/sources.list
@@ -79,6 +79,8 @@ install_packages() {
   # Download the hv kvp daemon 
   wget http://people.apache.org/~rajeshbattala/hv-kvp-daemon_3.1_amd64.deb
   dpkg -i hv-kvp-daemon_3.1_amd64.deb
+  #libraries required for rdp client (Hyper-V) 
+   apt-get --no-install-recommends -q -y --force-yes install libtcnative-1 libssl-dev libapr1-dev
 
   # vmware tools
   apt-get --no-install-recommends -q -y --force-yes install open-vm-tools
@@ -236,6 +238,7 @@ configure_services() {
   chkconfig --add cloud
   chkconfig cloud off
   chkconfig xl2tpd off
+  chkconfig hv_kvp_daemon off
 }
 
 do_signature() {


[10/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5584  fix the issue to configure the systemvm's in hyperv consistently


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

Branch: refs/heads/master
Commit: 3f59780e91f8b8683953a79005e7d58e557562cd
Parents: fc306d1
Author: Rajesh Battala <ra...@citrix.com>
Authored: Sun Dec 22 22:15:29 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:58:56 2013 +0530

----------------------------------------------------------------------
 .../DotNet/ServerResource/HypervResource/WmiCallsV2.cs  | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3f59780e/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs
index 23a5dd3..f0f7f7b 100644
--- a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs
+++ b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs
@@ -445,13 +445,6 @@ namespace HypervResource
                 String bootargs = bootArgs;
                 AddUserData(vm, bootargs);
 
-
-                // Get existing KVP
-                //var vmSettings = GetVmSettings(vm);
-                //var kvpInfo = GetKvpSettings(vmSettings);
-                //logger.DebugFormat("Boot Args presisted on the VM are ", kvpInfo);
-                //AddUserData(vm, bootargs);
-
                 // Verify key added to subsystem
                 //kvpInfo = GetKvpSettings(vmSettings);
 
@@ -475,17 +468,16 @@ namespace HypervResource
             if (vmName.StartsWith("r-") || vmName.StartsWith("s-") || vmName.StartsWith("v-"))
             {
                 System.Threading.Thread.Sleep(90000);
-                SetState(newVm, RequiredState.Reset);
                 // wait for the second boot and then return with sucesss
                 //if publicIPAddress is empty or null don't ping the ip
-                if (publicIpAddress.Equals("") == true)
+              /*if (publicIpAddress.Equals("") == true)
                 {
                     System.Threading.Thread.Sleep(90000);
                 }
                 else
                 {
                     pingResource(publicIpAddress);
-                }
+                }*/
             }
             logger.InfoFormat("Started VM {0}", vmName);
             return newVm;


[08/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5592 ssh should run on eth1 interface in ssvm/cpvm running in HyperV


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

Branch: refs/heads/master
Commit: 238eda30ae1cfa56bf28818dceaecd15900f2963
Parents: dcf8ddf
Author: Rajesh Battala <ra...@citrix.com>
Authored: Sun Dec 22 17:59:46 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:57:52 2013 +0530

----------------------------------------------------------------------
 .../patches/debian/config/etc/init.d/cloud-early-config   | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/238eda30/systemvm/patches/debian/config/etc/init.d/cloud-early-config
----------------------------------------------------------------------
diff --git a/systemvm/patches/debian/config/etc/init.d/cloud-early-config b/systemvm/patches/debian/config/etc/init.d/cloud-early-config
index 05661fc..d6dc8f0 100755
--- a/systemvm/patches/debian/config/etc/init.d/cloud-early-config
+++ b/systemvm/patches/debian/config/etc/init.d/cloud-early-config
@@ -29,6 +29,8 @@
 PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
 #set -x
 #exec 3>&0 4>&1 > /var/log/test.log 2>&1
+#start hv_kvp daemon
+/usr/sbin/hv_kvp_daemon
 
 # Fix haproxy directory issue
 mkdir -p /var/lib/haproxy
@@ -134,7 +136,9 @@ get_boot_params() {
           # Hyper-V is recognized as virtualpc hypervisor type. Boot args are passed using KVP Daemon
           #waiting for the hv_kvp_daemon to start up
           #sleep 30 need to fix the race condition of hv_kvp_daemon and cloud-early-config
+          sleep 5
           cp -f /var/opt/hyperv/.kvp_pool_0 /var/cache/cloud/cmdline
+          cat /dev/null > /var/opt/hyperv/.kvp_pool_0
           ;;
   esac
 
@@ -987,7 +991,7 @@ EOF
   fi
   if [ -n "$MGMTNET"  -a -n "$LOCAL_GW" ]
   then
-     if [ "$hyp" == "vmware" ]
+     if [ "$hyp" == "vmware" ] || [ "$hyp" == "hyperv" ];
      then
          ip route add $MGMTNET via $LOCAL_GW dev eth0
          
@@ -1087,7 +1091,7 @@ setup_secstorage() {
 
   cp /etc/iptables/iptables-secstorage /etc/iptables/rules.v4
   cp /etc/iptables/iptables-secstorage /etc/iptables/rules
-  if [ "$hyp" == "vmware" ]; then
+  if [ "$hyp" == "vmware" ] || [ "$hyp" == "hyperv" ]; then
     setup_sshd $ETH1_IP "eth1"
   else
     setup_sshd $ETH0_IP "eth0"
@@ -1113,7 +1117,7 @@ setup_console_proxy() {
   echo "$public_ip $NAME" >> /etc/hosts
   cp /etc/iptables/iptables-consoleproxy /etc/iptables/rules.v4
   cp /etc/iptables/iptables-consoleproxy /etc/iptables/rules
-  if [ "$hyp" == "vmware" ]; then
+  if [ "$hyp" == "vmware" ] || [ "$hyp" == "hyperv" ]; then
     setup_sshd $ETH1_IP "eth1"
   else
     setup_sshd $ETH0_IP "eth0"


[03/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5520 CLOUDSTACK-5418 Script errors seen when trying to seed the 64 bit Xenserver templates.


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

Branch: refs/heads/master
Commit: bd639bf145b06436d326cd27a52dbac6cd69daa2
Parents: 18fd015
Author: Rajesh Battala <ra...@citrix.com>
Authored: Wed Dec 18 15:32:39 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:46:55 2013 +0530

----------------------------------------------------------------------
 scripts/storage/secondary/createtmplt.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bd639bf1/scripts/storage/secondary/createtmplt.sh
----------------------------------------------------------------------
diff --git a/scripts/storage/secondary/createtmplt.sh b/scripts/storage/secondary/createtmplt.sh
index 05874b4..6b31232 100755
--- a/scripts/storage/secondary/createtmplt.sh
+++ b/scripts/storage/secondary/createtmplt.sh
@@ -174,7 +174,7 @@ isCifs() {
    #then check if the template file is from cifs using df -P filename
    #Currently only cifs is supported in hyperv zone.
    mount | grep "type cifs" > /dev/null
-   return $?
+   echo $?
 }
 
 if [ "$tflag$nflag$fflag$sflag" != "1111" ]
@@ -204,7 +204,7 @@ rollback_if_needed $tmpltfs $? "tar archives not supported\n"
 
 if [ ${tmpltname%.vhd} != ${tmpltname} ]
 then
-  if [ isCifs -ne 0 ] ;
+  if [ $(isCifs) -ne 0 ] ;
   then
       if  which  vhd-util &>/dev/null
       then


[05/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5592
ssh should run on eth1 interface in ssvm/cpvm running in HyperV.


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

Branch: refs/heads/master
Commit: ab304d28213c6e0957624dcd406f99e0b4fdc27b
Parents: dde7a5f
Author: Rajesh Battala <ra...@citrix.com>
Authored: Sun Dec 22 17:00:48 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:50:08 2013 +0530

----------------------------------------------------------------------
 server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java  | 5 +++++
 .../cloud/storage/secondary/SecondaryStorageManagerImpl.java    | 5 +++++
 2 files changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ab304d28/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
index 3b23715..9e5c0b3 100755
--- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
+++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
@@ -1440,6 +1440,11 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
             controlNic = managementNic;
         }
 
+        // verify ssh access on management nic for system vm running on HyperV
+        if(profile.getHypervisorType() == HypervisorType.Hyperv) {
+            controlNic = managementNic;
+        }
+
         CheckSshCommand check = new CheckSshCommand(profile.getInstanceName(), controlNic.getIp4Address(), 3922);
         cmds.addCommand("checkSsh", check);
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ab304d28/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
index 99de391..114d06f 100755
--- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
+++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
@@ -1141,6 +1141,11 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
             controlNic = managementNic;
         }
 
+        // verify ssh access on management nic for system vm running on HyperV
+        if(profile.getHypervisorType() == HypervisorType.Hyperv) {
+            controlNic = managementNic;
+        }
+
         CheckSshCommand check = new CheckSshCommand(profile.getInstanceName(), controlNic.getIp4Address(), 3922);
         cmds.addCommand("checkSsh", check);
 


[07/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5340 [Hyper-V] Control IPs are not getting released when VRs are in stopped state


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

Branch: refs/heads/master
Commit: dcf8ddfb2487d7cee02c92459d6c1d1e4a397289
Parents: 67d1a88
Author: Rajesh Battala <ra...@citrix.com>
Authored: Sun Dec 22 17:08:42 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:56:02 2013 +0530

----------------------------------------------------------------------
 server/src/com/cloud/network/guru/ControlNetworkGuru.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/dcf8ddfb/server/src/com/cloud/network/guru/ControlNetworkGuru.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/guru/ControlNetworkGuru.java b/server/src/com/cloud/network/guru/ControlNetworkGuru.java
index 1de12b7..b8e1f20 100755
--- a/server/src/com/cloud/network/guru/ControlNetworkGuru.java
+++ b/server/src/com/cloud/network/guru/ControlNetworkGuru.java
@@ -173,8 +173,8 @@ public class ControlNetworkGuru extends PodBasedNetworkGuru implements NetworkGu
     @Override
     public boolean release(NicProfile nic, VirtualMachineProfile vm, String reservationId) {
         assert nic.getTrafficType() == TrafficType.Control;
-
-        if (vm.getHypervisorType() == HypervisorType.VMware && isRouterVm(vm)) {
+        HypervisorType hType = vm.getHypervisorType(); 
+        if ( ( (hType == HypervisorType.VMware) || (hType == HypervisorType.Hyperv) )&& isRouterVm(vm)) {
             long dcId = vm.getVirtualMachine().getDataCenterId();
             DataCenterVO dcVo = _dcDao.findById(dcId);
             if (dcVo.getNetworkType() != NetworkType.Basic) {


[02/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5365 added route for mgmt cidr in the VR running on HyperV


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

Branch: refs/heads/master
Commit: 18fd0157a5bda6ddc96eb2dff8fd9658d1323f57
Parents: d37ce1e
Author: Rajesh Battala <ra...@citrix.com>
Authored: Tue Dec 17 16:39:26 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:46:28 2013 +0530

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


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/18fd0157/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 cc66199..ee412b3 100755
--- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -2044,7 +2044,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
             } else if (nic.getTrafficType() == TrafficType.Control) {
                 controlNic = nic;
                 // DOMR control command is sent over management server in VMware
-                if (dest.getHost().getHypervisorType() == HypervisorType.VMware) {
+                if (dest.getHost().getHypervisorType() == HypervisorType.VMware || dest.getHost().getHypervisorType() == HypervisorType.Hyperv) {
                     s_logger.info("Check if we need to add management server explicit route to DomR. pod cidr: " + dest.getPod().getCidrAddress() + "/" +
                         dest.getPod().getCidrSize() + ", pod gateway: " + dest.getPod().getGateway() + ", management host: " + ClusterManager.ManagementHostIPAdr.value());
 


[06/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5603  support Monitoring VR services when VR running on Hyper-V


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

Branch: refs/heads/master
Commit: 67d1a888800683c201ab331edbf9a1fa6c529918
Parents: ab304d2
Author: Rajesh Battala <ra...@citrix.com>
Authored: Sun Dec 22 17:03:55 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:55:16 2013 +0530

----------------------------------------------------------------------
 .../resource/HypervDirectConnectResource.java   | 40 ++++++++++++++++++--
 1 file changed, 36 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/67d1a888/plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java b/plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java
index 99e21e4..e60ac00 100644
--- a/plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java
+++ b/plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/resource/HypervDirectConnectResource.java
@@ -19,6 +19,7 @@ package com.cloud.hypervisor.hyperv.resource;
 import java.io.File;
 import java.io.IOException;
 import java.net.ConnectException;
+import java.net.InetSocketAddress;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
@@ -79,6 +80,7 @@ import com.cloud.agent.api.routing.NetworkElementCommand;
 import com.cloud.agent.api.routing.SavePasswordCommand;
 import com.cloud.agent.api.routing.SetFirewallRulesAnswer;
 import com.cloud.agent.api.routing.SetFirewallRulesCommand;
+import com.cloud.agent.api.routing.SetMonitorServiceCommand;
 import com.cloud.agent.api.routing.SetPortForwardingRulesAnswer;
 import com.cloud.agent.api.routing.SetPortForwardingRulesCommand;
 import com.cloud.agent.api.routing.SetSourceNatAnswer;
@@ -381,7 +383,9 @@ public class HypervDirectConnectResource extends ServerResourceBase implements S
         } else if (clazz == CheckS2SVpnConnectionsCommand.class) {
             answer = execute((CheckS2SVpnConnectionsCommand)cmd);
         } else if (clazz == SetStaticRouteCommand.class) {
-            answer = execute((SetStaticRouteCommand)cmd);
+            answer = execute((SetStaticRouteCommand) cmd);
+        } else if (clazz == SetMonitorServiceCommand.class) {
+            answer = execute((SetMonitorServiceCommand) cmd);
         } else {
             if (clazz == StartCommand.class) {
                 VirtualMachineTO vmSpec = ((StartCommand)cmd).getVirtualMachine();
@@ -1450,6 +1454,35 @@ public class HypervDirectConnectResource extends ServerResourceBase implements S
         return stats;
     }
 
+    protected Answer execute(SetMonitorServiceCommand cmd) {
+        if (s_logger.isInfoEnabled()) {
+            s_logger.info("Executing resource SetMonitorServiceCommand: " + s_gson.toJson(cmd));
+        }
+
+        String controlIp = getRouterSshControlIp(cmd);
+        String config = cmd.getConfiguration();
+
+        String args = "";
+
+        args += " -c " + config;
+
+        try {
+            Pair<Boolean, String> result = SshHelper.sshExecute(controlIp, DEFAULT_DOMR_SSHPORT, "root", getSystemVMKeyFile(), null, "/opt/cloud/bin/monitor_service.sh " + args);
+
+            if (!result.first()) {
+                String msg=  "monitor_service.sh failed on domain router " + controlIp + " failed " + result.second();
+                s_logger.error(msg);
+                return new Answer(cmd, false, msg);
+            }
+
+            return new Answer(cmd);
+
+        } catch (Throwable e) {
+            s_logger.error("Unexpected exception: " + e.toString(), e);
+            return new Answer(cmd, false, "SetMonitorServiceCommand failed due to " + e);
+        }
+    }
+
     protected CheckSshAnswer execute(CheckSshCommand cmd) {
         String vmName = cmd.getName();
         String privateIp = cmd.getIp();
@@ -1666,10 +1699,9 @@ public class HypervDirectConnectResource extends ServerResourceBase implements S
                 sch = SocketChannel.open();
                 sch.configureBlocking(true);
                 sch.socket().setSoTimeout(5000);
-                // we need to connect to the public ip address to check the status of the VM
-                /*
+                // we need to connect to the control ip address to check the status of the system vm
                 InetSocketAddress addr = new InetSocketAddress(ipAddress, port);
-                sch.connect(addr);*/
+                sch.connect(addr);
                 return null;
             } catch (IOException e) {
                 s_logger.info("Could not connect to " + ipAddress + " due to " + e.toString());


[11/12] git commit: updated refs/heads/master to ea09c04

Posted by ra...@apache.org.
CLOUDSTACK-5595 add vlan to storage nic to vnic for ssvm


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

Branch: refs/heads/master
Commit: 31969e993ece4a13ab52be409964e2d08e3ed129
Parents: 3f59780
Author: Rajesh Battala <ra...@citrix.com>
Authored: Tue Dec 24 16:56:12 2013 +0530
Committer: Rajesh Battala <ra...@citrix.com>
Committed: Fri Dec 27 14:59:31 2013 +0530

----------------------------------------------------------------------
 .../DotNet/ServerResource/HypervResource/WmiCallsV2.cs  | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/31969e99/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs
index f0f7f7b..06730e0 100644
--- a/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs
+++ b/plugins/hypervisors/hyperv/DotNet/ServerResource/HypervResource/WmiCallsV2.cs
@@ -390,9 +390,17 @@ namespace HypervResource
                     string mac = nic.mac;
                     string vlan = null;
                     string isolationUri = nic.isolationUri;
-                    if (isolationUri != null && isolationUri.StartsWith("vlan://") && !isolationUri.Equals("vlan://untagged"))
+                    string broadcastUri = nic.broadcastUri;
+                    if ( (broadcastUri != null ) || (isolationUri != null && isolationUri.StartsWith("vlan://")) && !isolationUri.Equals("vlan://untagged"))
                     {
-                        vlan = isolationUri.Substring("vlan://".Length);
+                        if (broadcastUri != null && broadcastUri.StartsWith("storage"))
+                        {
+                            vlan = broadcastUri.Substring("storage://".Length);
+                        }
+                        else
+                        {
+                            vlan = isolationUri.Substring("vlan://".Length);
+                        }
                         int tmp;
                         if (!int.TryParse(vlan, out tmp))
                         {