Wikimedia Release Engineering Team/SpiderPig/Progress reports/2024-09-13
Appearance
Report on activities in the SpiderPig project for the week ending 2024-09-13.
[WE6.2.3] Create a new deployment UI
[edit]- Status: on track
- Progress update on the hypothesis for the week
- Lifecycle stage: Development
- Created the initial data model and jobrunner for the deployment UI
- This is the core of the new system that will interact with the web API and the deployment server itself, and it's a milestone in the project.
- Per our design discussion last week, the web front-end will communicate with the jobrunner through a queue
- When a new job is enqueued by the API the jobrunner will run and monitor, sending interaction events back to the queue
- The web front end will watch for interaction events in the queue.
- When users respond to interaction events, the web frontend will put a response in the queue
- The jobrunner will be awaiting a response for the job, find the response in the queue, and apply it to the job
- Example:
- You enter a patch for deployment in the web frontend
- API enqueues the job:
scap backport <patch>
- Jobrunner pulls the job from the queue and executes it,
scap backport
deploys to test servers. After deploy to testservers, the jobrunner enqueues an interaction:{"message": "Patch <patch> is live on test servers. Please check using wikitech:WikimediaDebug. Continue with sync?", "options": [{"text": "yes", "value": true}, {"text": "no", "value": false}]}
- Web frontend checks API for pending transactions and presents the message to the user alongside two options: "yes" "no"
- User clicks "yes", API enqueues a response, jobrunner that is polling for response finds it and sends it to the waiting
scap backport
job and continues with sync.
- Any new metrics related to the hypothesis
- No
- Any emerging blockers or risks
- No
- Any unresolved dependencies - do you depend on another team that hasn’t already given you what you need? Are you on the hook to give another team something you aren’t able to give right now?
- No
- Have there been any new lessons from the hypothesis?
- No
- Have there been any changes to the hypothesis scope or timeline?
- No