Accepting request 209371 from network:ha-clustering:Factory

- crmd: Memory leak
- Upstream version cs: ce5d77c6038a0a0294d4cae238169c458ba03b72

- 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

- Update pacemaker-colocated-utilization.patch
  * pengine: Do not check the allocation of resources during a colocation preview (bnc#849595)

- 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

OBS-URL: https://build.opensuse.org/request/show/209371
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pacemaker?expand=0&rev=61
This commit is contained in:
Stephan Kulow 2013-12-05 06:17:55 +00:00 committed by Git OBS Bridge
commit 80d8a4d713
6 changed files with 107 additions and 56 deletions

View File

@ -11,7 +11,7 @@
<param name="version">1.1.10</param> <param name="version">1.1.10</param>
--> -->
<param name="versionformat">1.1.10+git%cd.%h</param> <param name="versionformat">1.1.10+git%cd.%h</param>
<param name="revision">2383f6c469bfb31da9efa8e4dd626de049e808c6</param> <param name="revision">ce5d77c6038a0a0294d4cae238169c458ba03b72</param>
</service> </service>
<service name="recompress" mode="disabled"> <service name="recompress" mode="disabled">

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fb4196b30d9d642fb09a9ef4c53bbbead17d598f4f1b5a496c96f5fd79d2a2e5
size 9196048

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:693bbe0df452e09f3071e9f70489f67084985a79b30be4a656beb3fa9a5b6b31
size 9312217

View File

@ -4,10 +4,10 @@ Date: Mon Jan 7 03:01:40 2013 +0800
High: PE: cl#5130 - Improve the placement for colocated utilization resources High: PE: cl#5130 - Improve the placement for colocated utilization resources
diff --git a/pengine/group.c b/pengine/group.c Index: pacemaker/pengine/group.c
index 823ea08..88f6a69 100644 ===================================================================
--- a/pengine/group.c --- pacemaker.orig/pengine/group.c
+++ b/pengine/group.c +++ pacemaker/pengine/group.c
@@ -515,3 +515,62 @@ void @@ -515,3 +515,62 @@ void
group_append_meta(resource_t * rsc, xmlNode * xml) 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: pacemaker/pengine/native.c
index 47c12b4..cacc226 100644 ===================================================================
--- a/pengine/native.c --- pacemaker.orig/pengine/native.c
+++ b/pengine/native.c +++ pacemaker/pengine/native.c
@@ -79,7 +79,7 @@ gboolean (*rsc_action_matrix[RSC_ROLE_MAX][RSC_ROLE_MAX])(resource_t*,node_t*,gb @@ -80,7 +80,7 @@ gboolean (*rsc_action_matrix[RSC_ROLE_MA
struct capacity_data { struct capacity_data {
node_t *node; node_t *node;
@ -84,7 +84,7 @@ index 47c12b4..cacc226 100644
gboolean is_enough; 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"); remaining = crm_parse_int(g_hash_table_lookup(data->node->details->utilization, key), "0");
if (required > remaining) { if (required > remaining) {
@ -210,7 +210,7 @@ index 47c12b4..cacc226 100644
static gboolean static gboolean
native_choose_node(resource_t * rsc, node_t * prefer, pe_working_set_t * data_set) 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")) { if (safe_str_neq(data_set->placement_strategy, "default")) {
GListPtr gIter = NULL; GListPtr gIter = NULL;
@ -259,16 +259,16 @@ index 47c12b4..cacc226 100644
+ if (unallocated_utilization) { + if (unallocated_utilization) {
+ g_hash_table_destroy(unallocated_utilization); + g_hash_table_destroy(unallocated_utilization);
+ } + }
+
+ g_list_free(colocated_rscs);
+ free(rscs_id);
+ }
- if (have_enough_capacity(node, rsc) == FALSE) { - if (have_enough_capacity(node, rsc) == FALSE) {
- pe_rsc_debug(rsc, - pe_rsc_debug(rsc,
- "Resource %s cannot be allocated to node %s: none of enough capacity", - "Resource %s cannot be allocated to node %s: none of enough capacity",
- rsc->id, node->details->uname); - rsc->id, node->details->uname);
- resource_location(rsc, node, -INFINITY, "__limit_utilization_", data_set); - resource_location(rsc, node, -INFINITY, "__limit_utilization_", data_set);
+ g_list_free(colocated_rscs);
+ free(rscs_id);
+ }
+
+ if (any_capable == FALSE) { + if (any_capable == FALSE) {
+ for (gIter = data_set->nodes; gIter != NULL; gIter = gIter->next) { + for (gIter = data_set->nodes; gIter != NULL; gIter = gIter->next) {
+ node_t *node = (node_t *) gIter->data; + 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); 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 static enum filter_colocation_res
filter_colocation_constraint(resource_t * rsc_lh, resource_t * rsc_rh, filter_colocation_constraint(resource_t * rsc_lh, resource_t * rsc_rh,
@ -298,7 +298,16 @@ index 47c12b4..cacc226 100644
return influence_nothing; 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; enum filter_colocation_res filter_results;
@ -307,7 +316,7 @@ index 47c12b4..cacc226 100644
switch (filter_results) { switch (filter_results) {
case influence_rsc_priority: 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); free(name);
} }
} }
@ -394,11 +403,11 @@ index 47c12b4..cacc226 100644
+ +
+ return colocated_rscs; + return colocated_rscs;
+} +}
diff --git a/pengine/utils.c b/pengine/utils.c Index: pacemaker/pengine/utils.c
index abd416d..d8d8b81 100644 ===================================================================
--- a/pengine/utils.c --- pacemaker.orig/pengine/utils.c
+++ b/pengine/utils.c +++ pacemaker/pengine/utils.c
@@ -163,7 +163,7 @@ do_compare_capacity2(gpointer key, gpointer value, gpointer user_data) @@ -164,7 +164,7 @@ do_compare_capacity2(gpointer key, gpoin
/* rc < 0 if 'node1' has more capacity remaining /* rc < 0 if 'node1' has more capacity remaining
* rc > 0 if 'node1' has less 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) compare_capacity(const node_t * node1, const node_t * node2)
{ {
struct compare_data data; 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 { struct calculate_data {
@ -472,7 +481,7 @@ index abd416d..d8d8b81 100644
} }
void 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->allocated_rsc = g_list_remove(old->details->allocated_rsc, rsc);
old->details->num_resources--; old->details->num_resources--;
/* old->count--; */ /* old->count--; */
@ -481,7 +490,7 @@ index abd416d..d8d8b81 100644
free(old); 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->allocated_rsc = g_list_prepend(chosen->details->allocated_rsc, rsc);
chosen->details->num_resources++; chosen->details->num_resources++;
chosen->count++; chosen->count++;
@ -492,11 +501,11 @@ index abd416d..d8d8b81 100644
return TRUE; return TRUE;
} }
diff --git a/pengine/utils.h b/pengine/utils.h Index: pacemaker/pengine/utils.h
index 1939d40..f8c6b6d 100644 ===================================================================
--- a/pengine/utils.h --- pacemaker.orig/pengine/utils.h
+++ b/pengine/utils.h +++ pacemaker/pengine/utils.h
@@ -55,6 +55,19 @@ extern gboolean can_run_any(GHashTable * nodes); @@ -55,6 +55,19 @@ extern gboolean can_run_any(GHashTable *
extern resource_t *find_compatible_child(resource_t * local_child, resource_t * rsc, extern resource_t *find_compatible_child(resource_t * local_child, resource_t * rsc,
enum rsc_role_e filter, gboolean current); enum rsc_role_e filter, gboolean current);

View File

@ -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 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 - 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) - 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 - 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 - remote: Handle endian changes between client and server and improve forward compatibility
- crmd: A more reliable method of looking up migration options - crmd: A more reliable method of looking up migration options (bnc#838358)
- crmd: Allow non-CIB based throttling to be disabled - crmd: Allow non-CIB based throttling to be disabled (bnc#838358)
- crmd: Honor load thresholds lower than the cib maximum - crmd: Honor load thresholds lower than the cib maximum (bnc#838358)
- crmd: Tell the DC our job limit instead of the number of cores - crmd: Tell the DC our job limit instead of the number of cores (bnc#838358)
- crmd: Track the CIB's CPU usage - crmd: Track the CIB's CPU usage (bnc#838358)
- crmd: Fold the enforcement of migration-limit into the throttling code - 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 - 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 - 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 - ipc: Use the higher of the configured buffer size or the default
- crmd: Tweak the throttling threshold multipliers - crmd: Tweak the throttling threshold multipliers (bnc#838358)
- crmd: Simplify option processing for throttling options - crmd: Simplify option processing for throttling options (bnc#838358)
- crmd: Simplify the logic for calculating the number of available cores - 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 - 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: 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: Slow down recovery on nodes with IO load (bnc#838358)
- crmd: Make the utilization limit configurable - crmd: Make the utilization limit configurable (bnc#838358)
- crmd: Use the load on our peers to know how many jobs to send them - crmd: Use the load on our peers to know how many jobs to send them (bnc#838358)
- crmd: Notify peers of our relative load - crmd: Notify peers of our relative load (bnc#838358)
- remote: Properly version the remote connection protocol - 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: Consolidate client/server flags and add version field to header
- ipc: Suppress asserts for proxied connections - ipc: Suppress asserts for proxied connections
- crmd: Do not block on proxied calls from pacemaker_remoted - 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 - cpg: Correctly free sent messages
- crm_resource: Present an error if an admin tries to --force-start an already active resource - 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 - 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 - cl#5170 - Correctly support on-fail=block for clones
- PE: Do the right thing when admins specify the internal resource instead of the clone - 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 - 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: 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 - 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: 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) - crmd: Initiate node shutdown if another node claims to have successfully fenced us (bnc#842915)
- crm_resource: Correctly implement --master - crm_resource: Correctly implement --master

View File

@ -95,7 +95,7 @@ Name: pacemaker
Summary: Scalable High-Availability cluster resource manager Summary: Scalable High-Availability cluster resource manager
License: GPL-2.0+ and LGPL-2.1+ License: GPL-2.0+ and LGPL-2.1+
Group: Productivity/Clustering/HA Group: Productivity/Clustering/HA
Version: 1.1.10+git20131112.2383f6c Version: 1.1.10+git20131127.ce5d77c
Release: 0 Release: 0
#Release: %{pcmk_release}%{?dist} #Release: %{pcmk_release}%{?dist}
Url: http://www.clusterlabs.org Url: http://www.clusterlabs.org