summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_control.erl24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index 6a775adfb0..580faaeabc 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -324,13 +324,21 @@ action(trace_off, Node, [], Opts, Inform) ->
rpc_call(Node, rabbit_trace, stop, [list_to_binary(VHost)]);
action(set_vm_memory_high_watermark, Node, [Arg], _Opts, Inform) ->
- Frac = list_to_float(case string:chr(Arg, $.) of
- 0 -> Arg ++ ".0";
- _ -> Arg
- end),
- Inform("Setting memory threshhold on ~p to ~p", [Node, Frac]),
+ Frac = format_float(Arg),
+ Inform("Setting memory threshold on ~p to ~p", [Node, Frac]),
rpc_call(Node, vm_memory_monitor, set_vm_memory_high_watermark, [Frac]);
+action(set_disk_free_limit, Node, [Arg], _Opts, Inform) ->
+ Bytes = list_to_integer(Arg),
+ Inform("Setting disk free space limit on ~p to ~p bytes", [Node, Bytes]),
+ rpc_call(Node, disk_monitor, set_disk_free_limit, [Bytes]);
+
+action(set_disk_free_limit_mem_relative, Node, [Arg], _Opts, Inform) ->
+ Mult = format_float(Arg),
+ Inform("Setting disk free space limit on ~p to ~p times total RAM",
+ [Node, Mult]),
+ rpc_call(Node, disk_monitor, set_disk_free_limit, [{mem_relative, Mult}]);
+
action(set_permissions, Node, [Username, CPerm, WPerm, RPerm], Opts, Inform) ->
VHost = proplists:get_value(?VHOST_OPT, Opts),
Inform("Setting permissions for user ~p in vhost ~p", [Username, VHost]),
@@ -550,3 +558,9 @@ prettify_typed_amqp_value(table, Value) -> prettify_amqp_table(Value);
prettify_typed_amqp_value(array, Value) -> [prettify_typed_amqp_value(T, V) ||
{T, V} <- Value];
prettify_typed_amqp_value(_Type, Value) -> Value.
+
+format_float(Arg) ->
+ list_to_float(case string:chr(Arg, $.) of
+ 0 -> Arg ++ ".0";
+ _ -> Arg
+ end).