- 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
- 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
- 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
- crmd: Enable cluster-wide throttling when the cib heavily exceeds its target load
- Upstream version cs: 5a69be5ff56ec7fa66bcf9c2069af6211e4ebc98

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=83
This commit is contained in:
Yan Gao 2013-11-19 16:46:16 +00:00 committed by Git OBS Bridge
parent a14befa635
commit 5c951f9dac
6 changed files with 72 additions and 36 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">5a69be5ff56ec7fa66bcf9c2069af6211e4ebc98</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:16782a91185e6492012e8b6d7209ab407c36bd9e2f1224886e63ca5cd3f64a56
size 9302673

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,3 +1,30 @@
-------------------------------------------------------------------
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
- 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
- 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
- crmd: Enable cluster-wide throttling when the cib heavily exceeds its target load
- Upstream version cs: 5a69be5ff56ec7fa66bcf9c2069af6211e4ebc98
-------------------------------------------------------------------
Thu Nov 14 07:19:28 UTC 2013 - ygao@suse.com

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+git20131118.5a69be5
Release: 0
#Release: %{pcmk_release}%{?dist}
Url: http://www.clusterlabs.org