Page MenuHomePhabricator

Research Puppet as a new format of distribution
Closed, DeclinedPublic

Description

Mark researches Puppet as a new format of distribution for release work.

Event Timeline

Palexis created this task.Oct 1 2014, 3:02 PM
Palexis updated the task description. (Show Details)
Palexis raised the priority of this task from to Normal.
Palexis assigned this task to MarkAHershberger.
Palexis added a project: Wiki-Release-Team.
Palexis changed Security from none to None.
Palexis added subscribers: Palexis, Qgil, MarkAHershberger.
Palexis added a subscriber: Mglaser.Oct 1 2014, 4:37 PM
Qgil added a comment.Oct 1 2014, 6:39 PM

What needs to be researched specifically?

Quim, Mark should respond to your question.

In the meantime, I will edit the description and close the parent task.

Palexis renamed this task from Research Puppet to Research Puppet as a new format of distribution .Oct 1 2014, 11:22 PM
Palexis closed this task as Unknown Status.Oct 21 2014, 2:20 PM
Palexis removed MarkAHershberger as the assignee of this task.
Palexis moved this task from Ready to Go to Backlog on the Wiki-Release-Team board.
chasemp reopened this task as Stalled.Nov 10 2014, 3:39 PM
chasemp added a subscriber: chasemp.
Palexis lowered the priority of this task from Normal to Low.Dec 8 2014, 4:07 PM

Has any work been done on this?

chasemp added a comment.EditedFeb 2 2015, 9:23 PM

Has any work been done on this?

Hi Gwicke :)

I'm guessing the original intention for this was distribution of software internally via puppet for home grown stuffs. So in ignorance and/or omniscience I am doing something atypical for Phabricator itself which I think is the most relevant example. See: https://phabricator.wikimedia.org/diffusion/OPUP/browse/production/modules/git/manifests/install.pp. In essence I track repo's for Phab with a tag in Git, that tag is managed and enforced via Puppet. It is basically this https://github.com/wikimedia/operations-puppet/blob/production/manifests/role/phabricator.pp#L64. There is a lock file on the box itself that will have Puppet warn in the console if the local state is a mismatch but will not actually change anything.

So to update Phabricator repos (multiple repo's that need to be tracked together):

  • Change the tag in Puppet
  • Log on to Iridium and run Puppet to see the new tag waiting
  • remove lock file and run Puppet

A few neat things about git checkout tags/mytag is that is works even if the tag isn't in the master branch and it generally plays nicely with git remote update so there isn't as much worry about what state the repo is in to begin with.

In practice there is phab_upgrade_tag script that stops some things and does a bit of sanity checking and schema updating post repo update but this is the general idea and probably the closest thing to coupling Puppet state with code in prod.

GWicke added a comment.EditedFeb 2 2015, 9:26 PM

@chasemp, my understanding is that this was originally about distributing MediaWiki and various services to third-party users using Puppet.

See also: T88151

@Chase, my understanding is that this was originally about distributing MediaWiki and various services to third-party users using Puppet.

In that case take everything I said with as campfire-esque story time initiative of no relevance :)

chasemp removed a subscriber: chasemp.Mar 11 2015, 9:09 PM
demon closed this task as Declined.Sep 8 2017, 8:19 PM