+1 for Tom's suggestion. Also I think that a recipe like this should be valid:
whirr.templates.master=hadoop-namenode+hadoop-jobtracker whirr.templates.worker=haddop-datanode+haddop-jobtracker whirr.instance-templates=1 master, 1 zookeeper+myapp, 5 worker, 5 worker+elasticsearch whirr.templates.master.hardware-id=x4.large What's nice about this change is that we should be able to implement it just by changing the ClusterSpec parser (argument expansion in whirr.instance-templates). -- Andrei On Thu, Feb 2, 2012 at 7:46 PM, Tom White <[email protected]> wrote: > Good suggestion - we could definitely improve the syntax. How about > this, which is closer to what we have today: > > whirr.templates.web=role1+role2 > whirr.templates.db=role3+role4 > > whirr.instance-templates=3 web, 2 db > whirr.templates.web.hardwareId=x4.large > whirr.templates.web.imageId=eu-east/0a1b2c3d > whirr.templates.db.hardwareId=x1.large > > Tom > > On Thu, Feb 2, 2012 at 2:05 AM, Karel Vervaeke <[email protected]> > wrote: > > Hi, I'd like to suggest a change in the configuration syntax. > > It's really a minor improvement, but I wanted to share the idea > nonetheless: > > > > Currently, you have to change things in at least two places to add a > role: > > > > whirr.instance-templates=3 role1+role2, 2 role3+role4 > > whirr.templates.role1+role2.hardwareId=x4.large > > whirr.templates.role1+role2.imageId=eu-east/0a1b2c3d > > whirr.templates.role3+role4.hardwareId=x1.large > > > > I would suggest something like this: > > > > # roles > > whirr.instance-class.web=role1+role2 > > whirr.instance-class.db=role3+role4 > > > > # hardware > > whirr.instance-descriptor.lightweight.hardwareId=x1.large > > whirr.instance-descriptor.heavyweight.hardwareId=x4.large > > > > # assign roles to hardware > > whirr.instance-templates=3 web/heavyweight, 1 db/lightweight, 1 > db/heavyweight > > > > Regards, > > Karel > > > > -- > > Karel Vervaeke > > http://outerthought.org/ > > Open Source Content Applications > > Makers of Kauri, Daisy CMS and Lily >
