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/08/02 11:37:07 UTC
[PATCH core] Added command line switch to list all available drivers for current API instance
From: Michal Fojtik <mf...@redhat.com>
Signed-off-by: Michal fojtik <mf...@redhat.com>
---
server/bin/deltacloudd | 36 +++++++++++++++++++++++-------------
1 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/server/bin/deltacloudd b/server/bin/deltacloudd
index a0b108f..1142756 100755
--- a/server/bin/deltacloudd
+++ b/server/bin/deltacloudd
@@ -46,6 +46,7 @@ BANNER
end
opts.on( '-e', '--env ENV', 'Environment (default: "development")') { |env| options[:env] = env }
opts.on( '-s', '--ssl', 'Enable SSL (default: disabled)') { |env| options[:ssl] = true }
+ opts.on( '-l', '--list', 'List available drivers') { |env| options[:drivers] = true }
opts.on( '-t', '--timeout TIMEOUT', 'Timeout for single request (default: 60)') do |timeout|
ENV["API_TIMEOUT"] = timeout
end
@@ -78,7 +79,7 @@ if options[:help]
exit(0)
end
-unless ENV["API_DRIVER"]
+unless options[:drivers] or ENV["API_DRIVER"]
puts "You need to specify a driver to use (-i <driver>)"
exit(1)
end
@@ -106,19 +107,21 @@ end
ENV["API_HOST"] = "localhost" unless ENV["API_HOST"]
ENV["API_PORT"] = "3001" unless ENV["API_PORT"]
-msg = "Starting Deltacloud API :: #{ENV["API_DRIVER"]} "
-msg << ":: #{ENV['API_PROVIDER']} " if ENV['API_PROVIDER']
-if options[:ssl]
- msg << ":: https://#{ENV["API_HOST"]}:#{ENV["API_PORT"]}/api"
-else
- msg << ":: http://#{ENV["API_HOST"]}:#{ENV["API_PORT"]}/api"
-end
-puts msg
-if ENV['API_USER'] && ENV['API_PASSWORD']
- puts "Warning: API_USER and API_PASSWORD set in environment"
- puts " anybody can access this server with your credentials"
+unless options[:drivers]
+ msg = "Starting Deltacloud API :: #{ENV["API_DRIVER"]} "
+ msg << ":: #{ENV['API_PROVIDER']} " if ENV['API_PROVIDER']
+ if options[:ssl]
+ msg << ":: https://#{ENV["API_HOST"]}:#{ENV["API_PORT"]}/api"
+ else
+ msg << ":: http://#{ENV["API_HOST"]}:#{ENV["API_PORT"]}/api"
+ end
+ puts msg
+ if ENV['API_USER'] && ENV['API_PASSWORD']
+ puts "Warning: API_USER and API_PASSWORD set in environment"
+ puts " anybody can access this server with your credentials"
+ end
+ puts
end
-puts
dirname="#{File.dirname(__FILE__)}/.."
@@ -168,6 +171,13 @@ else
end
argv_opts.flatten!
+ if options[:drivers]
+ require 'server.rb'
+ puts "Available drivers:\n"
+ puts driver_config.keys.map{ |d| d.to_s }.join(', ')
+ exit(0)
+ end
+
if have_rerun && options[:env] == "development"
argv_opts.unshift "thin"
command = argv_opts.join(" ")
--
1.7.4.1