Page MenuHomePhabricator

Support smooth transitions from Trebuchet managed deploys
Closed, ResolvedPublic

Description

From https://gerrit.wikimedia.org/r/#/c/238839/:

Dan and I talked yesterday about this (and I talked to Filippo about it this morning): it would be fairly easy (and a Good Thing™) to keep backwards compatibility WRT trebuchet directory structure in this patch.

Combination of Dan and Filippo's thoughts: Rather than use /srv/deployment/[repo]/{cache,current,revs} we could use /srv/deployment-cache/[repo]/{cache,current,revs} and symlink /srv/deployment/[repo] -> /srv/deployment-cache/repo/current

Keeps backwards compatibility, plus is future-repo-name agnostic (i.e., repos wouldn't have to be named something/something [e.g., scap/scap ocg/ocg] for this to work.)

...

Would be a nice to have to just put the final finishing symlink in-place with a config var like final_path (ln -s [deploy_dir]/current -> final_path)

The one caveat to this approach is deciding how to deal with existing Trebuchet managed directories before we create the final_path symlink. @mmodell suggested we might move them to a .old directory, which seems like a sane approach.

Bikeshedding: What about calling it legacy_dir? That way we get annoyed every time we see the word "legacy" and feel motivated to migrate the remaining Trebuchet repos to use our new tool. :)

Also, I'm assuming this should happen after the current link is switched but before service restart? (Which means we may have to split the promote stage into promote and restart; that should be trivial.)

Event Timeline

dduvall raised the priority of this task from to Medium.
dduvall updated the task description. (Show Details)
dduvall added a project: Scap.

Change 241684 had a related patch set uploaded (by Thcipriani):
Checkout revs to repo-cache, link to repo

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

Change 241684 merged by jenkins-bot:
Checkout revs to repo-cache, link to repo

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

dduvall claimed this task.