Skip to content

Commit 228264f

Browse files
fra98adamjensenbot
authored andcommitted
ci: fix e2e eks
1 parent f214304 commit 228264f

File tree

8 files changed

+44
-22
lines changed

8 files changed

+44
-22
lines changed

docs/advanced/peering/inter-cluster-network.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ The Liqo Gateway of the first cluster will act as a client, while the one in the
7777
```{admonition} Note
7878
You can see further configuration options with `liqoctl network connect --help`.
7979
80-
For instance, in the previous command we have used the `--server-service-type NodePort` option to expose the service associated to the Liqo Gateway server as a NodePort.
81-
Alternatively, you can use the `--server-service-type LoadBalancer` option to expose the Liqo Gateway service as a LoadBalancer (if supported in your Kubernetes cluster).
80+
For instance, in the previous command we have used the `--gw-server-service-type NodePort` option to expose the service associated to the Liqo Gateway server as a NodePort.
81+
Alternatively, you can use the `--gw-server-service-type LoadBalancer` option to expose the Liqo Gateway service as a LoadBalancer (if supported in your Kubernetes cluster).
8282
```
8383

8484
In the first cluster (acting as gateway client), you can find the following resources:

pkg/liqoctl/install/eks/iam.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ func (o *Options) ensureUser(iamSvc *iam.IAM) error {
6969
return nil
7070
}
7171

72+
o.Printer.Info.Printfln("Creating IAM user %v", o.iamUser.userName)
7273
createUserRequest := &iam.CreateUserInput{
7374
UserName: aws.String(o.iamUser.userName),
7475
}
@@ -89,6 +90,7 @@ func (o *Options) ensureUser(iamSvc *iam.IAM) error {
8990
UserName: aws.String(o.iamUser.userName),
9091
}
9192

