Skip to content

Commit

Permalink
Merge pull request kata-containers#9273 from ldoktor/kcli-coco-kbs
Browse files Browse the repository at this point in the history
tests: Support for kbs setup on kcli
  • Loading branch information
wainersm authored Apr 5, 2024
2 parents f09bb98 + a671b3f commit aae7048
Showing 1 changed file with 37 additions and 2 deletions.
39 changes: 37 additions & 2 deletions tests/integration/kubernetes/confidential_kbs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ function kbs_k8s_deploy() {

if [ -n "$ingress" ]; then
echo "::group::Check the kbs service is exposed"
svc_host=$(kbs_k8s_svc_host)
svc_host=$(kbs_k8s_svc_http_addr)
if [ -z "$svc_host" ]; then
echo "ERROR: service host not found"
return 1
Expand All @@ -296,6 +296,11 @@ kbs_k8s_svc_host() {
if kubectl get ingress -n "$KBS_NS" 2>/dev/null | grep -q kbs; then
kubectl get ingress kbs -n "$KBS_NS" \
-o jsonpath='{.spec.rules[0].host}' 2>/dev/null
elif kubectl get svc kbs-nodeport -n "$KBS_NS" &>/dev/null; then
local host
host=$(kubectl get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="ExternalIP")].address}' -n "$KBS_NS")
[ -z "$host"] && host=$(kubectl get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}' -n "$KBS_NS")
echo "$host"
else
kubectl get svc kbs -n "$KBS_NS" \
-o jsonpath='{.spec.clusterIP}' 2>/dev/null
Expand All @@ -309,6 +314,8 @@ kbs_k8s_svc_port() {
if kubectl get ingress -n "$KBS_NS" 2>/dev/null | grep -q kbs; then
# Assume served on default HTTP port 80
echo "80"
elif kubectl get svc kbs-nodeport -n "$KBS_NS" &>/dev/null; then
kubectl get -o jsonpath='{.spec.ports[0].nodePort}' svc kbs-nodeport -n "$KBS_NS"
else
kubectl get svc kbs -n "$KBS_NS" \
-o jsonpath='{.spec.ports[0].port}' 2>/dev/null
Expand Down Expand Up @@ -407,4 +414,32 @@ _handle_ingress_aks() {

kustomize edit add resource ingress.yaml
popd
}
}


# Implements the ingress handler for servernode
# this is useful on kcli or anywhere where cluster IPs are accessible
# from the testing machines.
#
_handle_ingress_nodeport() {
pushd "${COCO_KBS_DIR}/config/kubernetes/overlays"

cat > nodeport_service.yaml <<EOF
# Service to expose the KBS on nodes
apiVersion: v1
kind: Service
metadata:
name: kbs-nodeport
namespace: "$KBS_NS"
spec:
selector:
app: kbs
ports:
- protocol: TCP
port: 8080
targetPort: 8080
type: NodePort
EOF
kustomize edit add resource nodeport_service.yaml
popd
}

0 comments on commit aae7048

Please sign in to comment.