gnt-cluster upgrade currently does a series of 9-11 scans where it sequentially
sshs into each node in turn. For anything but tiny clusters, the time spent in
ssh is the majority of the update time (24 of a ~36 min total on a large, slow
test cluster). The ssh steps are:

1. verify upgrade dir exists
2. verify upgrade dir exists again!
3. daemon-util stop-all
4. symlink lib directory -- uses rm, then ln if GNU ln isn't available
5. symlink share directory  -- uses rm, then ln in GNU ln isn't available
6. run ensure-dirs script
7. daemon-util start-all
8. redist daemon-util stop-all
9. redist daemon-util start-all

This patchset removes the unnecessary step 2, and fuses steps 4-6 into one step.
On the slow test cluster, this reduces the total upgrade time to ~28 min, a
savings of ~22%.

Brian Foley (3):
  Remove redundant verify version in cluster upgrade
  Join symlink commands during cluster upgrade
  Do symlinks & ensure-dirs together in cluster upgrade

 lib/client/gnt_cluster.py | 95 +++++++++++++++++++++++++++++------------------
 1 file changed, 58 insertions(+), 37 deletions(-)

-- 
2.8.0.rc3.226.g39d4020

Reply via email to