PowerFlex Manager: L'aggiornamento RKE2 non riesce ripetutamente a causa dell'errore "405 Not Allowed"
Summary: PowerFlex Manager: L'aggiornamento di RKE2 non riesce ripetutamente a causa dell'errore "405 Not Allowed" durante la creazione del payload di aggiornamento Durante l'upgrade della PowerFlex Management Platform (PFMP), il processo ha ripetutamente esito negativo e si ripete ciclicamente al momento della creazione della cartella del payload di upgrade nella share http. L'errore si verifica con un errore HTTP 405 Not Allowed. ...
Symptoms
Versione interessata:
PowerFlex Manager 4.x
Quando un utente esegue un aggiornamento RKE2 nell'ambito dell'aggiornamento PFMP, si verificano i seguenti sintomi:
- Il processo di aggiornamento scarica continuamente il pacchetto, ma ha esito negativo durante la fase di creazione del payload.
- Registri da
alcmIl pod mostra l'errore "405 Not Allowed" durante il tentativo di creare la cartella del payload di aggiornamento nella condivisione HTTP2024-11-30T06:37:50.452413347-06:00 stdout F 2024-11-30 12:37:50 [pool-2-thread-1] (UpgradePFMP.java:168) [INFO] Starting PFMP upgrade .. 2024-11-30T06:49:06.712045703-06:00 stdout F 2024-11-30 12:49:06 [pool-2-thread-1] (UpgradePFMP.java:718) [DEBUG] PFMP Bundle download progress 100% .. 2024-11-30T06:53:47.628162548-06:00 stdout F 2024-11-30 12:53:47 [pool-2-thread-1] (UpgradePFMP.java:1681) [INFO] Current RKE2 version: 1.25.3 2024-11-30T06:53:47.629703367-06:00 stdout F 2024-11-30 12:53:47 [pool-2-thread-1] (UpgradePFMP.java:1688) [INFO] Available RKE2 version: 1.26.13 ... 024-11-30T06:54:02.071950984-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] Moving RKE2 artifacts to upgrade-artifacts folder . . . 2024-11-30T06:54:02.344803044-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] /opt/Dell/ASM/temp/upgrade853246658060560317/Upgrade/prepare-upgrade.sh: line 264: kubectl: command not found 2024-11-30T06:54:02.368496491-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] Creating upgrade payload folder in http-share . . .<html> 2024-11-30T06:54:02.368527723-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] <head><title>405 Not Allowed</title></head> 2024-11-30T06:54:02.368533448-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] <body> 2024-11-30T06:54:02.368548798-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] <center><h1>405 Not Allowed</h1></center> 2024-11-30T06:54:02.368553418-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] <hr><center>nginx/1.21.5</center> 2024-11-30T06:54:02.368565659-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] </body> 2024-11-30T06:54:02.36859845-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] </html> 2024-11-30T06:54:02.369264313-06:00 stdout F 2024-11-30 12:54:02 [pool-2-thread-1] (ExecuteSystemCommands.java:106) [DEBUG] done.
Cause
PFMP si basa sull'ingresso httpshare-ingress-upload per gli aggiornamenti RKE2 a livello di nodo, consentendo il caricamento dei moduli di aggiornamento dei nodi.
Uno script "CMO_Patch.zip" fornito dal sito del supporto Dell limitava le funzionalità di caricamento delle share http per mitigare una vulnerabilità, con conseguente errore di aggiornamento.
Resolution
Soluzione alternativa
-
Assicurarsi che l'ingresso httpshare-ingress-upload non esista
kubectl get ingress -A | egrep httpshare-ingress
-
Trasferire il file YAML:
Copiare il file "httpshare-ingress-upload.zip" allegato a questo articolo della KB in uno dei nodi MVM ed estrarlo. -
Applicare la correzione per l'ingresso:
Accedere al nodo MVM, passare alla directory in cui è archiviato il file YAML e applicare le impostazioni:kubectl apply -f httpshare-ingress-upload.yaml
-
Verificare la creazione dell'ingresso:
Verificare che l'ingresso httpshare-ingress-upload sia stato creato correttamente. Potrebbero essere necessari 15-30 secondi per il popolamento degli indirizzi IP. Rivolgersi a:kubectl get ingress -n powerflex | egrep -i httpshare
-
Riavviare il pod alcm
kubectl delete pod $(kubectl get pods -n powerflex | egrep alcm | awk '{print $1}') -n powerflex -
Controllare i registri pod aclm per verificare se l'aggiornamento è in esecuzione. In caso contrario, riprovare l'aggiornamento PFMP:
Avviare nuovamente il processo di aggiornamento. Il problema dovrebbe ora essere risolto.
Azioni post-aggiornamento:
Una volta completato l'aggiornamento PFMP, seguire la procedura riportata di seguito in base alla versione PFMP in uso:
-
Per i sistemi in cui sono in esecuzione versioni PFMP precedenti alla 4.6.1:
- Riapplicare lo strumento di correzione CVE (CMO_Patch.zip) per garantire la conformità continua della sicurezza. Consultare la KB Correzione per Powerflex Manager CVE-2024-37143 (per visualizzare questo articolo è necessario un account del supporto Dell)
Nota: Per eventuali aggiornamenti futuri, è necessario applicare nuovamente la soluzione alternativa sopra menzionata, a meno che il sistema non venga aggiornato alla versione 4.6.1 o successiva.
- Riapplicare lo strumento di correzione CVE (CMO_Patch.zip) per garantire la conformità continua della sicurezza. Consultare la KB Correzione per Powerflex Manager CVE-2024-37143 (per visualizzare questo articolo è necessario un account del supporto Dell)
-
Per i sistemi che eseguono PFMP versione 4.6.1 o successive:
- Non è richiesta alcuna azione aggiuntiva dopo l'aggiornamento.
Risolto nella versione: PowerFlex Manager 4.6.1
Additional Information
Importante
Se l'installazione di PFMP (PowerFlex Manager) è stata eseguita in precedenza come utente root, assicurarsi che la proprietà delle seguenti directory sia aggiornata in modo appropriato prima di procedere con l'aggiornamento di PFMP. Per ulteriori informazioni, consultare PowerFlex Management Platform - PFXM Upgrade Fails On Task Clear landing Dir For Artifacts Destination