Skip to content

Commit 6df79ea

Browse files
committed
e2e: updated minikube environment
1 parent 6884291 commit 6df79ea

1 file changed

Lines changed: 48 additions & 55 deletions

File tree

stackgres-k8s/e2e/envs/minikube

Lines changed: 48 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
#!/bin/sh
22

3-
export K8S_MINIKUBE_CPUS="${K8S_MINIKUBE_CPUS:-2}"
4-
export K8S_MINIKUBE_MEMORY="${K8S_MINIKUBE_MEMORY:-4GB}"
5-
export K8S_MINIKUBE_DISK="${K8S_MINIKUBE_DISK:-20GB}"
6-
export K8S_MINIKUBE_DRIVER="${K8S_MINIKUBE_DRIVER:-docker}"
7-
export K8S_MINIKUBE_CONTAINER_RUNTIME="${K8S_MINIKUBE_CONTAINER_RUNTIME:-containerd}"
8-
export K8S_MINIKUBE_FEATURE_GATES="${K8S_MINIKUBE_FEATURE_GATES:-x}"
3+
export MINIKUBE_NAME="${MINIKUBE_NAME:-minikube}"
4+
export MINIKUBE_CPUS="${MINIKUBE_CPUS:-8}"
5+
export MINIKUBE_MEMORY="${MINIKUBE_MEMORY:-8GB}"
6+
export MINIKUBE_DISK="${MINIKUBE_DISK:-40GB}"
7+
export MINIKUBE_DRIVER="${MINIKUBE_DRIVER:-virtualbox}"
8+
export MINIKUBE_CONTAINER_RUNTIME="${MINIKUBE_CONTAINER_RUNTIME:-containerd}"
9+
export MINIKUBE_FEATURE_GATES="${MINIKUBE_FEATURE_GATES:-x}"
910

