n_data            292 include/crm/pengine/internal.h void pe__create_notifications(pe_resource_t *rsc, notify_data_t *n_data);
n_data            296 include/crm/pengine/internal.h void pe__free_notification_data(notify_data_t *n_data);
n_data            256 lib/pengine/pe_notif.c add_notify_data_to_action_meta(notify_data_t *n_data, pe_action_t *action)
n_data            258 lib/pengine/pe_notif.c     for (GSList *item = n_data->keys; item; item = item->next) {
n_data            307 lib/pengine/pe_notif.c                   pe_action_t *notify_done, notify_data_t *n_data)
n_data            347 lib/pengine/pe_notif.c     add_notify_data_to_action_meta(n_data, notify_action);
n_data            365 lib/pengine/pe_notif.c                        notify_data_t *n_data)
n_data            369 lib/pengine/pe_notif.c     CRM_ASSERT(n_data != NULL);
n_data            372 lib/pengine/pe_notif.c     notify = new_notify_action(rsc, node, n_data->post, n_data->post_done,
n_data            373 lib/pengine/pe_notif.c                                n_data);
n_data            379 lib/pengine/pe_notif.c     if (n_data->post_done == NULL) {
n_data            392 lib/pengine/pe_notif.c         order_actions(n_data->post_done, mon, pe_order_optional);
n_data            431 lib/pengine/pe_notif.c     notify_data_t *n_data = NULL;
n_data            437 lib/pengine/pe_notif.c     n_data = calloc(1, sizeof(notify_data_t));
n_data            438 lib/pengine/pe_notif.c     CRM_ASSERT(n_data != NULL);
n_data            440 lib/pengine/pe_notif.c     n_data->action = task;
n_data            445 lib/pengine/pe_notif.c         n_data->pre = new_notify_pseudo_action(rsc, action, RSC_NOTIFY, "pre");
n_data            446 lib/pengine/pe_notif.c         pe__set_action_flags(n_data->pre, pe_action_runnable);
n_data            447 lib/pengine/pe_notif.c         add_hash_param(n_data->pre->meta, "notify_type", "pre");
n_data            448 lib/pengine/pe_notif.c         add_hash_param(n_data->pre->meta, "notify_operation", n_data->action);
n_data            451 lib/pengine/pe_notif.c         n_data->pre_done = new_notify_pseudo_action(rsc, action, RSC_NOTIFIED,
n_data            453 lib/pengine/pe_notif.c         pe__set_action_flags(n_data->pre_done, pe_action_runnable);
n_data            454 lib/pengine/pe_notif.c         add_hash_param(n_data->pre_done->meta, "notify_type", "pre");
n_data            455 lib/pengine/pe_notif.c         add_hash_param(n_data->pre_done->meta,
n_data            456 lib/pengine/pe_notif.c                        "notify_operation", n_data->action);
n_data            459 lib/pengine/pe_notif.c         order_actions(n_data->pre, n_data->pre_done, pe_order_optional);
n_data            460 lib/pengine/pe_notif.c         order_actions(n_data->pre_done, action, pe_order_optional);
n_data            466 lib/pengine/pe_notif.c         n_data->post = new_notify_pseudo_action(rsc, complete, RSC_NOTIFY,
n_data            468 lib/pengine/pe_notif.c         n_data->post->priority = INFINITY;
n_data            470 lib/pengine/pe_notif.c             pe__set_action_flags(n_data->post, pe_action_runnable);
n_data            472 lib/pengine/pe_notif.c             pe__clear_action_flags(n_data->post, pe_action_runnable);
n_data            474 lib/pengine/pe_notif.c         add_hash_param(n_data->post->meta, "notify_type", "post");
n_data            475 lib/pengine/pe_notif.c         add_hash_param(n_data->post->meta, "notify_operation", n_data->action);
n_data            478 lib/pengine/pe_notif.c         n_data->post_done = new_notify_pseudo_action(rsc, complete,
n_data            481 lib/pengine/pe_notif.c         n_data->post_done->priority = INFINITY;
n_data            483 lib/pengine/pe_notif.c             pe__set_action_flags(n_data->post_done, pe_action_runnable);
n_data            485 lib/pengine/pe_notif.c             pe__clear_action_flags(n_data->post_done, pe_action_runnable);
n_data            487 lib/pengine/pe_notif.c         add_hash_param(n_data->post_done->meta, "notify_type", "post");
n_data            488 lib/pengine/pe_notif.c         add_hash_param(n_data->post_done->meta,
n_data            489 lib/pengine/pe_notif.c                        "notify_operation", n_data->action);
n_data            492 lib/pengine/pe_notif.c         order_actions(complete, n_data->post, pe_order_implies_then);
n_data            493 lib/pengine/pe_notif.c         order_actions(n_data->post, n_data->post_done, pe_order_implies_then);
n_data            498 lib/pengine/pe_notif.c         order_actions(n_data->pre_done, n_data->post, pe_order_optional);
n_data            500 lib/pengine/pe_notif.c     return n_data;
n_data            533 lib/pengine/pe_notif.c collect_resource_data(pe_resource_t *rsc, bool activity, notify_data_t *n_data)
n_data            539 lib/pengine/pe_notif.c     if (n_data == NULL) {
n_data            543 lib/pengine/pe_notif.c     if (n_data->allowed_nodes == NULL) {
n_data            544 lib/pengine/pe_notif.c         n_data->allowed_nodes = rsc->allowed_nodes;
n_data            552 lib/pengine/pe_notif.c             collect_resource_data(child, activity, n_data);
n_data            567 lib/pengine/pe_notif.c             n_data->inactive = g_list_prepend(n_data->inactive, entry);
n_data            571 lib/pengine/pe_notif.c             n_data->active = g_list_prepend(n_data->active, entry);
n_data            575 lib/pengine/pe_notif.c             n_data->unpromoted = g_list_prepend(n_data->unpromoted, entry);
n_data            576 lib/pengine/pe_notif.c             n_data->active = g_list_prepend(n_data->active,
n_data            581 lib/pengine/pe_notif.c             n_data->promoted = g_list_prepend(n_data->promoted, entry);
n_data            582 lib/pengine/pe_notif.c             n_data->active = g_list_prepend(n_data->active,
n_data            615 lib/pengine/pe_notif.c                     n_data->start = g_list_prepend(n_data->start, entry);
n_data            618 lib/pengine/pe_notif.c                     n_data->stop = g_list_prepend(n_data->stop, entry);
n_data            621 lib/pengine/pe_notif.c                     n_data->promote = g_list_prepend(n_data->promote, entry);
n_data            624 lib/pengine/pe_notif.c                     n_data->demote = g_list_prepend(n_data->demote, entry);
n_data            635 lib/pengine/pe_notif.c #define add_notify_env(n_data, key, value) do {                         \
n_data            636 lib/pengine/pe_notif.c          n_data->keys = pcmk_prepend_nvpair(n_data->keys, key, value);  \
n_data            640 lib/pengine/pe_notif.c #define add_notify_env_gs(n_data, key, value) do {                      \
n_data            641 lib/pengine/pe_notif.c          n_data->keys = pcmk_prepend_nvpair(n_data->keys, key,          \
n_data            646 lib/pengine/pe_notif.c #define add_notify_env_free_gs(n_data, key, value) do {                 \
n_data            647 lib/pengine/pe_notif.c          n_data->keys = pcmk_prepend_nvpair(n_data->keys, key,          \
n_data            660 lib/pengine/pe_notif.c add_notif_keys(pe_resource_t *rsc, notify_data_t *n_data)
n_data            669 lib/pengine/pe_notif.c     n_data->stop = notify_entries_to_strings(n_data->stop,
n_data            672 lib/pengine/pe_notif.c         && pcmk__str_eq(n_data->action, RSC_STOP, pcmk__str_none)) {
n_data            675 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_stop_resource", rsc_list);
n_data            676 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_stop_uname", node_list);
n_data            678 lib/pengine/pe_notif.c     if ((n_data->start != NULL)
n_data            679 lib/pengine/pe_notif.c         && pcmk__str_eq(n_data->action, RSC_START, pcmk__str_none)) {
n_data            682 lib/pengine/pe_notif.c     n_data->start = notify_entries_to_strings(n_data->start,
n_data            684 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_start_resource", rsc_list);
n_data            685 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_start_uname", node_list);
n_data            687 lib/pengine/pe_notif.c     if ((n_data->demote != NULL)
n_data            688 lib/pengine/pe_notif.c         && pcmk__str_eq(n_data->action, RSC_DEMOTE, pcmk__str_none)) {
n_data            691 lib/pengine/pe_notif.c     n_data->demote = notify_entries_to_strings(n_data->demote,
n_data            693 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_demote_resource", rsc_list);
n_data            694 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_demote_uname", node_list);
n_data            696 lib/pengine/pe_notif.c     if ((n_data->promote != NULL)
n_data            697 lib/pengine/pe_notif.c         && pcmk__str_eq(n_data->action, RSC_PROMOTE, pcmk__str_none)) {
n_data            700 lib/pengine/pe_notif.c     n_data->promote = notify_entries_to_strings(n_data->promote,
n_data            702 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_promote_resource", rsc_list);
n_data            703 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_promote_uname", node_list);
n_data            705 lib/pengine/pe_notif.c     n_data->active = notify_entries_to_strings(n_data->active,
n_data            707 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_active_resource", rsc_list);
n_data            708 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_active_uname", node_list);
n_data            710 lib/pengine/pe_notif.c     n_data->unpromoted = notify_entries_to_strings(n_data->unpromoted,
n_data            712 lib/pengine/pe_notif.c     add_notify_env_gs(n_data, "notify_unpromoted_resource", rsc_list);
n_data            713 lib/pengine/pe_notif.c     add_notify_env_gs(n_data, "notify_unpromoted_uname", node_list);
n_data            716 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_slave_resource", rsc_list);
n_data            717 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_slave_uname", node_list);
n_data            719 lib/pengine/pe_notif.c     n_data->promoted = notify_entries_to_strings(n_data->promoted,
n_data            721 lib/pengine/pe_notif.c     add_notify_env_gs(n_data, "notify_promoted_resource", rsc_list);
n_data            722 lib/pengine/pe_notif.c     add_notify_env_gs(n_data, "notify_promoted_uname", node_list);
n_data            725 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_master_resource", rsc_list);
n_data            726 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_master_uname", node_list);
n_data            728 lib/pengine/pe_notif.c     n_data->inactive = notify_entries_to_strings(n_data->inactive,
n_data            730 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_inactive_resource", rsc_list);
n_data            732 lib/pengine/pe_notif.c     nodes = g_hash_table_get_values(n_data->allowed_nodes);
n_data            741 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_available_uname", node_list);
n_data            747 lib/pengine/pe_notif.c         add_notify_env_free_gs(n_data, "notify_all_hosts", metal_list);
n_data            751 lib/pengine/pe_notif.c     add_notify_env_free_gs(n_data, "notify_all_uname", node_list);
n_data            753 lib/pengine/pe_notif.c     if (required && (n_data->pre != NULL)) {
n_data            754 lib/pengine/pe_notif.c         pe__clear_action_flags(n_data->pre, pe_action_optional);
n_data            755 lib/pengine/pe_notif.c         pe__clear_action_flags(n_data->pre_done, pe_action_optional);
n_data            758 lib/pengine/pe_notif.c     if (required && (n_data->post != NULL)) {
n_data            759 lib/pengine/pe_notif.c         pe__clear_action_flags(n_data->post, pe_action_optional);
n_data            760 lib/pengine/pe_notif.c         pe__clear_action_flags(n_data->post_done, pe_action_optional);
n_data            794 lib/pengine/pe_notif.c create_notify_actions(pe_resource_t *rsc, notify_data_t *n_data)
n_data            799 lib/pengine/pe_notif.c     enum action_tasks task = text2task(n_data->action);
n_data            803 lib/pengine/pe_notif.c         g_list_foreach(rsc->children, (GFunc) create_notify_actions, n_data);
n_data            817 lib/pengine/pe_notif.c                     add_notify_data_to_action_meta(n_data, op);
n_data            828 lib/pengine/pe_notif.c             if (n_data->start == NULL) {
n_data            830 lib/pengine/pe_notif.c                              rsc->id, n_data->action);
n_data            836 lib/pengine/pe_notif.c             if (n_data->promote == NULL) {
n_data            838 lib/pengine/pe_notif.c                              rsc->id, n_data->action);
n_data            844 lib/pengine/pe_notif.c             if (n_data->demote == NULL) {
n_data            846 lib/pengine/pe_notif.c                              rsc->id, n_data->action);
n_data            857 lib/pengine/pe_notif.c                  rsc->id, n_data->action);
n_data            877 lib/pengine/pe_notif.c             new_notify_action(rsc, current_node, n_data->pre,
n_data            878 lib/pengine/pe_notif.c                               n_data->pre_done, n_data);
n_data            882 lib/pengine/pe_notif.c                 new_post_notify_action(rsc, current_node, n_data);
n_data            913 lib/pengine/pe_notif.c             new_notify_action(rsc, rsc->allocated_to, n_data->pre,
n_data            914 lib/pengine/pe_notif.c                               n_data->pre_done, n_data);
n_data            916 lib/pengine/pe_notif.c         new_post_notify_action(rsc, rsc->allocated_to, n_data);
n_data            928 lib/pengine/pe_notif.c pe__create_notifications(pe_resource_t *rsc, notify_data_t *n_data)
n_data            930 lib/pengine/pe_notif.c     if ((rsc == NULL) || (n_data == NULL)) {
n_data            933 lib/pengine/pe_notif.c     collect_resource_data(rsc, true, n_data);
n_data            934 lib/pengine/pe_notif.c     add_notif_keys(rsc, n_data);
n_data            935 lib/pengine/pe_notif.c     create_notify_actions(rsc, n_data);
n_data            945 lib/pengine/pe_notif.c pe__free_notification_data(notify_data_t *n_data)
n_data            947 lib/pengine/pe_notif.c     if (n_data == NULL) {
n_data            950 lib/pengine/pe_notif.c     g_list_free_full(n_data->stop, free);
n_data            951 lib/pengine/pe_notif.c     g_list_free_full(n_data->start, free);
n_data            952 lib/pengine/pe_notif.c     g_list_free_full(n_data->demote, free);
n_data            953 lib/pengine/pe_notif.c     g_list_free_full(n_data->promote, free);
n_data            954 lib/pengine/pe_notif.c     g_list_free_full(n_data->promoted, free);
n_data            955 lib/pengine/pe_notif.c     g_list_free_full(n_data->unpromoted, free);
n_data            956 lib/pengine/pe_notif.c     g_list_free_full(n_data->active, free);
n_data            957 lib/pengine/pe_notif.c     g_list_free_full(n_data->inactive, free);
n_data            958 lib/pengine/pe_notif.c     pcmk_free_nvpairs(n_data->keys);
n_data            959 lib/pengine/pe_notif.c     free(n_data);
n_data            980 lib/pengine/pe_notif.c     notify_data_t *n_data;
n_data            983 lib/pengine/pe_notif.c     n_data = pe__clone_notif_pseudo_ops(rsc, RSC_STOP, NULL, stonith_op);
n_data            985 lib/pengine/pe_notif.c     if (n_data != NULL) {
n_data            986 lib/pengine/pe_notif.c         collect_resource_data(rsc, false, n_data);
n_data            987 lib/pengine/pe_notif.c         add_notify_env(n_data, "notify_stop_resource", rsc->id);
n_data            988 lib/pengine/pe_notif.c         add_notify_env(n_data, "notify_stop_uname", stop->node->details->uname);
n_data            989 lib/pengine/pe_notif.c         create_notify_actions(uber_parent(rsc), n_data);
n_data            990 lib/pengine/pe_notif.c         pe__free_notification_data(n_data);