For running our tests, FUSE must be configured with the
[arvados-dev.git] / jenkins / packer-images / jenkins-image-k8s-tests.sh
1 #!/bin/bash
2
3 # Copyright (C) The Arvados Authors. All rights reserved.
4 #
5 # SPDX-License-Identifier: Apache-2.0
6
7 set -eo pipefail
8
9 echo "deb http://apt.arvados.org/buster buster main" | sudo  tee /etc/apt/sources.list.d/arvados.list
10
11 # Install a few dependencies
12 sudo DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install gnupg2 wget git default-jdk docker.io netcat
13
14 sudo usermod -a -G docker jenkins
15
16 cat /tmp/1078ECD7.asc | sudo apt-key add -
17 sudo DEBIAN_FRONTEND=noninteractive apt-get update
18 # Install Arvados Packages
19 # the python3 version is currently broken, see #16434, update to python3 when 2.0.3 is out
20 #    python3-arvados-cwl-runner \
21 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \
22     python-arvados-cwl-runner \
23     python3-arvados-python-client \
24
25 # Install kubectl + helm
26 # GCE provides the latest kubectl via apt, automatically
27 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y kubectl
28 cd /usr/src
29 sudo wget https://get.helm.sh/helm-v3.2.1-linux-amd64.tar.gz
30 sudo tar xzf helm-v3.2.1-linux-amd64.tar.gz
31 sudo mv linux-amd64/helm /usr/bin/
32
33 # The rest of this script is what's needed for testing with minikube minikube
34 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends dnsmasq
35
36 # Install KVM
37 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends qemu-kvm libvirt-clients libvirt-daemon-system
38
39 # Add the jenkins user to the libvirt group
40 sudo usermod -a -G libvirt jenkins
41
42 # Install minikube
43 sudo wget -O /usr/local/bin/minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
44 sudo chmod +x /usr/local/bin/minikube
45
46 # default to the kvm2 driver *for the jenkins user* (hence, no sudo)
47 minikube config set driver kvm2
48
49 sudo DEBIAN_FRONTEND=noninteractive apt-get clean