Hi Matt_Mabis
Thanks for your response, it makes some sense, but as a thought experiment - how about applying your argument on pools as well: why would I have pools which I'm not refering to on any of my VSes?
My first answer would be - I don't have them. I'm in control of all the pools I defined in the declaration, so I'm only defining the ones I need for my VSes. I fail to see how is that different for the nodes.
Another thing, that I believe is stemming from the indirect nature of node creation as per the current AS3 behaviour - some weird effects of modifying an already applied declaration (a brownfield deployment). I'm not sure whether this is just a bug or is in fact an intended "feature", but:
- If I'm creating a pool member and giving it a name (via pool->members->servers->name), which in turn creates a node, changing thath name in the subsequent declaration does not get pushed (the config is left intact). This is a violation of idempotency IMHO (e.g. it would be different if I applied it right away as my first declaration).
- Similarly, if I'm later modifying the IP address of the previously created pool member, the new node gets created with the new IP and the old one stays. That in fact results in an additional "trash" node being present, which I don't use anywhere anymore, which is ironically in direct contradiction to your argument 🙂
Let me know your thoughts,
Vytautas