Skip to content

Commit 46afd5e

Browse files
authored
backport: fix: pass ai metadata to telemetry during cni image build (#3095) (#3132)
* fix: pass ai metadata to telemetry during cni image build (#3095) * fix log on ai telemetry handle create error * fix failure to pass cni ai id at build time for cni images * address feedback * move ai id to hardcoded variable * update unit test * Revert "move ai id to hardcoded variable" This reverts commit 666c2b0. * fix typo * add cni ai info to cni image args and linux dockerfile
1 parent 13922b1 commit 46afd5e

File tree

6 files changed

+11
-15
lines changed

6 files changed

+11
-15
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ cni-image: ## build cni container image.
425425
$(MAKE) container \
426426
DOCKERFILE=cni/$(OS).Dockerfile \
427427
IMAGE=$(CNI_IMAGE) \
428-
EXTRA_BUILD_ARGS='--build-arg OS=$(OS) --build-arg ARCH=$(ARCH) --build-arg OS_VERSION=$(OS_VERSION)' \
428+
EXTRA_BUILD_ARGS='--build-arg OS=$(OS) --build-arg ARCH=$(ARCH) --build-arg OS_VERSION=$(OS_VERSION) --build-arg CNI_AI_PATH=$(CNI_AI_PATH) --build-arg CNI_AI_ID=$(CNI_AI_ID)' \
429429
PLATFORM=$(PLATFORM) \
430430
TAG=$(CNI_PLATFORM_TAG) \
431431
OS=$(OS) \

cni/linux.Dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ ARG OS
66
FROM mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS azure-vnet
77
ARG OS
88
ARG VERSION
9+
ARG CNI_AI_PATH
10+
ARG CNI_AI_ID
911
WORKDIR /azure-container-networking
1012
COPY . .
1113
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/network/plugin/main.go
12-
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet-telemetry -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/telemetry/service/telemetrymain.go
14+
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet-telemetry -trimpath -ldflags "-X main.version="$VERSION" -X "$CNI_AI_PATH"="$CNI_AI_ID"" -gcflags="-dwarflocationlists=true" cni/telemetry/service/telemetrymain.go
1315
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet-ipam -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/ipam/plugin/main.go
1416
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azurecni-stateless -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/network/stateless/main.go
1517

cni/telemetry/service/telemetrymain.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,8 @@ func main() {
167167
GetEnvRetryWaitTimeInSecs: config.GetEnvRetryWaitTimeInSecs,
168168
}
169169

170-
if tb.CreateAITelemetryHandle(aiConfig, config.DisableAll, config.DisableTrace, config.DisableMetric) != nil {
171-
logger.Error("AI Handle creation error", zap.Error(err))
170+
if err := tb.CreateAITelemetryHandle(aiConfig, config.DisableAll, config.DisableTrace, config.DisableMetric); err != nil { // nolint
171+
logger.Error("AI Handle creation error:", zap.Error(err))
172172
}
173173
logger.Info("Report to host interval", zap.Duration("seconds", config.ReportToHostIntervalInSeconds))
174174
tb.PushData(context.Background())

cni/windows.Dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ ARG OS_VERSION
66
FROM --platform=linux/${ARCH} mcr.microsoft.com/oss/go/microsoft/golang:1.22 AS azure-vnet
77
ARG OS
88
ARG VERSION
9+
ARG CNI_AI_PATH
10+
ARG CNI_AI_ID
911
WORKDIR /azure-container-networking
1012
COPY . .
1113
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/network/plugin/main.go
12-
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet-telemetry -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/telemetry/service/telemetrymain.go
14+
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet-telemetry -trimpath -ldflags "-X main.version="$VERSION" -X "$CNI_AI_PATH"="$CNI_AI_ID"" -gcflags="-dwarflocationlists=true" cni/telemetry/service/telemetrymain.go
1315
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet-ipam -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/ipam/plugin/main.go
1416
RUN GOOS=$OS CGO_ENABLED=0 go build -a -o /go/bin/azure-vnet-stateless -trimpath -ldflags "-X main.version="$VERSION"" -gcflags="-dwarflocationlists=true" cni/network/stateless/main.go
1517

cns/service/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,7 @@ func main() {
684684
}
685685

686686
if telemetryDaemonEnabled {
687-
log.Printf("CNI Telemtry is enabled")
687+
logger.Printf("CNI Telemetry is enabled")
688688
go startTelemetryService(rootCtx)
689689
}
690690

telemetry/aiwrapper_test.go

+1-9
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,7 @@ func TestCreateAITelemetryHandle(t *testing.T) {
1717
wantErr bool
1818
}{
1919
{
20-
name: "disable telemetry",
21-
aiConfig: aitelemetry.AIConfig{},
22-
disableAll: false,
23-
disableMetric: true,
24-
disableTrace: true,
25-
wantErr: true,
26-
},
27-
{
28-
name: "empty aiconfig",
20+
name: "disabled telemetry with empty aiconfig",
2921
aiConfig: aitelemetry.AIConfig{},
3022
disableAll: true,
3123
disableMetric: true,

0 commit comments

Comments
 (0)