pacemaker
2.1.8-3980678f03
Scalable High-Availability cluster resource manager
lib
common
health.c
Go to the documentation of this file.
1
/*
2
* Copyright 2024 the Pacemaker project contributors
3
*
4
* The version control history for this file may have further details.
5
*
6
* This source code is licensed under the GNU Lesser General Public License
7
* version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8
*/
9
10
#include <
crm_internal.h
>
11
20
bool
21
pcmk__validate_health_strategy
(
const
char
*value)
22
{
23
return
pcmk__strcase_any_of
(value,
24
PCMK_VALUE_NONE
,
25
PCMK_VALUE_CUSTOM
,
26
PCMK_VALUE_ONLY_GREEN
,
27
PCMK_VALUE_PROGRESSIVE
,
28
PCMK_VALUE_MIGRATE_ON_RED
,
29
NULL);
30
}
31
40
enum
pcmk__health_strategy
41
pcmk__parse_health_strategy
(
const
char
*value)
42
{
43
if
(pcmk__str_eq(value,
PCMK_VALUE_NONE
,
44
pcmk__str_null_matches
|
pcmk__str_casei
)) {
45
return
pcmk__health_strategy_none
;
46
}
47
if
(pcmk__str_eq(value,
PCMK_VALUE_MIGRATE_ON_RED
,
pcmk__str_casei
)) {
48
return
pcmk__health_strategy_no_red
;
49
}
50
if
(pcmk__str_eq(value,
PCMK_VALUE_ONLY_GREEN
,
pcmk__str_casei
)) {
51
return
pcmk__health_strategy_only_green
;
52
}
53
if
(pcmk__str_eq(value,
PCMK_VALUE_PROGRESSIVE
,
pcmk__str_casei
)) {
54
return
pcmk__health_strategy_progressive
;
55
}
56
if
(pcmk__str_eq(value,
PCMK_VALUE_CUSTOM
,
pcmk__str_casei
)) {
57
return
pcmk__health_strategy_custom
;
58
}
else
{
59
pcmk__config_err
(
"Using default of \""
PCMK_VALUE_NONE
"\" for "
60
PCMK_OPT_NODE_HEALTH_STRATEGY
61
" because '%s' is not a valid value"
,
62
value);
63
return
pcmk__health_strategy_none
;
64
}
65
}
pcmk__strcase_any_of
bool pcmk__strcase_any_of(const char *s,...) G_GNUC_NULL_TERMINATED
Definition:
strings.c:1026
pcmk__config_err
#define pcmk__config_err(fmt...)
Definition:
logging_internal.h:100
pcmk__str_null_matches
Definition:
strings_internal.h:27
pcmk__health_strategy_no_red
Definition:
health_internal.h:26
crm_internal.h
PCMK_VALUE_NONE
#define PCMK_VALUE_NONE
Definition:
options.h:178
PCMK_VALUE_ONLY_GREEN
#define PCMK_VALUE_ONLY_GREEN
Definition:
options.h:185
pcmk__str_casei
Definition:
strings_internal.h:26
pcmk__parse_health_strategy
enum pcmk__health_strategy pcmk__parse_health_strategy(const char *value)
Definition:
health.c:41
pcmk__health_strategy_progressive
Definition:
health_internal.h:28
PCMK_VALUE_CUSTOM
#define PCMK_VALUE_CUSTOM
Definition:
options.h:140
PCMK_OPT_NODE_HEALTH_STRATEGY
#define PCMK_OPT_NODE_HEALTH_STRATEGY
Definition:
options.h:51
pcmk__health_strategy_none
Definition:
health_internal.h:25
pcmk__health_strategy
pcmk__health_strategy
Definition:
health_internal.h:24
PCMK_VALUE_PROGRESSIVE
#define PCMK_VALUE_PROGRESSIVE
Definition:
options.h:194
pcmk__health_strategy_only_green
Definition:
health_internal.h:27
pcmk__health_strategy_custom
Definition:
health_internal.h:29
PCMK_VALUE_MIGRATE_ON_RED
#define PCMK_VALUE_MIGRATE_ON_RED
Definition:
options.h:171
pcmk__validate_health_strategy
bool pcmk__validate_health_strategy(const char *value)
Definition:
health.c:21
Generated on Thu Aug 8 2024 18:08:10 for pacemaker by
1.8.14