PowerFlex Manager log reports Errno::EBADF: Bad file descriptor - No message available
Summary:
How to troubleshoot the error # reported by PowerFlex Manager logs
Symptoms
-
The upgrade, expansion, or deployment operation using PowerFlex Manager fails.
-
The exception.log of particular job or deployment reports similar to below error.
#<RuntimeError: ......, does not have a successful server to build with>
- <device>-xxxxxxx_exception.log reports similar to error.
#<Errno::EBADF: Bad file descriptor - No message available>
OR
#<Timeout::Error: execution expired>
org/jruby/RubyKernel.java:667:in `sleep'
/opt/jruby/9.1.17.0/lib/ruby/gems/shared/gems/dell-asm-util-0.1.0/lib/asm/util.rb:635:in `block in block_and_retry_until_ready'
org/jruby/ext/timeout/Timeout.java:117:in `timeout'
/opt/jruby/9.1.17.0/lib/ruby/gems/shared/gems/dell-asm-util-0.1.0/lib/asm/util.rb:621:in `block_and_retry_until_ready'
/opt/asm-deployer/lib/asm/type/server.rb:2714:in `linux_ready?'
/opt/asm-deployer/lib/asm/type/server.rb:1705:in `provision_server!'
/opt/asm-deployer/lib/asm/service_deployment.rb:5146:in `process_server_with_types'
/opt/asm-deployer/lib/asm/service_deployment.rb:2949:in `process_server'
/opt/asm-deployer/lib/asm/service_deployment.rb:1409:in `block in create_component_thread'
-
Deployment.log reports similar to the below sequence of errors.
INFO [2021-11-03T17:10:24.363504] 14102: type/server.rb:2715:in `block in linux_ready?': rackserver-xxxxxxxx: Checking if Linux is ready for xx.xxx.xxx.xx
INFO [2021-11-03T17:12:31.610734] 14102: util.rb:631:in `block in block_and_retry_until_ready': rackserver-xxxxxxxx: Caught exception Errno::EBADF: Bad file descriptor - No message available
INFO [2021-11-03T17:13:26.892529] 14102: service_deployment.rb:1429:in `block in create_component_thread': Status: Failed_component_server/rackserver-xxxxxxxx
Cause
The error #<Errno::EBADF: Bad file descriptor - No message available> means that the PowerFlex Manager is not able to ssh to the particular device during deployment or expansion/upgrade scenarios.
Resolution
-
Check for network configurations, and make sure that you have connectivity to the particular network in which the device resides.
-
Make sure that you can ssh to the particular device which reported error #<Errno::EBADF: Bad file descriptor - No message available>
-
Commonly noticed with Partial Network Automation (PNA) scenarios, where networks are not properly configured, which prevents the ssh to particular devices.