root/daemons/controld/controld_transition.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright 2004-2023 the Pacemaker project contributors
   3  *
   4  * This source code is licensed under the GNU Lesser General Public License
   5  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
   6  */
   7 
   8 #ifndef TENGINE__H
   9 #  define TENGINE__H
  10 
  11 #  include <crm/common/mainloop.h>
  12 #  include <crm/stonith-ng.h>
  13 #  include <crm/services.h>
  14 #  include <pacemaker-internal.h>
  15 
  16 /* tengine */
  17 pcmk__graph_action_t *match_down_event(const char *target);
  18 pcmk__graph_action_t *get_cancel_action(const char *id, const char *node);
  19 bool confirm_cancel_action(const char *id, const char *node_id);
  20 
  21 void controld_record_action_timeout(pcmk__graph_action_t *action);
  22 
  23 void controld_destroy_outside_events_table(void);
  24 void controld_remove_all_outside_events(void);
  25 
  26 gboolean fail_incompletable_actions(pcmk__graph_t *graph, const char *down_node);
  27 void process_graph_event(xmlNode *event, const char *event_node);
  28 
  29 /* utils */
  30 pcmk__graph_action_t *controld_get_action(int id);
  31 gboolean stop_te_timer(pcmk__graph_action_t *action);
  32 const char *get_rsc_state(const char *task, enum pcmk_exec_status status);
  33 
  34 void process_te_message(xmlNode *msg, xmlNode *xml_data);
  35 
  36 void controld_register_graph_functions(void);
  37 
  38 void notify_crmd(pcmk__graph_t * graph);
  39 
  40 void cib_action_updated(xmlNode *msg, int call_id, int rc, xmlNode *output,
  41                         void *user_data);
  42 gboolean action_timer_callback(gpointer data);
  43 void te_update_diff(const char *event, xmlNode *msg);
  44 
  45 void controld_init_transition_trigger(void);
  46 void controld_destroy_transition_trigger(void);
  47 
  48 void controld_trigger_graph_as(const char *fn, int line);
  49 void abort_after_delay(int abort_priority, enum pcmk__graph_next abort_action,
  50                        const char *abort_text, guint delay_ms);
  51 void controld_node_pending_timer(const crm_node_t *node);
  52 void controld_free_node_pending_timers(void);
  53 void abort_transition_graph(int abort_priority,
  54                             enum pcmk__graph_next abort_action,
  55                             const char *abort_text, const xmlNode *reason,
  56                             const char *fn, int line);
  57 
  58 #  define trigger_graph()   controld_trigger_graph_as(__func__, __LINE__)
  59 #  define abort_transition(pri, action, text, reason)                   \
  60         abort_transition_graph(pri, action, text, reason,__func__,__LINE__);
  61 
  62 void te_action_confirmed(pcmk__graph_action_t *action, pcmk__graph_t *graph);
  63 void te_reset_job_counts(void);
  64 
  65 #endif

/* [previous][next][first][last][top][bottom][index][help] */