Ops Manager hits 500 server error on Apply Changes in version 3.1.x - NoMethodError undefined method 'split'
search cancel

Ops Manager hits 500 server error on Apply Changes in version 3.1.x - NoMethodError undefined method 'split'

book

Article ID: 433487

calendar_today

Updated On:

Products

VMware Tanzu Platform Core

Issue/Introduction

Customer was upgrading TAS from 6.0.14 to 10.2.5. When applying changes for TAS and other tiles they see this error:

500 An error occurred.
Contact VMware Technical Support to report the problem.
Back to dashboard

NoMethodError
undefined method `split' for an instance of ActionController::Parameters
/home/tempest-web/tempest/web/app/models/persistence/typed_values/rsa_cert_credentials.rb:99:in `values_to_scrub'
/home/tempest-web/tempest/web/app/models/persistence/models/property.rb:16:in `values_to_scrub'
/home/tempest-web/tempest/web/lib/password_scrubber.rb:12:in `each'
/home/tempest-web/tempest/web/lib/password_scrubber.rb:12:in `flat_map'
/home/tempest-web/tempest/web/lib/password_scrubber.rb:12:in `from_properties'
/home/tempest-web/tempest/web/lib/password_scrubber.rb:8:in `build'
/home/tempest-web/tempest/web/app/models/deployer/installation_plan.rb:166:in `create_password_scrubber'
/home/tempest-web/tempest/web/app/models/deployer/installation_plan.rb:78:in `start_install'
/home/tempest-web/tempest/web/app/controllers/concerns/installations_concern.rb:37:in `run_install'
/home/tempest-web/tempest/web/app/controllers/selective_deploy_controller.rb:49:in `apply'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/abstract_controller/base.rb:226:in `process_action'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_controller/metal/rendering.rb:193:in `process_action'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/abstract_controller/callbacks.rb:261:in `block in process_action'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/callbacks.rb:120:in `block in run_callbacks'
/home/tempest-web/tempest/web/app/controllers/application_controller.rb:212:in `emit_audit_log_event'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/callbacks.rb:129:in `block in run_callbacks'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actiontext-8.0.2.1/lib/action_text/rendering.rb:25:in `with_renderer'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actiontext-8.0.2.1/lib/action_text/engine.rb:71:in `block (4 levels) in <class:Engine>'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/callbacks.rb:129:in `instance_exec'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/callbacks.rb:129:in `block in run_callbacks'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/callbacks.rb:140:in `run_callbacks'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/abstract_controller/callbacks.rb:260:in `process_action'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_controller/metal/rescue.rb:27:in `process_action'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_controller/metal/instrumentation.rb:76:in `block in process_action'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/notifications.rb:210:in `block in instrument'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/notifications.rb:210:in `instrument'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_controller/metal/instrumentation.rb:75:in `process_action'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/activerecord-8.0.2.1/lib/active_record/railties/controller_runtime.rb:39:in `process_action'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/abstract_controller/base.rb:163:in `process'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionview-8.0.2.1/lib/action_view/rendering.rb:40:in `process'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_controller/metal.rb:252:in `dispatch'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_controller/metal.rb:335:in `dispatch'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:50:in `serve'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:53:in `block in serve'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:126:in `each'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:126:in `find_routes'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/journey/router.rb:34:in `serve'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/routing/route_set.rb:908:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/omniauth-2.1.4/lib/omniauth/strategy.rb:202:in `call!'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/omniauth-2.1.4/lib/omniauth/strategy.rb:169:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/omniauth-2.1.4/lib/omniauth/builder.rb:48:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/rack-3.2.3/lib/rack/tempfile_reaper.rb:20:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/rack-3.2.3/lib/rack/etag.rb:29:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/rack-3.2.3/lib/rack/conditional_get.rb:44:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/rack-3.2.3/lib/rack/head.rb:15:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/http/permissions_policy.rb:38:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/http/content_security_policy.rb:38:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/rack-session-2.1.1/lib/rack/session/abstract/id.rb:274:in `context'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/rack-session-2.1.1/lib/rack/session/abstract/id.rb:268:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/middleware/cookies.rb:706:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.2.1/lib/active_support/callbacks.rb:100:in `run_callbacks'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/middleware/callbacks.rb:30:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/rack/logger.rb:41:in `call_app'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/rack/logger.rb:29:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/rack/silence_request.rb:28:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/middleware/request_id.rb:34:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/rack-3.2.3/lib/rack/method_override.rb:28:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/rack-3.2.3/lib/rack/runtime.rb:24:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/middleware/executor.rb:16:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/middleware/static.rb:27:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/rack-3.2.3/lib/rack/sendfile.rb:131:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/actionpack-8.0.2.1/lib/action_dispatch/middleware/ssl.rb:92:in `call'
/home/tempest-web/tempest/web/lib/default_application_json_header.rb:12:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/railties-8.0.2.1/lib/rails/engine.rb:535:in `call'
/home/tempest-web/tempest/web/lib/stack_prof_middleware.rb:78:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/configuration.rb:300:in `call'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/request.rb:101:in `block in handle_request'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/thread_pool.rb:355:in `with_force_shutdown'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/request.rb:100:in `handle_request'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/server.rb:503:in `process_client'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/server.rb:262:in `block in run'
/home/tempest-web/tempest/web/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/thread_pool.rb:182:in `block in spawn_thread'

Environment

Ops Manager 3.1.5

Cause

The following certificate fields had the value {} which had been deliberately inserted via Platform Automation:

cloud_controller_encrypt_key.secret
properties_credhub_hsm_provider_client_certificate.cert_pem
properties_credhub_hsm_provider_client_certificate.private_key_pem
properties_credhub_hsm_provider_partition_password.secret

Resolution

Solution in this case was to blank out the values:

Customer observed that the same values had been accepted without error by Ops Manager 3.0.x. R&D has investigated and found a difference in the way these fields are parsed in Ops Manager version 3.1.x as compared to version 3.0.x.

This defect could be investigated using the troubleshooting techniques in article Apply Changes fails with error "Details: undefined method `length' for an instance of ActionController::Parameters "