You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by mf...@redhat.com on 2011/07/21 13:02:16 UTC

[PATCH core] VSphere: Renamed user_data feature to user_iso

From: Michal Fojtik <mf...@redhat.com>


Signed-off-by: Michal fojtik <mf...@redhat.com>
---
 server/lib/deltacloud/base_driver/features.rb      |    8 ++++++++
 .../deltacloud/drivers/vsphere/vsphere_driver.rb   |   12 ++++++------
 server/views/instances/new.html.haml               |    6 +++---
 3 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/server/lib/deltacloud/base_driver/features.rb b/server/lib/deltacloud/base_driver/features.rb
index c3e296f..af1a9c5 100644
--- a/server/lib/deltacloud/base_driver/features.rb
+++ b/server/lib/deltacloud/base_driver/features.rb
@@ -175,6 +175,14 @@ module Deltacloud
       end
     end
 
+    declare_feature :instances, :user_iso do
+      description "Make user-defined ISO available inside instance"
+      operation :create do
+        param :user_iso, :string, :optional, [],
+        "Base64 encoded gzipped ISO file will be accessible as CD-ROM drive in instance"
+      end
+    end
+
     declare_feature :instances, :user_files do
       description "Accept up to 5 files to be placed into the instance before launch."
       operation :create do
diff --git a/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb b/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb
index 20cf483..cff74ca 100644
--- a/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb
+++ b/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb
@@ -27,10 +27,10 @@ module Deltacloud::Drivers::VSphere
     include Deltacloud::Drivers::VSphere::Helper
     include Deltacloud::Drivers::VSphere::FileManager
 
-    # You can use 'user_data' feature to set 'user_data' parameter when creating
+    # You can use 'user_iso' feature to set 'user_iso' parameter when creating
     # a new instance where this parameter can hold gzipped CDROM iso which will
     # be mounted into created instance after boot
-    feature :instances, :user_data
+    feature :instances, :user_iso
     feature :instances, :user_name
 
     # There is just one hardware profile where memory is measured using maximum
@@ -229,12 +229,12 @@ module Deltacloud::Drivers::VSphere
         # encoded gzipped ISO image.
         # This image will be uplaoded to the Datastore given in 'realm_id'
         # parameter and them attached to instance.
-        if opts[:user_data] and not opts[:user_data].empty?
+        if opts[:user_iso] and not opts[:user_iso].empty?
           device = vm[:instance].config.hardware.device.select { |hw| hw.class == RbVmomi::VIM::VirtualCdrom }.first
           if device
-            VSphere::FileManager::store_iso!(datastore, opts[:user_data], "#{opts[:name]}.iso")
+            VSphere::FileManager::store_iso!(datastore, opts[:user_iso], "#{opts[:name]}.iso")
             machine_config[:extraConfig] << {
-              :key => 'user_data_file', :value => "#{opts[:name]}.iso"
+              :key => 'user_iso_file', :value => "#{opts[:name]}.iso"
             }
             device.backing = RbVmomi::VIM.VirtualCdromIsoBackingInfo(:fileName => "[#{opts[:realm_id] || vm[:datastore]}] "+
                                                                      "/#{VSphere::FileManager::DIRECTORY_PATH}/#{opts[:name]}.iso")
@@ -299,7 +299,7 @@ module Deltacloud::Drivers::VSphere
     # well.
     def destroy_instance(credentials, instance_id)
       vm = find_vm(credentials, instance_id)
-      user_file = vm[:instance].config[:extraConfig].select { |k| k.key == 'user_data_file' }.first
+      user_file = vm[:instance].config[:extraConfig].select { |k| k.key == 'user_iso_file' }.first
       VSphere::FileManager::delete_iso!(vm[:instance].send(:datastore).first, user_file.value) if user_file
       vm[:instance].Destroy_Task.wait_for_completion
     end
diff --git a/server/views/instances/new.html.haml b/server/views/instances/new.html.haml
index 6f8a086..a153535 100644
--- a/server/views/instances/new.html.haml
+++ b/server/views/instances/new.html.haml
@@ -27,11 +27,11 @@
         %option
         - @load_balancers.each do |load_balancer|
           %option{:value => load_balancer.id} #{load_balancer.id}
-  -if driver_has_feature?(:user_data)
+  -if driver_has_feature?(:user_iso)
     %p
       %label
-        User data (Base64):
-      %textarea{:name => :user_data, :cols => 60, :rows => 10, :placeholder => "Copy&Paste a Base64 string here..."}
+        User ISO (Base64):
+      %textarea{:name => :user_iso, :cols => 60, :rows => 10, :placeholder => "Copy&Paste a Base64 string here..."}
   -if driver_has_feature?(:authentication_key)
     %p
       %label
-- 
1.7.4.1


Re: [PATCH core] VSphere: Renamed user_data feature to user_iso

Posted by Francesco Vollero <fv...@redhat.com>.
Ack'd

