pacemaker 3.0.1-16e74fc4da
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
pcmk_sched_colocation.c File Reference
#include <crm_internal.h>
#include <stdbool.h>
#include <glib.h>
#include <crm/crm.h>
#include <crm/common/scheduler.h>
#include <crm/common/scheduler_internal.h>
#include <crm/pengine/status.h>
#include <pacemaker-internal.h>
#include "crm/common/util.h"
#include "crm/common/xml_internal.h"
#include "crm/common/xml.h"
#include "libpacemaker_private.h"
Include dependency graph for pcmk_sched_colocation.c:

Go to the source code of this file.

Macros

#define INFINITY_HACK   (PCMK_SCORE_INFINITY * -100)
 

Functions

const char * pcmk__colocation_node_attr (const pcmk_node_t *node, const char *attr, const pcmk_resource_t *rsc)
 
void pcmk__add_this_with (GList **list, const pcmk__colocation_t *colocation, const pcmk_resource_t *rsc)
 
void pcmk__add_this_with_list (GList **list, GList *addition, const pcmk_resource_t *rsc)
 
void pcmk__add_with_this (GList **list, const pcmk__colocation_t *colocation, const pcmk_resource_t *rsc)
 
void pcmk__add_with_this_list (GList **list, GList *addition, const pcmk_resource_t *rsc)
 
void pcmk__new_colocation (const char *id, const char *node_attr, int score, pcmk_resource_t *dependent, pcmk_resource_t *primary, const char *dependent_role_spec, const char *primary_role_spec, uint32_t flags)
 
void pcmk__unpack_colocation (xmlNode *xml_obj, pcmk_scheduler_t *scheduler)
 
bool pcmk__colocation_has_influence (const pcmk__colocation_t *colocation, const pcmk_resource_t *rsc)
 
void pcmk__block_colocation_dependents (pcmk_action_t *action)
 
enum pcmk__coloc_affects pcmk__colocation_affects (const pcmk_resource_t *dependent, const pcmk_resource_t *primary, const pcmk__colocation_t *colocation, bool preview)
 
void pcmk__apply_coloc_to_scores (pcmk_resource_t *dependent, const pcmk_resource_t *primary, const pcmk__colocation_t *colocation)
 
int pcmk__apply_coloc_to_priority (pcmk_resource_t *dependent, const pcmk_resource_t *primary, const pcmk__colocation_t *colocation)
 
void pcmk__add_colocated_node_scores (pcmk_resource_t *source_rsc, const pcmk_resource_t *target_rsc, const char *log_id, GHashTable **nodes, const pcmk__colocation_t *colocation, float factor, uint32_t flags)
 
void pcmk__add_dependent_scores (gpointer data, gpointer user_data)
 
void pcmk__colocation_intersect_nodes (pcmk_resource_t *dependent, const pcmk_resource_t *primary, const pcmk__colocation_t *colocation, const GList *primary_nodes, bool merge_scores)
 
GList * pcmk__with_this_colocations (const pcmk_resource_t *rsc)
 
GList * pcmk__this_with_colocations (const pcmk_resource_t *rsc)
 

Macro Definition Documentation

◆ INFINITY_HACK

#define INFINITY_HACK   (PCMK_SCORE_INFINITY * -100)

Definition at line 27 of file pcmk_sched_colocation.c.

Function Documentation

◆ pcmk__add_colocated_node_scores()

void pcmk__add_colocated_node_scores ( pcmk_resource_t * source_rsc,
const pcmk_resource_t * target_rsc,
const char * log_id,
GHashTable ** nodes,
const pcmk__colocation_t * colocation,
float factor,
uint32_t flags )

Definition at line 1799 of file pcmk_sched_colocation.c.

◆ pcmk__add_dependent_scores()

void pcmk__add_dependent_scores ( gpointer data,
gpointer user_data )

Definition at line 1926 of file pcmk_sched_colocation.c.

◆ pcmk__add_this_with()

void pcmk__add_this_with ( GList ** list,
const pcmk__colocation_t * colocation,
const pcmk_resource_t * rsc )

Definition at line 207 of file pcmk_sched_colocation.c.

◆ pcmk__add_this_with_list()

void pcmk__add_this_with_list ( GList ** list,
GList * addition,
const pcmk_resource_t * rsc )

Definition at line 234 of file pcmk_sched_colocation.c.

◆ pcmk__add_with_this()

void pcmk__add_with_this ( GList ** list,
const pcmk__colocation_t * colocation,
const pcmk_resource_t * rsc )

Definition at line 267 of file pcmk_sched_colocation.c.

◆ pcmk__add_with_this_list()

void pcmk__add_with_this_list ( GList ** list,
GList * addition,
const pcmk_resource_t * rsc )

Definition at line 294 of file pcmk_sched_colocation.c.

◆ pcmk__apply_coloc_to_priority()

int pcmk__apply_coloc_to_priority ( pcmk_resource_t * dependent,
const pcmk_resource_t * primary,
const pcmk__colocation_t * colocation )

Definition at line 1451 of file pcmk_sched_colocation.c.

◆ pcmk__apply_coloc_to_scores()

void pcmk__apply_coloc_to_scores ( pcmk_resource_t * dependent,
const pcmk_resource_t * primary,
const pcmk__colocation_t * colocation )

Definition at line 1344 of file pcmk_sched_colocation.c.

◆ pcmk__block_colocation_dependents()

void pcmk__block_colocation_dependents ( pcmk_action_t * action)

Definition at line 1139 of file pcmk_sched_colocation.c.

◆ pcmk__colocation_affects()

enum pcmk__coloc_affects pcmk__colocation_affects ( const pcmk_resource_t * dependent,
const pcmk_resource_t * primary,
const pcmk__colocation_t * colocation,
bool preview )

Definition at line 1267 of file pcmk_sched_colocation.c.

◆ pcmk__colocation_has_influence()

bool pcmk__colocation_has_influence ( const pcmk__colocation_t * colocation,
const pcmk_resource_t * rsc )

Definition at line 1060 of file pcmk_sched_colocation.c.

◆ pcmk__colocation_intersect_nodes()

void pcmk__colocation_intersect_nodes ( pcmk_resource_t * dependent,
const pcmk_resource_t * primary,
const pcmk__colocation_t * colocation,
const GList * primary_nodes,
bool merge_scores )

Definition at line 1969 of file pcmk_sched_colocation.c.

◆ pcmk__colocation_node_attr()

const char * pcmk__colocation_node_attr ( const pcmk_node_t * node,
const char * attr,
const pcmk_resource_t * rsc )

Definition at line 40 of file pcmk_sched_colocation.c.

◆ pcmk__new_colocation()

void pcmk__new_colocation ( const char * id,
const char * node_attr,
int score,
pcmk_resource_t * dependent,
pcmk_resource_t * primary,
const char * dependent_role_spec,
const char * primary_role_spec,
uint32_t flags )

Definition at line 384 of file pcmk_sched_colocation.c.

◆ pcmk__this_with_colocations()

GList * pcmk__this_with_colocations ( const pcmk_resource_t * rsc)

Definition at line 2038 of file pcmk_sched_colocation.c.

◆ pcmk__unpack_colocation()

void pcmk__unpack_colocation ( xmlNode * xml_obj,
pcmk_scheduler_t * scheduler )

Definition at line 973 of file pcmk_sched_colocation.c.

◆ pcmk__with_this_colocations()

GList * pcmk__with_this_colocations ( const pcmk_resource_t * rsc)

Definition at line 2019 of file pcmk_sched_colocation.c.