diff --git a/src/flow/etc/oneflow-server.conf b/src/flow/etc/oneflow-server.conf index 679566956e..6a4a2bcf54 100644 --- a/src/flow/etc/oneflow-server.conf +++ b/src/flow/etc/oneflow-server.conf @@ -42,7 +42,11 @@ # Default timeout in seconds to wait VMs to report different states # This timeout is used when option report ready is true and for normal actions -:default_wait_timeout: 30 +:wait_timeout: 30 + +# Number of threads to make actions with flows +# Tune this depending of the load you will have +:concurrency: 10 # Default shutdown action. Values: 'terminate', 'terminate-hard' :shutdown_action: 'terminate' diff --git a/src/flow/lib/EventManager.rb b/src/flow/lib/EventManager.rb index acb263ed16..f07c982e4a 100644 --- a/src/flow/lib/EventManager.rb +++ b/src/flow/lib/EventManager.rb @@ -56,7 +56,6 @@ class EventManager # -------------------------------------------------------------------------- DEFAULT_CONF = { :subscriber_endpoint => 'tcp://localhost:2101', - :concurrency => 10, :cloud_auth => nil, :am => nil } @@ -64,11 +63,11 @@ class EventManager def initialize(options) @conf = DEFAULT_CONF.merge(options) - @lcm = options[:lcm] - @am = ActionManager.new(@conf[:concurrency], true) + @cloud_auth = @conf[:cloud_auth] + @lcm = options[:lcm] + @am = ActionManager.new(@cloud_auth.conf[:concurrency], true) @context = ZMQ::Context.new(1) - @cloud_auth = @conf[:cloud_auth] @wait_timeout = @cloud_auth.conf[:wait_timeout] # Register Action Manager actions diff --git a/src/flow/lib/LifeCycleManager.rb b/src/flow/lib/LifeCycleManager.rb index 4263ffa548..90a68ce250 100644 --- a/src/flow/lib/LifeCycleManager.rb +++ b/src/flow/lib/LifeCycleManager.rb @@ -53,7 +53,6 @@ class ServiceLCM em_conf = { :cloud_auth => @cloud_auth, - :concurrency => 10, :lcm => @am } diff --git a/src/flow/oneflow-server.rb b/src/flow/oneflow-server.rb index 248cce3cab..720f9735d8 100644 --- a/src/flow/oneflow-server.rb +++ b/src/flow/oneflow-server.rb @@ -80,6 +80,7 @@ conf[:action_number] ||= 1 conf[:action_period] ||= 60 conf[:vm_name_template] ||= DEFAULT_VM_NAME_TEMPLATE conf[:wait_timeout] ||= 30 +conf[:concurrency] ||= 10 conf[:auth] = 'opennebula' set :bind, conf[:host] @@ -181,7 +182,7 @@ GENERAL_EC = 500 # general error ############################################################################## # TODO: make thread number configurable? -lcm = ServiceLCM.new(@client, 10, cloud_auth) +lcm = ServiceLCM.new(@client, conf[:concurrency], cloud_auth) ############################################################################## # Service