You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2011/09/13 12:27:45 UTC

svn commit: r1170105 - in /incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere: vsphere_driver.rb vsphere_filemanager.rb

Author: mfojtik
Date: Tue Sep 13 10:27:45 2011
New Revision: 1170105

URL: http://svn.apache.org/viewvc?rev=1170105&view=rev
Log:
VSphere: Fixed CDROM device connecting if template defines it as disconnected and user_data is set

Modified:
    incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb
    incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_filemanager.rb

Modified: incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb?rev=1170105&r1=1170104&r2=1170105&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb Tue Sep 13 10:27:45 2011
@@ -219,6 +219,7 @@ module Deltacloud::Drivers::VSphere
         relocate = { :pool => resourcePool, :datastore => datastore }
         relocateSpec = RbVmomi::VIM.VirtualMachineRelocateSpec(relocate)
         # Set extra configuration for VM, like template_id
+        raise "ERROR: Memory must be multiple of 4" unless valid_memory_value?(opts[:hwp_memory])
         machine_config = {
           :memoryMB => opts[:hwp_memory],
           :numCPUs => opts[:hwp_cpu],
@@ -240,6 +241,7 @@ module Deltacloud::Drivers::VSphere
             machine_config[:extraConfig] << {
               :key => 'user_data_file', :value => "#{opts[:name]}.iso"
             }
+            device.connectable.startConnected = true
             device.backing = RbVmomi::VIM.VirtualCdromIsoBackingInfo(:fileName => "[#{opts[:realm_id] || vm[:datastore]}] "+
                                                                      "/#{VSphere::FileManager::DIRECTORY_PATH}/#{opts[:name]}.iso")
             machine_config.merge!({
@@ -259,6 +261,7 @@ module Deltacloud::Drivers::VSphere
             machine_config[:extraConfig] << {
               :key => 'user_iso_file', :value => "#{opts[:name]}.iso"
             }
+            device.connectable.startConnected = true
             device.backing = RbVmomi::VIM.VirtualCdromIsoBackingInfo(:fileName => "[#{opts[:realm_id] || vm[:datastore]}] "+
                                                                      "/#{VSphere::FileManager::DIRECTORY_PATH}/#{opts[:name]}.iso")
             machine_config.merge!({
@@ -376,7 +379,7 @@ module Deltacloud::Drivers::VSphere
     def convert_realm(datastore)
       Realm::new(
         :id => datastore.name,
-        :name => datastore.name, 
+        :name => datastore.name,
         :limit => datastore.summary.freeSpace,
         :state => datastore.summary.accessible ? 'AVAILABLE' : 'UNAVAILABLE'
       )
@@ -400,6 +403,10 @@ module Deltacloud::Drivers::VSphere
       new_state
     end
 
+    def valid_memory_value?(val)
+      true if (val.to_i%4) == 0
+    end
+
   end
 
 end

Modified: incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_filemanager.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_filemanager.rb?rev=1170105&r1=1170104&r2=1170105&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_filemanager.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/drivers/vsphere/vsphere_filemanager.rb Tue Sep 13 10:27:45 2011
@@ -27,7 +27,7 @@ module VSphere
   # he have to pad the content of the iso file
   # that mean a limit of 400 kb file since
   # 1 sector of iso file = 2048 bytes
-  ISO_SECTORS=200
+  ISO_SECTORS=202
 
   RbVmomi::VIM::Datastore::class_eval do
     def soap