Page MenuHomePhabricator

Define and implement an automated process to ease the introduction of a new service into production
Closed, ResolvedPublic

Description

In an effort to make the 11-step procedure for the deployment of a new service into production discussed in
https://www.mediawiki.org/wiki/Services/Meetings/2015-03-19-Ops easier a proposal is to create an automated process for collapsing multiple steps into one. The steps proposed to be collapsed into one are:

  • Create the service class and role
  • Add the repo to role::deploment for trebuchet.
  • Add the service role to the node
  • Set up LVS. This can be done partly only in this process and refers specifically to the puppet patches needed.
  • Setup access rights
    • Provide sane defaults to allow
      1. Service restarts by the service owner
      2. Assuming the uid of the service in order to be able to debug it
      3. Provide access to logs
  • Add rules to varnish

Event Timeline

akosiaris raised the priority of this task from to High.
akosiaris updated the task description. (Show Details)
akosiaris added a project: acl*sre-team.
akosiaris subscribed.
akosiaris set Security to None.

Change 217548 had a related patch set uploaded (by Alexandros Kosiaris):
WIP: Add new_wmf_service.py and tests

https://gerrit.wikimedia.org/r/217548

Change 219165 had a related patch set uploaded (by Alexandros Kosiaris):
Hieraize deployment configuration

https://gerrit.wikimedia.org/r/219165

Change 219165 merged by Alexandros Kosiaris:
Hieraize deployment configuration

https://gerrit.wikimedia.org/r/219165

Change 217548 merged by Alexandros Kosiaris:
Add new_wmf_service.py and examples

https://gerrit.wikimedia.org/r/217548

akosiaris claimed this task.

With https://gerrit.wikimedia.org/r/217548 merged, the steps outlined in https://www.mediawiki.org/wiki/Services/Meetings/2015-03-19-Ops are down to 5. 1 extra step was added and 8 steps where collapsed into one via an automation mechanism. This is a script asking some basic questions and/or accepting answers to the same questions as arguments, and creating git patches for review by the ops team. This is expected to greatly standardize and automate the process of introducing new services in the infrastructure. There is still some work that can be done on this script marked as TODO but it should be done at a later time. Resolving this for now