PowerFlex Manager. Модернизация RKE2 неоднократно завершается сбоем из-за ошибки «405 Not Allowed»
Summary: PowerFlex Manager. Модернизация RKE2 неоднократно завершается сбоем из-за ошибки «405 Not Allowed» при создании полезных данных модернизации Во время обновления платформы управления PowerFlex Management Platform (PFMP) процесс неоднократно завершается сбоем, зацикливаясь в момент создания папки полезных данных обновления в общем http-ресурсе. Сбой происходит с ошибкой «HTTP 405 Not Allowed». ...
Symptoms
Затронутая версия:
PowerFlex Manager 4.x
Когда пользователь выполняет обновление RKE2 в рамках обновления PFMP, возникают следующие признаки:
- Процесс обновления постоянно скачивает пакет, но завершается сбоем на этапе создания полезной нагрузки.
- Журналы из
alcmpod показывает ошибку «405 Not Allowed» при попытке создать папку полезной нагрузки обновления в 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 использует входящий трафик httpshare-ingress-upload для модернизаций RKE2 на уровне узла, что позволяет загружать модули модернизации узла.
Сценарий «CMO_Patch.zip», предоставленный сайтом поддержки Dell, ограничивал возможности загрузки общего ресурса HTTP для устранения уязвимости, что приводило к сбоям обновления.
Resolution
Временное решение
-
Убедитесь, что входящий трафик httpshare-ingress-upload не существует
kubectl get ingress -A | egrep httpshare-ingress
-
Перенесите файл YAML:
Скопируйте файл httpshare-ingress-upload.zip, прикрепленный к этой статье базы знаний, на один из узлов MVM и извлеките его. -
Применение исправления входящего трафика:
Авторизуйтесь в узле MVM, перейдите в каталог, где хранится файл YAML, и примените настройки:kubectl apply -f httpshare-ingress-upload.yaml
-
Проверка создания входящего трафика:
Убедитесь, что входящий трафик httpshare-ingress-upload успешно создан. Заполнение IP-адресов может занять 15–30 секунд. Сверьтесь с:kubectl get ingress -n powerflex | egrep -i httpshare
-
Перезапустите модуль alcm
kubectl delete pod $(kubectl get pods -n powerflex | egrep alcm | awk '{print $1}') -n powerflex -
Проверьте журналы ACLM pod, чтобы узнать, выполняется ли обновление. Если нет, повторите попытку обновления PFMP.
Запустите процесс модернизации заново. Теперь проблема должна быть устранена.
Действия после модернизации:
После завершения обновления PFMP выполните следующие действия в зависимости от версии PFMP.
-
Для систем с версиями PFMP до 4.6.1:
- Повторно примените средство устранения угроз CVE (CMO_Patch.zip), чтобы обеспечить непрерывное соответствие требованиям безопасности. См. статью базы знаний «Исправление для PowerFlex Manager» CVE-2024-37143 (для просмотра этой статьи требуется учетная запись службы поддержки Dell)
Примечание. Если система не модернизирована до версии 4.6.1 или более поздней, при последующих обновлениях необходимо снова применить указанное выше временное решение.
- Повторно примените средство устранения угроз CVE (CMO_Patch.zip), чтобы обеспечить непрерывное соответствие требованиям безопасности. См. статью базы знаний «Исправление для PowerFlex Manager» CVE-2024-37143 (для просмотра этой статьи требуется учетная запись службы поддержки Dell)
-
Для систем с PFMP версии 4.6.1 или более поздней:
- После обновления никаких дополнительных действий после обновления не требуется.
Исправлено в версии: PowerFlex Manager 4.6.1
Additional Information
Важно!
Если установка PFMP (PowerFlex Manager) ранее выполнялась в качестве пользователя root, перед обновлением PFMP убедитесь, что права собственности на следующие каталоги обновлены надлежащим образом. Дополнительные сведения см. в статье Платформа управления PowerFlex — сбой модернизации PFXM при выполнении задачи Очистить посадочный каталог для назначения артефактов