Skip to content

Commit b9c175d

Browse files
authored
Merge pull request kubernetes-sigs#2223 from k8s-infra-cherrypick-robot/cherry-pick-2210-to-release-1.6
[release-1.6] 🌱 CI: add annotation with prowjob name and id to ipclaims
2 parents 5e0d5e8 + 4ab2979 commit b9c175d

File tree

3 files changed

+33
-16
lines changed

3 files changed

+33
-16
lines changed

Makefile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,11 @@ CONVERSION_GEN_BIN := conversion-gen
124124
CONVERSION_GEN := $(abspath $(TOOLS_BIN_DIR)/$(CONVERSION_GEN_BIN))
125125
CONVERSION_GEN_PKG := k8s.io/code-generator/cmd/conversion-gen
126126

127+
ENVSUBST_BIN := envsubst
128+
ENVSUBST_VER := $(call get_go_version,github.com/drone/envsubst/v2)
129+
ENVSUBST := $(abspath $(TOOLS_BIN_DIR)/$(ENVSUBST_BIN)-$(ENVSUBST_VER))
130+
ENVSUBST_PKG := github.com/drone/envsubst/v2/cmd/envsubst
131+
127132
GO_APIDIFF_VER := v0.6.0
128133
GO_APIDIFF_BIN := go-apidiff
129134
GO_APIDIFF := $(abspath $(TOOLS_BIN_DIR)/$(GO_APIDIFF_BIN)-$(GO_APIDIFF_VER))
@@ -695,6 +700,9 @@ $(GOTESTSUM_BIN): $(GOTESTSUM) ## Build a local copy of gotestsum.
695700
.PHONY: $(GO_APIDIFF_BIN)
696701
$(GO_APIDIFF_BIN): $(GO_APIDIFF) ## Build a local copy of go-apidiff
697702

703+
.PHONY: $(ENVSUBST_BIN)
704+
$(ENVSUBST_BIN): $(ENVSUBST) ## Build a local copy of envsubst.
705+
698706
.PHONY: $(KUSTOMIZE_BIN)
699707
$(KUSTOMIZE_BIN): $(KUSTOMIZE) ## Build a local copy of kustomize.
700708

@@ -741,6 +749,9 @@ $(GOTESTSUM): # Build gotestsum from tools folder.
741749
$(GO_APIDIFF): # Build go-apidiff.
742750
GOBIN=$(TOOLS_BIN_DIR) $(GO_INSTALL) $(GO_APIDIFF_PKG) $(GO_APIDIFF_BIN) $(GO_APIDIFF_VER)
743751

752+
$(ENVSUBST): # Build envsubst.
753+
GOBIN=$(TOOLS_BIN_DIR) $(GO_INSTALL) $(ENVSUBST_PKG) $(ENVSUBST_BIN) $(ENVSUBST_VER)
754+
744755
$(KUSTOMIZE): # Build kustomize.
745756
CGO_ENABLED=0 GOBIN=$(TOOLS_BIN_DIR) $(GO_INSTALL) $(KUSTOMIZE_PKG) $(KUSTOMIZE_BIN) $(KUSTOMIZE_VER)
746757

