The current Python client cannot handle topology changes dynamically. It should learn to do so in one of two ways.
1) Implement handling of fast-forward map.
2) Implement retry of nodes.
When a node is added to the cluster and rebalance is started, a new map is published with a fast-forward section and an updated node list with the new node listed.
The python client should handle not-my-vbucket errors by trying the fast forward map, or should retry each node (maybe twice?) until some node takes the item.