github.com/hernad/nomad@v1.6.112/e2e/upgrades/run_upgrade_safe.sh (about)

     1  #!/bin/sh
     2  # Copyright (c) HashiCorp, Inc.
     3  # SPDX-License-Identifier: MPL-2.0
     4  
     5  if [ $# -lt 2 ]; then
     6      echo "usage: $0 path-nomad-v1 path-nomad-v2" 1>&2
     7      exit 1
     8  fi
     9  
    10  v1="$1"; shift
    11  v2="$1"; shift
    12  
    13  sh run_cluster.sh "$v1" &
    14  
    15  function peers () {
    16      $v1 operator raft list-peers | tail -n+2 | awk '{print $1 " " $2}'
    17  }
    18  
    19  while true; do
    20      n=`peers | grep -c '\bserver[1-3]\b'`
    21      [ "$n" = 3 ] && break
    22  done
    23  
    24  function wait_serf () {
    25      echo "wait $1 \c"; date
    26      while true; do
    27  	  peers \
    28  	      | egrep "$1.global [0-9a-f-][0-9a-f-]{35}$" \
    29  	      && break
    30  	  sleep 1
    31      done
    32      echo "done $1 \c"; date
    33  }
    34  
    35  for i in {3,2,1}; do
    36      sh kill_node.sh server$i
    37      sh run_node.sh "$v2" server$i &
    38      wait_serf server$i
    39  done