Skip to content

Run eos‐operator tests on virtual machines

Allan Roger Reid edited this page Aug 13, 2024 · 1 revision

Preserve session

loginctl enable-linger ubuntu

Install docker

sudo apt-get update -y
# Uninstall all conflicting packages
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

##### Install using the apt repository
##### Add Docker's official GPG key:
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

##### Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get install make docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

##### Manage Docker as a non-root user
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Install kind

sudo curl -L "https://kind.sigs.k8s.io/dl/v0.23.0/kind-$(uname)-amd64" -o /usr/local/bin/kind && sudo chmod +x /usr/local/bin/kind
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"  | bash
sudo install -o root -g root -m 0755 kustomize /usr/local/bin/kustomize

Install go

wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
cat <<EOF >> $HOME/.profile 
export PATH=$PATH:/usr/local/go/bin:~/go/bin
EOF
cat $HOME/.profile 
source $HOME/.profile
go version

Setup private repo access

TOKEN=<token>
git config --global url."https://allanrogerr:${TOKEN}@github.com".insteadOf "https://github.com"

Clone repo

mkdir -p ~/github && cd ~/github
git clone https://github.com/allanrogerr/eos-operator.git
cd ~/github/eos-operator && git checkout rename-tenant-tiny

optional: Setup submodules

cat << EOF > ~/github/eos-operator/.gitmodules
[submodule "testing/automation"]
    path = testing/automation
    url = https://github.com/allanrogerr/automation.git
    branch = rename-tenant-tiny
EOF

Sync submodules

git submodule sync --recursive
git submodule update --init --recursive --remote

Run a test

~/github/eos-operator/testing/features-tests/ilm-restore-test.sh 
Clone this wiki locally