Berks Debugging Tools


#1

Are there some tools in debugging Berks dependency with Berksfile?

I spent some time debugging the chef-openstack repo and it seemed like there should be a better way to debug it. My strategy was to take the Berksfile to a smaller and smaller subset until there error message went to something obvious enough to deal with. What are people using to debug Berksfiles?

The case I had was complex in having multiple problems, but the log below gives you an idea of how you get from an error message that tells, graph does not have a solution to something that is actionable, it is the tree pruned so that you can see what is going on…

$ chef exec rake berks_vendor

chef exec berks vendor cookbooks

Resolving cookbook dependencies…

Fetching cookbook index from https://supermarket.chef.io

Unable to satisfy constraints on package openstack-common due to solution constraint (openstack-block-storage = 10.1.0). Solution constraints that may result in a constraint on openstack-common: [(openstack-block-storage = 10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-block-storage = 10.1.0) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-block-storage = 10.1.0) -> (openstack-image = 10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-block-storage = 10.1.0) -> (openstack-image = 10.1.0) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-common = 10.3.0)], [(openstack-compute = 10.0.0) -> (openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) -> (openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) -> (openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-dashboard = 10.0.0) -> (openstack-common >= 10.2.0)], [(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-image = 10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-image = 10.1.0) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)], [(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-object-storage = 10.0.0) -> (openstack-common >= 10.2.0)], [(openstack-object-storage = 10.0.0) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-ops-database = 10.0.0) -> (openstack-common >= 10.0.0)], [(openstack-ops-messaging = 10.0.1) -> (openstack-common >= 10.0.0)], [(openstack-orchestration = 10.0.0) -> (openstack-common >= 10.2.0)], [(openstack-orchestration = 10.0.0) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) -> (openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) -> (openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) -> (openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)]

Demand that cannot be met: (openstack-block-storage = 10.1.0)

Artifacts for which there are conflicting dependencies: openstack-common = 10.3.0 -> [(apt >= 2.3.8), (database >= 4.0.2), (mysql >= 6.0.13), (yum >= 3.5.2), (yum-epel >= 0.6.0)],ceph = 0.2.0 -> [(apache2 >= 1.1.12), (apt >= 0.0.0), (yum >= 3.0.0), (yum-epel >= 0.0.0)]Unable to find a solution for demands: apache2 (= 3.0.0), apt (= 2.6.1), aws (= 2.1.1), build-essential (= 1.4.2), database (= 2.2.0), erlang (= 1.4.2), memcached (= 1.7.2), mysql (>= 0.0.0), mysql-chef_gem (= 0.0.4), openssl (= 1.1.0), openstack-block-storage (10.1.0), openstack-common (10.3.0), openstack-compute (10.0.0), openstack-dashboard (10.0.0), openstack-identity (10.0.1), openstack-image (10.1.0), openstack-network (10.1.1), openstack-object-storage (10.0.0), openstack-ops-database (10.0.0), openstack-ops-messaging (10.0.1), openstack-orchestration (10.0.0), openstack-telemetry (10.0.1), postgresql (= 3.4.14), python (= 1.4.6), rabbitmq (= 3.9.0), selinux (= 0.7.2), statsd (0.1.6), xfs (= 1.1.0), yum (= 3.5.2), yum-epel (= 0.6.0)

rake aborted!

to this one:

$ chef exec rake berks_vendor

chef exec berks vendor cookbooks

Resolving cookbook dependencies…

Fetching cookbook index from https://supermarket.chef.io

Required artifacts do not exist at the desired version

Constraints that match no available version: (ceph = 0.2.1)

Unable to find a solution for demands: apache2 (>= 0.0.0), apt (= 2.6.1), aws (= 2.1.1), build-essential (= 1.4.2), ceph (= 0.2.1), database (= 4.0.2), erlang (= 1.4.2), memcached (= 1.7.2), mysql (= 6.0.13), mysql2_chef_gem (= 1.0.1), openssl (= 1.1.0), postgresql (= 3.4.14), python (= 1.4.6), rabbitmq (= 3.9.0), selinux (= 0.7.2), statsd (0.1.6), xfs (= 1.1.0), yum (= 3.5.2), yum-epel (= 0.6.0)

