diff --git a/_service b/_service index 9c9d2d8..4dcdb8f 100644 --- a/_service +++ b/_service @@ -11,7 +11,7 @@ 1.1.10 --> 1.1.10+git%cd.%h - 2383f6c469bfb31da9efa8e4dd626de049e808c6 + ce5d77c6038a0a0294d4cae238169c458ba03b72 diff --git a/pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 b/pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 deleted file mode 100644 index 9e5d34c..0000000 --- a/pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fb4196b30d9d642fb09a9ef4c53bbbead17d598f4f1b5a496c96f5fd79d2a2e5 -size 9196048 diff --git a/pacemaker-1.1.10+git20131127.ce5d77c.tar.bz2 b/pacemaker-1.1.10+git20131127.ce5d77c.tar.bz2 new file mode 100644 index 0000000..c9f9d68 --- /dev/null +++ b/pacemaker-1.1.10+git20131127.ce5d77c.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:693bbe0df452e09f3071e9f70489f67084985a79b30be4a656beb3fa9a5b6b31 +size 9312217 diff --git a/pacemaker-colocated-utilization.patch b/pacemaker-colocated-utilization.patch index cb28244..fb38b38 100644 --- a/pacemaker-colocated-utilization.patch +++ b/pacemaker-colocated-utilization.patch @@ -4,10 +4,10 @@ Date: Mon Jan 7 03:01:40 2013 +0800 High: PE: cl#5130 - Improve the placement for colocated utilization resources -diff --git a/pengine/group.c b/pengine/group.c -index 823ea08..88f6a69 100644 ---- a/pengine/group.c -+++ b/pengine/group.c +Index: pacemaker/pengine/group.c +=================================================================== +--- pacemaker.orig/pengine/group.c ++++ pacemaker/pengine/group.c @@ -515,3 +515,62 @@ void group_append_meta(resource_t * rsc, xmlNode * xml) { @@ -71,11 +71,11 @@ index 823ea08..88f6a69 100644 + } + } +} -diff --git a/pengine/native.c b/pengine/native.c -index 47c12b4..cacc226 100644 ---- a/pengine/native.c -+++ b/pengine/native.c -@@ -79,7 +79,7 @@ gboolean (*rsc_action_matrix[RSC_ROLE_MAX][RSC_ROLE_MAX])(resource_t*,node_t*,gb +Index: pacemaker/pengine/native.c +=================================================================== +--- pacemaker.orig/pengine/native.c ++++ pacemaker/pengine/native.c +@@ -80,7 +80,7 @@ gboolean (*rsc_action_matrix[RSC_ROLE_MA struct capacity_data { node_t *node; @@ -84,7 +84,7 @@ index 47c12b4..cacc226 100644 gboolean is_enough; }; -@@ -94,27 +94,119 @@ check_capacity(gpointer key, gpointer value, gpointer user_data) +@@ -95,27 +95,119 @@ check_capacity(gpointer key, gpointer va remaining = crm_parse_int(g_hash_table_lookup(data->node->details->utilization, key), "0"); if (required > remaining) { @@ -210,7 +210,7 @@ index 47c12b4..cacc226 100644 static gboolean native_choose_node(resource_t * rsc, node_t * prefer, pe_working_set_t * data_set) { -@@ -136,15 +228,63 @@ native_choose_node(resource_t * rsc, node_t * prefer, pe_working_set_t * data_se +@@ -137,15 +229,63 @@ native_choose_node(resource_t * rsc, nod if (safe_str_neq(data_set->placement_strategy, "default")) { GListPtr gIter = NULL; @@ -259,16 +259,16 @@ index 47c12b4..cacc226 100644 + if (unallocated_utilization) { + g_hash_table_destroy(unallocated_utilization); + } ++ ++ g_list_free(colocated_rscs); ++ free(rscs_id); ++ } - if (have_enough_capacity(node, rsc) == FALSE) { - pe_rsc_debug(rsc, - "Resource %s cannot be allocated to node %s: none of enough capacity", - rsc->id, node->details->uname); - resource_location(rsc, node, -INFINITY, "__limit_utilization_", data_set); -+ g_list_free(colocated_rscs); -+ free(rscs_id); -+ } -+ + if (any_capable == FALSE) { + for (gIter = data_set->nodes; gIter != NULL; gIter = gIter->next) { + node_t *node = (node_t *) gIter->data; @@ -281,7 +281,7 @@ index 47c12b4..cacc226 100644 } } dump_node_scores(alloc_details, rsc, "Post-utilization", rsc->allowed_nodes); -@@ -1279,14 +1419,14 @@ enum filter_colocation_res { +@@ -1367,14 +1507,14 @@ enum filter_colocation_res { static enum filter_colocation_res filter_colocation_constraint(resource_t * rsc_lh, resource_t * rsc_rh, @@ -298,7 +298,16 @@ index 47c12b4..cacc226 100644 return influence_nothing; } -@@ -1462,7 +1602,7 @@ native_rsc_colocation_rh(resource_t * rsc_lh, resource_t * rsc_rh, rsc_colocatio +@@ -1387,7 +1527,7 @@ filter_colocation_constraint(resource_t + return influence_rsc_priority; + } + +- if (is_not_set(rsc_lh->flags, pe_rsc_provisional)) { ++ if (preview == FALSE && is_not_set(rsc_lh->flags, pe_rsc_provisional)) { + /* error check */ + struct node_shared_s *details_lh; + struct node_shared_s *details_rh; +@@ -1550,7 +1690,7 @@ native_rsc_colocation_rh(resource_t * rs { enum filter_colocation_res filter_results; @@ -307,7 +316,7 @@ index 47c12b4..cacc226 100644 switch (filter_results) { case influence_rsc_priority: -@@ -3173,3 +3313,86 @@ native_append_meta(resource_t * rsc, xmlNode * xml) +@@ -3307,3 +3447,86 @@ native_append_meta(resource_t * rsc, xml free(name); } } @@ -394,11 +403,11 @@ index 47c12b4..cacc226 100644 + + return colocated_rscs; +} -diff --git a/pengine/utils.c b/pengine/utils.c -index abd416d..d8d8b81 100644 ---- a/pengine/utils.c -+++ b/pengine/utils.c -@@ -163,7 +163,7 @@ do_compare_capacity2(gpointer key, gpointer value, gpointer user_data) +Index: pacemaker/pengine/utils.c +=================================================================== +--- pacemaker.orig/pengine/utils.c ++++ pacemaker/pengine/utils.c +@@ -164,7 +164,7 @@ do_compare_capacity2(gpointer key, gpoin /* rc < 0 if 'node1' has more capacity remaining * rc > 0 if 'node1' has less capacity remaining */ @@ -407,7 +416,7 @@ index abd416d..d8d8b81 100644 compare_capacity(const node_t * node1, const node_t * node2) { struct compare_data data; -@@ -268,44 +268,41 @@ sort_node_weight(gconstpointer a, gconstpointer b, gpointer data) +@@ -269,44 +269,41 @@ sort_node_weight(gconstpointer a, gconst } struct calculate_data { @@ -472,7 +481,7 @@ index abd416d..d8d8b81 100644 } void -@@ -321,7 +318,7 @@ native_deallocate(resource_t * rsc) +@@ -322,7 +319,7 @@ native_deallocate(resource_t * rsc) old->details->allocated_rsc = g_list_remove(old->details->allocated_rsc, rsc); old->details->num_resources--; /* old->count--; */ @@ -481,7 +490,7 @@ index abd416d..d8d8b81 100644 free(old); } } -@@ -388,7 +385,9 @@ native_assign_node(resource_t * rsc, GListPtr nodes, node_t * chosen, gboolean f +@@ -389,7 +386,9 @@ native_assign_node(resource_t * rsc, GLi chosen->details->allocated_rsc = g_list_prepend(chosen->details->allocated_rsc, rsc); chosen->details->num_resources++; chosen->count++; @@ -492,11 +501,11 @@ index abd416d..d8d8b81 100644 return TRUE; } -diff --git a/pengine/utils.h b/pengine/utils.h -index 1939d40..f8c6b6d 100644 ---- a/pengine/utils.h -+++ b/pengine/utils.h -@@ -55,6 +55,19 @@ extern gboolean can_run_any(GHashTable * nodes); +Index: pacemaker/pengine/utils.h +=================================================================== +--- pacemaker.orig/pengine/utils.h ++++ pacemaker/pengine/utils.h +@@ -55,6 +55,19 @@ extern gboolean can_run_any(GHashTable * extern resource_t *find_compatible_child(resource_t * local_child, resource_t * rsc, enum rsc_role_e filter, gboolean current); diff --git a/pacemaker.changes b/pacemaker.changes index 65ba1a2..4c57b41 100644 --- a/pacemaker.changes +++ b/pacemaker.changes @@ -1,7 +1,49 @@ +------------------------------------------------------------------- +Thu Nov 28 13:06:59 UTC 2013 - ygao@suse.com + +- crmd: Memory leak +- Upstream version cs: ce5d77c6038a0a0294d4cae238169c458ba03b72 + +------------------------------------------------------------------- +Mon Nov 25 15:21:14 UTC 2013 - ygao@suse.com + +- pengine: Recover unexpectedly running container nodes. +- pengine: Disable container node probes due to constraint conflicts +- ipc: Have the ipc server enforce a minimum buffer size all clients must use. +- Bug cl#5181 - corosync: Ensure node IDs are written to the CIB as unsigned integers +- Upstream version cs: f57ad6c17624c0cbfc58c46f0bad7e28453506bb + +------------------------------------------------------------------- +Tue Nov 19 14:12:00 UTC 2013 - ygao@suse.com + +- Update pacemaker-colocated-utilization.patch + * pengine: Do not check the allocation of resources during a colocation preview (bnc#849595) + +------------------------------------------------------------------- +Tue Nov 19 13:45:56 UTC 2013 - ygao@suse.com + +- election: Correctly hook up the timeout callback +- crmd: Improve throttling response on clusters of single core machines (bnc#838358) +- fencing: Wait until all possible replies are recieved before continuing with unverified devices +- Bug cl#5179 - Corosync: Attempt to retrieve a peer's node name if it is not already known +- Core: Allow blackbox logging to be disabled with SIGUSR2 +- PE: Correctly handle demotion of grouped masters that are partially demoted +- crmd: When the DC gracefully shuts down, record the new expected state into the cib +- crmd: When a peer expectedly shuts down, record the new join and expected states into the cib +- attrd: Memory leak +- attrd: Do something sane when older non-atomic versions send us messages +- crmd: Correctly observe the configured batch-limit (bnc#838358) +- attrd: Improve compatibility with older attrd versions +- controld: Use the correct variant of dlm_controld for corosync-2 clusters +- lrmd: Correctly calculate metadata for the 'service' class +- crmd: Prevent over-polling of throttle inputs (bnc#838358) +- crmd: Enable cluster-wide throttling when the cib heavily exceeds its target load (bnc#838358) +- Upstream version cs: 5a69be5ff56ec7fa66bcf9c2069af6211e4ebc98 + ------------------------------------------------------------------- Thu Nov 14 07:19:28 UTC 2013 - ygao@suse.com -- crmd: Send the first throttle update +- crmd: Send the first throttle update (bnc#838358) - Upstream version cs: 2383f6c469bfb31da9efa8e4dd626de049e808c6 ------------------------------------------------------------------- @@ -20,26 +62,26 @@ Sun Nov 10 00:43:46 UTC 2013 - ygao@suse.com - crm_resource: Wait for the correct number of replies when cleaning up resources (bnc#842204) - cpg: Only process one message at a time to allow other priority jobs to be performed - remote: Handle endian changes between client and server and improve forward compatibility -- crmd: A more reliable method of looking up migration options -- crmd: Allow non-CIB based throttling to be disabled -- crmd: Honor load thresholds lower than the cib maximum -- crmd: Tell the DC our job limit instead of the number of cores -- crmd: Track the CIB's CPU usage -- crmd: Fold the enforcement of migration-limit into the throttling code -- crmd: Don't start throttling until we're over the target threshold -- crmd: Do not send throttle updates to versions that don't support them +- crmd: A more reliable method of looking up migration options (bnc#838358) +- crmd: Allow non-CIB based throttling to be disabled (bnc#838358) +- crmd: Honor load thresholds lower than the cib maximum (bnc#838358) +- crmd: Tell the DC our job limit instead of the number of cores (bnc#838358) +- crmd: Track the CIB's CPU usage (bnc#838358) +- crmd: Fold the enforcement of migration-limit into the throttling code (bnc#838358) +- crmd: Don't start throttling until we're over the target threshold (bnc#838358) +- crmd: Do not send throttle updates to versions that don't support them (bnc#838358) - ipc: Use the higher of the configured buffer size or the default -- crmd: Tweak the throttling threshold multipliers -- crmd: Simplify option processing for throttling options -- crmd: Simplify the logic for calculating the number of available cores -- crmd: Make the per-node action limit directly configurable in the CIB +- crmd: Tweak the throttling threshold multipliers (bnc#838358) +- crmd: Simplify option processing for throttling options (bnc#838358) +- crmd: Simplify the logic for calculating the number of available cores (bnc#838358) +- crmd: Make the per-node action limit directly configurable in the CIB (bnc#838358) - crmd: Tweak the throttling code based on migration-limit and/or LRMD_MAX_CHILDREN (bnc#838358) -- crmd: Slow down recovery on nodes with IO load -- crmd: Make the utilization limit configurable -- crmd: Use the load on our peers to know how many jobs to send them -- crmd: Notify peers of our relative load +- crmd: Slow down recovery on nodes with IO load (bnc#838358) +- crmd: Make the utilization limit configurable (bnc#838358) +- crmd: Use the load on our peers to know how many jobs to send them (bnc#838358) +- crmd: Notify peers of our relative load (bnc#838358) - remote: Properly version the remote connection protocol -- crmd: Track CPU usage on cluster nodes +- crmd: Track CPU usage on cluster nodes (bnc#838358) - ipc: Consolidate client/server flags and add version field to header - ipc: Suppress asserts for proxied connections - crmd: Do not block on proxied calls from pacemaker_remoted @@ -274,7 +316,7 @@ Mon Jul 22 05:28:01 UTC 2013 - ygao@suse.com - cpg: Correctly free sent messages - crm_resource: Present an error if an admin tries to --force-start an already active resource -- cluster: Correctly construct the header for compressed messages +- cluster: Correctly construct the header for compressed messages (bnc#851951) - PE: Re-allow ordering constraints with fencing devices now that it is safe to do so - cl#5170 - Correctly support on-fail=block for clones - PE: Do the right thing when admins specify the internal resource instead of the clone @@ -362,7 +404,7 @@ Fri Jun 21 04:44:12 UTC 2013 - ygao@suse.com - crmd: Stop trying to fence when no devices exist capable of fencing a node - PE: Allow active nodes in our current membership to be fenced without quorum - PE: If fencing is unavailable or disabled, block further recovery for resources that fail to stop -- crm_resource: Avoid whitespace in transition keys when cleaning up and failing resources +- crm_resource: Avoid whitespace in transition keys when cleaning up and failing resources (bnc#851308) - crmd: Everyone who gets a fencing notification should mark the node as down (bnc#842915) - crmd: Initiate node shutdown if another node claims to have successfully fenced us (bnc#842915) - crm_resource: Correctly implement --master diff --git a/pacemaker.spec b/pacemaker.spec index 817ef4c..925160c 100644 --- a/pacemaker.spec +++ b/pacemaker.spec @@ -95,7 +95,7 @@ Name: pacemaker Summary: Scalable High-Availability cluster resource manager License: GPL-2.0+ and LGPL-2.1+ Group: Productivity/Clustering/HA -Version: 1.1.10+git20131112.2383f6c +Version: 1.1.10+git20131127.ce5d77c Release: 0 #Release: %{pcmk_release}%{?dist} Url: http://www.clusterlabs.org