Task UUID: 14a08734-50a8-4768-9d5f-bbe507a432d5
These patches fix the V4 task to work with the current nebula-devops:latest base image.
The original V4 task failed test-solution because:
- The base image now includes a Helm-deployed Jaeger V2, which conflicts with the "legacy" Jaeger the task tries to create
- The solution didn't restart Bleater pods after changing Istio's tracing config, so traces never flowed through the new OTEL Collector
- The
jaeger-queryservice was missing, which the grader needs to verify traces via Jaeger API
| File | Change | Reason |
|---|---|---|
| setup.sh | Add Helm uninstall + kubectl delete for existing Jaeger | Base image has Helm-deployed Jaeger V2 that conflicts |
| setup.sh | Rename deployment to jaeger, add OTLP/query ports |
Jaeger V2 needs these ports exposed for OTEL Collector to forward traces |
| setup.sh | Add jaeger-query service |
Grader checks Jaeger Query API on port 16686 |
| setup.sh | Remove COLLECTOR_ZIPKIN_HOST_PORT env var |
Not needed for Jaeger V2 defaults |
| solution.sh | Change logging exporter to debug |
logging is deprecated in newer OTEL Collector versions |
| solution.sh | Add istiod rollout status wait | Ensure Istio is ready before restarting Bleater |
| solution.sh | Add Bleater deployment rollout restart + wait | Pods need restart to pick up new Istio tracing config |
| solution.sh | Add traffic generation at end | Ensures traces exist before grader runs |
cd tasks/migrate-jaeger-to-otel-operator
patch -p1 < setup.sh.patch
patch -p1 < solution.sh.patchFinal Score: 1.0
SUCCESS: Solution achieved full score!
Feedback:
- Cert Manager is running
- OTEL Operator is running
- OpenTelemetryCollector CR exists and Pods are running
- Verified OTLP Ingest on default-collector (Operator Managed)
- Istio ConfigMap correctly identifies OpenTelemetry provider
- Verified traces for all 7 services.