summaryrefslogtreecommitdiffhomepage
path: root/tools/vm
diff options
context:
space:
mode:
authorAdin Scannell <ascannell@google.com>2020-05-15 10:08:31 -0700
committergVisor bot <gvisor-bot@google.com>2020-05-15 10:09:54 -0700
commitc5a939d76c69c440b89045768c3acd8ffc5246b4 (patch)
tree30c59b6f85e169060ec79503eb62c5571000ff7b /tools/vm
parent1847165a8c034e82cb35a0dc23878921cab30b5d (diff)
Update vm scripts to handle existing kbuilder user.
PiperOrigin-RevId: 311751972
Diffstat (limited to 'tools/vm')
-rwxr-xr-xtools/vm/build.sh2
-rw-r--r--tools/vm/defs.bzl2
-rwxr-xr-xtools/vm/ubuntu1604/40_kokoro.sh16
3 files changed, 10 insertions, 10 deletions
diff --git a/tools/vm/build.sh b/tools/vm/build.sh
index 098258cad..752b2b77b 100755
--- a/tools/vm/build.sh
+++ b/tools/vm/build.sh
@@ -71,7 +71,7 @@ declare internal=""
declare -r start=$(date +%s)
declare -r end=$((${start}+${timeout}))
while [[ "$(date +%s)" -lt "${end}" ]] && [[ "${success}" -lt 3 ]]; do
- echo -n "."
+ echo -n "." >&2
if gcloud compute ssh --zone "${ZONE}" "${USERNAME}"@"${INSTANCE_NAME}" -- true 2>/dev/null; then
success=$((${success}+1))
elif gcloud compute ssh --internal-ip --zone "${ZONE}" "${USERNAME}"@"${INSTANCE_NAME}" -- true 2>/dev/null; then
diff --git a/tools/vm/defs.bzl b/tools/vm/defs.bzl
index 61feefcbc..0f67cfa92 100644
--- a/tools/vm/defs.bzl
+++ b/tools/vm/defs.bzl
@@ -60,7 +60,7 @@ def _vm_image_impl(ctx):
# Run the builder to generate our output.
echo = ctx.actions.declare_file(ctx.label.name)
resolved_inputs, argv, runfiles_manifests = ctx.resolve_command(
- command = "echo -ne \"#!/bin/bash\\necho $(%s)\\n\" > %s && chmod 0755 %s" % (
+ command = "echo -ne \"#!/bin/bash\\nset -e\\nimage=$(%s)\\necho ${image}\\n\" > %s && chmod 0755 %s" % (
ctx.files.builder[0].path,
echo.path,
echo.path,
diff --git a/tools/vm/ubuntu1604/40_kokoro.sh b/tools/vm/ubuntu1604/40_kokoro.sh
index 06a1e6c48..2974f156c 100755
--- a/tools/vm/ubuntu1604/40_kokoro.sh
+++ b/tools/vm/ubuntu1604/40_kokoro.sh
@@ -43,14 +43,14 @@ done
# junitparser is used to merge junit xml files.
pip install junitparser
-# We need a kbuilder user.
-if useradd -c "kbuilder user" -m -s /bin/bash kbuilder; then
- # User was added successfully; we add the relevant SSH keys here.
- mkdir -p ~kbuilder/.ssh
- (IFS=$'\n'; echo "${ssh_public_keys[*]}") > ~kbuilder/.ssh/authorized_keys
- chmod 0600 ~kbuilder/.ssh/authorized_keys
- chown -R kbuilder ~kbuilder/.ssh
-fi
+# We need a kbuilder user, which may already exist.
+useradd -c "kbuilder user" -m -s /bin/bash kbuilder || true
+
+# We need to provision appropriate keys.
+mkdir -p ~kbuilder/.ssh
+(IFS=$'\n'; echo "${ssh_public_keys[*]}") > ~kbuilder/.ssh/authorized_keys
+chmod 0600 ~kbuilder/.ssh/authorized_keys
+chown -R kbuilder ~kbuilder/.ssh
# Give passwordless sudo access.
cat > /etc/sudoers.d/kokoro <<EOF