rake aborted!


#2

currently not many options. when we migrated from berks 2 -> berks 3 i was
using mostly log level and similar approach as yours. There are certain
known problems that constitutes bulk of the dep solve issues, like circular
deps, i had a conversation with jamie , and we were thinking of introducing
detectors for the common ones (like circular dep) , but i never got time to
work on it.

regards
ranjib

On Tue, Feb 17, 2015 at 11:08 AM, Soheil Eizadi seizadi@infoblox.com
wrote:

Are there some tools in debugging Berks dependency with Berksfile?

I spent some time debugging the chef-openstack repo and it seemed like
there should be a better way to debug it. My strategy was to take the
Berksfile to a smaller and smaller subset until there error message went to
something obvious enough to deal with. What are people using to debug
Berksfiles?

The case I had was complex in having multiple problems, but the log
below gives you an idea of how you get from an error message that tells,
graph does not have a solution to something that is actionable, it is the
tree pruned so that you can see what is going on…

$ chef exec rake berks_vendor

chef exec berks vendor cookbooks

Resolving cookbook dependencies…

Fetching cookbook index from https://supermarket.chef.io

Unable to satisfy constraints on package openstack-common due to solution
constraint (openstack-block-storage = 10.1.0). Solution constraints that
may result in a constraint on openstack-common: [(openstack-block-storage =
10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-block-storage =
10.1.0) -> (openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-block-storage = 10.1.0) -> (openstack-image = 10.1.0) ->
(openstack-common >= 10.2.0)], [(openstack-block-storage = 10.1.0) ->
(openstack-image = 10.1.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-common = 10.3.0)],
[(openstack-compute = 10.0.0) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) ->
(openstack-image = 10.1.0) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-network = 10.1.1) ->
(openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-dashboard = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-image = 10.1.0) ->
(openstack-common >= 10.2.0)], [(openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)],
[(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-object-storage = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-object-storage = 10.0.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-ops-database = 10.0.0) -> (openstack-common >= 10.0.0)],
[(openstack-ops-messaging = 10.0.1) -> (openstack-common >= 10.0.0)],
[(openstack-orchestration = 10.0.0) -> (openstack-common >= 10.2.0)],
[(openstack-orchestration = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)]

Demand that cannot be met: (openstack-block-storage = 10.1.0)

Artifacts for which there are conflicting dependencies: openstack-common =
10.3.0 -> [(apt >= 2.3.8), (database >= 4.0.2), (mysql >= 6.0.13), (yum >=
3.5.2), (yum-epel >= 0.6.0)],ceph = 0.2.0 -> [(apache2 >= 1.1.12), (apt >=
0.0.0), (yum >= 3.0.0), (yum-epel >= 0.0.0)]Unable to find a solution for
demands: apache2 (= 3.0.0), apt (= 2.6.1), aws (= 2.1.1), build-essential
(= 1.4.2), database (= 2.2.0), erlang (= 1.4.2), memcached (= 1.7.2), mysql
(>= 0.0.0), mysql-chef_gem (= 0.0.4), openssl (= 1.1.0),
openstack-block-storage (10.1.0), openstack-common (10.3.0),
openstack-compute (10.0.0), openstack-dashboard (10.0.0),
openstack-identity (10.0.1), openstack-image (10.1.0), openstack-network
(10.1.1), openstack-object-storage (10.0.0), openstack-ops-database
(10.0.0), openstack-ops-messaging (10.0.1), openstack-orchestration
(10.0.0), openstack-telemetry (10.0.1), postgresql (= 3.4.14), python (=
1.4.6), rabbitmq (= 3.9.0), selinux (= 0.7.2), statsd (0.1.6), xfs (=
1.1.0), yum (= 3.5.2), yum-epel (= 0.6.0)

rake aborted!

to this one:

$ chef exec rake berks_vendor

chef exec berks vendor cookbooks

Resolving cookbook dependencies…

Fetching cookbook index from https://supermarket.chef.io

Required artifacts do not exist at the desired version

Constraints that match no available version: (ceph = 0.2.1)

Unable to find a solution for demands: apache2 (>= 0.0.0), apt (= 2.6.1),
aws (= 2.1.1), build-essential (= 1.4.2), ceph (= 0.2.1), database (=
4.0.2), erlang (= 1.4.2), memcached (= 1.7.2), mysql (= 6.0.13),
mysql2_chef_gem (= 1.0.1), openssl (= 1.1.0), postgresql (= 3.4.14), python
(= 1.4.6), rabbitmq (= 3.9.0), selinux (= 0.7.2), statsd (0.1.6), xfs (=
1.1.0), yum (= 3.5.2), yum-epel (= 0.6.0)

rake aborted!


#3

Soheil-

This is a known issue currently. We are waiting for the latest tagged
release from the ceph cookbook upstream. You can follow this issue at
https://github.com/ceph/ceph-cookbook/issues/188. Also I believe that
you can workaround this for now by pulling from the git master in the
Berksfile. For an example take a look at the statsd line
https://github.com/jjasghar/chef-openstack-testing-stack/blob/master/Berksfile#L20.

On Tue, Feb 17, 2015, at 02:08 PM, Soheil Eizadi wrote:

Are there some tools in debugging Berks dependency with Berksfile?

I spent some time debugging the chef-openstack repo and it seemed like
there should be a better way to debug it. My strategy was to take the
Berksfile to a smaller and smaller subset until there error message went
to something obvious enough to deal with. What are people using to debug
Berksfiles?

The case I had was complex in having multiple problems, but the log below
gives you an idea of how you get from an error message that tells, graph
does not have a solution to something that is actionable, it is the tree
pruned so that you can see what is going on…

$ chef exec rake berks_vendor

chef exec berks vendor cookbooks

Resolving cookbook dependencies…

Fetching cookbook index from https://supermarket.chef.io

Unable to satisfy constraints on package openstack-common due to solution
constraint (openstack-block-storage = 10.1.0). Solution constraints that
may result in a constraint on openstack-common: [(openstack-block-storage
= 10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-block-storage =
10.1.0) -> (openstack-identity = 10.0.1) -> (openstack-common >=
10.2.0)], [(openstack-block-storage = 10.1.0) -> (openstack-image =
10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-block-storage =
10.1.0) -> (openstack-image = 10.1.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-common = 10.3.0)],
[(openstack-compute = 10.0.0) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) ->
(openstack-image = 10.1.0) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-network = 10.1.1) ->
(openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-dashboard = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-image = 10.1.0) ->
(openstack-common >= 10.2.0)], [(openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)],
[(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-object-storage = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-object-storage = 10.0.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-ops-database = 10.0.0) -> (openstack-common >= 10.0.0)],
[(openstack-ops-messaging = 10.0.1) -> (openstack-common >= 10.0.0)],
[(openstack-orchestration = 10.0.0) -> (openstack-common >= 10.2.0)],
[(openstack-orchestration = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)]

Demand that cannot be met: (openstack-block-storage = 10.1.0)

Artifacts for which there are conflicting dependencies: openstack-common
= 10.3.0 -> [(apt >= 2.3.8), (database >= 4.0.2), (mysql >= 6.0.13), (yum

= 3.5.2), (yum-epel >= 0.6.0)],ceph = 0.2.0 -> [(apache2 >= 1.1.12),
(apt >= 0.0.0), (yum >= 3.0.0), (yum-epel >= 0.0.0)]Unable to find a
solution for demands: apache2 (= 3.0.0), apt (= 2.6.1), aws (= 2.1.1),
build-essential (= 1.4.2), database (= 2.2.0), erlang (= 1.4.2),
memcached (= 1.7.2), mysql (>= 0.0.0), mysql-chef_gem (= 0.0.4), openssl
(= 1.1.0), openstack-block-storage (10.1.0), openstack-common (10.3.0),
openstack-compute (10.0.0), openstack-dashboard (10.0.0),
openstack-identity (10.0.1), openstack-image (10.1.0), openstack-network
(10.1.1), openstack-object-storage (10.0.0), openstack-ops-database
(10.0.0), openstack-ops-messaging (10.0.1), openstack-orchestration
(10.0.0), openstack-telemetry (10.0.1), postgresql (= 3.4.14), python (=
1.4.6), rabbitmq (= 3.9.0), selinux (= 0.7.2), statsd (0.1.6), xfs (=
1.1.0), yum (= 3.5.2), yum-epel (= 0.6.0)

rake aborted!

to this one:

$ chef exec rake berks_vendor

chef exec berks vendor cookbooks

Resolving cookbook dependencies…

Fetching cookbook index from https://supermarket.chef.io

Required artifacts do not exist at the desired version

Constraints that match no available version: (ceph = 0.2.1)

Unable to find a solution for demands: apache2 (>= 0.0.0), apt (= 2.6.1),
aws (= 2.1.1), build-essential (= 1.4.2), ceph (= 0.2.1), database (=
4.0.2), erlang (= 1.4.2), memcached (= 1.7.2), mysql (= 6.0.13),
mysql2_chef_gem (= 1.0.1), openssl (= 1.1.0), postgresql (= 3.4.14),
python (= 1.4.6), rabbitmq (= 3.9.0), selinux (= 0.7.2), statsd (0.1.6),
xfs (= 1.1.0), yum (= 3.5.2), yum-epel (= 0.6.0)

rake aborted!


#4

Thanks,
-Soheil


From: cmluciano@dragoon.io [cmluciano@dragoon.io]
Sent: Tuesday, February 17, 2015 8:49 PM
To: chef@lists.opscode.com
Subject: [chef] Re: Berks Debugging Tools

Soheil-

This is a known issue currently. We are waiting for the latest tagged
release from the ceph cookbook upstream. You can follow this issue at
https://github.com/ceph/ceph-cookbook/issues/188. Also I believe that
you can workaround this for now by pulling from the git master in the
Berksfile. For an example take a look at the statsd line
https://github.com/jjasghar/chef-openstack-testing-stack/blob/master/Berksfile#L20.

On Tue, Feb 17, 2015, at 02:08 PM, Soheil Eizadi wrote:

Are there some tools in debugging Berks dependency with Berksfile?

I spent some time debugging the chef-openstack repo and it seemed like
there should be a better way to debug it. My strategy was to take the
Berksfile to a smaller and smaller subset until there error message went
to something obvious enough to deal with. What are people using to debug
Berksfiles?

The case I had was complex in having multiple problems, but the log below
gives you an idea of how you get from an error message that tells, graph
does not have a solution to something that is actionable, it is the tree
pruned so that you can see what is going on…

$ chef exec rake berks_vendor

chef exec berks vendor cookbooks

Resolving cookbook dependencies…

Fetching cookbook index from https://supermarket.chef.io

Unable to satisfy constraints on package openstack-common due to solution
constraint (openstack-block-storage = 10.1.0). Solution constraints that
may result in a constraint on openstack-common: [(openstack-block-storage
= 10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-block-storage =
10.1.0) -> (openstack-identity = 10.0.1) -> (openstack-common >=
10.2.0)], [(openstack-block-storage = 10.1.0) -> (openstack-image =
10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-block-storage =
10.1.0) -> (openstack-image = 10.1.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-common = 10.3.0)],
[(openstack-compute = 10.0.0) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) ->
(openstack-image = 10.1.0) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-network = 10.1.1) ->
(openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-dashboard = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-image = 10.1.0) ->
(openstack-common >= 10.2.0)], [(openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)],
[(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-object-storage = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-object-storage = 10.0.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-ops-database = 10.0.0) -> (openstack-common >= 10.0.0)],
[(openstack-ops-messaging = 10.0.1) -> (openstack-common >= 10.0.0)],
[(openstack-orchestration = 10.0.0) -> (openstack-common >= 10.2.0)],
[(openstack-orchestration = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)]

Demand that cannot be met: (openstack-block-storage = 10.1.0)

Artifacts for which there are conflicting dependencies: openstack-common
= 10.3.0 -> [(apt >= 2.3.8), (database >= 4.0.2), (mysql >= 6.0.13), (yum

= 3.5.2), (yum-epel >= 0.6.0)],ceph = 0.2.0 -> [(apache2 >= 1.1.12),
(apt >= 0.0.0), (yum >= 3.0.0), (yum-epel >= 0.0.0)]Unable to find a
solution for demands: apache2 (= 3.0.0), apt (= 2.6.1), aws (= 2.1.1),
build-essential (= 1.4.2), database (= 2.2.0), erlang (= 1.4.2),
memcached (= 1.7.2), mysql (>= 0.0.0), mysql-chef_gem (= 0.0.4), openssl
(= 1.1.0), openstack-block-storage (10.1.0), openstack-common (10.3.0),
openstack-compute (10.0.0), openstack-dashboard (10.0.0),
openstack-identity (10.0.1), openstack-image (10.1.0), openstack-network
(10.1.1), openstack-object-storage (10.0.0), openstack-ops-database
(10.0.0), openstack-ops-messaging (10.0.1), openstack-orchestration
(10.0.0), openstack-telemetry (10.0.1), postgresql (= 3.4.14), python (=
1.4.6), rabbitmq (= 3.9.0), selinux (= 0.7.2), statsd (0.1.6), xfs (=
1.1.0), yum (= 3.5.2), yum-epel (= 0.6.0)

rake aborted!

to this one:

$ chef exec rake berks_vendor

chef exec berks vendor cookbooks

Resolving cookbook dependencies…

Fetching cookbook index from https://supermarket.chef.io

Required artifacts do not exist at the desired version

Constraints that match no available version: (ceph = 0.2.1)

Unable to find a solution for demands: apache2 (>= 0.0.0), apt (= 2.6.1),
aws (= 2.1.1), build-essential (= 1.4.2), ceph (= 0.2.1), database (=
4.0.2), erlang (= 1.4.2), memcached (= 1.7.2), mysql (= 6.0.13),
mysql2_chef_gem (= 1.0.1), openssl (= 1.1.0), postgresql (= 3.4.14),
python (= 1.4.6), rabbitmq (= 3.9.0), selinux (= 0.7.2), statsd (0.1.6),
xfs (= 1.1.0), yum (= 3.5.2), yum-epel (= 0.6.0)

rake aborted!


#5

Soheil-

If you pull in the latest changes, you should be good to go.

On Tue, Feb 17, 2015, at 11:49 PM, cmluciano@dragoon.io wrote:

Soheil-

This is a known issue currently. We are waiting for the latest tagged
release from the ceph cookbook upstream. You can follow this issue at
https://github.com/ceph/ceph-cookbook/issues/188. Also I believe that
you can workaround this for now by pulling from the git master in the
Berksfile. For an example take a look at the statsd line
https://github.com/jjasghar/chef-openstack-testing-stack/blob/master/Berksfile#L20.

On Tue, Feb 17, 2015, at 02:08 PM, Soheil Eizadi wrote:

Are there some tools in debugging Berks dependency with Berksfile?

I spent some time debugging the chef-openstack repo and it seemed like
there should be a better way to debug it. My strategy was to take the
Berksfile to a smaller and smaller subset until there error message went
to something obvious enough to deal with. What are people using to debug
Berksfiles?

The case I had was complex in having multiple problems, but the log below
gives you an idea of how you get from an error message that tells, graph
does not have a solution to something that is actionable, it is the tree
pruned so that you can see what is going on…

$ chef exec rake berks_vendor

chef exec berks vendor cookbooks

Resolving cookbook dependencies…

Fetching cookbook index from https://supermarket.chef.io

Unable to satisfy constraints on package openstack-common due to solution
constraint (openstack-block-storage = 10.1.0). Solution constraints that
may result in a constraint on openstack-common: [(openstack-block-storage
= 10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-block-storage =
10.1.0) -> (openstack-identity = 10.0.1) -> (openstack-common >=
10.2.0)], [(openstack-block-storage = 10.1.0) -> (openstack-image =
10.1.0) -> (openstack-common >= 10.2.0)], [(openstack-block-storage =
10.1.0) -> (openstack-image = 10.1.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-common = 10.3.0)],
[(openstack-compute = 10.0.0) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) ->
(openstack-image = 10.1.0) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-compute = 10.0.0) -> (openstack-network = 10.1.1) ->
(openstack-common >= 10.2.0)], [(openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-dashboard = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-image = 10.1.0) ->
(openstack-common >= 10.2.0)], [(openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)],
[(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-object-storage = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-object-storage = 10.0.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-ops-database = 10.0.0) -> (openstack-common >= 10.0.0)],
[(openstack-ops-messaging = 10.0.1) -> (openstack-common >= 10.0.0)],
[(openstack-orchestration = 10.0.0) -> (openstack-common >= 10.2.0)],
[(openstack-orchestration = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-common >= 10.2.0)], [(openstack-telemetry = 10.0.1) ->
(openstack-compute = 10.0.0) -> (openstack-image = 10.1.0) ->
(openstack-identity = 10.0.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-common >= 10.2.0)],
[(openstack-telemetry = 10.0.1) -> (openstack-compute = 10.0.0) ->
(openstack-network = 10.1.1) -> (openstack-identity = 10.0.1) ->
(openstack-common >= 10.2.0)]

Demand that cannot be met: (openstack-block-storage = 10.1.0)

Artifacts for which there are conflicting dependencies: openstack-common
= 10.3.0 -> [(apt >= 2.3.8), (database >= 4.0.2), (mysql >= 6.0.13), (yum

= 3.5.2), (yum-epel >= 0.6.0)],ceph = 0.2.0 -> [(apache2 >= 1.1.12),
(apt >= 0.0.0), (yum >= 3.0.0), (yum-epel >= 0.0.0)]Unable to find a
solution for demands: apache2 (= 3.0.0), apt (= 2.6.1), aws (= 2.1.1),
build-essential (= 1.4.2), database (= 2.2.0), erlang (= 1.4.2),
memcached (= 1.7.2), mysql (>= 0.0.0), mysql-chef_gem (= 0.0.4), openssl
(= 1.1.0), openstack-block-storage (10.1.0), openstack-common (10.3.0),
openstack-compute (10.0.0), openstack-dashboard (10.0.0),
openstack-identity (10.0.1), openstack-image (10.1.0), openstack-network
(10.1.1), openstack-object-storage (10.0.0), openstack-ops-database
(10.0.0), openstack-ops-messaging (10.0.1), openstack-orchestration
(10.0.0), openstack-telemetry (10.0.1), postgresql (= 3.4.14), python (=
1.4.6), rabbitmq (= 3.9.0), selinux (= 0.7.2), statsd (0.1.6), xfs (=
1.1.0), yum (= 3.5.2), yum-epel (= 0.6.0)

rake aborted!

to this one:

$ chef exec rake berks_vendor

chef exec berks vendor cookbooks

Resolving cookbook dependencies…

Fetching cookbook index from https://supermarket.chef.io

Required artifacts do not exist at the desired version

Constraints that match no available version: (ceph = 0.2.1)

Unable to find a solution for demands: apache2 (>= 0.0.0), apt (= 2.6.1),
aws (= 2.1.1), build-essential (= 1.4.2), ceph (= 0.2.1), database (=
4.0.2), erlang (= 1.4.2), memcached (= 1.7.2), mysql (= 6.0.13),
mysql2_chef_gem (= 1.0.1), openssl (= 1.1.0), postgresql (= 3.4.14),
python (= 1.4.6), rabbitmq (= 3.9.0), selinux (= 0.7.2), statsd (0.1.6),
xfs (= 1.1.0), yum (= 3.5.2), yum-epel (= 0.6.0)

rake aborted!