Failure During chef-backend HA Frontend Upgrade

Sean Horn -

---Problem---

You might see this during an attempted upgrade to < Chef Server 12.17.39 on frontends associated with a chef-backend HA installation

/opt/opscode/embedded/service/gem/ruby/2.4.0/gems/sequel-3.34.1/lib/sequel/database/schema_generator.rb:19: warning: constant ::Fixnum is deprecated 
/opt/opscode/embedded/service/gem/ruby/2.4.0/gems/sequel-3.34.1/lib/sequel/database/schema_generator.rb:19: warning: constant ::Bignum is deprecated 
[private-chef-upgrade] - Latest Migration Available: 1.34 
[private-chef-upgrade] - Migrations to Run: [#, #, #, #] 
[private-chef-upgrade] - Current Migration Version: 1.30 
[private-chef-upgrade] - Starting Migration 1.31 
bundler: failed to load command: ./bin/partybus (./bin/partybus) 
LocalJumpError: unexpected return 
(eval):4:in `block in load_migration' 
/opt/opscode/embedded/service/partybus/lib/partybus/migration_api/v1.rb:16:in `instance_eval' 
/opt/opscode/embedded/service/partybus/lib/partybus/migration_api/v1.rb:16:in `initialize' 
/opt/opscode/embedded/service/partybus/lib/partybus/dsl_runner.rb:37:in `new' 
/opt/opscode/embedded/service/partybus/lib/partybus/dsl_runner.rb:37:in `run_migration' 
/opt/opscode/embedded/service/partybus/lib/partybus/dsl_runner.rb:19:in `run' 
/opt/opscode/embedded/service/partybus/lib/partybus/migrations.rb:41:in `run_migration' 
/opt/opscode/embedded/service/partybus/bin/partybus:151:in `block in do_upgrade' 
/opt/opscode/embedded/service/partybus/bin/partybus:147:in `each' 
/opt/opscode/embedded/service/partybus/bin/partybus:147:in `do_upgrade' 
/opt/opscode/embedded/service/partybus/bin/partybus:179:in `block in ' 
/opt/opscode/embedded/service/partybus/bin/partybus:159:in `open' 
/opt/opscode/embedded/service/partybus/bin/partybus:159:in ` 

The keys are
* `LocalJumpError: unexpected return
(eval):4:in `block in load_migration' `. This early return shows what happens when a service improperly depended on in a migration doesn't exist in `chef-server-ctl status`

* The migration that fails is 1.31, which is changing the format of a rabbitmq password. We don't need that for frontends fronting chef-backend HA, because that installation type doesn't even use rabbitmq.

---Solution---

* Install a package >= Chef Server 12.17.39 on your frontends

* One by one, `chef-server-ctl upgrade` those frontends. The first one should succeed whereas previously it was failing. Later package versions understand that rabbitmq doesn't need to be running on frontends connecting to a chef-backend HA cluster.

Zendesk 18534

Have more questions? Submit a request

Comments

Powered by Zendesk