hack/e2e.sh

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ source "${REPO_ROOT}/hack/ensure-kubectl.sh"
2727
on_exit() {
2828
# release IPClaim
2929
echo "Releasing IP claims"
30-
kubectl --kubeconfig="${KUBECONFIG}" delete "$(append_api_group ipclaim)" "${IPCLAIM_NAME}" || true
31-
kubectl --kubeconfig="${KUBECONFIG}" delete "$(append_api_group ipclaim)" "${WORKLOAD_IPCLAIM_NAME}" || true
30+
kubectl --kubeconfig="${KUBECONFIG}" delete "ipclaim.ipam.metal3.io" "${CONTROL_PLANE_IPCLAIM_NAME}" || true
31+
kubectl --kubeconfig="${KUBECONFIG}" delete "ipclaim.ipam.metal3.io" "${WORKLOAD_IPCLAIM_NAME}" || true
3232

3333
# kill the VPN
3434
docker kill vpn
@@ -73,18 +73,14 @@ docker logs vpn
7373
# Sleep to allow vpn container to start running
7474
sleep 30
7575

76-
function append_api_group() {
77-
resource=$1
78-
echo "${resource}.ipam.metal3.io"
79-
}
8076

8177
function kubectl_get_jsonpath() {
8278
local OBJECT_KIND="${1}"
8379
local OBJECT_NAME="${2}"
8480
local JSON_PATH="${3}"
8581
local n=0
8682
until [ $n -ge 30 ]; do
87-
OUTPUT=$(kubectl --kubeconfig="${KUBECONFIG}" get "$(append_api_group "${OBJECT_KIND}")" "${OBJECT_NAME}" -o=jsonpath="${JSON_PATH}")
83+
OUTPUT=$(kubectl --kubeconfig="${KUBECONFIG}" get "${OBJECT_KIND}.ipam.metal3.io" "${OBJECT_NAME}" -o=jsonpath="${JSON_PATH}")
8884
if [[ "${OUTPUT}" != "" ]]; then
8985
break
9086
fi
@@ -101,20 +97,27 @@ function kubectl_get_jsonpath() {
10197
fi
10298
}
10399

100+
function claim_ip() {
101+
IPCLAIM_NAME="$1"
102+
export IPCLAIM_NAME
103+
envsubst < "${REPO_ROOT}/hack/ipclaim-template.yaml" | kubectl --kubeconfig="${KUBECONFIG}" create -f - 1>&2
104+
IPADDRESS_NAME=$(kubectl_get_jsonpath ipclaim "${IPCLAIM_NAME}" '{@.status.address.name}')
105+
kubectl --kubeconfig="${KUBECONFIG}" get "ipaddresses.ipam.metal3.io" "${IPADDRESS_NAME}" -o=jsonpath='{@.spec.address}'
106+
}
107+
108+
export KUBECONFIG="/root/ipam-conf/capv-services.conf"
109+
110+
make envsubst
111+
104112
# Retrieve an IP to be used as the kube-vip IP
105-
KUBECONFIG="/root/ipam-conf/capv-services.conf"
106-
IPCLAIM_NAME="ip-claim-$(openssl rand -hex 20)"
107-
sed "s/IPCLAIM_NAME/${IPCLAIM_NAME}/" "${REPO_ROOT}/hack/ipclaim-template.yaml" | kubectl --kubeconfig=${KUBECONFIG} create -f -
108-
IPADDRESS_NAME=$(kubectl_get_jsonpath ipclaim "${IPCLAIM_NAME}" '{@.status.address.name}')
109-
CONTROL_PLANE_ENDPOINT_IP=$(kubectl --kubeconfig=${KUBECONFIG} get "$(append_api_group ipaddresses)" "${IPADDRESS_NAME}" -o=jsonpath='{@.spec.address}')
113+
CONTROL_PLANE_IPCLAIM_NAME="ip-claim-$(openssl rand -hex 20)"
114+
CONTROL_PLANE_ENDPOINT_IP=$(claim_ip "${CONTROL_PLANE_IPCLAIM_NAME}")
110115
export CONTROL_PLANE_ENDPOINT_IP
111116
echo "Acquired Control Plane IP: $CONTROL_PLANE_ENDPOINT_IP"
112117

113118
# Retrieve an IP to be used for the workload cluster in v1a3/v1a4 -> v1b1 upgrade tests
114119
WORKLOAD_IPCLAIM_NAME="workload-ip-claim-$(openssl rand -hex 20)"
115-
sed "s/IPCLAIM_NAME/${WORKLOAD_IPCLAIM_NAME}/" "${REPO_ROOT}/hack/ipclaim-template.yaml" | kubectl --kubeconfig=${KUBECONFIG} create -f -
116-
WORKLOAD_IPADDRESS_NAME=$(kubectl_get_jsonpath ipclaim "${WORKLOAD_IPCLAIM_NAME}" '{@.status.address.name}')
117-
WORKLOAD_CONTROL_PLANE_ENDPOINT_IP=$(kubectl --kubeconfig=${KUBECONFIG} get "$(append_api_group ipaddresses)" "${WORKLOAD_IPADDRESS_NAME}" -o=jsonpath='{@.spec.address}')
120+
WORKLOAD_CONTROL_PLANE_ENDPOINT_IP=$(claim_ip "${WORKLOAD_IPCLAIM_NAME}")
118121
export WORKLOAD_CONTROL_PLANE_ENDPOINT_IP
119122
echo "Acquired Workload Cluster Control Plane IP: $WORKLOAD_CONTROL_PLANE_ENDPOINT_IP"
120123

hack/ipclaim-template.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
apiVersion: ipam.metal3.io/v1alpha1
22
kind: IPClaim
33
metadata:
4-
name: IPCLAIM_NAME
4+
name: ${IPCLAIM_NAME}
5+
annotations:
6+
prow.k8s.io/build-id: "${BUILD_ID}"
7+
prow.k8s.io/job: "${JOB_NAME}"
58
spec:
69
pool:
710
name: capv-e2e-ippool

0 commit comments

Comments
 (0)