summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | Renaming the :local termini for metadata and contentLuke Kanies2007-10-227-32/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to :file.
* | | | | | | | Link handling is now in the file serving classes.Luke Kanies2007-10-2217-87/+349
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was done by putting all of the functionality in the Content and Metadata class (actually, in a new base class for them). There are still some issues, and there need to be integration tests between the :local (soon to be renamed :file) termini for these classes.
* | | | | | | | Adding searchability to the fileserving termini, using theLuke Kanies2007-10-2212-54/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | new Fileset class. The tests aren't the cleanest, in that there is still a good bit of duplication in them, but it's what we got.
* | | | | | | | Adding a Fileset class for managing sets of files. ThisLuke Kanies2007-10-222-0/+368
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is the new server-side for file recursion, and I'll next be hooking it to the fileserving 'search' methods. This is basically a mechanism for abstracting that search functionality into a single class.
* | | | | | | | Merge branch 'master' of git://michaelobrien.info/puppet into michaelLuke Kanies2007-10-224-0/+160
|\ \ \ \ \ \ \ \
| * | | | | | | | Partial work done for ssl certificates.Michael V. O'Brien2007-10-194-0/+160
| | | | | | | | |
* | | | | | | | | Adding authorization hooks to the file_server andLuke Kanies2007-10-2112-56/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | module_files indirection terminus types. Both hooks use the fileserver configuration, but the module_files hook only uses the 'modules' mount. Also moved all responsibility for knowing whether to use the 'modules' terminus type to the terminus selector; it was previously spread between that and the file_server terminus, which made some things annoyingly complicated. This normalizes the deprecation notices and the logic about how we make these decisions.
* | | | | | | | | Renaming the 'mounts' terminus to 'file_server', and renamingLuke Kanies2007-10-2012-60/+58
| |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | tests accordingly.
* | | | | | | | File serving now works. I've tested a couple of ways toLuke Kanies2007-10-1929-336/+574
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use it, and added integration tests at the most important hook points. This provides the final class structure for all of these classes, but a lot of the class names are pretty bad, so I'm planning on going through all of them (especially the file_server stuff) and renaming. The functionality is all here for finding files, though (finally). Once the classes are renamed, I'll be adding searching ability (which will enable the recursive file copies) and then adding the link management and enabling ignoring files.
* | | | | | | Adding this test stub that's been sittingLuke Kanies2007-10-181-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | around in my repository for a while.
* | | | | | | I've now split the file-serving termini into two separate types (inLuke Kanies2007-10-1825-65/+594
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | addition to Rest): A local terminus that just uses direct file paths, and a mounts terminus that uses the file server to figure out what the path should be. It looks like it also makes sense to split the 'mounts' terminus further, so there is a 'modules' terminus used to look files up in the terminus. I've added some integration tests to verify that everything is hooked together correctly. Lastly, I added a directory for shared behaviours. There's a ton of duplication in this setup, because the Content and Metadata classes behave almost but not quite identically across the board.
* | | | | | | Fixing all of the classes that I just renamed, and addingLuke Kanies2007-10-187-16/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the TerminusSelector module to the File Metadata indirection.
* | | | | | | Renaming the file serving indirection termini to matchLuke Kanies2007-10-184-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the standards I set in the TerminusSelector.
* | | | | | | I'm working on making file serving work in the indirector now, so ILuke Kanies2007-10-1811-53/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added two abilities to the indirections: Models can specify a module to extend the indirection instance with, and indirections will use a :select_terminus method, if it's available, to select the terminus to use for finding. (It's currently only used for finding, not destroying or saving.) The upshot is that a model can have a module that handles terminus selection for it, and then extend its indirection with that module. This will allow me to use the local terminus when the protocol is 'file' and the REST terminus when the protocol is 'puppet'. It should also open the door for other protocols if they become available.
* | | | | | | Renaming the file_serving/{content,metadata} indirectionsLuke Kanies2007-10-1812-6/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so that they make more sense in the REST API, and creating stub tests for the indirection termini. Now it's on to create the rest of the tests for them.
* | | | | | | This is the first mostly functional commit of theLuke Kanies2007-10-188-242/+624
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | new file serving structure. The next step is to hook it up to the indirection so we can start writing integration tests to see if we can actually serve up files.
* | | | | | | Adding spec stubs for authorization in the indirectionLuke Kanies2007-10-171-16/+50
| | | | | | |
* | | | | | | Oops, forgot this file in my last commit.Luke Kanies2007-10-171-13/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I moved the checksum code to a separate module.
* | | | | | | Adding the first pass at modifying file servingLuke Kanies2007-10-1712-0/+915
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to work with indirection. I've split the fileserver handler into four pieces: Mount (which so far I've just copied wholesale), Configuration (responsible for reading the configuration file and determining what's allowed), Metadata (retrieves information about the files), and Content (retrieves the actual file content). I haven't added the indirection tests yet, and the configuration tests are still all stubs.
* | | | | | Reorganizing the file structure for indirection terminus types.Luke Kanies2007-10-1547-235/+268
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, for example, the configuration terminus that was a subclass of 'code' would have been stored at lib/puppet/indirector/code/configuration and would have had to have been named 'configuration'. Now, the subclass can be named however the author prefers, and it must be stored at lib/puppet/indirector/configuration/<name>.rb, where <name> is the name you've chosen for the terminus type. The name only matters insomuch as it is used to load the file from disk and find the appropriate class when asked. The additional restriction is that the class constant for the terminus type must have its name as the last word, and the indirection must be the second to last word. Thus, in our example, we can choose any class constant that ends with Configuration::Code; given that there's only one Configuration class at this point, it makes the most sense to define the class as Puppet::Node::Configuration::Code. This is somewhat awkward, because of the class's location on disk, but the only other real option is to autogenerate a Puppet::Indirector::Configuration class constant, which is, I think, uglier.
* | | | | Fixing failing tests, including making the debian serviceLuke Kanies2007-10-133-20/+6
| | | | | | | | | | | | | | | | | | | | provider test work on non-Debian platforms.
* | | | | Translating the report handler to an indirected model.Luke Kanies2007-10-1314-181/+308
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've provided backward compatibility with the old handler. The only terminus type that currently exists for reports is the 'code' terminus, which is used to process reports in the style of the old handler. At some point, we should likely switch at least some of these report types (e.g., 'store') to terminus types.
* | | | | Adding version handling through most of the indirection work.Luke Kanies2007-10-127-20/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This counts as the first commit where configuration compiling actually uses the caching correctly according to the application model.
* | | | | Fixing some small spec failures resulting from test fixes.Luke Kanies2007-10-101-3/+3
| |_|_|/ |/| | | | | | | | | | | | | | | The problem was in how TransObjects were converted to RAL resources. (Committed while flying over Arkansas.)
* | | | Merge branch 'master' of git://michaelobrien.info/puppet into michaelLuke Kanies2007-10-092-2/+13
|\ \ \ \
| * \ \ \ Merge branch 'parser-absent' of http://marcin.owsiany.pl/tmp/puppet into ↵Michael V. O'Brien2007-10-092-2/+13
| |\ \ \ \ | | |_|_|/ | |/| | | | | | | | porridge
| | * | | Somewhat better documentation of the :absent field feature in fileparsing.Marcin Owsiany2007-10-061-1/+3
| | | | |
| | * | | Make it apparent that absent fields in a record have a value of :absent, ↵Marcin Owsiany2007-10-061-1/+10
| | | | | | | | | | | | | | | | | | | | which is different from what appears in a line.
* | | | | Merge branch 'master' of git://michaelobrien.info/puppet into michaelLuke Kanies2007-10-0953-541/+1025
|\| | | |
| * | | | Merge branch 'master' of git://michaelobrien.info/puppetLuke Kanies2007-10-093-3/+74
| |\ \ \ \
| | * | | | Fixed #819. Applied patch provided by matsuu.Michael V. O'Brien2007-10-081-2/+2
| | | | | |
| | * | | | Fixed #822. Applied patch provided by DavidS.Michael V. O'Brien2007-10-082-1/+72
| | | |_|/ | | |/| |
| * | | | All tests should now pass again.Luke Kanies2007-10-0824-143/+429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first real pass towards using caching. The `puppet` executable actually uses the indirection work, instead of handlers and such (and man! is it cleaner). Most of this work was a result of trying to get the client-side story working, with correct yaml caching of configurations, which means this commit also covers converting configurations to yaml, which was a much bigger PITA than it needed to be. I still need to write integration tests, and I also need to cover the server-side story of a normal configuration retrieval.
| * | | | Adding support for versions and freshness-checkingLuke Kanies2007-10-066-53/+234
| |/ / / | | | | | | | | | | | | | | | | | | | | to the indirection layers. This should hopefully enable the different application models we need in our different executables.
| * | | Fixing error thrown when the end of the file is encountered unexpectedlyLuke Kanies2007-10-051-4/+6
| | | |
| * | | Removing obsolete commentLuke Kanies2007-10-051-3/+0
| | | |
| * | | Another round of test-fixing around the changes I madeLuke Kanies2007-10-058-77/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the configuration system. 'puppet' itself still works, even with -e, but I expect that puppetd and puppetmasterd are broken, and there are still quite a few broken tests because the default fact store can't write but that's the default behaviour for a networked configuration master.
| * | | Adding a :code setting for specifying code to runLuke Kanies2007-10-0512-110/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of a manifest, and removing all of the ambiguity around whether an interpreter gets its own file specified or uses the central setting. Most of the changes are around fixing existing tests to use this new system.
| * | | Making "null" the default node source, so nodes are at least created easilyLuke Kanies2007-10-051-6/+7
| | | |
| * | | This commit is focused on getting the 'puppet' executableLuke Kanies2007-10-0518-141/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to work. As a result, it involves a lot of integration-level testing, and a lot of small design changes to make the code actually work. In particular, indirections can now have default termini, so that configurations and facts default to their code terminus Also, I've removed the ability to manually control whether ast nodes are used. I might need to add it back in later, but if so it will be in the form of a global setting, rather than the previous system of passing it through 10 different classes. Instead, the parser detects whether there are AST nodes defined and requires them if so or ignores them if not. About 75 tests are still failing in the main set of tests, but it's going to be a long slog to get them working -- there are significant design issues around them, as most of the failures are a result of tests trying to emulate both the client and server sides of a connection, which normally would have different fact termini but in this case must have the same terminus just because they're in the same process and are global. The next step, then, is to figure that process out, thus finding a way to make this all work.
| * | | Adding the integration tests to the Rakefile for spec,Luke Kanies2007-10-045-37/+52
| |/ / | | | | | | | | | | | | | | | fixing the integration tests, and extending the Classmethods for the indirector so that indirected classes can set the terminus class and cache class.
* | | Merge branch 'routing' of http://git.rickbradley.com/puppet into routingLuke Kanies2007-10-0925-186/+376
|\ \ \ | | |/ | |/|
| * | Homing in on a clean separation of concerns for a low-coupling, ↵Rick Bradley2007-10-062-10/+64
| | | | | | | | | | | | high-cohesion "server" model that will handle REST and/or XMLRPC on webrick and/or mongrel.
| * | Trivial tweak on HTTPServer module fileRick Bradley2007-10-051-1/+2
| | |
| * | Moving the webrick/mongrel "servers" over to HTTPServer module instead of ↵Rick Bradley2007-10-0514-75/+147
| | | | | | | | | | | | Server. Using Server as the master class for client connections. Server (former RESTServer) will instantiate the appropriate subclass based upon Puppet configurator setting. There are now tests broken in the network section which I can't seem to figure out yet. Not a happy place to be.
| * | Merge branch 'master' of git://reductivelabs.com/puppet into routingRick Bradley2007-10-0510-101/+164
| |\|
| | * Merge branch 'master' of git://michaelobrien.info/puppetLuke Kanies2007-10-045-5/+58
| | |\
| | | * Fixed #838. Applied patch provided by DavidS to add more robustMichael V. O'Brien2007-10-041-0/+9
| | | | | | | | | | | | | | | | update functionality to the dpkg provider.
| | | * Fixed #837. Added freebsd service provider by trombik.Michael V. O'Brien2007-10-041-0/+46
| | | |
| | | * Fixed #855, but I didn't add any tests.Michael V. O'Brien2007-10-041-2/+0
| | | |