93+
o.Printer.Info.Printfln("Creating IAM access key for user %v", o.iamUser.userName)
9294
createAccessKeyResult, err := iamSvc.CreateAccessKey(createAccessKeyRequest)
9395
if err != nil {
9496
return err

test/e2e/pipeline/infra/eks/pre-requirements.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ then
5454
return 1
5555
fi
5656
tar -xzf "eksctl_$PLATFORM.tar.gz" && rm "eksctl_$PLATFORM.tar.gz"
57+
chmod +x eksctl
5758
mv eksctl "${EKSCTL}"
5859
fi
59-
chmod +x "${EKSCTL}"
6060
echo "eksctl version:"
6161
"${EKSCTL}" version
6262

@@ -79,7 +79,7 @@ then
7979
unzip awscli-exe-linux-${AWS_ARCH}.zip
8080
./aws/install -i "${BINDIR}/aws-tmp" -b "${BINDIR}"
8181
rm -rf aws awscli-exe-linux-${AWS_ARCH}.zip
82+
chmod +x "${AWS_CLI}"
8283
fi
83-
chmod +x "${AWS_CLI}"
8484
echo "aws-cli version:"
8585
"${AWS_CLI}" --version

test/e2e/pipeline/infra/eks/setup.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
# AWS_CLI -> the path where aws-cli is stored
2020
# POD_CIDR_OVERLAPPING -> the pod CIDR of the clusters is overlapping
2121
# CLUSTER_TEMPLATE_FILE -> the file where the cluster template is stored
22-
# CNI -> the CNI plugin used
2322

2423
set -e # Fail in case of error
2524
set -o nounset # Fail if undefined variables are used
@@ -35,7 +34,7 @@ trap 'error "${BASH_SOURCE}" "${LINENO}"' ERR
3534
FILEPATH=$(realpath "$0")
3635
WORKDIR=$(dirname "$FILEPATH")
3736

38-
OS_IMAGE=${OS_IMAGE:-"ubuntu-2204"}
37+
OS_IMAGE=${OS_IMAGE:-"Ubuntu2204"}
3938

4039
# shellcheck disable=SC1091
4140
# shellcheck source=../../utils.sh
@@ -46,6 +45,10 @@ CLUSTER_NAME=cluster
4645
export POD_CIDR=10.200.0.0/16
4746
export POD_CIDR_OVERLAPPING=${POD_CIDR_OVERLAPPING:-"false"}
4847

48+
# Strip the initial 'v' character and the patch from the k8s version
49+
version=${K8S_VERSION#"v"}
50+
version=$(echo "${version}" | cut -d. -f1,2)
51+
4952
PIDS=()
5053

5154
for i in $(seq 1 "${CLUSTER_NUMBER}");
@@ -58,6 +61,7 @@ do
5861
"${EKSCTL}" create cluster \
5962
--name "${CLUSTER_NAME}" \
6063
--region "eu-central-1" \
64+
--version "${version}" \
6165
--instance-types c4.large,c5.large \
6266
--nodes 2 \
6367
--managed \

test/e2e/pipeline/installer/liqo/peer.sh

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,15 @@ do
3838
export KUBECONFIG="${TMPDIR}/kubeconfigs/liqo_kubeconf_1"
3939
export PROVIDER_KUBECONFIG_ADMIN="${TMPDIR}/kubeconfigs/liqo_kubeconf_${i}"
4040

41-
echo "Generating kubeconfig for consumer cluster ${i}"
42-
"${LIQOCTL}" generate peering-user --kubeconfig "${PROVIDER_KUBECONFIG_ADMIN}" --consumer-cluster-id "${CLUSTER_ID}" > "${TMPDIR}/kubeconfigs/generated/liqo_kubeconf_${i}"
41+
if [[ "${INFRA}" == "eks" ]]; then
42+
# Do not generate peer-user on EKS since it is not supported
43+
PROVIDER_KUBECONFIG=$PROVIDER_KUBECONFIG_ADMIN
44+
else
45+
echo "Generating kubeconfig for consumer cluster 1 on provider cluster ${i}"
46+
"${LIQOCTL}" generate peering-user --kubeconfig "${PROVIDER_KUBECONFIG_ADMIN}" --consumer-cluster-id "${CLUSTER_ID}" > "${TMPDIR}/kubeconfigs/generated/liqo_kubeconf_${i}"
47+
PROVIDER_KUBECONFIG="${TMPDIR}/kubeconfigs/generated/liqo_kubeconf_${i}"
48+
fi
4349

44-
PROVIDER_KUBECONFIG="${TMPDIR}/kubeconfigs/generated/liqo_kubeconf_${i}"
4550
ARGS=(--kubeconfig "${KUBECONFIG}" --remote-kubeconfig "${PROVIDER_KUBECONFIG}")
4651

4752
if [[ "${INFRA}" == "kubeadm" ]]; then
@@ -66,5 +71,5 @@ do
6671

6772
# Sleep a bit, to avoid generating a race condition with the
6873
# authentication process triggered by the incoming peering.
69-
sleep 1
74+
sleep 3
7075
done

test/e2e/pipeline/installer/liqo/setup.sh

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
3535
source "${SCRIPT_DIR}/../../utils.sh"
3636

3737
# shellcheck disable=SC1091
38-
# shellcheck source=../gke/const.sh
38+
# shellcheck source=../../infra/gke/const.sh
3939
source "${SCRIPT_DIR}/../../infra/gke/const.sh"
4040

4141
setup_arch_and_os
@@ -90,11 +90,17 @@ do
9090
COMMON_ARGS=("${COMMON_ARGS[@]}" --eks-cluster-region="eu-central-1" --eks-cluster-name="${CLUSTER_NAME}")
9191
# do not fail if variables are not set
9292
set +u
93-
if [[ "${LIQO_AWS_USERNAME}" != "" ]]; then
94-
COMMON_ARGS=("${COMMON_ARGS[@]}" --user-name "${LIQO_AWS_USERNAME}")
93+
if [[ "${AWS_LIQOCTL_USERNAME}" != "" ]]; then
94+
COMMON_ARGS=("${COMMON_ARGS[@]}" --user-name "${AWS_LIQOCTL_USERNAME}")
9595
fi
96-
if [[ "${LIQO_AWS_POLICY_NAME}" != "" ]]; then
97-
COMMON_ARGS=("${COMMON_ARGS[@]}" --policy-name "${LIQO_AWS_POLICY_NAME}")
96+
if [[ "${AWS_LIQOCTL_POLICY_NAME}" != "" ]]; then
97+
COMMON_ARGS=("${COMMON_ARGS[@]}" --policy-name "${AWS_LIQOCTL_POLICY_NAME}")
98+
fi
99+
if [[ "${AWS_LIQOCTL_ACCESS_KEY_ID}" != "" ]]; then
100+
COMMON_ARGS=("${COMMON_ARGS[@]}" --access-key-id "${AWS_LIQOCTL_ACCESS_KEY_ID}")
101+
fi
102+
if [[ "${AWS_LIQOCTL_SECRET_ACCESS_KEY}" != "" ]]; then
103+
COMMON_ARGS=("${COMMON_ARGS[@]}" --secret-access-key "${AWS_LIQOCTL_SECRET_ACCESS_KEY}")
98104
fi
99105
set -u
100106
fi

test/e2e/pipeline/installer/liqo/unpeer.sh

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,16 @@ for i in $(seq 2 "${CLUSTER_NUMBER}");
5050
do
5151
export KUBECONFIG="${CONSUMER_KUBECONFIG}"
5252
export PROVIDER_KUBECONFIG_ADMIN="${TMPDIR}/kubeconfigs/liqo_kubeconf_${i}"
53-
export PROVIDER_KUBECONFIG="${TMPDIR}/kubeconfigs/generated/liqo_kubeconf_${i}"
54-
55-
"${LIQOCTL}" unpeer --kubeconfig "${KUBECONFIG}" --remote-kubeconfig "${PROVIDER_KUBECONFIG}" --skip-confirm
56-
"${LIQOCTL}" delete peering-user --kubeconfig "${PROVIDER_KUBECONFIG_ADMIN}" --consumer-cluster-id "${CLUSTER_ID}"
53+
54+
if [[ "${INFRA}" == "eks" ]]; then
55+
# Do not use peer-user on EKS since it is not supported
56+
PROVIDER_KUBECONFIG=$PROVIDER_KUBECONFIG_ADMIN
57+
"${LIQOCTL}" unpeer --kubeconfig "${KUBECONFIG}" --remote-kubeconfig "${PROVIDER_KUBECONFIG}" --skip-confirm
58+
else
59+
PROVIDER_KUBECONFIG="${TMPDIR}/kubeconfigs/generated/liqo_kubeconf_${i}"
60+
"${LIQOCTL}" unpeer --kubeconfig "${KUBECONFIG}" --remote-kubeconfig "${PROVIDER_KUBECONFIG}" --skip-confirm
61+
"${LIQOCTL}" delete peering-user --kubeconfig "${PROVIDER_KUBECONFIG_ADMIN}" --consumer-cluster-id "${CLUSTER_ID}"
62+
fi
5763
done;
5864

5965
# check that the peering is correctly removed

test/e2e/pipeline/utils.sh

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,9 @@ function check_supported_arch_and_os(){
7373
function forge_clustername() {
7474
local index=$1
7575
RUNNER_NAME=${RUNNER_NAME:-"test"}
76-
RUNNER_NAME=$(echo "${RUNNER_NAME}" | tr -d ' ' | tr '[:upper:]' '[:lower:]')
77-
RUNNER_NAME=${RUNNER_NAME#liqo-runner-*-}
7876
# Replace spaces and invalid characters with dashes, ensure it's valid for Kubernetes labels
79-
RUNNER_NAME=$(echo "${RUNNER_NAME}" | tr ' ' '-' | tr -c 'a-zA-Z0-9-_.' '-')
77+
RUNNER_NAME=$(echo "${RUNNER_NAME}" | tr ' ' '-' | tr -c 'a-zA-Z0-9-_.' '-' | tr '[:upper:]' '[:lower:]' | tr -s '-')
78+
RUNNER_NAME=${RUNNER_NAME#liqo-runner-*-}
8079
local BASE_CLUSTER_NAME="cl-${RUNNER_NAME}-"
8180
echo "${BASE_CLUSTER_NAME}${index}"
8281
}

0 commit comments

Comments
 (0)