[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] Are "optional machine-specific local config files" executable



On Sunday, 2 October, 2011 at 7:32 PM, Kevin.Buckley@xxxxxxxxxxxxx wrote:
But you could write a script that reads and executes all the files in a
directory and make that your LOCAL_CONFIG file with a pipe at the end.

Regards,
- Ian

Hmmm, not sure what you gain there, except for removing the need to
have to replicate the "normal" Condor config, that would be in the
files in the directory, within the output from the executable script
itself, and besides, you could have done that before Condor adopted
the notion of having a LOCAL_CONFIG_DIR and not just the older
LOCAL_CONFIG_FILE mechanism.
Gain? I never said it was a good solution, only *a* solution. :) 
I guess the issue for me is that you still have to make a change
to the "as distributed" Condor config files somewhere, as opposed
to simply outting a file in a known location and having the default
config do the "right thing".
Have you seen our open source config cache tool?

https://github.com/cyclecomputing/cache-config

It's raison d'être is pretty much the scenario you seem to be grappling with. Rather than keep configurations on disk, which even when shared, require careful management. You can keep them in any interface that can handle a GET call over HTTP. We use it with CycleServer, but it's not limited to pulling configurations from CycleServer.

You can have it identify the machine by name, by IP, or any other ClassAd attribute.

You need the barest condor_config to make this work. You just say:

LOCAL_CONFIG_FILE = "$(BIN)\cache_config.py $(LOCAL)\condor_config.cached 30 30 http://webserver_url?name=$(Hostname)" |

Or whatever you'd like really for parameters or URL and it can pull the config for you. It supports compression on the HTTP stream. All you have to do is ensure the stream is value config file syntax.

This completely decouples your configuration from the disk used by the machines. If you want to update configs you update them at your HTTP source and then issue a condor_reconfig -full -all against your pool and the new configuration gets pulled, cached by every machine.

Regards,
- Ian

---
Ian Chesal

Cycle Computing, LLC
Leader in Open Compute Solutions for Clouds, Servers, and Desktops
Enterprise Condor Support and Management Tools

http://www.cyclecomputing.com
http://www.cyclecloud.com
http://twitter.com/cyclecomputing