A Receiver is used to prepare Senlin engine to react to external alarms or events so that a specific Action can be initiated on a senlin cluster automatically. For example, when workload on a cluster climbs high, a receiver can change the size of a specified cluster.
The senlin command line provides a command receiver-list that can be used to enumerate receiver objects known to the service. For example:
$ senlin receiver-list
You can specify the sorting keys and sorting direction when list receivers,
using the option --sort
(or -o
). The --sort
option accepts a string of format key1[:dir1],key2[:dir2],key3[:dir3]
,
where the keys used are receiver properties and the dirs can be one of asc
and desc
. When omitted, Senlin sorts a given key using asc
as the
default direction.
For example, the following command instructs the senlin command
line to sort receivers using the name
property in descending order:
$ senlin receiver-list -o name:desc
When sorting the list of receivers, you can use one of type
, name
,
action
, cluster_id
, created_at
.
In case you have a huge collection of receiver objects, you can limit the
number of receivers returned from Senlin server, using the option
--limit
(or (or -l). For example:
$ senlin receiver-list -l 1
Yet another option you can specify is the ID of a receiver object after which
you want to see the list starts. In other words, you don’t want to see those
receivers with IDs that is or come before the one you specify. You can use the
option --marker
(or option:-m <ID>) for this purpose. For
example:
$ senlin receiver-list -l 1 -m 239d7212-6196-4a89-9446-44d28717d7de
Combining the -m
and the -l
enables you to do pagination
on the results returned from the server.
test_cluster
”, with its desired capacity set to
2, its minimum size set to 1 and its maximum size set to 5, e.g.senlin cluster-create -p $PROFILE_ID -c 2 -n 1 -m 5 test-cluster
senlin cluster-policy-attach -p $POLICY_ID test-cluster
Create a receiver, use the option -c
to specify test-cluster as
the targeted cluster and use the option -a
to specify
CLUSTER_SCALE_OUT or CLUSTER_SCALE_IN as the action name. By default,
the senlin command line creates a receiver of type
webhook, for example::
senlin receiver-create -c test-cluster \
-a CLUSTER_SCALE_OUT \
test-receiver
Senlin service will return the receiver information with its channel ready
to receive signals. For a webhook receiver, this means you can check the
alarm_url
field of the channel
property. You can use this url to
trigger the action you specified.
Trigger the receiver by sending a POST
request to its URL, for example:
curl -X POST <alarm_url>
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.