Any tips on migrating an entire CF deployment to a new cloud?

Aaron Huber

We're just starting a project to migrate a CF deployment onto a different
cloud platform, including moving a new blobstore cluster (Swift to Swift),
and wanted to see if there are any tips on the best way to do this.
Obviously we'll test it extensively and our goal is to have minimal or no
downtime for running apps.

High level here is what we are thinking:

1) Deploy a new CF environment on the new cloud with the same configuration
and secrets, just changing cloud properties, IP addresses, etc. Test and
make sure everything works and then shut down all services.
2) Start syncing files from the old blobstore to the new one. We will be
looking into using rclone.
3) When ready to migrate, shut down the cloud controllers, UAA, and BBS/ETCD
on the old environment.
4) Back up the old CC and UAA databases and restore them to the new VMs.
5) Clear /var/vcap/store/etcd on all the new ETCD servers, copy the contents
of that folder one on one of the old ETCD servers to one of the new ones and
start it up to restore the cluster.
6) Run a final sync of the blobstore.
7) Bring up all services on the new environment and ensure all apps are
8) Update load balancer pools to point to the new environment.

Has anyone had to do this before and have any recommendations on steps I'm
missing or improvements to the process? How long will apps on Diego stay
running with BBS and the cloud controller down during the migration?

Thanks in advance for any advice.


View this message in context:
Sent from the CF Dev mailing list archive at

Join { to automatically receive all group messages.