1011
check_minikube_version() {
11-
if ! minikube version | grep -q -F 'minikube version: v1.24.0'
12+
if ! minikube version | grep -q -F 'minikube version: v1.34.0'
1213
then
13-
echo "minikube version v1.24.0 is required"
14+
echo "minikube version v1.34.0 is required"
1415
return 1
1516
fi
1617
}
@@ -23,7 +24,7 @@ get_k8s_env_version() {
2324
reuse_k8s() {
2425
check_minikube_version
2526

26-
if ! minikube status > /dev/null 2>&1
27+
if ! minikube -p "$MINIKUBE_NAME" status > /dev/null 2>&1
2728
then
2829
reset_k8s
2930
return
@@ -39,7 +40,7 @@ reset_k8s() {
3940
delete_k8s
4041

4142
if [ -n "$K8S_CACHE_PATH" ] \
42-
&& [ "$K8S_MINIKUBE_DRIVER" = docker ]
43+
&& [ "$MINIKUBE_DRIVER" = docker ]
4344
then
4445
echo "Setting up minikube containerd cache for $K8S_CACHE_PATH..."
4546
if [ "$K8S_CACHE_RESET" = true ]
@@ -87,33 +88,34 @@ reset_k8s() {
8788
'
8889
fi
8990

90-
if [ "$K8S_MINIKUBE_FEATURE_GATES" = "x" ]
91+
if [ "$MINIKUBE_FEATURE_GATES" = "x" ]
9192
then
92-
K8S_MINIKUBE_FEATURE_GATES=""
93+
MINIKUBE_FEATURE_GATES=""
9394
if [ "${K8S_VERSION%.*}" = 1.11 ]
9495
then
95-
K8S_MINIKUBE_FEATURE_GATES="PodShareProcessNamespace=true"
96+
MINIKUBE_FEATURE_GATES="PodShareProcessNamespace=true"
9697
fi
9798
fi
9899

99-
minikube start --kubernetes-version "$K8S_VERSION" \
100-
--cpus "$K8S_MINIKUBE_CPUS" \
101-
--memory "$K8S_MINIKUBE_MEMORY" \
102-
--disk-size "$K8S_MINIKUBE_DISK" \
103-
--vm-driver "$K8S_MINIKUBE_DRIVER" \
104-
--container-runtime "$K8S_MINIKUBE_CONTAINER_RUNTIME" \
105-
--feature-gates "$K8S_MINIKUBE_FEATURE_GATES"
100+
minikube -p "$MINIKUBE_NAME" start --kubernetes-version "$K8S_VERSION" \
101+
--cpus "$MINIKUBE_CPUS" \
102+
--memory "$MINIKUBE_MEMORY" \
103+
--disk-size "$MINIKUBE_DISK" \
104+
--vm-driver "$MINIKUBE_DRIVER" \
105+
--container-runtime "$MINIKUBE_CONTAINER_RUNTIME" \
106+
--feature-gates "$MINIKUBE_FEATURE_GATES"
107+
minikube -p "$MINIKUBE_NAME" addons enable volumesnapshots
106108

107109
if [ -n "$K8S_CACHE_PATH" ] \
108-
&& [ "$K8S_MINIKUBE_DRIVER" = docker ] \
110+
&& [ "$MINIKUBE_DRIVER" = docker ] \
109111
&& docker run --rm -v "$K8S_CACHE_PATH:/containerd-cache" alpine \
110112
sh -ec '
111113
! test -d /containerd-cache/boot-volume \
112114
|| test -d /containerd-cache/containerd
113115
'
114116
then
115117
echo "Replacing minikube containerd cache with $K8S_CACHE_PATH..."
116-
minikube stop
118+
minikube -p "$MINIKUBE_NAME" stop
117119
docker run --rm -v "$K8S_CACHE_PATH:/containerd-cache" alpine \
118120
sh -ec '
119121
if ! test -d /containerd-cache/boot-volume
@@ -131,84 +133,75 @@ reset_k8s() {
131133
mv /containerd-cache/containerd /containerd-cache/volume/lib/containerd
132134
fi
133135
'
134-
minikube start
136+
minikube -p "$MINIKUBE_NAME" start
135137
fi
136138

137139
echo "...done"
138140
}
139141

140142
upgrade_k8s() {
141143
check_minikube_version
142-
minikube start --kubernetes-version "$1"
143-
minikube addons enable storage-provisioner
144+
minikube -p "$MINIKUBE_NAME" start --kubernetes-version "$1"
145+
minikube -p "$MINIKUBE_NAME" addons enable storage-provisioner
144146
}
145147

146148
delete_k8s() {
147149
check_minikube_version
148150
echo "Deleting minikube environment..."
149151

150-
minikube stop || true
151-
minikube delete || true
152+
minikube -p "$MINIKUBE_NAME" stop || true
153+
minikube -p "$MINIKUBE_NAME" delete || true
152154

153155
echo "...done"
154156
}
155157

156158
load_image_k8s() {
157159
check_minikube_version
158160

159-
if [ "$K8S_MINIKUBE_DRIVER" = docker ]
161+
local IMAGE_ID
162+
IMAGE_ID="$( (docker inspect --format '{{ .ID }}' "$1" 2>/dev/null || printf unknown) | grep -v '^$')"
163+
local MINIKUBE_IMAGE_ID
164+
MINIKUBE_IMAGE_ID="$( (minikube -p "$MINIKUBE_NAME" image ls --format json 2>/dev/null || printf '[]') | jq -r --arg image registry.gitlab.com/ongresinc/stackgres/stackgres/admin-ui:6884291a 'map(select(.repoTags|any(. == $image)))|if (.|length) > 0 then .[0].id else "unknown" end')"
165+
if [ "$IMAGE_ID" = unknown ] && [ "$MINIKUBE_IMAGE_ID" != unknown ]
160166
then
161-
local IMAGE_ID
162-
IMAGE_ID="$( (docker inspect --format '{{ .ID }}' "$1" 2>/dev/null || printf unknown) | grep -v '^$')"
163-
local MINIKUBE_IMAGE_ID
164-
MINIKUBE_IMAGE_ID="$( (docker exec minikube crictl inspecti -o json "$1" 2>/dev/null || printf '{"status": {"id": "unknown"}}') | jq -r '.status.id' | grep -v '^$')"
165-
if [ "$IMAGE_ID" = unknown ] && [ "$MINIKUBE_IMAGE_ID" != unknown ]
166-
then
167-
echo "Image $1 already loaded in minikube environemnt $MINIKUBE_NAME"
168-
return
169-
fi
170-
if [ "$MINIKUBE_IMAGE_ID" = "$IMAGE_ID" ]
171-
then
172-
echo "Image $1 already loaded in minikube environemnt $MINIKUBE_NAME"
173-
return
174-
fi
167+
echo "Image $1 already loaded in minikube environemnt $MINIKUBE_NAME"
168+
return
169+
fi
170+
if [ "$MINIKUBE_IMAGE_ID" = "$IMAGE_ID" ]
171+
then
172+
echo "Image $1 already loaded in minikube environemnt $MINIKUBE_NAME"
173+
return
175174
fi
176-
minikube image load --daemon "$1"
175+
minikube -p "$MINIKUBE_NAME" image load --daemon "$1"
177176

178177
echo "Loaded image $1 in minikube environemnt $MINIKUBE_NAME"
179178
}
180179

181180
pull_image_k8s() {
182181
check_minikube_version
183182

184-
if [ "$K8S_MINIKUBE_DRIVER" != docker ]
183+
if [ "$MINIKUBE_DRIVER" != docker ]
185184
then
186-
echo "Can not pull image in internal repository since K8S_MINIKUBE_DRIVER is not set to docker"
185+
echo "Can not pull image in internal repository since MINIKUBE_DRIVER is not set to docker"
187186
return 1
188187
fi
189188
local AUTH
190189
AUTH="$(jq -r '.auths|to_entries|.[]|.key + "|" + .value.auth' "${HOME}/.docker/config.json" \
191190
| grep -F "${1%%/*}" | head -n 1 | cut -d '|' -f 2)"
192191
if [ -n "$AUTH" ]
193192
then
194-
docker exec minikube crictl pull --auth "$AUTH" "$1"
193+
minikube -p "$MINIKUBE_NAME" image pull --auth "$AUTH" "$1"
195194
else
196-
docker exec minikube crictl pull "$1"
195+
minikube -p "$MINIKUBE_NAME" image pull "$1"
197196
fi
198197

199-
echo "Pulled image $1 in minikube environemnt"
198+
echo "Pulled image $1 in minikube environemnt $MINIKUBE_NAME"
200199
}
201200

202201
tag_image_k8s() {
203202
check_minikube_version
204203

205-
if [ "$K8S_MINIKUBE_DRIVER" != docker ]
206-
then
207-
echo "Can not tag image in internal repository since K8S_MINIKUBE_DRIVER is not set to docker"
208-
return 1
209-
fi
210-
211-
docker exec minikube ctr -n k8s.io images tag --force "$1" "$2"
204+
minikube -p "$MINIKUBE_NAME" image tag "$1" "$2"
212205

213206
echo "Tagged image $1 as $2 in minikube environemnt"
214207
}

0 commit comments

Comments
 (0)