ストレージコントローラの SANtricity OS のアップグレードが RuntimeError によって失敗します SYSTEM_ERR
環境
StorageGRID アプライアンス 11.4
問題
- ストレージコントローラの SANtricity OS のアップグレードが次のエラーで失敗する:
Error: Fatal installation failure - SANtricity OS staging failed with: RuntimeError: Union <<class 'SYMbol.parser.RpcAcceptedReplyBody'>> at 0xXXXXXXXXXXXX> discriminator value SYSTEM_ERR does not have a corresponding qualifier
gdu-server.log
のプライマリ管理ノードでエラーが表示される。
INFO -- gdu-server: Invalidating any staged SANtricity OS on <NODE>
INFO -- gdu-server: 1% SANtricity OS staging done.
INFO -- gdu-server: Staging SANtricity OS on <NODE>
INFO -- gdu-server: 2% SANtricity OS staging done.
INFO -- gdu-server: Staging SANtricity OS on <NODE>
INFO -- gdu-server: WARNING -- Union <<class 'SYMbol.parser.RpcAcceptedReplyBody'>> at 0xXXXXXXXXXXXX> discriminator value SYSTEM_ERR does not have a corresponding qualifier
INFO -- gdu-server: WARNING -- Failed to get currently selected qualifier name for union. Assuming none.
INFO -- gdu-server: Traceback (most recent call last):
INFO -- gdu-server: File "/usr/local/bin/eos-upgrader.py", line 689, in <module>
INFO -- gdu-server: rc = api.loadControllerFirmware(firmware_descriptor, ret)
INFO -- gdu-server: File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 1966, in _call_interface
INFO -- gdu-server: return self._rpc_request(t["value"], t["max_wait"], in_obj, out_obj, t["req_auth"])
INFO -- gdu-server: File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 2111, in _rpc_request
INFO -- gdu-server: r._do_unpack(un)
INFO -- gdu-server: File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 905, in _do_unpack
INFO -- gdu-server: field._do_unpack(my_unpacker)
INFO -- gdu-server: File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 1211, in _do_unpack
INFO -- gdu-server: selected_qual._do_unpack(my_unpacker)
INFO -- gdu-server: File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 1211, in _do_unpack
INFO -- gdu-server: selected_qual._do_unpack(my_unpacker)
INFO -- gdu-server: File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 905, in _do_unpack
INFO -- gdu-server: field._do_unpack(my_unpacker)
INFO -- gdu-server: File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 1196, in _do_unpack
INFO -- gdu-server: qname = self._selected_qual_name()
INFO -- gdu-server: File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 1086, in _selected_qual_name
INFO -- gdu-server: self, self._descriminator_instance))
INFO -- gdu-server: RuntimeError: Union <<class 'SYMbol.parser.RpcAcceptedReplyBody'>> at 0xXXXXXXXXXXXX> discriminator value SYSTEM_ERR does not have a corresponding qualifier
ERROR -- gdu-server: SANtricity OS staging failed with: SANtricity OS precheck successful.
Invalidating any staged SANtricity OS.
1% SANtricity OS staging done.
2% SANtricity OS staging done.
WARNING -- Union <<class 'SYMbol.parser.RpcAcceptedReplyBody'>> at 0xXXXXXXXXXXXX> discriminator value SYSTEM_ERR does not have a corresponding qualifier
WARNING -- Failed to get currently selected qualifier name for union. Assuming none.
Traceback (most recent call last):
File "/usr/local/bin/eos-upgrader.py", line 689, in <module>
rc = api.loadControllerFirmware(firmware_descriptor, ret)
File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 1966, in _call_interface
return self._rpc_request(t["value"], t["max_wait"], in_obj, out_obj, t["req_auth"])
File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 2111, in _rpc_request
r._do_unpack(un)
File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 905, in _do_unpack
field._do_unpack(my_unpacker)
File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 1211, in _do_unpack
selected_qual._do_unpack(my_unpacker)
File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 1211, in _do_unpack
selected_qual._do_unpack(my_unpacker)
File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 905, in _do_unpack
field._do_unpack(my_unpacker)
File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 1196, in _do_unpack
qname = self._selected_qual_name()
File "/usr/lib/python2.7/dist-packages/SYMbol/parser.py", line 1086, in _selected_qual_name
self, self._descriminator_instance))
RuntimeError: Union <<class 'SYMbol.parser.RpcAcceptedReplyBody'>> at 0xXXXXXXXXXXXX> discriminator value SYSTEM_ERR does not have a corresponding qualifier
ERROR -- gdu-server: SANtricity OS staging failed with: RuntimeError: Union <<class 'SYMbol.parser.RpcAcceptedReplyBody'>> at 0xXXXXXXXXXXXX> discriminator value SYSTEM_ERR does not have a corresponding qualifier (Bycast::Tasks::GduServer::SoftwareUpdate::InstallError)
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/tasks/gdu-server/software-update.rb:1063:in `install'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/tasks/gdu-server/software-update.rb:319:in `apply_to_node'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/tasks/gdu-server/software-update.rb:303:in `apply_to_grid'
INFO -- gdu-server: Software update task complete at <TIMESTAMP>
ERROR -- gdu-server: Failed to apply SANtricity OS to <NODE>: Fatal installation failure - SANtricity OS staging failed with: RuntimeError: Union <<class 'SYMbol.parser.RpcAcceptedReplyBody'>> at 0xXXXXXXXXXXXX> discriminator value SYSTEM_ERR does not have a corresponding qualifier
ERROR -- gdu-server: Failure occurred during Software Update
ERROR -- gdu-server: #<Bycast::Tasks::GduServer::SoftwareUpdate::LocalizedError: key: "software_update.error", options: {:type=>"SANtricity OS", :reason=>"Failed to apply the update to one or more nodes"} >
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/tasks/gdu-server/software-update.rb:430:in `finish'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/tasks/gdu-server/software-update.rb:1221:in `finish'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/tasks/gdu-server/software-update.rb:333:in `rescue in apply_to_node'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/tasks/gdu-server/software-update.rb:316:in `apply_to_node'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/tasks/gdu-server/software-update.rb:303:in `apply_to_grid'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/tasks/gdu-server/software-update.rb:262:in `call'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/gdu-server.rb:340:in `process_request'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/gdu-server.rb:208:in `block in serve'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/gdu-server.rb:207:in `each'
ERROR -- gdu-server: /usr/local/lib/site_ruby/bycast/gdu-server.rb:207:in `serve'
ERROR -- gdu-server: /var/lib/gems/2.5.0/gems/gserver-0.0.1/lib/gserver.rb:268:in `block (2 levels) in start'
/base-os-logs/var/log/eos-system-status
でエラーSYSTEM_ERR
が繰り返し表示されるノードは次のとおりです。
Error while running status update. Union <<class 'SYMbol.parser.RpcAcceptedReplyBody'>> at 0xXXXXXXXXXXXX> discriminator value SYSTEM_ERR does not have a corresponding qualifier
Error connecting to SYMbolAPI. Union <<class 'SYMbol.parser.RpcAcceptedReplyBody'>> at 0xXXXXXXXXXXXX> discriminator value SYSTEM_ERR does not have a corresponding qualifier
web-server-trace-log.txt
ストレージコントローラから出力が表示され、 WebServer サービスが定期的に再起動されることを意味します。これは 10 分おきに行われます。
INFO [main] c.l.a.w.s.WebServer [WebServer.java:2292] [requestId=0, deviceId=N/A] stdout: Starting web server