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="versionformat">1.1.10+git%cd.%h</param>
<param name="revision">2383f6c469bfb31da9efa8e4dd626de049e808c6</param>
<param name="revision">ce5d77c6038a0a0294d4cae238169c458ba03b72</param>
</service>
<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
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);

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
- 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

View File

@ -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