Does this look at least vaguely sane? (cluster ("rtr-~3,'0d" 1 10) (machine name linux-host (user "testuser")))
I've been thinking more about this. It seems to me that we need something a little more general that what you're proposing. One example is that I probably want to have an IP range as well.
I'm thinking syntax like this might work:
(my-cluster 12 ;; system count ((name (trucha-name-func)) ;; variable elements (ip (trucha-ip-func))) (machine ;; machine template name linux-host (user "download") (ip ip) (disks (disk "/dev/hda1" 80 95))))
where trucha-name-func and trucha-ip-func basically are generators, each time they are called, they produce a new result.
With this particular cluster, we have an interesting problem. The IP space is 129.24.244.21 - 129.24.244.30 and 129.24.244.43 - 129.24.244.44. There are a total of 12 IPs, but they are not in a contiguous block. (this is a legacy issue :P )
I realize that the above syntax still leaves something to be desired. It is, IMO, too general for what most users need. I think we could probably make a couple of convienance macros that would expand into the above.
I'm not sure yet if I like the idea of using "generators" here, or if each function should be given an argument of which machine it is.
Jim