More Berkshelf anomalies?


#1

I see two anomalies.

(Installed as gem, i.e., NOT ChefDk)
berks -v
3.2.3

I have a flexnet-monitoring cookbook, and its metadata.rb looks like:

name ‘flexnet-monitoring’
(snip)
version ‘0.4.0’

I have an environment cookbook whose Berksfile looks like:

source “https://supermarket.chef.io

metadata

Community cookbooks

cookbook 'chef-client’
cookbook 'powershell’
cookbook ‘push-jobs’

Internal cookbooks

cookbook ‘flexnet-monitoring’, git: ‘git@git-server.domain.com:projectcookbooks/flexnet-monitoring.git’

…and the metadata.rb looks like

name ‘mycookbook_env_dev’
(snip)
version ‘0.1.0’

depends ‘flexnet-monitoring’, ‘~> 0.4.0’

Anomaly 1:

When I do a berks install I get

Unable to satisfy constraints on package flexnet-monitoring~> 0.4.0, which does not exist, due to solution constraint (mycookbook_env_dev = 0.1.0). Solution constraints that may result in a constraint on flexnet-monitoring~> 0.4.0: [(mycookbook_env_dev = 0.1.0) -> (flexnet-monitoring~> 0.4.0 >= 0.0.0)]
Missing artifacts: flexnet-monitoring~> 0.4.0

If I remove the version constraint from the mycookbook_env_dev’s metadata.rb file, that is,

name ‘mycookbook_env_dev’
(snip)
version ‘0.1.0’

depends ‘flexnet-monitoring’

…and do a berks install, I get

Fetching ‘flexnet-monitoring’ from git@git-server.domain.com:projectcookbooks/flexnet-monitoring.git (at master)

Using flexnet-monitoring (0.4.0) from git@git-server.domain.com:projectcookbooks/flexnet-monitoring.git (at master)

Why does having the ‘~>0.4.0’ constraint fail?

Anomaly 2:

Now if I do a berks list, I get

And if I do berks shelf uninstall flexnet-monitoring, I get

Cookbook ‘flexnet-monitoring’ not found in the Berkshelf shelf!

Why?

Chris