Тайм-аут при удалении сертификата Azure Batch

Я получаю на портале следующее:

Произошла ошибка при удалении [THUMBPRINT ЗДЕСЬ]. Сервер вернул 500 ошибок. Хотите попробовать еще раз?

Я подозреваю, что к сертификату висит пакетный узел / узел Azure, однако пул / узлы, использующие этот сертификат, уже удалены (по крайней мере, они не видны на портале).

Есть ли способ принудительно удалить сертификат, при нормальной работе мой конвейер выпуска зависит от возможности удалить сертификат.


Перехватывая Azure PowerShell с Fiddler, я вижу это в HTTP-ответе, так что, похоже, истекло время ожидания.

{
  "odata.metadata":"https://ttmdpdev.northeurope.batch.azure.com/$metadata#Microsoft.Azure.Batch.Protocol.Entities.Container.errors/@Element","code":"OperationTimedOut","message":{
    "lang":"en-US","value":"Operation could not be completed within the specified time.\nRequestId:[REQUEST ID HERE]\nTime:2017-08-23T16:54:23.1811814Z"
  }
}

Я также удалил все соответствующие задачи и графики, все еще не повезло.

1 ответ

Решение

(Раскрытие информации. На момент написания статьи я работал в группе Azure Batch, но не в основной службе.)

500 ошибок обычно являются временными и могут представлять большую нагрузку на внутренние компоненты Batch (в отличие от 503-х, которые представляют большую нагрузку на сам Batch API). Внутренняя ошибка таймаута отражает это. Возможно, был неожиданный всплеск спроса на конкретные API, которые являются дорогостоящими, но, как правило, малопотребляющими. Мы отслеживаем и смягчаем их, но иногда чрезвычайно высокая нагрузка с необычной схемой использования может повлиять на отзывчивость службы. Я бы посоветовал вам продолжать пробовать каждые 10-15 минут, и если через несколько часов он не очистится, попробуйте собрать билет в службу поддержки.

В настоящее время нет способа принудительно удалить сертификат. Это внутренний механизм безопасности, который гарантирует, что Пакет никогда не будет в состоянии развернуть сертификат, копии которого у него больше нет. Вы можете запросить такую ​​функцию через Batch UserVoice.

Наконец, что касается вашего конкретного сценария, вы можете увидеть, выполнимо ли перенастроить ваш рабочий процесс, чтобы он не зависел от удаления сертификата. Например, у вас может быть инструмент сбора мусора (возможно, работающий с использованием функций Azure или планировщика Azure), который периодически очищает старые сертификаты. Можно утверждать, что это добавляет больше сложности (и, возможно, в этом нет необходимости), но повышает сопротивляемость и другими способами упрощает решение, поскольку вашему основному пути больше не нужно беспокоиться о задержках и тайм-аутах. Если вы хотите изучить этот путь, то, возможно, разместите на форумах Batch и начните обсуждение с командой возможных подходов к проектированию.

Другие вопросы по тегам