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)
@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
golangscenario, does this mean one of the jobs hasgolanglisted as a job dependency? Typicallygolangis 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
golangbecause it has historically been a compile-only dependency, so we stop at the minor version. But for things like theruby-releasewe did introduce a slightly odd revision suffix (e.g.ruby-2.4-r4) to help avoid conflicts in CPI world, among other reasons.