bosh: Two releases with a same named package fail

I have two Bosh-releases which have a jq package. If I deploy one job elastic-stack/elasticsearch which depends on elastic-stack/jqand another jobtelegraf/telegrafwhich depends ontelegraf/jq` on the same instance group I get the follwoing error

Package name collision detected in instance group 'elasticsearch_master': job 'elastic-stack/elasticsearch' depends on package 'elastic-stack/jq', job 'telegraf/telegraf' depends on 'telegraf/jq'. BOSH cannot currently collocate two packages with identical names from separate releases.

According to the release notes it should work: https://github.com/cloudfoundry/bosh/releases/tag/v264.2.0

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 18 (11 by maintainers)

Most upvoted comments

@dpb587 we’ve solved this problem by renaming our golang package for now and we are thinking about switching to golang-release in the future but just to explain - we use Golang and ginkgo to run smoke tests (RMQ tile). I’m sure we could do it differently but for the time being that’s how we execute smoke tests errand and therefore we need Golang as a job dependency, not for compilation.

@mkuratczyk @ljfranklin to tangent slightly… in this golang scenario, does this mean one of the jobs has golang listed as a job dependency? Typically golang is only necessary as a package dependency, which I believe sidesteps the issue since compilation dependencies are not considered for package name overlap. Might be worth double checking job dependencies in those cases.

@ljfranklin yeah, using package names with exact version information would be an alternative. In this case, we have avoided that on golang because it has historically been a compile-only dependency, so we stop at the minor version. But for things like the ruby-release we did introduce a slightly odd revision suffix (e.g. ruby-2.4-r4) to help avoid conflicts in CPI world, among other reasons.