root/include/pcmki/pcmki_scheduler.h

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

INCLUDED FROM


   1 /*
   2  * Copyright 2014-2022 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 #ifndef PCMK__PCMKI_PCMKI_SCHEDULER__H
  11 #  define PCMK__PCMKI_PCMKI_SCHEDULER__H
  12 
  13 #  include <glib.h>
  14 #  include <crm/crm.h>
  15 #  include <crm/common/iso8601.h>
  16 #  include <crm/pengine/rules.h>
  17 #  include <crm/pengine/common.h>
  18 #  include <crm/pengine/status.h>
  19 
  20 #  include <crm/pengine/complex.h>
  21 
  22 typedef struct {
  23     const char *id;
  24     const char *node_attribute;
  25     pe_resource_t *dependent;   // The resource being colocated
  26     pe_resource_t *primary;     // The resource the dependent is colocated with
  27 
  28     int dependent_role; // Colocation applies only if dependent has this role
  29     int primary_role;   // Colocation applies only if primary has this role
  30 
  31     int score;
  32     bool influence; // Whether dependent influences active primary placement
  33 } pcmk__colocation_t;
  34 
  35 void pcmk__unpack_constraints(pe_working_set_t *data_set);
  36 
  37 void pcmk__schedule_actions(xmlNode *cib, unsigned long long flags,
  38                             pe_working_set_t *data_set);
  39 
  40 #endif

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