On Thu, Jul 21, 2011 at 01:02:16PM +0200, mfojtik@redhat.com wrote:
> From: Michal Fojtik <mf...@redhat.com>
> 
> 
> Signed-off-by: Michal fojtik <mf...@redhat.com>
> ---
>  server/lib/deltacloud/base_driver/features.rb      |    8 ++++++++
>  .../deltacloud/drivers/vsphere/vsphere_driver.rb   |   12 ++++++------
>  server/views/instances/new.html.haml               |    6 +++---
>  3 files changed, 17 insertions(+), 9 deletions(-)
> 
> diff --git a/server/lib/deltacloud/base_driver/features.rb b/server/lib/deltacloud/base_driver/features.rb
> index c3e296f..af1a9c5 100644
> --- a/server/lib/deltacloud/base_driver/features.rb
> +++ b/server/lib/deltacloud/base_driver/features.rb
> @@ -175,6 +175,14 @@ module Deltacloud
>        end
>      end
>  
> +    declare_feature :instances, :user_iso do
> +      description "Make user-defined ISO available inside instance"
> +      operation :create do
> +        param :user_iso, :string, :optional, [],
> +        "Base64 encoded gzipped ISO file will be accessible as CD-ROM drive in instance"
> +      end
> +    end
> +
>      declare_feature :instances, :user_files do
>        description "Accept up to 5 files to be placed into the instance before launch."
>        operation :create do
> diff --git a/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb b/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb
> index 20cf483..cff74ca 100644
> --- a/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb
> +++ b/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb
> @@ -27,10 +27,10 @@ module Deltacloud::Drivers::VSphere
>      include Deltacloud::Drivers::VSphere::Helper
>      include Deltacloud::Drivers::VSphere::FileManager
>  
> -    # You can use 'user_data' feature to set 'user_data' parameter when creating
> +    # You can use 'user_iso' feature to set 'user_iso' parameter when creating
>      # a new instance where this parameter can hold gzipped CDROM iso which will
>      # be mounted into created instance after boot
> -    feature :instances, :user_data
> +    feature :instances, :user_iso
>      feature :instances, :user_name
>  
>      # There is just one hardware profile where memory is measured using maximum
> @@ -229,12 +229,12 @@ module Deltacloud::Drivers::VSphere
>          # encoded gzipped ISO image.
>          # This image will be uplaoded to the Datastore given in 'realm_id'
>          # parameter and them attached to instance.
> -        if opts[:user_data] and not opts[:user_data].empty?
> +        if opts[:user_iso] and not opts[:user_iso].empty?
>            device = vm[:instance].config.hardware.device.select { |hw| hw.class == RbVmomi::VIM::VirtualCdrom }.first
>            if device
> -            VSphere::FileManager::store_iso!(datastore, opts[:user_data], "#{opts[:name]}.iso")
> +            VSphere::FileManager::store_iso!(datastore, opts[:user_iso], "#{opts[:name]}.iso")
>              machine_config[:extraConfig] << {
> -              :key => 'user_data_file', :value => "#{opts[:name]}.iso"
> +              :key => 'user_iso_file', :value => "#{opts[:name]}.iso"
>              }
>              device.backing = RbVmomi::VIM.VirtualCdromIsoBackingInfo(:fileName => "[#{opts[:realm_id] || vm[:datastore]}] "+
>                                                                       "/#{VSphere::FileManager::DIRECTORY_PATH}/#{opts[:name]}.iso")
> @@ -299,7 +299,7 @@ module Deltacloud::Drivers::VSphere
>      # well.
>      def destroy_instance(credentials, instance_id)
>        vm = find_vm(credentials, instance_id)
> -      user_file = vm[:instance].config[:extraConfig].select { |k| k.key == 'user_data_file' }.first
> +      user_file = vm[:instance].config[:extraConfig].select { |k| k.key == 'user_iso_file' }.first
>        VSphere::FileManager::delete_iso!(vm[:instance].send(:datastore).first, user_file.value) if user_file
>        vm[:instance].Destroy_Task.wait_for_completion
>      end
> diff --git a/server/views/instances/new.html.haml b/server/views/instances/new.html.haml
> index 6f8a086..a153535 100644
> --- a/server/views/instances/new.html.haml
> +++ b/server/views/instances/new.html.haml
> @@ -27,11 +27,11 @@
>          %option
>          - @load_balancers.each do |load_balancer|
>            %option{:value => load_balancer.id} #{load_balancer.id}
> -  -if driver_has_feature?(:user_data)
> +  -if driver_has_feature?(:user_iso)
>      %p
>        %label
> -        User data (Base64):
> -      %textarea{:name => :user_data, :cols => 60, :rows => 10, :placeholder => "Copy&Paste a Base64 string here..."}
> +        User ISO (Base64):
> +      %textarea{:name => :user_iso, :cols => 60, :rows => 10, :placeholder => "Copy&Paste a Base64 string here..."}
>    -if driver_has_feature?(:authentication_key)
>      %p
>        %label
> -- 
> 1.7.4.1
>