Skip to content

Instantly share code, notes, and snippets.

@binford2k
Last active January 6, 2020 19:02
Show Gist options
  • Save binford2k/3bc4069bd19392e5b3096e4fc55bdb2d to your computer and use it in GitHub Desktop.
Save binford2k/3bc4069bd19392e5b3096e4fc55bdb2d to your computer and use it in GitHub Desktop.
Puppet 3.x -> 4.x function API upgrade report

Puppet 3.x -> 4.x function API upgrade

This is a quick report of all the GitHub repositories that we attempted to automatically upgrade to the Puppet 4.x function API. Many of these are stale and won't ever be noticed. And many of them are redundant forks, because for whatever reason, the GitHub API doesn't always identify forks reliably. 🤷

But it's a decent start!

Of interest is the fact that only roughly 900 module repositories contained Puppet 3.x functions to begin with, and most of those were forks or otherwise unmaintained. There are only 343 uniquely named Puppet module repositories containing Puppet 3.x functions. Perhaps an interesting next step for identifying usage is to check each of these repositorioes for the age of the last commit.

The list of open pull requests will gradually go down as people see and respond to them. Since so many of these repositories are stale, I don't expect this list to ever be short!

Successfully upgraded repositories

Skipped forked repositories

All the repositories that we could identify as a fork were skipped and listed here. For some reason, the GitHub API didn't reliably identify all forks (maybe it was because I ended up rate limited!)

Repositories in which the updater made no changes

If the function updater was not able to port any functions, or if the lib/puppet/parser/functions directory had no functions to port, then it will be listed here.

Repositories that failed the upgrade

Common failure reasons include the repo being archived or deleted since the last time GitHub data was scraped. A function that fails to port is not recorded here since this process was not intended to be exhaustive.

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