36 gIter != NULL; gIter = gIter->next) {
51 const char *value = NULL;
96 for (iter =
host->details->running_rsc; iter != NULL; iter = iter->next) {
104 (*helper)(guest_node, user_data);
129 const char *container_id,
const char *migrateable,
130 const char *is_managed,
const char *start_timeout,
131 const char *server,
const char *port)
162 if (port || server) {
185 const xmlNode *rsc_op;
196 struct check_op *check_op = NULL;
202 crm_trace(
"Deferring checks of %s until after allocation",
203 pcmk__xe_id(rsc_op));
204 check_op->rsc_op = rsc_op;
206 check_op->node = node;
207 check_op->check_type = flag;
227 item != NULL; item = item->next) {
228 struct check_op *check_op = item->data;
230 cb(check_op->rsc, check_op->node, check_op->rsc_op,
231 check_op->check_type);
#define CRM_CHECK(expr, failure_action)
pcmk_node_t * pcmk_find_node(const pcmk_scheduler_t *scheduler, const char *node_name)
Find a node by name in scheduler data.
#define PCMK_XE_PRIMITIVE
#define PCMK_ACTION_MONITOR
#define PCMK_REMOTE_RA_ADDR
#define PCMK_REMOTE_RA_PORT
bool xml_contains_remote_node(xmlNode *xml)
pcmk__scheduler_private_t * priv
pcmk_resource_t * pe__resource_contains_guest_node(const pcmk_scheduler_t *scheduler, const pcmk_resource_t *rsc)
#define PCMK_RESOURCE_CLASS_OCF
xmlNode * pcmk__xe_create(xmlNode *parent, const char *name)
#define PCMK_META_IS_MANAGED
const char * crm_xml_add(xmlNode *node, const char *name, const char *value)
Create an XML attribute with specified name and value.
void pe__foreach_param_check(pcmk_scheduler_t *scheduler, void(*cb)(pcmk_resource_t *, pcmk_node_t *, const xmlNode *, enum pcmk__check_parameters))
const char * crm_element_value(const xmlNode *data, const char *name)
Retrieve the value of an XML attribute.
#define crm_trace(fmt, args...)
#define pcmk_is_set(g, f)
Convenience alias for pcmk_all_flags_set(), to check single flag.
void pe__free_param_checks(pcmk_scheduler_t *scheduler)
#define PCMK_ACTION_START
pcmk__resource_private_t * priv
Wrappers for and extensions to libxml2.
void pe__add_param_check(const xmlNode *rsc_op, pcmk_resource_t *rsc, pcmk_node_t *node, enum pcmk__check_parameters flag, pcmk_scheduler_t *scheduler)
#define PCMK_XE_OPERATIONS
#define PCMK_XE_META_ATTRIBUTES
pcmk_scheduler_t * scheduler
pcmk_resource_t * launcher
void pcmk__xe_set_id(xmlNode *xml, const char *format,...) G_GNUC_PRINTF(2
void pe_foreach_guest_node(const pcmk_scheduler_t *scheduler, const pcmk_node_t *host, void(*helper)(const pcmk_node_t *, void *), void *user_data)
#define PCMK__META_INTERNAL_RSC
#define PCMK__META_CONTAINER
xmlNode * crm_create_op_xml(xmlNode *parent, const char *prefix, const char *task, const char *interval_spec, const char *timeout)
Create a CIB XML element for an operation.
xmlNode * crm_create_nvpair_xml(xmlNode *parent, const char *id, const char *name, const char *value)
Create an XML name/value pair.
xmlNode * pe_create_remote_xml(xmlNode *parent, const char *uname, const char *container_id, const char *migrateable, const char *is_managed, const char *start_timeout, const char *server, const char *port)
#define pcmk__assert_alloc(nmemb, size)
#define PCMK_XE_INSTANCE_ATTRIBUTES
#define PCMK_META_ALLOW_MIGRATE