quick_provision: accepting a list of file servers

This CL enable quick_provision script to accept a series of file servers
to downloading images, e.g.

quick_provision board-release/R12-34567.0.0 \
    http://server1:8082/static http://server2:8082/static http://server3:8888/download/chromeos-image-archive

This can increase the reliability of quick_provision that in case one
server failed, we can fail over to the next one.

NOTE: If use devservers, it still required to stage 'stateful' and
'quick_provision' artifacts in previous. But if we use gs_cache servers,
the staging is not needed anymore.

BUG=chromium:982093,chromium:824580
TEST=Copied the script to a DUT and ran below two command lines:
  1) backward compatibility test
  localhost ~ $ bash -x /tmp/quick-provision octopus-release/R76-12109.0.0 \
      http://chromeos6-devserver4:8888/download/chromeos-image-archive

  2) failing over test
  localhost ~ $ bash -x /tmp/quick-provision octopus-release/R76-12109.0.0 \
      http://chromeos2-devserver3:8082/static http://chromeos6-devserver4:8082/static http://chromeos6-devserver4:8888/download/chromeos-image-archive

Change-Id: I0867975898074b54f8fb3ca71ca932540f100738
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/1703167
Tested-by: Congbin Guo <guocb@chromium.org>
Reviewed-by: David Riley <davidriley@chromium.org>
Commit-Queue: Congbin Guo <guocb@chromium.org>
Auto-Submit: Congbin Guo <guocb@chromium.org>
1 file changed