Building docker swarm in OpenStack with heat

I am creating a docker swarm in OpenStack using a heat template, which works well, up to a point.
The issue I have is that I’d like to be able to do “heat stack-update” to (a) scale out the swarm without losing the existing docker nodes and (b) be able to upgrade the docker nodes to use a new image (e.g. for security updates) without losing the swarm completely.
Does anyone have an example of how to do this successfully with a heat template?