fix: Update task descriptions in CKA 002 #14 #15#69
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughUpdates CKAD exam content: clarifies Question 14 to expose port 80 of ChangesCKAD Exam Content Updates
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@facilitator/assets/exams/ckad/002/assessment.json`:
- Line 523: The task prompt for creating resources is ambiguous because the
Service "myservice" has no selector mapping to the Pod; update the question text
so it requires adding a label to the Pod (e.g., app: app-with-init) and specify
that the Service `myservice` must use a selector matching that label; mention
the Pod name `app-with-init`, namespace `init-containers`, and the Service
`myservice` so implementers create the Pod with the label and the Service with
selector "app: app-with-init" (and keep the init container, shared volume at
/shared, and the namespace creation requirement).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 1b88c960-fa59-4087-8ca6-64ee173453a5
📒 Files selected for processing (2)
facilitator/assets/exams/ckad/002/answers.mdfacilitator/assets/exams/ckad/002/assessment.json
| "namespace": "init-containers", | ||
| "machineHostname": "ckad9999", | ||
| "question": "Create a Pod named `app-with-init` in the `init-containers` namespace with the following specifications:\n\n1. Main container using image `nginx`\n2. Init container using image `busybox` with command: `['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done']`\n3. Create a service named `myservice` using image `nginx`\n4. Share a volume between init container and main container at `/shared`\n\nEnsure the namespace exists before creating the resources.", | ||
| "question": "Create a Pod named `app-with-init` in the `init-containers` namespace with the following specifications:\n\n1. Main container using image `nginx`\n2. Init container using image `busybox` with command: `['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done']`\n3. Create a service named `myservice` for the pod `app-with-init`\n4. Share a volume between init container and main container at `/shared`\n\nEnsure the namespace exists before creating the resources.", |
There was a problem hiding this comment.
Clarify the Service selector contract for app-with-init
Line 523 asks for a Service “for the pod” but does not define the required pod label/selector mapping. This leaves the task ambiguous and can cause failed validation even when learners follow instructions.
Proposed wording tweak
- 3. Create a service named `myservice` for the pod `app-with-init`
+ 3. Label the pod `app-with-init` with `app=myservice` and create a Service named `myservice` with selector `app=myservice`📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "question": "Create a Pod named `app-with-init` in the `init-containers` namespace with the following specifications:\n\n1. Main container using image `nginx`\n2. Init container using image `busybox` with command: `['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done']`\n3. Create a service named `myservice` for the pod `app-with-init`\n4. Share a volume between init container and main container at `/shared`\n\nEnsure the namespace exists before creating the resources.", | |
| "question": "Create a Pod named `app-with-init` in the `init-containers` namespace with the following specifications:\n\n1. Main container using image `nginx`\n2. Init container using image `busybox` with command: `['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done']`\n3. Label the pod `app-with-init` with `app=myservice` and create a Service named `myservice` with selector `app=myservice`\n4. Share a volume between init container and main container at `/shared`\n\nEnsure the namespace exists before creating the resources.", |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@facilitator/assets/exams/ckad/002/assessment.json` at line 523, The task
prompt for creating resources is ambiguous because the Service "myservice" has
no selector mapping to the Pod; update the question text so it requires adding a
label to the Pod (e.g., app: app-with-init) and specify that the Service
`myservice` must use a selector matching that label; mention the Pod name
`app-with-init`, namespace `init-containers`, and the Service `myservice` so
implementers create the Pod with the label and the Service with selector "app:
app-with-init" (and keep the init container, shared volume at /shared, and the
namespace creation requirement).
There was a problem hiding this comment.
but does not define the required pod label/selector mapping
This is pretty much the same as in other tasks in this repo
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check other task files to see how service/selector requirements are described
rg -n "selector|label.*service|service.*label" facilitator/assets/exams/ --type json -i -C2 | head -80
Length of output: 10466
@tetafro, fair point — looking at the other tasks (e.g., Q3 and Q6 in this same file), services are described in terms of what they expose without spelling out the explicit label/selector mapping, leaving that detail to the learner. The wording is consistent with the repo's existing style, so my concern doesn't apply here. Thanks for the clarification!
(^_^) 🐇✨
✏️ Learnings added
Learnt from: tetafro
Repo: sailor-sh/CK-X PR: 69
File: facilitator/assets/exams/ckad/002/assessment.json:0-0
Timestamp: 2026-05-03T05:22:39.693Z
Learning: In the CK-X repo (facilitator/assets/exams/), task descriptions for creating Services intentionally omit explicit label/selector mapping details — learners are expected to figure out the selector themselves. This is the established convention across tasks; do not flag missing selector specs as an issue.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
🧾 What this PR does
Just update task descriptions.
🧩 Type of change
🧪 How to test it
No tests needed.
✅ Acceptance Criteria
Summary by CodeRabbit