You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org
This is a draft to document the workflow of a hardware-request to an actual server. This shouldn't be confused with Server_lifecycle, which is a general (non-task) specific overview.
- User requests hardware via Operations_requests#Hardware_Requests
- Rob reviews the hardware-requests project for all tasks that are assigned to him, or unassigned.
- Tasks assigned to others are not reviewed as often, as they are awaiting input from the assignee. If they are left neglected by the assignee long term, they will likely be rejected, or have the hardware-requests project removed from the task.
- If the system specification meets an on-site spare, system allocation may proceed.
- This allocation step is typically processed by Rob and approved by Mark. (It involves a general overview of the roadmap and system procurement planning.)
- If the system specifications require an order of hardware, the following occurs:
- A RT procurement queue ticket is created for each set of vendor quotes.
- Example: A caching system at this time could be Dell or HP, we create two RT tickets. One for each vendor to provide quotes for the system specification in question.
- Quotes are generated and reviewed by Rob, Mark, and the requestors for the hardware.
- Quotes are approved for purchase by Mark/Damon/Lila (escalation dependent on overall cost) and are typically placed by Rob (for US ordering) or Mark (for EU ordering).
- The hardware-requests task will have the system details noted (hostname/asset tag) and the task will be linked to the system setup task.
- These are kept separate for easy future search history on hardware allocations; thus its nice to leave a task with the hardware-request in said project.
Setup / Deployment Stage Workflow
- A new phabricator task is created in the operations project.
- This task is the primary tracking task for the setup and deployment of the server.
- Task should include the following (base template):
System Deployment Steps:
 - mgmt dns entries created/updated (both asset tag & hostname) [link sub-task for on-site work here, sub-task should include the ops-datacenter project]  - system bios and mgmt setup and tested [link sub-task for on-site work here, sub-task should include the ops-datacenter project]  - network switch setup (port description & vlan) [link sub-task for network configuration here, sub-task should include the network project]  - install-server module updated (dhcp and netboot/partitioning) [done via this task when on-site subtasks complete]  - install OS (note jessie or trusty) [done via this task when network sub-task(s) complete]  - accept/sign puppet/salt keys [done via this task post os-installation]  - service implementation [done via this task post puppet/salt acceptance]
- The main task is basically for all the software setup, and the sub-tasks are for the specific on-site or networking tasks.
- Many times, the network task isn't created, as the person doing the software work can also do the network configuration.