MCPcopy Create free account
hub / github.com/ClusterLabs/pacemaker / ReloadRsc

Function ReloadRsc

pengine/native.c:3025–3068  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3023}
3024
3025static void
3026ReloadRsc(resource_t * rsc, action_t *stop, action_t *start, pe_working_set_t * data_set)
3027{
3028 action_t *action = NULL;
3029 action_t *rewrite = NULL;
3030
3031 if(is_not_set(rsc->flags, pe_rsc_try_reload)) {
3032 return;
3033
3034 } else if(is_not_set(stop->flags, pe_action_optional)) {
3035 pe_rsc_trace(rsc, "%s: stop action", rsc->id);
3036 return;
3037
3038 } else if(is_not_set(start->flags, pe_action_optional)) {
3039 pe_rsc_trace(rsc, "%s: start action", rsc->id);
3040 return;
3041 }
3042
3043 pe_rsc_trace(rsc, "%s on %s", rsc->id, stop->node->details->uname);
3044
3045 action = get_first_named_action(rsc, RSC_PROMOTE, TRUE, NULL);
3046 if (action && is_set(action->flags, pe_action_optional) == FALSE) {
3047 update_action_flags(action, pe_action_pseudo);
3048 }
3049
3050 action = get_first_named_action(rsc, RSC_DEMOTE, TRUE, NULL);
3051 if (action && is_set(action->flags, pe_action_optional) == FALSE) {
3052 rewrite = action;
3053 update_action_flags(stop, pe_action_pseudo);
3054
3055 } else {
3056 rewrite = start;
3057 }
3058
3059 pe_rsc_info(rsc, "Rewriting %s of %s on %s as a reload",
3060 rewrite->task, rsc->id, stop->node->details->uname);
3061 set_bit(rsc->flags, pe_rsc_reload);
3062 update_action_flags(rewrite, pe_action_optional|pe_action_clear);
3063
3064 free(rewrite->uuid);
3065 free(rewrite->task);
3066 rewrite->task = strdup("reload");
3067 rewrite->uuid = generate_op_key(rsc->id, rewrite->task, 0);
3068}
3069
3070void
3071rsc_migrate_reload(resource_t * rsc, pe_working_set_t * data_set)

Callers 1

rsc_migrate_reloadFunction · 0.85

Calls 5

is_not_setFunction · 0.85
get_first_named_actionFunction · 0.85
is_setFunction · 0.85
update_action_flagsFunction · 0.85
generate_op_keyFunction · 0.85

Tested by

no test coverage detected