summaryrefslogtreecommitdiffstats
path: root/lib/puppet/rails/host.rb
Commit message (Collapse)AuthorAgeFilesLines
* Removed extra whitespace from end of linesIan Taylor2009-06-061-4/+4
|
* Fixing #2187 - Puppet::Resource is expected by Rails supportLuke Kanies2009-04-241-2/+2
| | | | | | | | | | | | | We previously used and expected Puppet::Parser::Resource instances, but 0.25 converts them all to Puppet::Resource instances before they're passed out of the compiler, so the Rails integration had to be changed to expect that. There's still some muddling, because the rails resources only generate parser resources, but that works for now because that's what we expect when collecting resources. Signed-off-by: Luke Kanies <luke@madstop.com>
* Added class_name tags to has_many relationshipssteve mcintosh2009-04-221-3/+3
|
* renaming a methodLuke Kanies2009-04-221-9/+9
| | | | Signed-off-by: Luke Kanies <luke@madstop.com>
* Saving rails resources as I create them, which saves about 10%Luke Kanies2009-04-221-0/+2
| | | | Signed-off-by: Luke Kanies <luke@madstop.com>
* Adding some more fine-grained benchmarks to Rails supportLuke Kanies2009-04-221-16/+21
| | | | Signed-off-by: Luke Kanies <luke@madstop.com>
* Adding a Rails-specific benchmarking moduleLuke Kanies2009-04-221-37/+38
| | | | | | | This just slightly simplifies adding lots of time-debug stuff in Rails. Signed-off-by: Luke Kanies <luke@madstop.com>
* Adding more time debugging to Rails code, and refactoring a bitLuke Kanies2009-04-221-9/+1
| | | | | | | | There is an accumulation in the resource tags (hackish enough but soon to be replaced), and I've fixed a small bug in the tags merging that was causing lots of extra work (like 3x). Signed-off-by: Luke Kanies <luke@madstop.com>
* Refactoring the Rails integrationLuke Kanies2009-04-221-60/+149
| | | | | | | | This moves all code from the Parser class into the ActiveRecord classes, and gets rid of 'ar_hash_merge'. Signed-off-by: Luke Kanies <luke@madstop.com>
* Adding ActiveRecord terminus classes for Node and Facts.Luke Kanies2009-04-221-1/+25
| | | | | | | | | This is most of the way to replacing standard StoreConfigs integration with the Indirector. We still need to convert the Catalog and then change all of the integraiton points (which is mostly the 'store' call in the Compiler). Signed-off-by: Luke Kanies <luke@madstop.com>
* Fix #2010 - add protection code for some storeconfig corruptionBrice Figureau2009-03-041-14/+28
| | | | | | | | | | | | | | This patch adds a more robust and self-healing storedconfig in case of logically corrupted database as the one in #2010 (where multiple resources of same references are present in the database for the same host). The problem is that the resources are stored in a hash with the resource ref as the key, so we collapse resource of different id but same reference. The patch fixed this by using a hash by resource id, and maintaining a list of old extraneous resource in the db that are removved after the storeconfig pass. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Use Puppet.debug instead of own debug flagPeter Meier2009-02-221-7/+5
| | | | | | It's better to use puppet's logging environment than an own. Especially if the default is quite verbose and can't be set by config flag.
* Change the way the tags and params are handled in railsBrice Figureau2009-02-061-15/+54
| | | | | | | | | | | | | The rationale behind this patch is that it takes a lots of time to let rails unserialize the ParamValue and ResourceTag object on each compilation, just to throw them away the second after. The idea is to fetch directly (and batched host per host) the parameters and tags from the database and then returns them as hash. This allows the no-modification case to takes at least 2 times less than before. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* Slight denormalisation to store a host's environment as a first classThom May2008-11-261-0/+4
| | | | | object in the database Fixes: #1392
* * Tweaks for puppetshow UI cleanupBlake Barnett2008-02-281-2/+1
|
* Fixing #923 (again). The host storage method was notLuke Kanies2007-12-101-3/+1
| | | | | | correctly searching for the host, so it was creating a new host on each run, which is what was causing the conflict.
* Theoretically, this patch is to fix #917 (which it does), butLuke Kanies2007-11-281-3/+1
| | | | | | | | | | | | | | | | | | | there were enough problems fixing it that I decided something more drastic needed to be done. This uses the new Puppet::ResourceReference class to canonize what a resource reference looks like and how to retrieve resources via their references. Specifically, it guarantees that resource types are always capitalized, even when they include '::' in them. While many files are modified in this commit, the majority of changes are quite small, and most of the changes are fixing the tests to use capitalized types. As we look at consolidating some of our resource types, we could consolidate the ResourceReference stuff at the same time, but at least the Puppet::Parser::ResourceReference class subclasses the main Puppet::ResourceReference class.
* Removing the Id tags from all of the filesLuke Kanies2007-10-031-1/+0
|
* A round of bugfixing. Many more tests now pass -- I think we are largely ↵Luke Kanies2007-08-201-9/+5
| | | | down to tests that (yay!) fail in trunk.
* Undo previous commit, which was an errorlutter2007-08-031-24/+5
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2735 980ebf18-57e1-0310-9a29-db15c13687c0
* Do not set any options if they aren't set in /etc/sysconfig/puppetmaster - ↵lutter2007-08-031-5/+24
| | | | | | otherwise we clobber settings from puppet.conf git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2734 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing some failing tests.luke2007-06-181-0/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2616 980ebf18-57e1-0310-9a29-db15c13687c0
* Significantly optimizing the database queries -- I am getting about 40% ↵luke2007-06-141-3/+5
| | | | | | better times now. See http://www.madstop.com/optimizing_the_activerecord_integration.html. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2585 980ebf18-57e1-0310-9a29-db15c13687c0
* Changed the host to "eager fetch" all the resources and their associated ballman2007-06-121-1/+3
| | | | | | | | tables. Also removed some unecessary lines from resource.rb that were causng it to re-read information it already loaded from the db. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2568 980ebf18-57e1-0310-9a29-db15c13687c0
* Major rework of the rails feature. Changed the relationship between ballman2007-06-121-30/+62
| | | | | | | | | | | | | | | | host and facts (now many-to-many with fact_name through fact_values). Also changed the relationship between resource and params (similarly many-to-many with param_names through param_values). Added the resource_tags and puppet_tags. The latter has the tag names and the former is the man-to-many link with resources. There is a little clean up left but the schema is in order. Also a test for the tags stuff is required. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2565 980ebf18-57e1-0310-9a29-db15c13687c0
* Removed acts_as_taggable from the rails stuff. I haven't removed the tables ↵ballman2007-05-111-8/+0
| | | | | | from the schema nor the indexes yet. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2505 980ebf18-57e1-0310-9a29-db15c13687c0
* Refactoring some of the rails code. The speed is now pretty good, but the ↵luke2007-03-241-43/+20
| | | | | | tagging stuff does not seem to be working and is certainly working very ineffficiently. Blake says he is going to take a look at that. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2350 980ebf18-57e1-0310-9a29-db15c13687c0
* Rails is now significantly faster. I refactored all of the queries; they ↵luke2007-03-221-22/+76
| | | | | | are mostly reduced to three queries, each of which is relatively fast, although there are still a ton of file- and tag-related queries that I cannot find the source of. Note that this speedup requires indexes, which will only get added if you start puppetmasterd with --dbmigrate (although you cannot always start with that, as there is an error in the init code). I expect that the indexes will not help unless you forcibly reindex your database, but after that you should see significant speed improvements. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2344 980ebf18-57e1-0310-9a29-db15c13687c0
* Undo the param_name param_value mergeshadoi2007-02-171-8/+15
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2209 980ebf18-57e1-0310-9a29-db15c13687c0
* Update relationshipsshadoi2007-02-161-2/+3
| | | | | | | | Remove dynamic class generation for now. Include the fact class git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2201 980ebf18-57e1-0310-9a29-db15c13687c0
* Merge fact_names & fact_values, and param_names & param_values.shadoi2007-02-151-13/+7
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2191 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #391. Keeping track of times of compile and freshness checks.luke2007-01-041-1/+8
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2034 980ebf18-57e1-0310-9a29-db15c13687c0
* Re-add support for tags and file/linesshadoi2006-12-191-0/+6
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1953 980ebf18-57e1-0310-9a29-db15c13687c0
* All rails *and* language tests now pass, with the exception of a ↵luke2006-12-191-40/+34
| | | | | | language/resource test that passes by itself but fails when run as part of the whole suite. Also, I added deletion where appropriate, so that unspecified resources, parameters, and facts are now deleted, as one would expect. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1951 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing most of the rails stuff. I think everything basically works now, and ↵luke2006-12-191-50/+15
| | | | | | now I am just going through and making sure things get deleted when they are supposed (i.e., you remove a resource and it gets deleted from the host's config). git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1950 980ebf18-57e1-0310-9a29-db15c13687c0
* Go back to restype and remove STI classes, they were more trouble than they ↵shadoi2006-12-151-14/+3
| | | | | | were worth. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1940 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding some selectability to host creation for testing. Using ↵luke2006-12-151-10/+40
| | | | | | find_or_create_by results in lots of saves instead of one big one at the end, which causes initial saving to be much slower. To switch between them, just modify the value of "create" at the top of Host.store. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1936 980ebf18-57e1-0310-9a29-db15c13687c0
* I like to checkin one-liners a lot. I'm cool. shadoi2006-12-151-2/+1
| | | | | | | set the type when we create the object, might be a bit faster git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1935 980ebf18-57e1-0310-9a29-db15c13687c0
* Don't use find_or_create_by_title since titles aren't unique.shadoi2006-12-151-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1934 980ebf18-57e1-0310-9a29-db15c13687c0
* Remove old files, don't require pp anymoreshadoi2006-12-151-1/+0
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1933 980ebf18-57e1-0310-9a29-db15c13687c0
* Some rails modificationsluke2006-12-151-14/+19
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1931 980ebf18-57e1-0310-9a29-db15c13687c0
* Don't dump out debugging stuff.shadoi2006-12-151-2/+0
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1930 980ebf18-57e1-0310-9a29-db15c13687c0
* New rails stuff redux.shadoi2006-12-141-22/+42
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1925 980ebf18-57e1-0310-9a29-db15c13687c0
* Temporarily reverting all of the recent rails work so that I can release 0.20.1luke2006-11-131-37/+22
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1873 980ebf18-57e1-0310-9a29-db15c13687c0
* Rails stuff part 1shadoi2006-11-091-22/+37
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1837 980ebf18-57e1-0310-9a29-db15c13687c0
* Merging the changes from the override-refactor branch. This is a ↵luke2006-10-041-25/+29
| | | | | | significant rewrite of the parser, but it has little affect on the rest of the code tree. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1726 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding code to try for the rails gem if the library cannot be found ↵luke2006-05-151-3/+2
| | | | | | normally, and adding some protections in case there are problems git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1198 980ebf18-57e1-0310-9a29-db15c13687c0
* Made a *huge* performance difference in storing hosts -- down from about 25 ↵luke2006-05-131-8/+7
| | | | | | seconds per host to about 5 seconds on my machine. I will almost definitely still use forking or something to make this not affect the clients git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1191 980ebf18-57e1-0310-9a29-db15c13687c0
* I appear to have object collection working, incredibly. This commit does ↵luke2006-05-131-1/+6
| | | | | | the collection from the database up to adding the objects to the current scope, which is what sends it to the client. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1190 980ebf18-57e1-0310-9a29-db15c13687c0
* The "collectable" syntax now works end-to-end -- the parser correctly ↵luke2006-05-131-1/+1
| | | | | | recognizes it, the AST objects retain the settings, the scopes do the right conversion, the interpreter stores them all in the database, and then it strips the collectable objects out before sending the object list to the client git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1189 980ebf18-57e1-0310-9a29-db15c13687c0