diff --git a/lib/pengine/complex.c b/lib/pengine/complex.c index d91c95e..1f06348 100644 --- a/lib/pengine/complex.c +++ b/lib/pengine/complex.c @@ -95,12 +95,18 @@ void get_meta_attributes(GHashTable * meta_hash, pe_resource_t * rsc, pe_node_t * node, pe_working_set_t * data_set) { + pe_rsc_eval_data_t rsc_rule_data = { + .standard = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS), + .provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER), + .agent = crm_element_value(rsc->xml, XML_EXPR_ATTR_TYPE) + }; + pe_rule_eval_data_t rule_data = { .node_hash = NULL, .role = RSC_ROLE_UNKNOWN, .now = data_set->now, .match_data = NULL, - .rsc_data = NULL, + .rsc_data = &rsc_rule_data, .op_data = NULL }; diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c index c3fec6a..20a8db5 100644 --- a/lib/pengine/utils.c +++ b/lib/pengine/utils.c @@ -986,13 +986,24 @@ unpack_operation(pe_action_t * action, xmlNode * xml_obj, pe_resource_t * contai pe_rsc_action_details_t *rsc_details = NULL; #endif + pe_rsc_eval_data_t rsc_rule_data = { + .standard = crm_element_value(action->rsc->xml, XML_AGENT_ATTR_CLASS), + .provider = crm_element_value(action->rsc->xml, XML_AGENT_ATTR_PROVIDER), + .agent = crm_element_value(action->rsc->xml, XML_EXPR_ATTR_TYPE) + }; + + pe_op_eval_data_t op_rule_data = { + .op_name = action->task, + .interval = interval_ms + }; + pe_rule_eval_data_t rule_data = { .node_hash = NULL, .role = RSC_ROLE_UNKNOWN, .now = data_set->now, .match_data = NULL, - .rsc_data = NULL, - .op_data = NULL + .rsc_data = &rsc_rule_data, + .op_data = &op_rule_data }; CRM_CHECK(action && action->rsc, return);