Не удалось развернуть CloudFormation stack с помощью AWS CLI с надписью «Обновления не должны выполняться» в localstack даже при использовании —no-fail-on-empty-changeset

#amazon-cloudformation #aws-cli #localstack

#amazon-cloudformation #aws-cli #localstack

Вопрос:

Я хочу использовать AWS CLI для развертывания стека CloudFormation в локальном экземпляре localstack, размещенном на docker:

aws cloudformation deploy --endpoint http://localhost:4566 --stack-name localBootstrap --template-file localstack-bootstrap-cf.yaml --no-fail-on-empty-changeset

Я бы хотел, чтобы это было повторяемо, т.е.:

  • Создайте стек, если он не существует
  • обновите его, если я изменю файл yaml
  • Ничего не делайте, если стек существует, а файл не изменился

Последний сценарий меня подводит, т. Е. Я ожидаю --no-fail-on-empty-changeset , что он будет работать в этом случае, но если я воссоздам свой образ docker, а затем дважды подряд выполню вышеуказанную команду, первый запуск работает так, как ожидалось, но при втором запуске я получаю следующий сбой в журналах docker:

 2021-12-09T13:29:03.362:DEBUG:localstack.services.cloudformation.cloudformation_api: Executing change set "arn:aws:cloudformation:eu-west-1:000000000000:changeSet/awscli-cloudformation-package-deploy-1639056542/ee700101" for stack "localBootstrap" with 2 resources ...

2021-12-09T13:29:03.363:INFO:localstack.utils.cloudformation.template_deployer: Unable to apply change set awscli-cloudformation-package-deploy-1639056542: No updates are to be performed.
 

И следующая ошибка в моем CLI:

 Unable to parse response (syntax error: line 1, column 54), invalid XML received. Further retries may succeed:
b'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">n<title>500 Internal Server Error</title>n<h1>Internal Server Error</h1>n<p>The server encountered an internal error and was unable to complete your request. Either the ser
ver is overloaded or there is an error in the application.</p>n'
 

На стороне localstack это похоже на проблему, которая ранее поднималась и, по-видимому, исправлена: https://github.com/localstack/localstack/issues/2444

Я использую localstack/localstack:latest (версию 0.13.1) и последнюю версию AWS CLI 2 (2.4.5.0). Исключение, похоже, выдается здесь, в кодовой базе localstack.

Это ожидаемое поведение? Это сбой localstack или сбой AWS CLI?