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
>