This was asked about a month ago, but the discussion ended up going a different direction. I have a use case involving targeting computation to nodes where the most natural answer _seems_ to be to be able to change node attributes at runtime. I'm aware that right now node attributes can't be changed at runtime; I'm curious if a.) there is a technical limitation why this couldn't be supported, and b.) if there's perhaps a better way for me to solve my problem.
I have a cluster of nodes, which can each have a list of tags indicating whether a job should run on them. So I would like to be able to target jobs to only those services that have a particular tag. However, users can edit which tags apply to which nodes at runtime through a UI. I can't restart nodes when tags are edited. I'm flexible about how I store the tags -- I could store them in a cache or another central store, for example. So the only alternative I can think of to having attributes editable at runtime is to have a map of tags to cluster node IDs in a central location, and explicitly build a ClusterGroup from that when launching compute jobs. Does that sound reasonable? Is there a better way to handle this kind of thing? Thanks, Matt
