New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stricter constraints are being added to cookbooks #579

Closed
aespinosa opened this Issue Jul 10, 2014 · 9 comments

Comments

Projects
None yet
4 participants
@aespinosa

aespinosa commented Jul 10, 2014

For example, supermarket says that yum-epel has a dependency on yum '~> 3.0.0' https://supermarket.getchef.com/api/v1/cookbooks/yum-epel/versions/0_3_6

However yum-epel only has yum, '~> 3.0' as a constraint in the sourcecode https://github.com/opscode-cookbooks/yum-epel/blob/master/metadata.rb#L9

This makes 'berks install' grab dependencies inconsistently. Consider the following Berksfile:

source 'https://api.berkshelf.com'
cookbook 'yum-epel'
  1. on the first 'berks install', it grabs the dependencies from the supermarket universe so yum 3.0.6 is downloaded. At this point yum-epel 0.3.6 is also in berkshelf's cookbook store
  2. delete the Berksfile.lock
  3. on the second 'berks install', it grabs yum-epel from the cookbook store first and noticies that it's only constrained on '~> 3.0'. So it downloads yum 3.2.2 instead since it is the latest cookbook that satisfies that constraint.
@cwebberOps

This comment has been minimized.

Contributor

cwebberOps commented Jul 10, 2014

@aespinosa Thanks! This is likely to cause a bit of pain. I will do what I can to get someone to look at this quickly.

@sethvargo

This comment has been minimized.

sethvargo commented Jul 10, 2014

This is a critical bug and needs to be expedited. Lockfiles are stored locally, and downloading an incorrect version constraint can really screw things up.

@bcobb @brettchalupa can we throw this on an expedite card please? It's super important that we get this fixed ASAP.

/cc @reset

@bcobb

This comment has been minimized.

Contributor

bcobb commented Jul 10, 2014

Working on it now, @sethvargo

@sethvargo

This comment has been minimized.

sethvargo commented Jul 10, 2014

❤️

@aespinosa

This comment has been minimized.

aespinosa commented Jul 10, 2014

@bcobb can you provide the estimate on when the changes will get rolled out? Just tested the endpoint i mentioned earlier, and the constraint it reports is still the same.

curl https://supermarket.getchef.com/api/v1/cookbooks/yum-epel/versions/0_3_6
{"license":"Apache 2.0","tarball_file_size":4087,"version":"0.3.6","average_rating":null,"cookbook":"https://supermarket.getchef.com/api/v1/cookbooks/yum-epel","file":"https://supermarket.getchef.com/api/v1/cookbooks/yum-epel/versions/0.3.6/download","dependencies":{"yum":"~> 3.0.0"}}
@cwebberOps

This comment has been minimized.

Contributor

cwebberOps commented Jul 10, 2014

@aespinosa I am going to try and get it released shortly

@cwebberOps

This comment has been minimized.

Contributor

cwebberOps commented Jul 10, 2014

@aespinosa the release is done and the reprocessing of the cookbooks is running now.

@bcobb

This comment has been minimized.

Contributor

bcobb commented Jul 11, 2014

@aespinosa I think everything should be good to go. https://supermarket.getchef.com/api/v1/metrics reports that all cookbook versions had their dependencies rebuilt, and a cursory glance at the universe endpoint looks good. Of note, yum-epel's yum dependency is now only constrained to ~> 3.0.

Thanks, @cwebberOps, for taking care of deployment!

@aespinosa

This comment has been minimized.

aespinosa commented Jul 11, 2014

looks good on my side as well. thanks @bcobb @cwebberOps !

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