OLD | NEW |
1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 # | 4 # |
5 # Common vm functions for use in crosutils. | 5 # Common vm functions for use in crosutils. |
6 | 6 |
7 DEFINE_string kvm_pid "" \ | 7 DEFINE_string kvm_pid "" \ |
8 "Use this pid file. If it exists and is set, use the vm specified by pid." | 8 "Use this pid file. If it exists and is set, use the vm specified by pid." |
9 DEFINE_boolean no_graphics ${FLAGS_FALSE} "Runs the KVM instance silently." | 9 DEFINE_boolean no_graphics ${FLAGS_FALSE} "Runs the KVM instance silently." |
10 DEFINE_boolean persist "${FLAGS_FALSE}" "Persist vm." | 10 DEFINE_boolean persist "${FLAGS_FALSE}" "Persist vm." |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 -net user,hostfwd=tcp::${FLAGS_ssh_port}-:22 \ | 84 -net user,hostfwd=tcp::${FLAGS_ssh_port}-:22 \ |
85 -hda "${1}" | 85 -hda "${1}" |
86 | 86 |
87 info "KVM started with pid stored in ${KVM_PID_FILE}" | 87 info "KVM started with pid stored in ${KVM_PID_FILE}" |
88 LIVE_VM_IMAGE="${1}" | 88 LIVE_VM_IMAGE="${1}" |
89 fi | 89 fi |
90 } | 90 } |
91 | 91 |
92 # Checks to see if we can access the target virtual machine with ssh. | 92 # Checks to see if we can access the target virtual machine with ssh. |
93 function ssh_ping() { | 93 function ssh_ping() { |
94 "${SCRIPT_ROOT}/ssh_test.sh" \ | 94 # TODO(sosa): Remove outside chroot use once all callers work inside chroot. |
| 95 local cmd |
| 96 if [ $INSIDE_CHROOT -ne 1 ]; then |
| 97 cmd="${GCLIENT_ROOT}/src/scripts/ssh_test.sh" |
| 98 else |
| 99 cmd=/usr/lib/crosutils/ssh_test.sh |
| 100 fi |
| 101 "${cmd}" \ |
95 --ssh_port=${FLAGS_ssh_port} \ | 102 --ssh_port=${FLAGS_ssh_port} \ |
96 --remote=127.0.0.1 >&2 | 103 --remote=127.0.0.1 >&2 |
97 } | 104 } |
98 | 105 |
99 # Tries to ssh into live image $1 times. After first failure, a try involves | 106 # Tries to ssh into live image $1 times. After first failure, a try involves |
100 # shutting down and restarting kvm. | 107 # shutting down and restarting kvm. |
101 function retry_until_ssh() { | 108 function retry_until_ssh() { |
102 local can_ssh_into=1 | 109 local can_ssh_into=1 |
103 local max_retries=3 | 110 local max_retries=3 |
104 local retries=0 | 111 local retries=0 |
(...skipping 19 matching lines...) Expand all Loading... |
124 if [ -n "${pid}" ]; then | 131 if [ -n "${pid}" ]; then |
125 echo "Killing ${pid}" >&2 | 132 echo "Killing ${pid}" >&2 |
126 blocking_kill ${pid} 1 16 || blocking_kill 9 1 | 133 blocking_kill ${pid} 1 16 || blocking_kill 9 1 |
127 sudo rm "${KVM_PID_FILE}" | 134 sudo rm "${KVM_PID_FILE}" |
128 else | 135 else |
129 echo "No kvm pid found to stop." >&2 | 136 echo "No kvm pid found to stop." >&2 |
130 return 1 | 137 return 1 |
131 fi | 138 fi |
132 fi | 139 fi |
133 } | 140 } |
OLD | NEW |