Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
996a531550 |
15 changed files with 1243 additions and 1 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
/wallaby-0.12.4.tar.gz
|
||||
/wallaby-0.15.1.tar.gz
|
||||
74
0001-Fixes-to-skeleton-group-support.patch
Normal file
74
0001-Fixes-to-skeleton-group-support.patch
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
From 2c584644a5fc8e0dd0b1bc0e3919c27a112fd9ff Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Thu, 21 Jun 2012 16:18:07 -0500
|
||||
Subject: [PATCH 01/11] Fixes to skeleton group support.
|
||||
|
||||
In older versions of Wallaby, the default group configuration
|
||||
could take precedence over the skeleton group configuration
|
||||
for walk-in nodes. This commit fixes that behavior and adds
|
||||
regression tests to identify it in the future.
|
||||
---
|
||||
lib/mrg/grid/config/Configuration.rb | 4 ++--
|
||||
spec/skeleton_group_spec.rb | 17 ++++++++++++++++-
|
||||
2 files changed, 18 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/lib/mrg/grid/config/Configuration.rb b/lib/mrg/grid/config/Configuration.rb
|
||||
index 4adc725..36629e7 100644
|
||||
--- a/lib/mrg/grid/config/Configuration.rb
|
||||
+++ b/lib/mrg/grid/config/Configuration.rb
|
||||
@@ -425,7 +425,7 @@ module Mrg
|
||||
|
||||
return 0 if version == 0
|
||||
|
||||
- groups = Store::ENABLE_SKELETON_GROUP ? [skel, default] : [default]
|
||||
+ groups = Store::ENABLE_SKELETON_GROUP ? [default, skel] : [default]
|
||||
toc, = VersionedNodeConfig.find_freshest(:select_by=>{:node=>VersionedNode[to]}, :group_by=>[:node], :version=>ver)
|
||||
|
||||
unless toc
|
||||
@@ -448,7 +448,7 @@ module Mrg
|
||||
|
||||
def internal_set_node_config(node, config)
|
||||
node_obj = VersionedNode[node]
|
||||
- vnc = VersionedNodeConfig.create(:version=>self, :node=>node_obj, :config=>config)
|
||||
+ vnc = VersionedNodeConfig.create(:version=>self, :node=>node_obj, :config=>config)
|
||||
# vnc.send(:update, :created, self.version)
|
||||
end
|
||||
end
|
||||
diff --git a/spec/skeleton_group_spec.rb b/spec/skeleton_group_spec.rb
|
||||
index b423bcd..838b9a5 100644
|
||||
--- a/spec/skeleton_group_spec.rb
|
||||
+++ b/spec/skeleton_group_spec.rb
|
||||
@@ -27,7 +27,7 @@ module Mrg
|
||||
end
|
||||
|
||||
["when another node exists at activation", "when no other nodes exist at activation"].each do |dowhen|
|
||||
- it "should give new #{kind} nodes the last-activated configuration for the skeleton group #{dowhen}" do
|
||||
+ it "should give new #{kind} nodes the last-activated configuration for the skeleton group #{dowhen} and there is no default group" do
|
||||
@store.addParam("FOO")
|
||||
n_expected = @store.addNode("blah") if dowhen == "when another node exists at activation"
|
||||
g = @store.getGroupByName(Group::SKELETON_GROUP_NAME)
|
||||
@@ -38,6 +38,21 @@ module Mrg
|
||||
n = @store.send(msg, "fake")
|
||||
n.getConfig("version"=>::Rhubarb::Util::timestamp)["FOO"].should == "BAR"
|
||||
end
|
||||
+
|
||||
+ it "should give new #{kind} nodes the last-activated configuration for the skeleton group #{dowhen} and there is a default group" do
|
||||
+ @store.addParam("FOO")
|
||||
+ @store.getDefaultGroup.modifyParams("REPLACE", {"FOO"=>"ARGH"}, {})
|
||||
+ @store.activateConfiguration
|
||||
+ n_expected = @store.addNode("blah") if dowhen == "when another node exists at activation"
|
||||
+ g = @store.getGroupByName(Group::SKELETON_GROUP_NAME)
|
||||
+ g.modifyParams("REPLACE", {"FOO"=>"BAR"})
|
||||
+ @store.activateConfiguration
|
||||
+ g.modifyParams("REPLACE", {"FOO"=>"BLAH"})
|
||||
+
|
||||
+ n = @store.send(msg, "fake")
|
||||
+
|
||||
+ n.getConfig("version"=>::Rhubarb::Util::timestamp)["FOO"].should == "BAR"
|
||||
+ end
|
||||
end
|
||||
end
|
||||
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
26
0002-updated-spec-for-0.15.1-2.patch
Normal file
26
0002-updated-spec-for-0.15.1-2.patch
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
From a263c2f088be209adfca853d856667aa7c637ab7 Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Thu, 21 Jun 2012 16:20:08 -0500
|
||||
Subject: [PATCH 02/11] updated spec for 0.15.1-2
|
||||
|
||||
---
|
||||
wallaby.spec.in | 3 +++
|
||||
1 files changed, 3 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/wallaby.spec.in b/wallaby.spec.in
|
||||
index 8358ead..5683094 100644
|
||||
--- a/wallaby.spec.in
|
||||
+++ b/wallaby.spec.in
|
||||
@@ -292,6 +292,9 @@ fi
|
||||
|
||||
%changelog
|
||||
|
||||
+* Thu Jun 21 2012 willb <willb@redhat> - 0.15.1-2
|
||||
+- fixes to skeleton group support for walk-in nodes
|
||||
+
|
||||
* Wed Jun 20 2012 willb <willb@redhat> - 0.15.1-1
|
||||
- fixes bz 834141
|
||||
- packaging improvements
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
42
0003-More-resilient-activation-on-F17.patch
Normal file
42
0003-More-resilient-activation-on-F17.patch
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
From 4eb89e810d9b174c1d995f070cbf947fac04bdce Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Thu, 21 Jun 2012 22:51:23 -0500
|
||||
Subject: [PATCH 03/11] More resilient activation on F17.
|
||||
|
||||
This is both a workaround for a problem with QMF on F17 (viz.,
|
||||
we can't send events) and a general improvement to configuration
|
||||
activation. Specifically, configuration events are a performance
|
||||
optimization but are not required for correctness. Before this
|
||||
commit, failure to send a configuration event would result in failure
|
||||
of the Store#activateConfiguration API method. (It would also leave
|
||||
node metadata in an inconsistent state.) Now, failure to send a
|
||||
configuration event merely results in a warning.
|
||||
---
|
||||
lib/mrg/grid/config/Store.rb | 8 ++++++--
|
||||
1 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/mrg/grid/config/Store.rb b/lib/mrg/grid/config/Store.rb
|
||||
index 279c44a..efe0296 100644
|
||||
--- a/lib/mrg/grid/config/Store.rb
|
||||
+++ b/lib/mrg/grid/config/Store.rb
|
||||
@@ -718,11 +718,15 @@ module Mrg
|
||||
unless explicit_nodelist
|
||||
validate_and_activate(false, [Group.DEFAULT_GROUP], this_version) unless ConfigVersion.hasVersionedNodeConfig(Group::DEFAULT_GROUP_NAME, this_version)
|
||||
end
|
||||
- DirtyElement.delete_all
|
||||
|
||||
log.debug "in validate_and_activate; just deleted dirty elements; count is #{DirtyElement.count}"
|
||||
+ DirtyElement.delete_all
|
||||
|
||||
- config_events_to(dirty_nodes, this_version, all_nodes) unless explicit_nodelist
|
||||
+ begin
|
||||
+ config_events_to(dirty_nodes, this_version, all_nodes) unless explicit_nodelist
|
||||
+ rescue Exception=>ex
|
||||
+ warnings << "Couldn't send configuration events: #{ex.inspect}"
|
||||
+ end
|
||||
|
||||
dirty_nodes.each {|dn| dn.last_updated_version = this_version if dn.respond_to? :last_updated_version }
|
||||
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
32
0004-Spurious-configuration-removal-off-by-default.patch
Normal file
32
0004-Spurious-configuration-removal-off-by-default.patch
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
From 82e6ef71c2fad1d448a34e9458f5d79c6b6e69c8 Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Thu, 21 Jun 2012 22:55:16 -0500
|
||||
Subject: [PATCH 04/11] Spurious configuration removal off by default.
|
||||
|
||||
The Wallaby agent no longer removes possibly-spurious versioned
|
||||
configurations on startup. (This is a cleanup measure from a bug
|
||||
in a very old version of Wallaby; it is unlikely necessary any more.)
|
||||
To enable this behavior, set WALLABY_REMOVE_SPURIOUS_CONFIGS to yes
|
||||
or true in the environment in which wallaby-agent runs.
|
||||
---
|
||||
bin/wallaby-agent | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/bin/wallaby-agent b/bin/wallaby-agent
|
||||
index 5bef195..f596f8b 100755
|
||||
--- a/bin/wallaby-agent
|
||||
+++ b/bin/wallaby-agent
|
||||
@@ -165,7 +165,9 @@ begin
|
||||
$wallaby_log = Mrg::Grid::Config::Store.log
|
||||
|
||||
begin
|
||||
- Mrg::Grid::Config::Store.find_by_id(0).storeinit("remove-spurious"=>"yes")
|
||||
+ options = {}
|
||||
+ options["remove-spurious"] = "yes" if (ENV["WALLABY_REMOVE_SPURIOUS_CONFIGS"] && ENV["WALLABY_REMOVE_SPURIOUS_CONFIGS"] =~ /^(true|yes)/i)
|
||||
+ Mrg::Grid::Config::Store.find_by_id(0).storeinit(options)
|
||||
[:default, :snapshot].each do |which|
|
||||
Rhubarb::Persistence::dbs[which].execute("vacuum")
|
||||
end
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
25
0005-updated-spec-again-in-advance-of-0.15.1-2-build.patch
Normal file
25
0005-updated-spec-again-in-advance-of-0.15.1-2-build.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
From 109a79b246858b79344c04ee80950b4d6004d0a4 Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Thu, 21 Jun 2012 23:05:01 -0500
|
||||
Subject: [PATCH 05/11] updated spec again in advance of 0.15.1-2 build
|
||||
|
||||
---
|
||||
wallaby.spec.in | 2 ++
|
||||
1 files changed, 2 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/wallaby.spec.in b/wallaby.spec.in
|
||||
index 5683094..61cefc8 100644
|
||||
--- a/wallaby.spec.in
|
||||
+++ b/wallaby.spec.in
|
||||
@@ -294,6 +294,8 @@ fi
|
||||
|
||||
* Thu Jun 21 2012 willb <willb@redhat> - 0.15.1-2
|
||||
- fixes to skeleton group support for walk-in nodes
|
||||
+- more resilient Store#activateConfiguration in the face of event failure/workaround for QMF event problems on F17
|
||||
+- wallaby-agent no longer deletes potentially-spurious configurations by default
|
||||
|
||||
* Wed Jun 20 2012 willb <willb@redhat> - 0.15.1-1
|
||||
- fixes bz 834141
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
66
0006-Added-test-case-duplicating-Matt-s-failure-case.patch
Normal file
66
0006-Added-test-case-duplicating-Matt-s-failure-case.patch
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
From 6b275fe08d44cd86131cfe0bcdc2c91b607c8b03 Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Fri, 22 Jun 2012 19:00:58 -0500
|
||||
Subject: [PATCH 06/11] Added test case duplicating Matt's failure case.
|
||||
|
||||
---
|
||||
spec/skeleton_group_spec.rb | 43 ++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 files changed, 42 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/spec/skeleton_group_spec.rb b/spec/skeleton_group_spec.rb
|
||||
index 838b9a5..839eda6 100644
|
||||
--- a/spec/skeleton_group_spec.rb
|
||||
+++ b/spec/skeleton_group_spec.rb
|
||||
@@ -63,7 +63,48 @@ module Mrg
|
||||
n.memberships.should_not include(Group::SKELETON_GROUP_NAME)
|
||||
end
|
||||
|
||||
-
|
||||
+ it "should not exhibit Matt's failure case with walkin nodes not getting the skeleton group config" do
|
||||
+ default = @store.getDefaultGroup
|
||||
+ skel = @store.getSkeletonGroup
|
||||
+
|
||||
+ # wallaby add-features-to-group +++DEFAULT Master NodeAccess SharedPort
|
||||
+ default.modifyFeatures("ADD", %w{Master NodeAccess SharedPort}, {})
|
||||
+
|
||||
+ # wallaby add-params-to-group +++DEFAULT 'SHARED_PORT_ARGS=-p 9620' 'CONDOR_HOST=$(QMF_BROKER_HOST)' 'ALLOW_WRITE=*' 'ALLOW_READ=*' 'ALLOW_NEGOTIATOR=$(ALLOW_WRITE)' 'ALLOW_NEGOTIATOR_SCHEDD=$(ALLOW_WRITE)' UID_DOMAIN=central-manager
|
||||
+ default.modifyParams("ADD", {'SHARED_PORT_ARGS'=>'-p 9620', 'CONDOR_HOST'=>'$(QMF_BROKER_HOST)', 'ALLOW_WRITE'=>'*', 'ALLOW_READ'=>'*', 'ALLOW_NEGOTIATOR'=>'$(ALLOW_WRITE)', 'ALLOW_NEGOTIATOR_SCHEDD'=>'$(ALLOW_WRITE)', 'UID_DOMAIN'=>'central-manager'}, {})
|
||||
+
|
||||
+ # wallaby add-features-to-group +++SKEL ExecuteNode
|
||||
+ skel.modifyFeatures("ADD", %w{ExecuteNode}, {})
|
||||
+
|
||||
+ # wallaby add-params-to-group +++SKEL START=TRUE SUSPEND=FALSE
|
||||
+ skel.modifyParams("ADD", {'START'=>'TRUE', 'SUSPEND'=>'FALSE'}, {})
|
||||
+
|
||||
+ # wallaby add-node central-manager
|
||||
+ cm = @store.addNode('central-manager')
|
||||
+
|
||||
+ # wallaby add-param COLLECTOR_UPDATE_INTERVAL (needs to go to base DB)
|
||||
+ @store.addParam('COLLECTOR_UPDATE_INTERVAL')
|
||||
+
|
||||
+ # wallaby remove-nodes-from-group +++SKEL central-manager
|
||||
+ cm.modifyMemberships("REPLACE", cm.memberships - %w{+++SKEL}, {})
|
||||
+
|
||||
+ # wallaby add-features-to-node central-manager CentralManager Scheduler (maybe: JobServer)
|
||||
+ cm.identity_group.modifyFeatures("ADD", %w{CentralManager Scheduler JobServer}, {})
|
||||
+
|
||||
+ # wallaby add-params-to-node central-manager COLLECTOR_UPDATE_INTERVAL=15
|
||||
+ cm.identity_group.modifyParams("ADD", {"COLLECTOR_UPDATE_INTERVAL"=>15})
|
||||
+
|
||||
+ # wallaby activate
|
||||
+ @store.activateConfiguration.should == [{}, []]
|
||||
+
|
||||
+ # newly checked-in nodes should get skeleton group configuration
|
||||
+ wi = @store.getNode("walk-in")
|
||||
+ wi_config = wi.getConfig("version"=>::Rhubarb::Util::timestamp)
|
||||
+ daemons = wi_config["DAEMON_LIST"].split(",").map {|s| s.strip}
|
||||
+ daemons.should include("STARTD")
|
||||
+ wi_config["START"].should == "TRUE"
|
||||
+ wi_config["SUSPEND"].should == "FALSE"
|
||||
+ end
|
||||
|
||||
it "should publish the skeleton group over the API" do
|
||||
@store.getSkeletonGroup.name.should == Group::SKELETON_GROUP_NAME
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
74
0007-Added-more-assertions-to-prior-test-case.patch
Normal file
74
0007-Added-more-assertions-to-prior-test-case.patch
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
From 031f6d977a1b73e40bb6b583de0fa13705b40e7f Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Fri, 22 Jun 2012 20:34:22 -0500
|
||||
Subject: [PATCH 07/11] Added more assertions to prior test case.
|
||||
|
||||
---
|
||||
spec/skeleton_group_spec.rb | 37 +++++++++++++++++++++++++++++--------
|
||||
1 files changed, 29 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/spec/skeleton_group_spec.rb b/spec/skeleton_group_spec.rb
|
||||
index 839eda6..d6816fc 100644
|
||||
--- a/spec/skeleton_group_spec.rb
|
||||
+++ b/spec/skeleton_group_spec.rb
|
||||
@@ -66,6 +66,13 @@ module Mrg
|
||||
it "should not exhibit Matt's failure case with walkin nodes not getting the skeleton group config" do
|
||||
default = @store.getDefaultGroup
|
||||
skel = @store.getSkeletonGroup
|
||||
+
|
||||
+ # nodes checked in before the activate should get the updated skeleton group
|
||||
+ # configuration after activate
|
||||
+ old_wi = @store.getNode("old-walk-in")
|
||||
+
|
||||
+ # wallaby load /var/lib/condor-wallaby-base-db/condor-base-db.snapshot
|
||||
+ # (handled by the "before" clause above)
|
||||
|
||||
# wallaby add-features-to-group +++DEFAULT Master NodeAccess SharedPort
|
||||
default.modifyFeatures("ADD", %w{Master NodeAccess SharedPort}, {})
|
||||
@@ -89,21 +96,35 @@ module Mrg
|
||||
cm.modifyMemberships("REPLACE", cm.memberships - %w{+++SKEL}, {})
|
||||
|
||||
# wallaby add-features-to-node central-manager CentralManager Scheduler (maybe: JobServer)
|
||||
- cm.identity_group.modifyFeatures("ADD", %w{CentralManager Scheduler JobServer}, {})
|
||||
+ cm.identity_group.modifyFeatures("ADD", %w{CentralManager Scheduler}, {})
|
||||
|
||||
# wallaby add-params-to-node central-manager COLLECTOR_UPDATE_INTERVAL=15
|
||||
cm.identity_group.modifyParams("ADD", {"COLLECTOR_UPDATE_INTERVAL"=>15})
|
||||
-
|
||||
+
|
||||
# wallaby activate
|
||||
@store.activateConfiguration.should == [{}, []]
|
||||
|
||||
- # newly checked-in nodes should get skeleton group configuration
|
||||
+ # newly checked-in nodes should get the most recently activated skeleton group configuration
|
||||
wi = @store.getNode("walk-in")
|
||||
- wi_config = wi.getConfig("version"=>::Rhubarb::Util::timestamp)
|
||||
- daemons = wi_config["DAEMON_LIST"].split(",").map {|s| s.strip}
|
||||
- daemons.should include("STARTD")
|
||||
- wi_config["START"].should == "TRUE"
|
||||
- wi_config["SUSPEND"].should == "FALSE"
|
||||
+
|
||||
+ # check nodes created before and after activation
|
||||
+ [old_wi, wi].each do |wi_node|
|
||||
+
|
||||
+ # check activated and current configs for each
|
||||
+ [wi_node.getConfig("version"=>::Rhubarb::Util::timestamp), wi_node.getConfig].each do |wi_config|
|
||||
+
|
||||
+ daemons = wi_config["DAEMON_LIST"].split(",").map {|s| s.strip}
|
||||
+
|
||||
+ # checks for ExecuteNode
|
||||
+ daemons.should include("STARTD")
|
||||
+
|
||||
+ # checks for +++SKEL param settings
|
||||
+ wi_config["START"].should == "TRUE"
|
||||
+ wi_config["SUSPEND"].should == "FALSE"
|
||||
+ end
|
||||
+
|
||||
+ wi_node.memberships.should include("+++SKEL")
|
||||
+ end
|
||||
end
|
||||
|
||||
it "should publish the skeleton group over the API" do
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
From f3d8b317a29e0c76690e75aca9e5fadaf5ce0766 Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Mon, 25 Jun 2012 17:43:00 -0500
|
||||
Subject: [PATCH 08/11] Workaround for artifacts of type-sniffing errors in
|
||||
serialized objects.
|
||||
|
||||
---
|
||||
lib/mrg/grid/config/ConfigValidating.rb | 5 ++++-
|
||||
lib/mrg/grid/config/Configuration.rb | 3 ++-
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/mrg/grid/config/ConfigValidating.rb b/lib/mrg/grid/config/ConfigValidating.rb
|
||||
index a01e097..da7f8c4 100644
|
||||
--- a/lib/mrg/grid/config/ConfigValidating.rb
|
||||
+++ b/lib/mrg/grid/config/ConfigValidating.rb
|
||||
@@ -133,7 +133,10 @@ module Mrg
|
||||
end
|
||||
|
||||
def getConfig
|
||||
- @__my_config ||= original_object.getConfig
|
||||
+ @__my_config ||= begin
|
||||
+ cnf = original_object.getConfig
|
||||
+ cnf.inject({}) {|acc,(k,v)| acc[k]=v.to_s ; acc}
|
||||
+ end
|
||||
end
|
||||
|
||||
def config=(cfg)
|
||||
diff --git a/lib/mrg/grid/config/Configuration.rb b/lib/mrg/grid/config/Configuration.rb
|
||||
index 36629e7..fd82cf1 100644
|
||||
--- a/lib/mrg/grid/config/Configuration.rb
|
||||
+++ b/lib/mrg/grid/config/Configuration.rb
|
||||
@@ -98,7 +98,8 @@ module Mrg
|
||||
end
|
||||
|
||||
# applies the value supplied to the config, appending if necessary
|
||||
- def self.apply!(config, param, value, use_ssp=false)
|
||||
+ def self.apply!(config, param, supplied_value, use_ssp=false)
|
||||
+ value = supplied_value.to_s
|
||||
if (value && match = append_match(value))
|
||||
supplied_value = value
|
||||
value = value_string(match)
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
73
0009-Removed-unused-versioned-config-implementation.patch
Normal file
73
0009-Removed-unused-versioned-config-implementation.patch
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
From d5abc85784581603ac18239b50ee4c48ed73ea64 Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Mon, 25 Jun 2012 21:31:25 -0500
|
||||
Subject: [PATCH 09/11] Removed unused versioned-config implementation.
|
||||
|
||||
This commit removes the 'normalized' versioned-configuration
|
||||
implementation. It was never very fast, never fully tested, and
|
||||
only ever available as an experimental alternative to the
|
||||
oldstyle serialized versioned-configuration implementation.
|
||||
---
|
||||
lib/mrg/grid/config/Configuration.rb | 32 --------------------------------
|
||||
lib/mrg/grid/config/dbmeta.rb | 2 +-
|
||||
2 files changed, 1 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/lib/mrg/grid/config/Configuration.rb b/lib/mrg/grid/config/Configuration.rb
|
||||
index fd82cf1..61f1de3 100644
|
||||
--- a/lib/mrg/grid/config/Configuration.rb
|
||||
+++ b/lib/mrg/grid/config/Configuration.rb
|
||||
@@ -527,38 +527,6 @@ module Mrg
|
||||
end
|
||||
end
|
||||
|
||||
- class VersionedParam
|
||||
- include ::Rhubarb::Persisting
|
||||
-
|
||||
- declare_column :name, :text
|
||||
-
|
||||
- def self.[](nm)
|
||||
- find_first_by_name(nm) || create(:name=>nm)
|
||||
- end
|
||||
- end
|
||||
-
|
||||
- # (mostly-)normalized model of versioned config
|
||||
- class VersionedNodeParamMapping
|
||||
- include ::Rhubarb::Persisting
|
||||
-
|
||||
- declare_column :version, :integer, references(ConfigVersion, :on_delete=>:cascade)
|
||||
- declare_column :node, :integer, references(VersionedNode, :on_delete=>:cascade)
|
||||
- declare_column :param, :integer, references(VersionedParam, :on_delete=>:cascade)
|
||||
- declare_column :val, :text
|
||||
-
|
||||
- declare_index_on :node
|
||||
- declare_index_on :version
|
||||
-
|
||||
- alias :rhubarb_initialize :initialize
|
||||
-
|
||||
- def initialize(tup)
|
||||
- rhubarb_initialize(tup)
|
||||
- update(:created, self.version.version)
|
||||
- self
|
||||
- end
|
||||
-
|
||||
- end
|
||||
-
|
||||
# "serialized object" model of versioned config
|
||||
class VersionedNodeConfig
|
||||
include ::Rhubarb::Persisting
|
||||
diff --git a/lib/mrg/grid/config/dbmeta.rb b/lib/mrg/grid/config/dbmeta.rb
|
||||
index 6e5b7eb..44cba83 100644
|
||||
--- a/lib/mrg/grid/config/dbmeta.rb
|
||||
+++ b/lib/mrg/grid/config/dbmeta.rb
|
||||
@@ -18,7 +18,7 @@ module Mrg
|
||||
module Grid
|
||||
module Config
|
||||
MAIN_DB_TABLES=[Mrg::Grid::Config::Feature, Mrg::Grid::Config::Group, Mrg::Grid::Config::Parameter, Mrg::Grid::Config::Subsystem, Mrg::Grid::Config::Node, Mrg::Grid::Config::ArcLabel, Mrg::Grid::Config::ParameterArc, Mrg::Grid::Config::FeatureArc, Mrg::Grid::Config::FeatureParams, Mrg::Grid::Config::NodeMembership, Mrg::Grid::Config::GroupParams, Mrg::Grid::Config::GroupFeatures, Mrg::Grid::Config::SubsystemParams, Mrg::Grid::Config::DirtyElement]
|
||||
- SNAP_DB_TABLES=[Mrg::Grid::Config::Snapshot, Mrg::Grid::Config::ConfigVersion, Mrg::Grid::Config::VersionedNode, Mrg::Grid::Config::VersionedParam, Mrg::Grid::Config::VersionedNodeConfig, Mrg::Grid::Config::VersionedNodeParamMapping]
|
||||
+ SNAP_DB_TABLES=[Mrg::Grid::Config::Snapshot, Mrg::Grid::Config::ConfigVersion, Mrg::Grid::Config::VersionedNode, Mrg::Grid::Config::VersionedNodeConfig]
|
||||
DBVERSION = 6
|
||||
DBMIGRATIONS = []
|
||||
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
111
0010-Removed-oldstyle-versioned-configurations.patch
Normal file
111
0010-Removed-oldstyle-versioned-configurations.patch
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
From 99cc17647e3dea7b4475e53bdfbfe89afc8e7c9c Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Mon, 25 Jun 2012 21:34:19 -0500
|
||||
Subject: [PATCH 10/11] Removed oldstyle versioned configurations.
|
||||
|
||||
This commit removes the oldstyle versioned-configuration implementation.
|
||||
This implementation was vastly slower (~10x on our torture tests)
|
||||
than the new lightweight versioned-configuration implementation,
|
||||
as well as being much less space-efficient in a number of
|
||||
interesting use cases. Note that Wallaby can still read oldstyle
|
||||
versioned configurations, but will not generate them any more.
|
||||
---
|
||||
bin/wallaby-agent | 4 ++
|
||||
lib/mrg/grid/config/Configuration.rb | 54 +--------------------------------
|
||||
2 files changed, 6 insertions(+), 52 deletions(-)
|
||||
|
||||
diff --git a/bin/wallaby-agent b/bin/wallaby-agent
|
||||
index f596f8b..3b92679 100755
|
||||
--- a/bin/wallaby-agent
|
||||
+++ b/bin/wallaby-agent
|
||||
@@ -164,6 +164,10 @@ begin
|
||||
app.register Mrg::Grid::Config::Store,Mrg::Grid::Config::Node,Mrg::Grid::Config::ConfigVersion,Mrg::Grid::Config::Feature,Mrg::Grid::Config::Group,Mrg::Grid::Config::Parameter,Mrg::Grid::Config::Subsystem,Mrg::Grid::Config::Snapshot,Mrg::Grid::Config::NodeUpdatedNotice,Mrg::Grid::Config::ConfigVersion
|
||||
$wallaby_log = Mrg::Grid::Config::Store.log
|
||||
|
||||
+ if ENV['WALLABY_OLDSTYLE_VERSIONED_CONFIGS']
|
||||
+ Syslog.open {|s| s.warning "You have set WALLABY_OLDSTYLE_VERSIONED_CONFIGS in your environment, but this option is no longer supported. Old versioned configurations will continue to work, but new versioned configurations will be stored in the 'lightweight' style."}
|
||||
+ end
|
||||
+
|
||||
begin
|
||||
options = {}
|
||||
options["remove-spurious"] = "yes" if (ENV["WALLABY_REMOVE_SPURIOUS_CONFIGS"] && ENV["WALLABY_REMOVE_SPURIOUS_CONFIGS"] =~ /^(true|yes)/i)
|
||||
diff --git a/lib/mrg/grid/config/Configuration.rb b/lib/mrg/grid/config/Configuration.rb
|
||||
index 61f1de3..c152c63 100644
|
||||
--- a/lib/mrg/grid/config/Configuration.rb
|
||||
+++ b/lib/mrg/grid/config/Configuration.rb
|
||||
@@ -297,59 +297,12 @@ module Mrg
|
||||
include ::Rhubarb::Persisting
|
||||
include ::SPQR::Manageable
|
||||
|
||||
- STORAGE_PLAN = ENV['WALLABY_OLDSTYLE_VERSIONED_CONFIGS'] ? :serialized : :lw_serialized
|
||||
+ STORAGE_PLAN = :lw_serialized
|
||||
|
||||
def self.whatchanged(node, old_version, new_version)
|
||||
ConfigUtils.what_params_changed(getVersionedNodeConfig(node, old_version), getVersionedNodeConfig(node, new_version))
|
||||
end
|
||||
|
||||
- module SerializedVersionedConfigLookup
|
||||
- module ClassMethods
|
||||
- def getVersionedNodeConfig(node, ver=nil)
|
||||
- ver ||= ::Rhubarb::Util::timestamp
|
||||
- vnc = VersionedNodeConfig.find_freshest(:select_by=>{:node=>VersionedNode[node]}, :group_by=>[:node], :version=>ver)
|
||||
- vnc.size == 0 ? {"WALLABY_CONFIG_VERSION"=>"0"} : vnc[0].config
|
||||
- end
|
||||
-
|
||||
- def hasVersionedNodeConfig(node, ver=nil)
|
||||
- ver ||= ::Rhubarb::Util::timestamp
|
||||
- vnc, = VersionedNodeConfig.find_freshest(:select_by=>{:node=>VersionedNode[node]}, :group_by=>[:node], :version=>ver)
|
||||
- vnc && vnc.version.version
|
||||
- end
|
||||
-
|
||||
- # NB: this will refuse to copy over an existing versioned config
|
||||
- def dupVersionedNodeConfig(from, to, ver=nil)
|
||||
- ver ||= ::Rhubarb::Util::timestamp
|
||||
- vnc, = VersionedNodeConfig.find_freshest(:select_by=>{:node=>VersionedNode[from]}, :group_by=>[:node], :version=>ver)
|
||||
- return 0 unless vnc
|
||||
- toc, = VersionedNodeConfig.find_freshest(:select_by=>{:node=>VersionedNode[to]}, :group_by=>[:node], :version=>ver)
|
||||
- toc = VersionedNodeConfig.create(:version=>vnc.version, :node=>VersionedNode[to], :config=>vnc.config.dup) unless toc
|
||||
- toc.version.version
|
||||
- end
|
||||
- end
|
||||
-
|
||||
- module InstanceMethods
|
||||
- def internal_get_node_config(node)
|
||||
- node_obj = VersionedNode[node]
|
||||
- cnfo = VersionedNodeConfig.find_by(:version=>self, :node=>node_obj)
|
||||
- result = (cnfo && cnfo.size == 1 && cnfo[0].config) || {}
|
||||
- fixed_result = ConfigUtils.fix_config_values(result)
|
||||
- fixed_result
|
||||
- end
|
||||
-
|
||||
- def internal_set_node_config(node, config)
|
||||
- node_obj = VersionedNode[node]
|
||||
- vnc = VersionedNodeConfig.create(:version=>self, :node=>node_obj, :config=>config)
|
||||
- # vnc.send(:update, :created, self.version)
|
||||
- end
|
||||
- end
|
||||
-
|
||||
- def self.included(receiver)
|
||||
- receiver.extend ClassMethods
|
||||
- receiver.send :include, InstanceMethods
|
||||
- end
|
||||
- end
|
||||
-
|
||||
module LWSerializedVersionedConfigLookup
|
||||
module ClassMethods
|
||||
def getVersionedNodeConfig(node, ver=nil)
|
||||
@@ -493,10 +446,7 @@ module Mrg
|
||||
|
||||
private
|
||||
|
||||
- case STORAGE_PLAN
|
||||
- when :serialized then include SerializedVersionedConfigLookup
|
||||
- when :lw_serialized then include LWSerializedVersionedConfigLookup
|
||||
- end
|
||||
+ include LWSerializedVersionedConfigLookup
|
||||
end
|
||||
|
||||
class VersionedNode
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
26
0011-spec-file-for-v0.15.1-3.patch
Normal file
26
0011-spec-file-for-v0.15.1-3.patch
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
From 989533bc4e1bb4167dc1d663da57a73b6ae151b3 Mon Sep 17 00:00:00 2001
|
||||
From: Will Benton <willb@redhat.com>
|
||||
Date: Tue, 26 Jun 2012 23:08:25 -0500
|
||||
Subject: [PATCH 11/11] spec file for v0.15.1-3
|
||||
|
||||
---
|
||||
wallaby.spec.in | 3 +++
|
||||
1 files changed, 3 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/wallaby.spec.in b/wallaby.spec.in
|
||||
index 61cefc8..9d4f4b4 100644
|
||||
--- a/wallaby.spec.in
|
||||
+++ b/wallaby.spec.in
|
||||
@@ -292,6 +292,9 @@ fi
|
||||
|
||||
%changelog
|
||||
|
||||
+* Tue Jun 26 2012 willb <willb@redhat> - 0.15.1-3
|
||||
+- fixes for some stealthier serialized-configuration type-sniffing bugs and attendant nasty crashes (BZ 835713)
|
||||
+
|
||||
* Thu Jun 21 2012 willb <willb@redhat> - 0.15.1-2
|
||||
- fixes to skeleton group support for walk-in nodes
|
||||
- more resilient Store#activateConfiguration in the face of event failure/workaround for QMF event problems on F17
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
This package depends on no-longer-supported Qpid features
|
||||
1
sources
Normal file
1
sources
Normal file
|
|
@ -0,0 +1 @@
|
|||
db77431fccc3ddc201c5186f6fd1487e wallaby-0.15.1.tar.gz
|
||||
647
wallaby.spec
Normal file
647
wallaby.spec
Normal file
|
|
@ -0,0 +1,647 @@
|
|||
%if 0%{?fedora} >= 15
|
||||
%global want_systemd 1
|
||||
%global wallaby_agent_environment sysconfig/wallaby-agent-env
|
||||
%else
|
||||
%global want_systemd 0
|
||||
%global wallaby_agent_environment sysconfig/wallaby-agent
|
||||
%endif
|
||||
|
||||
%if (0%{?fedora} == 0 && 0%{?rhel} <= 5)
|
||||
%global building_for_el5 1
|
||||
%else
|
||||
%global building_for_el5 0
|
||||
%endif
|
||||
|
||||
%if (0%{?fedora} >= 17 && 0%{?rhel} >= 6)
|
||||
%global
|
||||
%global wallaby_uid -u 181
|
||||
%endif
|
||||
|
||||
%if (0%{?fedora} != 0)
|
||||
%global has_sinatra 1
|
||||
%else
|
||||
%global has_sinatra 0
|
||||
%endif
|
||||
|
||||
%if (0%{?fedora} >= 17)
|
||||
%global ruby_abi 1.9.1
|
||||
%global ruby_appropriate_install_dir %{ruby_vendorlibdir}
|
||||
%global requires_ruby_devel 1
|
||||
%else
|
||||
%global requires_ruby_devel 0
|
||||
%global ruby_abi 1.8
|
||||
%{!?ruby_sitelib: %global ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"] ')}
|
||||
%global ruby_appropriate_install_dir %{ruby_sitelib}
|
||||
%endif
|
||||
|
||||
%if %{building_for_el5} == 1
|
||||
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
||||
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
|
||||
%endif
|
||||
|
||||
|
||||
|
||||
Summary: Condor pool configuration service with QMF interface
|
||||
Name: wallaby
|
||||
Version: 0.15.1
|
||||
Release: 3%{?dist}
|
||||
Group: Applications/System
|
||||
License: ASL 2.0
|
||||
URL: http://git.fedorahosted.org/git/grid/wallaby.git
|
||||
Source0: https://fedorahosted.org/releases/g/r/grid/%{name}-%{version}.tar.gz
|
||||
Patch0: 0001-Fixes-to-skeleton-group-support.patch
|
||||
Patch1: 0002-updated-spec-for-0.15.1-2.patch
|
||||
Patch2: 0003-More-resilient-activation-on-F17.patch
|
||||
Patch3: 0004-Spurious-configuration-removal-off-by-default.patch
|
||||
Patch4: 0005-updated-spec-again-in-advance-of-0.15.1-2-build.patch
|
||||
Patch5: 0006-Added-test-case-duplicating-Matt-s-failure-case.patch
|
||||
Patch6: 0007-Added-more-assertions-to-prior-test-case.patch
|
||||
Patch7: 0008-Workaround-for-artifacts-of-type-sniffing-errors-in-.patch
|
||||
Patch8: 0009-Removed-unused-versioned-config-implementation.patch
|
||||
Patch9: 0010-Removed-oldstyle-versioned-configurations.patch
|
||||
Patch10: 0011-spec-file-for-v0.15.1-3.patch
|
||||
%if %{building_for_el5}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
%endif
|
||||
BuildRequires: python2-devel
|
||||
Requires: ruby(abi) = %{?ruby_abi}
|
||||
BuildRequires: ruby
|
||||
Requires: ruby-qmf >= 0.7.929717
|
||||
Requires: ruby-spqr >= 0.3.6
|
||||
Requires: ruby-rhubarb >= 0.4.3
|
||||
Requires: ruby-wallaby = %{version}-%{release}
|
||||
Requires: logrotate >= 0.3
|
||||
%if %{want_systemd}
|
||||
Requires(post): systemd-units
|
||||
Requires(preun): systemd-units
|
||||
Requires(postun): systemd-units
|
||||
BuildRequires: systemd-units
|
||||
%else
|
||||
Requires(post): chkconfig
|
||||
Requires(preun): chkconfig
|
||||
Requires(preun): initscripts
|
||||
Requires(postun): initscripts
|
||||
%endif
|
||||
BuildArch: noarch
|
||||
|
||||
%description
|
||||
Wallaby is a configuration service for Condor pools. It provides a
|
||||
semantic model of Condor configuration, enabling administrators to
|
||||
apply high-level features to groups of nodes rather than set the
|
||||
values of low-level parameters in configuration files. Wallaby also
|
||||
validates configurations before deploying them, pushes out
|
||||
configurations to affected nodes, keeps an inventory of running nodes,
|
||||
and manages multiple versions of configurations.
|
||||
|
||||
%package utils
|
||||
Summary: Utilities to interact with the Wallaby service
|
||||
Group: Applications/System
|
||||
Requires: ruby(abi) = %{?ruby_abi}
|
||||
Requires: ruby-qmf >= 0.7.929717
|
||||
Requires: ruby-wallaby = %{version}
|
||||
|
||||
%description utils
|
||||
This package contains command-line utilities for updating Wallaby pool
|
||||
and node configurations and interacting with the Wallaby service.
|
||||
|
||||
%package -n ruby-wallaby
|
||||
Summary: Wallaby implementation libraries, API, and client library
|
||||
Group: Applications/System
|
||||
Requires: ruby(abi) = %{?ruby_abi}
|
||||
Requires: ruby-irb
|
||||
Requires: ruby-qmf >= 0.7.929717
|
||||
Requires: ruby-spqr >= 0.3.5
|
||||
Requires: ruby-rhubarb >= 0.2.6
|
||||
%if %{requires_ruby_devel}
|
||||
BuildRequires: ruby-devel
|
||||
%endif
|
||||
Provides: ruby(mrg/grid/config) = %{version}
|
||||
|
||||
%package -n python-wallaby
|
||||
Summary: Python client library for Wallaby
|
||||
Group: Applications/System
|
||||
Requires: python-qpid-qmf
|
||||
Provides: wallaby-python = %{version}
|
||||
Obsoletes: wallaby-python <= 0.10.9
|
||||
|
||||
%description -n python-wallaby
|
||||
This package provides a Python client library for writing programs
|
||||
that interact with the Wallaby configuration service over QMF.
|
||||
|
||||
%if %{has_sinatra}
|
||||
%package -n wallaby-http-server
|
||||
Summary: Wallaby web service interface
|
||||
Group: Applications/System
|
||||
Requires: ruby(abi) = %{?ruby_abi}
|
||||
Requires: ruby-irb
|
||||
Requires: ruby-qmf >= 0.7.929717
|
||||
Requires: ruby-wallaby = %{version}-%{release}
|
||||
Requires: wallaby-utils = %{version}-%{release}
|
||||
Requires: rubygem-sinatra
|
||||
|
||||
%description -n wallaby-http-server
|
||||
The Wallaby HTTP server is a read-only web service gateway to Wallaby
|
||||
configuration information.
|
||||
%endif
|
||||
|
||||
%description -n ruby-wallaby
|
||||
This package provides the libraries that the Wallaby service and tools
|
||||
are built on. It also provides a client library to write Ruby
|
||||
programs that interact with the Wallaby service, and the Wallaby shell
|
||||
API, which facilitates writing new command-line tools that extend
|
||||
Wallaby.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%build
|
||||
|
||||
sed 's/^export //' < etc/sysconfig/wallaby-agent > etc/sysconfig/wallaby-agent-env
|
||||
|
||||
%install
|
||||
%if %{building_for_el5}
|
||||
rm -rf %{buildroot}
|
||||
%endif
|
||||
mkdir -p %{buildroot}/%{_unitdir}
|
||||
mkdir -p %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid/config/dbmigrate
|
||||
mkdir -p %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid/config/shell
|
||||
mkdir -p %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid/util
|
||||
mkdir -p %{buildroot}/%{_bindir}
|
||||
mkdir -p %{buildroot}/%{_localstatedir}/lib/wallaby
|
||||
mkdir -p %{buildroot}/%{_localstatedir}/lib/wallaby/patches
|
||||
mkdir -p %{buildroot}/%{_initrddir}
|
||||
mkdir -p %{buildroot}/%{_sysconfdir}
|
||||
mkdir -p %{buildroot}/%{_sysconfdir}/sysconfig
|
||||
mkdir -p %{buildroot}/%{_sysconfdir}/logrotate.d
|
||||
mkdir -p %{buildroot}/%{_localstatedir}/log/wallaby
|
||||
mkdir -p %{buildroot}/%{python_sitelib}/wallaby
|
||||
cp -p -f bin/wallaby %{buildroot}/%{_bindir}
|
||||
cp -p -f bin/wallaby-agent %{buildroot}/%{_bindir}
|
||||
cp -p -f lib/mrg/grid/*.rb %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid
|
||||
cp -p -f lib/mrg/grid/util/*.rb %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid/util
|
||||
cp -p -f lib/mrg/grid/config/*.rb %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid/config
|
||||
cp -p -f lib/mrg/grid/config/shell/*.rb %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid/config/shell
|
||||
# These aren't packaged
|
||||
rm -f %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid/config/shell/cmd_force_pull.rb
|
||||
rm -f %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid/config/shell/cmd_force_restart.rb
|
||||
# We only want the http server if we have sinatra available
|
||||
%if %{has_sinatra} == 0
|
||||
rm -f %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid/config/shell/cmd_http_server.rb
|
||||
%endif
|
||||
cp -p -f lib/mrg/grid/config/dbmigrate/*.rb %{buildroot}/%{ruby_appropriate_install_dir}/mrg/grid/config/dbmigrate
|
||||
|
||||
%if %{want_systemd} == 0
|
||||
cp -p -f etc/wallaby %{buildroot}/%{_initrddir}/wallaby
|
||||
%else
|
||||
cp -p -f etc/wallaby.service %{buildroot}/%{_unitdir}
|
||||
%endif
|
||||
cp -p -f etc/logrotate.d/wallaby %{buildroot}/%{_sysconfdir}/logrotate.d/wallaby
|
||||
cp -p -f etc/%{wallaby_agent_environment} %{buildroot}/%{_sysconfdir}/%{wallaby_agent_environment}
|
||||
cp -p -f schema/wallaby.py %{buildroot}/%{python_sitelib}/wallaby/__init__.py
|
||||
cp -p -f extensions/wallaby/*.py %{buildroot}/%{python_sitelib}/wallaby
|
||||
|
||||
%if %{building_for_el5}
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
%endif
|
||||
|
||||
%files
|
||||
%if %{building_for_el5}
|
||||
%defattr(-, root, root, -)
|
||||
%endif
|
||||
%config(noreplace) %{_sysconfdir}/%{wallaby_agent_environment}
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/wallaby
|
||||
%doc LICENSE README.rdoc TODO
|
||||
%defattr(0755,wallaby,wallaby,-)
|
||||
%dir %{_localstatedir}/lib/wallaby
|
||||
%dir %{_localstatedir}/log/wallaby
|
||||
%defattr(0755,root,root,-)
|
||||
%{_bindir}/wallaby-agent
|
||||
%if %{want_systemd}
|
||||
%defattr(-,root,root,-)
|
||||
%{_unitdir}/wallaby.service
|
||||
%else
|
||||
%{_initrddir}/wallaby
|
||||
%endif
|
||||
|
||||
%pre -n ruby-wallaby
|
||||
getent group wallaby >/dev/null || groupadd -r wallaby
|
||||
getent group condor >/dev/null || groupadd -r condor
|
||||
getent passwd wallaby >/dev/null || \
|
||||
useradd -r %{?wallaby_uid} -g condor -d %{_localstatedir}/lib/wallaby -s /sbin/nologin \
|
||||
-c "Owner of Wallaby service" wallaby
|
||||
exit 0
|
||||
|
||||
%if %{want_systemd}
|
||||
%post
|
||||
if [ $1 -eq 1 ] ; then
|
||||
# Initial installation
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%preun
|
||||
if [ $1 -eq 0 ] ; then
|
||||
# Package removal, not upgrade
|
||||
/bin/systemctl --no-reload disable wallaby.service > /dev/null 2>&1 || :
|
||||
/bin/systemctl stop wallaby.service > /dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%postun
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
if [ $1 -ge 1 ] ; then
|
||||
# Package upgrade, not uninstall
|
||||
/bin/systemctl try-restart wallaby.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%else
|
||||
%post
|
||||
# This adds the proper /etc/rc*.d links for the script
|
||||
/sbin/chkconfig --add wallaby
|
||||
|
||||
%preun
|
||||
if [ $1 = 0 ] ; then
|
||||
/sbin/service wallaby stop >/dev/null 2>&1
|
||||
/sbin/chkconfig --del wallaby
|
||||
fi
|
||||
|
||||
%postun
|
||||
if [ "$1" -ge "1" ] ; then
|
||||
/sbin/service wallaby condrestart >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif # want_systemd
|
||||
|
||||
%files utils
|
||||
|
||||
%if %{building_for_el5}
|
||||
%defattr(-, root, root, -)
|
||||
%endif
|
||||
|
||||
%doc LICENSE
|
||||
%defattr(0755,root,root,-)
|
||||
%{_bindir}/wallaby
|
||||
%dir %{_localstatedir}/lib/wallaby/patches
|
||||
|
||||
%files -n python-wallaby
|
||||
|
||||
%if %{building_for_el5}
|
||||
%defattr(-, root, root, -)
|
||||
%endif
|
||||
%{python_sitelib}/wallaby/
|
||||
|
||||
%files -n ruby-wallaby
|
||||
%if %{building_for_el5}
|
||||
%defattr(-, root, root, -)
|
||||
%endif
|
||||
%{ruby_appropriate_install_dir}/mrg/grid/
|
||||
%if %{has_sinatra}
|
||||
%exclude %{ruby_appropriate_install_dir}/mrg/grid/config/shell/cmd_http_server.rb
|
||||
|
||||
%files -n wallaby-http-server
|
||||
%{ruby_appropriate_install_dir}/mrg/grid/config/shell/cmd_http_server.rb
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
||||
* Tue Jun 26 2012 willb <willb@redhat> - 0.15.1-3
|
||||
- fixes for some stealthier serialized-configuration type-sniffing bugs and attendant nasty crashes (BZ 835713)
|
||||
|
||||
* Thu Jun 21 2012 willb <willb@redhat> - 0.15.1-2
|
||||
- fixes to skeleton group support for walk-in nodes
|
||||
- more resilient Store#activateConfiguration in the face of event failure/workaround for QMF event problems on F17
|
||||
- wallaby-agent no longer deletes potentially-spurious configurations by default
|
||||
|
||||
* Wed Jun 20 2012 willb <willb@redhat> - 0.15.1-1
|
||||
- fixes bz 834141
|
||||
- packaging improvements
|
||||
- base-db documenter improvements from upstream (internal only; not packaged)
|
||||
|
||||
* Wed Jun 13 2012 willb <willb@redhat> - 0.15.0-1
|
||||
- sensible/unified treatment of skeleton group and default group
|
||||
|
||||
* Thu May 31 2012 willb <willb@redhat> - 0.14.3-1
|
||||
- fixes bz 748507
|
||||
|
||||
* Thu May 10 2012 willb <willb@redhat> - 0.14.2-2
|
||||
- fixes a trivial crashing bug that sneaked in to the prior package
|
||||
|
||||
* Thu May 10 2012 willb <willb@redhat> - 0.14.2-1
|
||||
- packaging improvements: ruby-wallaby now creates the wallaby user, and it does so with a proper UID on F17+ and EL6+
|
||||
- base db documentation generator (non-end-user visible)
|
||||
- shell support for inspecting node configs (non-end-user visible for now, but used by ruby implementations of ccs/ccp; BZ820419)
|
||||
|
||||
* Thu Apr 19 2012 willb <willb@redhat> - 0.14.1-1
|
||||
- preliminary tool support for annotations
|
||||
- affectedEntities and affectedNodes methods on Store objects
|
||||
- API minor version bump; API is now 20101031.5
|
||||
|
||||
* Mon Apr 16 2012 willb <willb@redhat> - 0.14.0-1
|
||||
- "annotation" property and "setAnnotation" method on snapshots and all configuration entities
|
||||
- API minor version bump
|
||||
|
||||
* Mon Mar 26 2012 willb <willb@redhat> - 0.13.1-2
|
||||
- F17 fixes
|
||||
|
||||
* Fri Mar 9 2012 willb <willb@redhat> - 0.13.1-1
|
||||
- Fixes BZs 786801 and 796406
|
||||
- specfile updates from Fedora work
|
||||
|
||||
* Fri Feb 10 2012 willb <willb@redhat> - 0.13.0-2
|
||||
- specfile fixes
|
||||
|
||||
* Fri Feb 10 2012 willb <willb@redhat> - 0.13.0-1
|
||||
- conditional assignment of parameter values ("?=" operator)
|
||||
- fix for bz 748507
|
||||
- compatibility with Ruby 1.9
|
||||
|
||||
* Fri Feb 10 2012 Vít Ondruch <vondruch@redhat.com> - 0.12.4-3
|
||||
- Rebuilt for Ruby 1.9.3.
|
||||
|
||||
* Wed Jan 18 2012 willb <willb@redhat> - 0.12.5-2
|
||||
- minor usability fixes to "wallaby inventory -c"
|
||||
- fix for bz 782816
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Tue Jan 10 2012 willb <willb@redhat> - 0.12.5-1
|
||||
- the Wallaby shell no longer a priori rejects certain valid SASL authentication mechanisms
|
||||
|
||||
* Fri Dec 9 2011 willb <willb@redhat> - 0.12.4-1
|
||||
- fixes for minor tool problems that came up in 0.12 development
|
||||
|
||||
* Wed Nov 23 2011 willb <willb@redhat> - 0.12.3-1
|
||||
- fix for bz 756402
|
||||
|
||||
* Mon Nov 21 2011 willb <willb@redhat> - 0.12.2-1
|
||||
- fixed broken dependencies for wallaby-utils
|
||||
- vc-export shell command
|
||||
|
||||
* Fri Oct 14 2011 willb <willb@redhat> - 0.12.1-1
|
||||
- minor bug fixes in wallaby shell commands
|
||||
|
||||
* Fri Oct 14 2011 rrati <rrati@redhat> - 0.12.0-1
|
||||
- improvements to wallaby shell commands
|
||||
- packaging workflow improvements
|
||||
|
||||
* Thu Oct 13 2011 willb <willb@redhat> - 0.11.0-4
|
||||
- fixed conditionalized skeleton group support (broken since 0.10.9-1)
|
||||
- packaging workflow improvements
|
||||
|
||||
* Tue Oct 11 2011 willb <willb@redhat> - 0.11.0-3
|
||||
- minor packaging fixes
|
||||
|
||||
* Fri Oct 7 2011 willb <willb@redhat> - 0.11.0-2
|
||||
- client library now throws exceptions for agent errors
|
||||
- packaging fixes
|
||||
|
||||
* Thu Oct 6 2011 willb <willb@redhat> - 0.10.9-1
|
||||
- wallaby-python package renamed
|
||||
- skeleton group support only if explicitly enabled
|
||||
|
||||
* Sat Oct 1 2011 rrati <rrati@redhat> - 0.10.8-1
|
||||
- Many new wallaby shell commands for creating and updating entities
|
||||
|
||||
* Fri Sep 30 2011 willb <willb@redhat> - 0.10.7-1
|
||||
- Feature-complete database patching tool (thanks to rrati)
|
||||
|
||||
* Wed Sep 21 2011 willb <willb@redhat> - 0.10.6-1
|
||||
- Packaging fixes
|
||||
|
||||
* Tue Sep 20 2011 willb <willb@redhat> - 0.10.5-8
|
||||
- Packaging fixes
|
||||
|
||||
* Mon Sep 12 2011 willb <willb@redhat> - 0.10.5-7
|
||||
- Python client now packaged
|
||||
- Logrotate configuration now included
|
||||
- Other packaging improvements
|
||||
|
||||
* Mon Jun 6 2011 willb <willb@redhat> - 0.10.5-6
|
||||
- Mode, ownership, and timestamps now preserved for installed files
|
||||
|
||||
* Thu Apr 28 2011 willb <willb@redhat> - 0.10.5-5
|
||||
- Preinstall script fixes
|
||||
|
||||
* Tue Apr 26 2011 willb <willb@redhat> - 0.10.5-4
|
||||
- Fixes BZs: 673520, 692911
|
||||
|
||||
* Thu Mar 31 2011 willb <willb@redhat> - 0.10.5-3
|
||||
- Changes to default broker authentication
|
||||
|
||||
* Wed Mar 30 2011 willb <willb@redhat> - 0.10.5-2
|
||||
- Minor cleanups to Ruby client library
|
||||
- "wallaby" and shell commands now understand "-v"
|
||||
|
||||
* Fri Feb 4 2011 willb <willb@redhat> - 0.10.5
|
||||
- Fixes BZ 675324
|
||||
|
||||
* Fri Jan 28 2011 willb <willb@redhat> - 0.10.4-3
|
||||
- Fixes BZs 635628 (was bounced), 673502
|
||||
|
||||
* Thu Jan 27 2011 willb <willb@redhat> - 0.10.4-2
|
||||
- Fixes BZs 668798, 668799
|
||||
|
||||
* Tue Jan 25 2011 willb <willb@redhat> - 0.10.4-1
|
||||
- Fixes BZ 669829
|
||||
- Automatic cleanup for spuriously-generated versioned snapshots
|
||||
|
||||
* Fri Jan 21 2011 willb <willb@redhat> - 0.10.3-1
|
||||
- Added "wallaby sanitize" shell command (for ease of submitting bug reports)
|
||||
- Fixes for "wallaby new-command" code generation
|
||||
- Fixes BZ 671185
|
||||
|
||||
* Tue Jan 11 2011 willb <willb@redhat> - 0.10.2-1
|
||||
- Fixes a small regression introduced in 0.10.1
|
||||
|
||||
* Tue Jan 11 2011 willb <willb@redhat> - 0.10.1-1
|
||||
- Fixes BZs 668459, 668797, 668798, 668799, 668800, 668802, 668803.
|
||||
|
||||
* Thu Dec 23 2010 willb <willb@redhat> - 0.10.0-2
|
||||
- Fix for a stray SQLite 3.3 incompatibility
|
||||
|
||||
* Tue Dec 14 2010 willb <willb@redhat> - 0.10.0-1
|
||||
- verification for BZs 654810, 654813
|
||||
- minor contract change: Parameter#setMustChange will fail if the parameter has a default value unless WALLABY_PERMISSIVE_PARAMETERS is set
|
||||
- optimizations to config validation (~7% faster in test suite)
|
||||
- fixes BZ 660509
|
||||
- config client objects now support to_hash and to_yaml methods
|
||||
- new api methods and properties
|
||||
- wallaby shell support for feature CRUD operations
|
||||
|
||||
* Sat Dec 4 2010 willb <willb@redhat> - 0.9.24-1
|
||||
- fixes BZ 657055
|
||||
|
||||
* Thu Oct 21 2010 willb <willb@redhat> - 0.9.23-1
|
||||
- "wallaby new-command" shell command
|
||||
- improved exception handling in shell commands
|
||||
- fixes for user-local commands
|
||||
- fixed BZ 635628
|
||||
|
||||
* Wed Oct 20 2010 willb <willb@redhat> - 0.9.22-1
|
||||
- re-implemented timestamp; removed rhubarb dependency from wallaby shell commands
|
||||
|
||||
* Wed Oct 20 2010 willb <willb@redhat> - 0.9.21-1
|
||||
- Fixes for many shell-related BZs, including 635975, 636161, 636172, 636175, 636177, 636179, 636568, 636569, 636577, 636580.
|
||||
- First pass at a public shell-command API (see skel.rb for an example); this should be finalized in 0.10.x
|
||||
- "wallaby help" shell command
|
||||
- Various refactorings.
|
||||
|
||||
* Fri Oct 15 2010 willb <willb@redhat> - 0.9.20-1
|
||||
- Parameter names are now case-preserving but case-insensitive, viz., adding "fooBar" and searching for "FOOBAR" will get you "fooBar"
|
||||
- 'wallaby http-server' improvements: runs as daemon (and optionally as a different user); changes-to and help routes
|
||||
|
||||
* Thu Oct 14 2010 willb <willb@redhat> - 0.9.19-1
|
||||
- More flexible support for user-local wallaby shell commands (no public API yet, though)
|
||||
- 'wallaby explain' shell command
|
||||
- 'wallaby http-server' shell command and package (Fedora only; requires Sinatra)
|
||||
|
||||
* Fri Sep 17 2010 willb <willb@redhat> - 0.9.18-2
|
||||
- package upgrades should uninstall and reinstall the wallaby initscript in the appropriate runlevels
|
||||
|
||||
* Fri Sep 17 2010 willb <willb@redhat> - 0.9.18-1
|
||||
- fix for BZ 634641
|
||||
|
||||
* Thu Sep 16 2010 willb <willb@redhat> - 0.9.17-1
|
||||
- fix for BZ 634625
|
||||
|
||||
* Thu Sep 16 2010 willb <willb@redhat> - 0.9.16-2
|
||||
- fixed missing RPM dependency on ruby-irb
|
||||
|
||||
* Wed Sep 15 2010 willb <willb@redhat> - 0.9.16-1
|
||||
- fixed missing include in wallaby inventory
|
||||
|
||||
* Wed Sep 15 2010 willb <willb@redhat> - 0.9.15-2
|
||||
- fixed performance regression in querying groups
|
||||
- bumped API version number to final (1.0) version
|
||||
- fixes for relationship-maintenance issues uncovered in 0.9.8
|
||||
|
||||
* Fri Sep 10 2010 willb <willb@redhat> - 0.9.8-1
|
||||
- Dramatic performance enhancements in activateConfiguration (> 10x in medium-size configurations; > 21x in large configurations)
|
||||
- wallaby console tool
|
||||
|
||||
* Wed Sep 1 2010 willb <willb@redhat> - 0.9.7-1
|
||||
- Improved wallaby-shell functionality
|
||||
- Removed old-style command-line tools
|
||||
|
||||
* Wed Aug 25 2010 willb <willb@redhat> - 0.9.6-1
|
||||
- Improved reliability of command-line tools
|
||||
- Workarounds for BZS 612425, 613666
|
||||
|
||||
* Tue Aug 17 2010 willb <willb@redhat> - 0.9.5-1
|
||||
- Updated to source version 0.9.5
|
||||
- Improved memory performance of proactive inconsistency detection
|
||||
|
||||
* Mon Aug 16 2010 willb <willb@redhat> - 0.9.4-1
|
||||
- Updated to source version 0.9.4
|
||||
|
||||
* Mon Aug 16 2010 willb <willb@redhat> - 0.9.3-1
|
||||
- Updated to source version 0.9.3
|
||||
|
||||
* Tue Aug 3 2010 willb <willb@redhat> - 0.9.2-1
|
||||
- Updated to source version 0.9.2
|
||||
|
||||
* Tue Aug 3 2010 willb <willb@redhat> - 0.9.1-1
|
||||
- Updated to source version 0.9.1
|
||||
|
||||
* Mon Aug 2 2010 willb <willb@redhat> - 0.9.0-1
|
||||
- Updated to source version 0.9.0
|
||||
|
||||
* Tue Jul 27 2010 willb <willb@redhat> - 0.6.3-1
|
||||
- Updated to source version 0.6.3
|
||||
|
||||
* Fri Jun 25 2010 willb <willb@redhat> - 0.6.2-1
|
||||
- Updated to source version 0.6.2
|
||||
|
||||
* Fri Jun 25 2010 rrati <rrati@redhat> - 0.6.1-2
|
||||
- Packaging fixes
|
||||
|
||||
* Fri Jun 25 2010 rrati <rrati@redhat> - 0.6.1-1
|
||||
- Updated to source version 0.6.1
|
||||
|
||||
* Wed Jun 23 2010 willb <willb@redhat> - 0.6.0-1
|
||||
- Updated to source version 0.6.0
|
||||
- Init script fixes
|
||||
|
||||
* Fri Jun 11 2010 willb <willb@redhat> - 0.5.1-1
|
||||
- Updated to source version 0.5.1
|
||||
|
||||
* Fri Jun 11 2010 willb <willb@redhat> - 0.5.0-1
|
||||
- Updated to source version 0.5.0
|
||||
|
||||
* Thu Jun 10 2010 willb <willb@redhat> - 0.4.2-1
|
||||
- Updated to source version 0.4.2
|
||||
|
||||
* Thu Jun 10 2010 willb <willb@redhat> - 0.4.1-1
|
||||
- Updated to source version 0.4.1
|
||||
|
||||
* Thu Jun 10 2010 willb <willb@redhat> - 0.4.0-1
|
||||
- Updated to source version 0.4.0
|
||||
|
||||
* Wed May 26 2010 willb <willb@redhat> - 0.3.5-2
|
||||
- Packaging and initscript fixes
|
||||
|
||||
* Fri May 21 2010 willb <willb@redhat> - 0.3.5-1
|
||||
- Updated to source version 0.3.5
|
||||
|
||||
* Tue Apr 20 2010 willb <willb@redhat> - 0.3.2-1
|
||||
- Updated to source version 0.3.2
|
||||
|
||||
* Mon Apr 12 2010 willb <willb@redhat> - 0.3.1-1
|
||||
- Updated to source version 0.3.1
|
||||
|
||||
* Fri Apr 9 2010 willb <willb@redhat> - 0.3.0-1
|
||||
- Updated to source version 0.3.0
|
||||
|
||||
* Tue Mar 30 2010 willb <willb@redhat> - 0.2.12-1
|
||||
- Updated to source version 0.2.12
|
||||
|
||||
* Thu Mar 25 2010 willb <willb@redhat> - 0.2.11-1
|
||||
- Updated to source version 0.2.11
|
||||
|
||||
* Tue Mar 9 2010 willb <willb@redhat> - 0.2.10-1
|
||||
- Updated to source version 0.2.10
|
||||
|
||||
* Fri Mar 5 2010 willb <willb@redhat> - 0.2.9-1
|
||||
- Updated to source version 0.2.9
|
||||
|
||||
* Thu Mar 4 2010 willb <willb@redhat> - 0.2.8-1.0
|
||||
- Updated to source version 0.2.8
|
||||
|
||||
* Fri Feb 27 2010 willb <willb@redhat> - 0.2.7-1.0
|
||||
- Updated to source version 0.2.7
|
||||
|
||||
* Thu Feb 26 2010 willb <willb@redhat> - 0.2.6-1.0
|
||||
- Updated to source version 0.2.6
|
||||
|
||||
* Wed Feb 25 2010 willb <willb@redhat> - 0.2.5-1.0
|
||||
- Updated to source version 0.2.5
|
||||
|
||||
* Wed Feb 25 2010 willb <willb@redhat> - 0.2.4-1.0
|
||||
- Updated to source version 0.2.4
|
||||
|
||||
* Tue Feb 23 2010 willb <willb@redhat> - 0.2.3-1.0
|
||||
- Updated to source version 0.2.3
|
||||
|
||||
* Tue Feb 23 2010 rrati <rrati@redhat> - 0.2.2-1.0
|
||||
- Updated to source version 0.2.2
|
||||
|
||||
* Tue Feb 23 2010 rrati <rrati@redhat> - 0.2.1-1.0
|
||||
- Updated to source version 0.2.1
|
||||
|
||||
* Fri Feb 19 2010 willb <willb@redhat> - 0.2.0-1.0
|
||||
- Event functionality
|
||||
- Configuration activation
|
||||
- wallaby-activate tool
|
||||
|
||||
* Wed Feb 10 2010 rrati <rrati@redhat> - 0.1.0-0.1
|
||||
- Initial package
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue