[chef] Berks Debugging Tools


Chronological Thread 
  • From: Soheil Eizadi < >
  • To: " " < >
  • Subject: [chef] Berks Debugging Tools
  • Date: Tue, 17 Feb 2015 19:08:15 +0000
  • Accept-language: en-US

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!





Archive powered by MHonArc 2.6.16.

§