diff options
author | Thom May <thom@clearairturbulence.org> | 2008-09-02 17:59:59 -0400 |
---|---|---|
committer | Thom May <thom@joost.com> | 2008-11-26 15:16:00 -0500 |
commit | 965c08d8c053996779a6f94e1ea5c3c1863907cd (patch) | |
tree | 6a04a54bc9fe734cf9e5f92d01e031f445e4fcf4 /lib/puppet/rails | |
parent | 5742966d79206cb5f26cc61c20b065df876f540e (diff) | |
download | puppet-965c08d8c053996779a6f94e1ea5c3c1863907cd.tar.gz puppet-965c08d8c053996779a6f94e1ea5c3c1863907cd.tar.xz puppet-965c08d8c053996779a6f94e1ea5c3c1863907cd.zip |
Slight denormalisation to store a host's environment as a first class
object in the database
Fixes: #1392
Diffstat (limited to 'lib/puppet/rails')
-rw-r--r-- | lib/puppet/rails/database/002_add_environment_to_host.rb | 9 | ||||
-rw-r--r-- | lib/puppet/rails/database/schema.rb | 1 | ||||
-rw-r--r-- | lib/puppet/rails/host.rb | 4 |
3 files changed, 14 insertions, 0 deletions
diff --git a/lib/puppet/rails/database/002_add_environment_to_host.rb b/lib/puppet/rails/database/002_add_environment_to_host.rb new file mode 100644 index 000000000..4593a06f7 --- /dev/null +++ b/lib/puppet/rails/database/002_add_environment_to_host.rb @@ -0,0 +1,9 @@ +class AddEnvironmentToHost < ActiveRecord::Migration + def self.up + add_column :hosts, :environment, :string + end + + def self.down + remove_column :hosts, :environment + end +end diff --git a/lib/puppet/rails/database/schema.rb b/lib/puppet/rails/database/schema.rb index f3ad2c11e..246bec482 100644 --- a/lib/puppet/rails/database/schema.rb +++ b/lib/puppet/rails/database/schema.rb @@ -54,6 +54,7 @@ class Puppet::Rails::Schema create_table :hosts do |t| t.column :name, :string, :null => false t.column :ip, :string + t.column :environment, :string t.column :last_compile, :datetime t.column :last_freshcheck, :datetime t.column :last_report, :datetime diff --git a/lib/puppet/rails/host.rb b/lib/puppet/rails/host.rb index 626edaa88..187dc657a 100644 --- a/lib/puppet/rails/host.rb +++ b/lib/puppet/rails/host.rb @@ -43,6 +43,10 @@ class Puppet::Rails::Host < ActiveRecord::Base host.ip = ip end + if env = node.environment + host.environment = env + end + # Store the facts into the database. host.setfacts node.parameters |