Chef cookbooks versions and chef versions


#1

Hi,
I’d appreciate it opscode can confirm that in their cookbooks repo,
they bump any of the major or minor or patch version numbers of any
affected cookbook when they release a Chef version?

The reason: in the cookbooks account I’m tagging each cookbook repo
with the version in the metadata.json (creating/updating the
metadata.json as required).
I’m wondering if there is some assurance that, for example, v0.6.2 of
zenoss will always point to the cookbook as it was when Chef was at
v0.9.12.
Or, in other words, is it possible that when the changes in the
Cookbooks 0.10.rc.0 branch get merged into master, that an affected
cookbook metadata version number does not get bumped?

TIA


πόλλ’ οἶδ ἀλώπηξ, ἀλλ’ ἐχῖνος ἓν μέγα
[The fox knows many things, but the hedgehog knows one big thing.]
Archilochus, Greek poet (c. 680 BC – c. 645 BC)
http://wiki.hedgehogshiatus.com


#2

Cookbook releases are independent of Chef releases. I’m pretty sure
cookbooks do not get touched on the cookbooks site when a new Chef
release is made. The GitHub repo is versioned so when 0.10 is released
the cookbooks there will all support 0.10 properly (and if you need
0.9.x support you can use the older versions).

That said, I haven’t seen any documentation about requiring a specific
Chef version in the metadata.rb, so I opened
http://tickets.opscode.com/browse/CHEF-2251

Thanks,
Matt Ray
Technical Evangelist | Opscode, Inc
E: matt@opscode.com T: (512) 731-2218
Twitter, Github: mattray

On Thu, Apr 21, 2011 at 2:49 AM, Hedge Hog hedgehogshiatus@gmail.com wrote:

Hi,
I’d appreciate it opscode can confirm that in their cookbooks repo,
they bump any of the major or minor or patch version numbers of any
affected cookbook when they release a Chef version?

The reason: in the cookbooks account I’m tagging each cookbook repo
with the version in the metadata.json (creating/updating the
metadata.json as required).
I’m wondering if there is some assurance that, for example, v0.6.2 of
zenoss will always point to the cookbook as it was when Chef was at
v0.9.12.
Or, in other words, is it possible that when the changes in the
Cookbooks 0.10.rc.0 branch get merged into master, that an affected
cookbook metadata version number does not get bumped?

TIA


πόλλ’ οἶδ ἀλώπηξ, ἀλλ’ ἐχῖνος ἓν μέγα
[The fox knows many things, but the hedgehog knows one big thing.]
Archilochus, Greek poet (c. 680 BC – c. 645 BC)
http://wiki.hedgehogshiatus.com


#3

On Fri, Apr 22, 2011 at 12:15 AM, Matt Ray matt@opscode.com wrote:

Cookbook releases are independent of Chef releases. I’m pretty sure
cookbooks do not get touched on the cookbooks site when a new Chef
release is made. The GitHub repo is versioned so when 0.10 is released
the cookbooks there will all support 0.10 properly (and if you need
0.9.x support you can use the older versions).

That said, I haven’t seen any documentation about requiring a specific
Chef version in the metadata.rb, so I opened
http://tickets.opscode.com/browse/CHEF-2251

I’m not sure adding a chef version to the metadata is necessary/required.
Sure it helps, but it would suffice to bump even a patch version
number on each cookbook when any Chef version is released.
But good to know that cookbook version numbers and Chef version
numbers are independent.

Best wishes.
PS Matt, enjoyed your Zenoss webcast, its serving as a
example/prototype for reusable Cucumber-steps - unless you are aware
of another demo/tutorial that is more complete in exercising Chef?

Thanks,
Matt Ray
Technical Evangelist | Opscode, Inc
E: matt@opscode.com T: (512) 731-2218
Twitter, Github: mattray

On Thu, Apr 21, 2011 at 2:49 AM, Hedge Hog hedgehogshiatus@gmail.com wrote:

Hi,
I’d appreciate it opscode can confirm that in their cookbooks repo,
they bump any of the major or minor or patch version numbers of any
affected cookbook when they release a Chef version?

The reason: in the cookbooks account I’m tagging each cookbook repo
with the version in the metadata.json (creating/updating the
metadata.json as required).
I’m wondering if there is some assurance that, for example, v0.6.2 of
zenoss will always point to the cookbook as it was when Chef was at
v0.9.12.
Or, in other words, is it possible that when the changes in the
Cookbooks 0.10.rc.0 branch get merged into master, that an affected
cookbook metadata version number does not get bumped?

TIA


πόλλ’ οἶδ ἀλώπηξ, ἀλλ’ ἐχῖνος ἓν μέγα
[The fox knows many things, but the hedgehog knows one big thing.]
Archilochus, Greek poet (c. 680 BC – c. 645 BC)
http://wiki.hedgehogshiatus.com


πόλλ’ οἶδ ἀλώπηξ, ἀλλ’ ἐχῖνος ἓν μέγα
[The fox knows many things, but the hedgehog knows one big thing.]
Archilochus, Greek poet (c. 680 BC – c. 645 BC)
http://wiki.hedgehogshiatus.com


#4

HI there!

On Thursday, April 21, 2011 at 1:49 AM, Hedge Hog wrote:

I’d appreciate it opscode can confirm that in their cookbooks repo,
they bump any of the major or minor or patch version numbers of any
affected cookbook when they release a Chef version?

Not necessarily.

It depends on whether particular cookbooks need to be modified for a particular Chef release. We’re pretty happy overall with the Recipe DSL, so it doesn’t (hasn’t?) changed in a way that really needs recipe refactoring, and most of the cookbooks we publish just have recipes. When updates to cookbooks occur from tickets, or work we’ve done with clients or helping users, we release new versions on the Community site.

Sometimes behavior is deprecated, such as the removal of the “@node” notation, or the meta-parameter “notifies” usage. We update cookbooks for those, and try and lag a bit on the time between the releases, but there hasn’t been a very formal release or version management. I’ve tried to make sure and mention versions of Chef required where applicable in the README.

That said, we do have a number of changes that will be coming along with the 0.10.0 release. I have another post for the mailing lists coming next week to describe a number of the changes the 0.10.rc.0 branch is going to introduce, so stay tuned.

with the version in the metadata.json (creating/updating the
metadata.json as required).
I’m wondering if there is some assurance that, for example, v0.6.2 of
zenoss will always point to the cookbook as it was when Chef was at
v0.9.12.
Or, in other words, is it possible that when the changes in the
Cookbooks 0.10.rc.0 branch get merged into master, that an affected
cookbook metadata version number does not get bumped?
As Matt mentioned, a chef_version in metadata may be useful for this, if nothing else to indicate which version of Chef to use when browsing the Community site for cookbooks - and exposing that information when using knife cookbook site commands.

We definitely recommend that folks obtain the cookbooks from the Community site, rather than using the GitHub repository. There are a number of reasons for this, least of which is version management, but also discoverability - it can be really hard to find cookbooks on GitHub since there’s so many forks. Also, it is easier to lock into a version, especially with the upcoming "Environments"1 and “Cookbook Version Constraints”[3] features in Chef 0.10. We’ll probably tag the repository with something related to 0.9 before merging the 0.10 branch.

[3] http://wiki.opscode.com/display/chef/Version+Constraints


Opscode, Inc.
Joshua Timberman, Director of Training and Services
IRC, Skype, Twitter, Github: jtimberman