Skip to content

Instantly share code, notes, and snippets.

@thommay
Last active August 29, 2015 14:17
Show Gist options
  • Save thommay/42b033d2c877e74e6b1a to your computer and use it in GitHub Desktop.
Save thommay/42b033d2c877e74e6b1a to your computer and use it in GitHub Desktop.
compile_time post mortem

Meeting

Start every PM stating the following

  1. This is a blameless Post Mortem.
  2. We assume everyone participating in the project wants to do a good job.
  3. We will not focus on the past events as they pertain to "could've", "should've", etc.
  4. All follow up action items must be actionable and have a participating individuals commitment to implement, design, or otherwise achieve them.

Post-mortem Facilitator: Thom May

Description

Chef Client 12.1.0 introduced the compile_time property on the chef_gem resource. Chef Sugar had previously provided compile_time as a method. Testing for the presence of the compile_time method led to errors when the user was also using Sugar.

Timeline

Contributing Factor(s)

  • "Traditional" way of doing things at compile time is ugly and non-obvious.
  • Sugar added compile_time to rectify that.
  • Sugar's compile_time takes a block of code to execute during the compile phase.
  • Chef's compile_time is a parameter for chef_gem only. Takes a boolean.
  • Sugar mixes in to the recipe DSL (which chef mixes in to "everything") and so checking for compile_time succeeds in both 11 and 12.
  • Some widely used cookbooks (xml, omnibus) have direct dependencies on chef_sugar

Stabilization Steps

Impact

Technical:

  • High profile cookbooks broken.
  • Long standing Community projects broken, causing additional work and negatively impacting quality of life of volunteers.
  • user disruption and mistrust of Chef

Community Guidelines:

  • Seth received phone calls from users around this issue, which is totally unacceptable.
  • https://github.com/sethvargo/chef-sugar/issues/97 is a violation of our community guidelines (seth blocked the reporter on github)
  • bullying tactics related to the above are also a violation.

Corrective Actions

  • Link Community Guidelines in the README of Chef projects. (Thom)
  • Clarify communication lines for violations of the Community Guidelines. (Nathen)
  • Make it clear what methods of contacting maintainers are acceptable (in the guidelines). (Nathen)
  • Wider and deeper testing of community cookbooks and projects as part of release cycle (btm, sean, sethc, fletcher)
  • Chef Developer Program (Thom - Community Summit)
@nathenharvey
Copy link

My corrective actions are currently being implemented here: chef-boneyard/chef-rfc#114

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment