Managing Community Cookbooks with a busy schedule - chef-boneyard/chef-summit-2014 GitHub Wiki

Managing Community Cookbooks with a busy schedule

$DAY, $ROOM, $TIME

Convener

Heavywater, Aaron

Participants

Aaron - Heavywater @cwebber - Chef

Summary of Discussions

  • Lots of community cookbooks that haven't been looked at for long time with lots of pull requests
  • How do we give enough attention to them?
  • Most PR's are simple (if test kitchen (TK) is setup properly already)
  • Older cookbooks need to be updated to current testing practices
  • Testing is important to matter what and should ALWAYS be included in any community cookbook
  • Developing a standardized workflow on how to manage a cookbook (Heavywater)
    • Add test kitchen or vagrant
    • Serverspec
    • Emerald
    • Merge PR into delevelop, conv test, a develop branch
    • Make sure PR's don't include a version bump
    • Update changelog
    • bundle exec release
    • once released, rebase develop and increment major version
    • Develop is always a major version ahead of master
    • Dev odd symver (kind of git flow)
    • blocking time for focusing on community cookbooks (i.e. 2hrs on sunday)
    • Be consistant but have it in managble chunks
  • Could copy from the last good cookbook, but then you have 17 different versions. Use chef generate instead
    • But doesn't help when you need to update it
  • module-sync from puppet labs may help? - @cwebber
  • Every cookbook has a Rakefile with standard commands
    • Manage this via a gem itself and have the community collaborate
    • Everyone has a different set of standards, lets standardize on a common set of tools?
    • Common library with all the details included
  • How do we solve these problems globally?
    • Try new stuff and test it in the wild
  • Governance of cookbooks (i.e. homebrew)
  • Handling the "burning wall of shame" and all of the PR's we're behind on
    • Use perl module kuality check ( what are the top cookbooks that everyone uses that needs maintainers?
    • New contributor docs and guidelines
    • Type of PRs?
      • Robucop sucks (500 line changes) vs. an Ubuntu 14.04 fix?
      • But Robucop is an easy way to getting new people involved
      • Only do small targets for Robucop PRs (don't fix all the things)
      • contributing docs need to be the same across all the cookbooks
  • Maintaining 4 years worth of cookbooks: How do you manage that?
    • Having a tool to go through cookbooks to see what needs help

What will we do now? What needs to happen next?

  • PR with the chef-client to manage the Rakefile - Doug
  • PR/Issue the gem with the common code base for testing tasks - Sean
  • Doing the robocop thing @cwebber - deadline: SCALE?
  • Add more non-chef committers to chef owned cookbooks by ChefConf
⚠️ **GitHub.com Fallback** ⚠️