-
Notifications
You must be signed in to change notification settings - Fork 1
/
plugin.yaml
87 lines (73 loc) · 3.06 KB
/
plugin.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
plugins:
healer: &utilities_plugin
executor: central_deployment_agent
package_name: cloudify-healer-plugin
source: https://github.com/dfilppi/cloudify-healer-plugin/archive/master.zip
package_version: '0.1'
node_types:
cloudify.nodes.Healer:
derived_from: cloudify.nodes.Root
properties:
cfy_creds:
description: |
Cloudify credentials needed to call heal workflow.
Comma separated list of the form: username, password, tenant
type: string
default: "admin,admin,default_tenant"
type:
description: |
Enum: "ping", "port", "http", or "custom"
type: string
debug:
description: |
Boolean. If true, debug logging will be turned on in healer log files
type: boolean
default: false
config:
description: |
Healer configuration, specific to a specific healer:
"ping" - Pings a compute node (assumes node has healer_connected_to
relationship with a compute node with 'ip' runtime property, and
ICMP traffic allowed between manager and node):
{
count: <number of failed pings before failure>
frequency: <number of seconds between pings>
}
"port" - Tests a TCP connection on specified port (assumes node
has healer_connected_to relationship with a compute node with
'ip' runtime property, and traffic allowed between manager and
port on that node):
{
port: <the port to access>
count: <number of port connection errors before failure>
frequency: <number of seconds between connections>
}
"http" - Performs an HTTP(s) get on specific host and port (assumes
node has healer_connected_to relationship with a compute node with
'ip' runtime property, and traffic allowed between manager and
port on that node). Constructed URL will have form
http(s)://<ip>:<port>/<path>:
{
path: the target path
port: the target port
secure: boolean, if true 'https' URL will be constructed
count: <number of HTTP GET non-2xx responses before failure>
frequency: <number of seconds between connections>
}
"custom" - Calls specified Python script periodically in a subprocess.
Exit value of 1 implies error.
{
count: <number of HTTP GET non-2xx responses before failure>
frequency: <number of seconds between connections>
script: <path to a Python script> has access to context proxy
}
default: {}
relationships:
cloudify.relationships.healer_connected_to:
derived_from: cloudify.relationships.connected_to
source_interfaces:
cloudify.interfaces.relationship_lifecycle:
establish:
implementation: healer.cloudify_healer.launcher.launch
unlink:
implementation: healer.cloudify_healer.stopper.stop