cloudfoundry-attic / bosh-init

bosh-init is a tool used to create and update the Director VM
Apache License 2.0
31 stars 33 forks source link

Failure when compiling packages named the same, with the same package/blob checksums, from two releases #114

Closed geofffranks closed 7 years ago

geofffranks commented 7 years ago

Tried deploying these two releases together in the same deployment today on my bosh-lite:

releases:
- name: cf-rabbitmq
  version: 215.9.0
- name: rabbitmq-metrics
  version: 1.29.0

They both have a golang package, and each package's packaging and golang/go1.6.1.linux-amd64.tar.gz files have the same checksums:

2614edf1b19b46a86272be883eb1d1bffb3c1c76  golang-rmq-metrics/packaging
2614edf1b19b46a86272be883eb1d1bffb3c1c76  golang-rmq/packaging
c73492474dcc7a233772d27e948b74468d9f1849  golang-rmq-metrics/golang/go1.6.1.linux-amd64.tar.gz
c73492474dcc7a233772d27e948b74468d9f1849  golang-rmq/golang/go1.6.1.linux-amd64.tar.gz

When I deployed, I got the following error from BOSH:

E, [2016-10-14 17:58:29 #7597] [task:535] ERROR -- DirectorJobRunner: object id golang-1a4729b73e51c23d864b5af2b73c406ce857c7c7 is already in use
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/blobstore_client-1.3232.2.0/lib/blobstore_client/local_client.rb:20:in `create_file'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/blobstore_client-1.3232.2.0/lib/blobstore_client/base.rb:27:in `create'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/blob_util.rb:44:in `block (2 levels) in save_to_global_cache'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/blob_util.rb:43:in `open'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/blob_util.rb:43:in `block in save_to_global_cache'
/var/vcap/packages/ruby/lib/ruby/2.1.0/tmpdir.rb:88:in `mktmpdir'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/blob_util.rb:37:in `save_to_global_cache'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/deployment_plan/steps/package_compile_step.rb:95:in `block in compile_package'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/lock_helper.rb:48:in `block in with_compile_lock'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/lock.rb:53:in `lock'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/lock_helper.rb:48:in `with_compile_lock'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/deployment_plan/steps/package_compile_step.rb:59:in `compile_package'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/deployment_plan/steps/package_compile_step.rb:204:in `block (2 levels) in process_task'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/event_log.rb:91:in `call'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/event_log.rb:91:in `advance_and_track'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/deployment_plan/steps/package_compile_step.rb:202:in `block in process_task'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh_common-1.3232.2.0/lib/common/thread_formatter.rb:49:in `with_thread_name'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/deployment_plan/steps/package_compile_step.rb:198:in `process_task'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh-director-1.3232.2.0/lib/bosh/director/deployment_plan/steps/package_compile_step.rb:162:in `block (4 levels) in compile_packages'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh_common-1.3232.2.0/lib/common/thread_pool.rb:77:in `call'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh_common-1.3232.2.0/lib/common/thread_pool.rb:77:in `block (2 levels) in create_thread'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh_common-1.3232.2.0/lib/common/thread_pool.rb:63:in `loop'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/bosh_common-1.3232.2.0/lib/common/thread_pool.rb:63:in `block in create_thread'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `call'
/var/vcap/packages/director/gem_home/ruby/2.1.0/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'

This may be bosh-lite specific due to its global package cache features?

cppforlife commented 7 years ago

@geofffranks definitely related to global cache

cppforlife commented 7 years ago

also not related to bosh-init.

geofffranks commented 7 years ago

Closing, wrong repo (sorry - autocomplete sucked me into the wrong github URL). Moved to https://github.com/cloudfoundry/bosh/issues/1478