PowerFlex Manager: RKE2-uppgraderingen misslyckas upprepade gånger på grund av felet "405 Not Allowed"
Summary: PowerFlex Manager: RKE2-uppgraderingen misslyckas upprepade gånger på grund av felet "405 Not Allowed" när uppgraderingsnyttolasten skapas Under uppgraderingen av PowerFlex Management Platform (PFMP) misslyckas processen upprepade gånger, vilket leder till en looping när mappen för uppgraderingens nyttolast skapas i http-resursen. Felet uppstår med ett HTTP 405 Not Allowed-fel. ...
Symptoms
Berörd version:
PowerFlex Manager 4.x
När en användare utför en RKE2-uppgradering som en del av PFMP-uppgraderingen uppstår följande symptom:
- Uppgraderingsprocessen laddar ner paketet kontinuerligt, men misslyckas när nyttolasten skapas.
- Loggar från
alcmpodden visar felet "405 Not Allowed" vid försök att skapa mappen för uppgraderingsnyttolasten i http-share2024-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 förlitar sig på ingressen httpshare-ingress-upload för RKE2-uppgraderingar på nodnivå, vilket möjliggör uppladdning av noduppgraderingsmoduler.
Ett skript "CMO_Patch.zip" som tillhandahölls av Dells supportwebbplats begränsade överföringskapaciteten för http-share för att minska en sårbarhet, vilket ledde till uppgraderingsfel.
Resolution
Alternativ lösning
-
Kontrollera att httpshare-ingress-upload ingress inte finns
kubectl get ingress -A | egrep httpshare-ingress
-
Överför YAML-filen:
Kopiera httpshare-ingress-upload.zip-filen som bifogats till denna KB till en av MVM-noderna och packa upp den. -
Tillämpa ingresskorrigeringen:
Logga in på MVM-noden, gå till katalogen där YAML-filen lagras och tillämpa inställningarna:kubectl apply -f httpshare-ingress-upload.yaml
-
Kontrollera att ingressen har skapats:
Kontrollera att ingressen httpshare-ingress-upload har skapats. Det kan ta 15–30 sekunder innan IP-adresserna fylls i. Stäm av:kubectl get ingress -n powerflex | egrep -i httpshare
-
Starta om alcm-podden
kubectl delete pod $(kubectl get pods -n powerflex | egrep alcm | awk '{print $1}') -n powerflex -
Kontrollera ACLM-poddloggarna för att se om uppgraderingen körs. Annars försöker du uppgradera PFMP igen:
Starta uppgraderingsprocessen igen. Problemet bör nu vara löst.
Åtgärder efter uppgradering:
När PFMP-uppgraderingen är klar följer du stegen nedan baserat på din PFMP-version:
-
För system som kör tidigare PFMP-versioner än 4.6.1:
- Tillämpa CVE-reparationsverktyget (CMO_Patch.zip) igen för att säkerställa fortsatt säkerhetsefterlevnad. Se KB-åtgärd för PowerFlex Manager CVE-2024-37143 (Dell-supportkonto krävs för att visa den här artikeln)
Obs! För framtida uppgraderingar måste den lösning som nämns ovan tillämpas igen, såvida inte systemet uppgraderas till version 4.6.1 eller senare.
- Tillämpa CVE-reparationsverktyget (CMO_Patch.zip) igen för att säkerställa fortsatt säkerhetsefterlevnad. Se KB-åtgärd för PowerFlex Manager CVE-2024-37143 (Dell-supportkonto krävs för att visa den här artikeln)
-
För system som kör PFMP version 4.6.1 eller senare:
- Ingen ytterligare åtgärd krävs efter uppgraderingen.
Åtgärdat i version: PowerFlex Manager 4.6.1
Additional Information
Viktigt
Om PFMP-installationen (Powerflex Manager) tidigare utfördes som rotanvändare ska du kontrollera att ägarskapet för följande kataloger uppdateras på rätt sätt innan du fortsätter med PFMP-uppgraderingen. Mer information finns i PowerFlex Management Platform – PFXM-uppgradering misslyckas vid uppgift Rensa landningskatalog för artefaktdestination