Skip to content

Commit e496520

Browse files
committed
Added upgrade tests
Signed-off-by: Aayush Chouhan <[email protected]>
1 parent 9bce005 commit e496520

File tree

3 files changed

+102
-0
lines changed

3 files changed

+102
-0
lines changed

.github/workflows/upgrade-tests.yaml

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: Upgrade Tests
2+
on: [push, pull_request, workflow_dispatch]
3+
4+
jobs:
5+
upgrade-tests:
6+
runs-on: ubuntu-latest
7+
timeout-minutes: 90
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: true
11+
12+
env:
13+
BRANCH_NAME: ${{ github.event.inputs.branch || 'master' }}
14+
15+
steps:
16+
- name: Checkout noobaa-core (master/input branch)
17+
uses: actions/checkout@v4
18+
with:
19+
repository: 'noobaa/noobaa-core'
20+
path: 'noobaa-core'
21+
ref: ${{ env.BRANCH_NAME }}
22+
23+
- name: Deploy minikube
24+
run: |
25+
cd ./noobaa-core
26+
sudo bash ./.travis/deploy_minikube.sh
27+
28+
- name: Build noobaa (from master)
29+
run: |
30+
cd ./noobaa-core
31+
make noobaa NOOBAA_TAG=noobaa-core:master
32+
33+
- name: Checkout noobaa-core (latest)
34+
uses: actions/checkout@v4
35+
with:
36+
repository: 'noobaa/noobaa-core'
37+
path: 'noobaa-core'
38+
39+
- name: Build noobaa (latest)
40+
run: |
41+
cd ./noobaa-core
42+
make noobaa NOOBAA_TAG=noobaa-core:upgrade-tests
43+
44+
- name: Checkout noobaa-operator
45+
uses: actions/checkout@v3
46+
with:
47+
repository: 'noobaa/noobaa-operator'
48+
path: 'noobaa-operator'
49+
50+
- name: Change settings for k8s and minikube
51+
run: |
52+
sudo mv /root/.kube /root/.minikube $HOME
53+
sudo chown -R $USER $HOME/.kube $HOME/.minikube
54+
sed "s/root/home\/$USER/g" $HOME/.kube/config > tmp; mv tmp $HOME/.kube/config
55+
56+
- name: Build operator
57+
run: |
58+
cd ./noobaa-operator
59+
make all
60+
61+
- name: Install noobaa system (from master)
62+
run: |
63+
cd ./noobaa-operator
64+
./build/_output/bin/noobaa-operator crd create
65+
./build/_output/bin/noobaa-operator operator install
66+
./build/_output/bin/noobaa-operator system create \
67+
--db-resources='{ "limits": {"cpu": "200m","memory": "2G"}, "requests": {"cpu": "200m","memory": "2G"}}' \
68+
--core-resources='{ "limits": {"cpu": "200m","memory": "1G"}, "requests": {"cpu": "200m","memory": "1G"}}' \
69+
--endpoint-resources='{ "limits": {"cpu": "200m","memory": "1G"}, "requests": {"cpu": "200m","memory": "1G"}}' \
70+
--noobaa-image='noobaa-core:master'
71+
./build/_output/bin/noobaa-operator status
72+
73+
- name: Wait for phase Ready in the backingstore pod
74+
run: |
75+
cd ./noobaa-operator
76+
./.travis/number_of_pods_in_system.sh --pods 5
77+
kubectl wait --for=condition=available backingstore/noobaa-default-backing-store --timeout=5m
78+
79+
- name: Upgrade noobaa to latest
80+
run: |
81+
cd ./noobaa-operator
82+
./build/_output/bin/noobaa-operator upgrade --noobaa-image='noobaa-core:upgrade-tests'
83+
84+
- name: Wait for phase Ready in the backingstore pod
85+
run: |
86+
cd ./noobaa-operator
87+
./.travis/number_of_pods_in_system.sh --pods 5
88+
kubectl wait --for=condition=available backingstore/noobaa-default-backing-store --timeout=5m
89+
90+
- name: Run Upgrade Tests (PR code)
91+
run: |
92+
set -x
93+
cd ./noobaa-core
94+
make test-upgrade

Makefile

+6
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,12 @@ test-external-pg-sanity: build-ssl-postgres
332332
@$(call remove_docker_network)
333333
.PHONY: test-external-pg-sanity
334334

335+
test-upgrade: tester
336+
@echo "\033[1;34mRunning Upgrade Tests - after upgrading from master to latest\033[0m"
337+
chmod +x ./src/test/system_tests/run_upgrade_tests.sh
338+
./src/test/system_tests/run_upgrade_tests.sh || exit 1
339+
.PHONY: test-upgrade
340+
335341
clean:
336342
@echo Stopping and Deleting containers
337343
@$(CONTAINER_ENGINE) ps -a | grep noobaa_ | awk '{print $1}' | xargs $(CONTAINER_ENGINE) stop &> /dev/null
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
echo "Executing upgrade tests..."
2+
# TODO

0 commit comments

Comments
 (0)