@druoleg
DevOps'твующий

Почему не происходит удаление солюшена Sharepoint?

Добрый день.
Попросили помочь с древним зверем - Sharepoint 2010. На нем крутится небольшой сайт, который периодически обновляется деплоем PowerShell, который пару лет не менялся.
Шаги деплоя:
1. отключаем features
2. отключаем solutions
3. удаляем solutions
4. устанавливаем solutions
5. активируем solutions
6. активируем features
Ошибка возникает на 3 шаге, получаем ошибку мол солюшен используется в ферме, поэтому удалить не можем - используйте -override (на свой страх и риск).
Причина возникновения ошибки в целом понятна - шаг 2 проходит успешно, но по факту solution остается в режиме deployed.
Команда удаления не менялась несколько лет:
Uninstall-SPSolution -identity $solution.Name -confirm:$solution.Confirm -AllWebApplications:$true

Команда на установку содержит флаг GAC, т.е. сборки кидаются в GAC, в котором есть 4 версии сборок с одинаковым идентификатором. В web.config они тоже плодятся. Вычищать вручную не пробовал, т.к. не до конца понимаю логику их связи.
Если удалить solution принудительно, то дальше мы сталкиваемся с тем, что солюшен устанавливается, но не активируется (Install-SPSolution проходит успешно, окончания Job'а дожидаемся). Повторный вызов Install-SPSolution проходит успешно, но не меняет статус solution - он по прежнему неактивировано (not deployed).
Если попытаться выполнить Deploy через CA, то получаем ошибку - не удалось установить Featute, т.к. оно уже установлено. Если убить Feature с указанным GUID, то будет ошибка с парой других GUID - если убить их все, то активация проходит успешно. В скрипте деплоя указаны данные Feature для деактивации, но если выполнять деактивацию несколько раз - "проблемные" продолжают успешно удаляться, при этом оставаясь в ферме.

Нашел костыль, который решает все проблемы - добавить в деактивацию и активацию флаг -Local и вроде как для нашей установки из одного сервера это решение, но хотелось бы разобраться и не использовать костыли.
---
Есть предыстория от пользователя - был вылет из домена, деталей он не знает, т.к. этим занимаются другие люди. Вылет починили, но примерно в это же время начались проблемы с Deploy. Я проверил все настройки, которые знаю - все выглядит так, как будто проблема устранена. В логах есть ошибка - не могу найти сервер с GUID, без подробностей, но в базе нашел имя сервера - оно очень похоже на имя текущего сервера, похоже его передобавляли в домен с новым именем, т.к. старое конфликтовало.
Также в настройках фермы есть второй сервер - тот же сервер, но с IP-адресом вместо Hostname, он имеет лишь одну функцию - Email Notification.
---
Буду рад любому совету, знания устаревшие, но хотелось бы победить проблему.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы