This patch uses escapes when submitting some user supplied values to condor. This combined with the escapes/whitespace patch to condor allows whitespace in the instance name and account name to work.
Signed-off-by: Ian Main <[email protected]> --- src/app/util/condormatic.rb | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/app/util/condormatic.rb b/src/app/util/condormatic.rb index ea18308..74c5a80 100644 --- a/src/app/util/condormatic.rb +++ b/src/app/util/condormatic.rb @@ -20,6 +20,11 @@ require 'nokogiri' require 'socket' +def escape(str) + str = str.gsub('\\', '\\\\') + str = str.gsub(' ', '\\ ') +end + def condormatic_instance_create(task) begin @@ -39,7 +44,7 @@ def condormatic_instance_create(task) pipe.puts "executable = #{job_name}\n" Rails.logger.info "executable = #{job_name}\n" - resource = "grid_resource = dcloud $$(provider_url) $$(username) $$(password) $$(image_key) #{instance.name}" + resource = "grid_resource = dcloud $$(provider_url) $$(username) $$(password) $$(image_key) #{escape(instance.name)}" if realm != nil resource += " $$(realm_key)" else @@ -226,7 +231,7 @@ def condormatic_classads_sync pipe.puts "username=\"#{account.username}\"" pipe.puts "password=\"#{account.password}\"" pipe.puts "cloud_account_id=\"#{account.id}\"" - pipe.puts "keypair=\"#{account.instance_key.name}\"" + pipe.puts "keypair=\"#{escape(account.instance_key.name)}\"" pipe.close_write out = pipe.read -- 1.7.2.3 _______________________________________________ deltacloud-devel mailing list [email protected] https://fedorahosted.org/mailman/listinfo/deltacloud-devel
