Aggiornamento del firmware PowerFlex 4.X non riuscito con sequenza di byte non valida in formato US-ASCII

Summary: L'aggiornamento del firmware non riesce a causa di una sequenza di byte non valida in US-ASCII.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Scenario

Il cluster è stato sottoposto a un aggiornamento del firmware eseguito utilizzando il gruppo di risorse.

Sintomi

Il deployment.log del Job-ID segnala che l'aggiornamento del firmware non è riuscito e che il playbook è in esecuzione. Si noti che il comando nel playbook è impostato per eseguire "/usr/sbin/sysctl -p":

ERROR [2024-01-25T20:21:33.358478] 25824: service_deployment.rb:6084:in `process_firmware_update': Encountered an error during firmware update: ArgumentError: invalid byte sequence in US-ASCII
["org/jruby/RubyString.java:4727:in `scan'", "/opt/asm-deployer/lib/asm/provider/elementmanager/scaleio.rb:9762:in `update_sysctl_parameter'", "/opt/asm-deployer/lib/asm/service_deployment.rb:5909:in `block in process_firmware_update'", "org/jruby/RubyArray.java:1865:in `each'", "/opt/asm-deployer/lib/asm/service_deployment.rb:5731:in `process_firmware_update'", "/opt/asm-deployer/lib/asm/service_deployment.rb:504:in `process'", "/opt/asm-deployer/lib/asm.rb:369:in `block in process_deployment'", "org/jruby/RubyArray.java:1907:in `each_slice'", "/opt/asm-deployer/lib/asm.rb:351:in `block in process_deployment'", "/opt/dependencies/dell-asm-util/lib/asm/util.rb:22:in `block in execute_async'"]
...
INFO  [2024-01-25T20:22:45.017056] 25824: service_deployment.rb:1795:in `process_ansible_playbook': Starting processing playbook: [{"hosts"=>"all", "become"=>true, "vars"=>{"overcommit_ratio"=>100, "overcommit_memory"=>2}, "tasks"=>[{"name"=>"Replace unvalid values in sysctl conf", "replace"=>{"path"=>"/etc/sysctl.conf", "regexp"=>"^net.ipv4.conf.(ens192.log_martians.*)$", "replace"=>"#net.ipv4.conf.\\1 # PFXM REMOVED INVALID OPTION"}}, {"name"=>"Replace unvalid values in sysctl conf", "replace"=>{"path"=>"/etc/sysctl.conf", "regexp"=>"^net.ipv4.conf.(ens32.log_martians.*)$", "replace"=>"#net.ipv4.conf.\\1 # PFXM REMOVED INVALID OPTION"}}, {"name"=>"update threshold1", "ansible.posix.sysctl"=>{"name"=>"net.ipv4.neigh.default.gc_thresh1", "value"=>8192}}, {"name"=>"update threshold2", "ansible.posix.sysctl"=>{"name"=>"net.ipv4.neigh.default.gc_thresh2", "value"=>16384}}, {"name"=>"update threshold3", "ansible.posix.sysctl"=>{"name"=>"net.ipv4.neigh.default.gc_thresh3", "value"=>32768}}, {"name"=>"Update overcommit ratio for SDS", "ansible.posix.sysctl"=>{"name"=>"vm.overcommit_ratio", "value"=>"{{ overcommit_ratio }}"}}, {"name"=>"Update overcommit_memory ratio for SDS", "ansible.posix.sysctl"=>{"name"=>"vm.overcommit_memory", "value"=>"{{ overcommit_memory }}"}}, {"name"=>"Apply sysctl changes", "command"=>{"argv"=>["
]}}]}] with inventory:

... Quando si esegue il comando direttamente sul nodo, è possibile che venga visualizzato il seguente errore:

[root@node3 etc]# /usr/sbin/sysctl -p
...
sysctl: /etc/sysctl.conf(91): invalid syntax, continuing...

 

Impatto

L'aggiornamento del firmware non può procedere sul nodo interessato.

Cause

Root cause:

Il problema deriva dalla presenza di un carattere speciale o non ASCII nel file sysctl.conf, non compatibile con la codifica dei caratteri US-ASCII prevista utilizzata durante l'elaborazione sysctl. Quando il sistema tenta di leggere e applicare le configurazioni da sysctl.conf, rileva questa sequenza di caratteri non valida, generando un errore "Invalid byte sequence in US-ASCII". Il motivo specifico dell'inclusione di questo personaggio rimane poco chiaro. 

Resolution

Soluzione alternativa

1- Eseguire il backup del file sysctl.conf originale sul nodo interessato:

 cp /etc/sysctl.conf /etc/sysctl.conf.backup

2 - Copiare un file sysctl.conf da un nodo in cui è noto il relativo funzionamento corretto:

 scp /etc/sysctl.conf root@:/etc/sysctl.conf

3- Applicare la nuova configurazione sul nodo interessato:

 /usr/sbin/sysctl -p

4 - Assicurarsi che il comando venga completato correttamente senza errori di "sintassi non valida".

5 - Una volta completati e verificati i passaggi precedenti, riavviare il processo di aggiornamento del firmware utilizzando Resource Group.

 

Versioni interessate 

PFxM 4.5.1.1 e versioni precedenti

Risolto nella versione

PFxM 4.5.2

Affected Products

PowerFlex rack, VxFlex Ready Nodes, PowerFlex custom node, PowerFlex appliance connectivity, PowerFlex appliance R650, PowerFlex appliance R6525, PowerFlex appliance R660, PowerFlex appliance R6625, Powerflex appliance R750, PowerFlex appliance R760 , PowerFlex appliance R7625, PowerFlex appliance R640, PowerFlex appliance R740XD, PowerFlex appliance R7525, PowerFlex appliance R840 ...
Article Properties
Article Number: 000221574
Article Type: Solution
Last Modified: 10 Feb 2025
Version:  2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.