serverless-plugin-additional-stacks icon indicating copy to clipboard operation
serverless-plugin-additional-stacks copied to clipboard

Deployment fails with `ServerlessError: ValidationError: No updates are to be performed` error

Open gyurist opened this issue 3 years ago • 7 comments

After upgrading serverless to version 2.31.0 the deployments started to fail with the following error:

 Serverless Error ----------------------------------------

  ServerlessError: ValidationError: No updates are to be performed.
      at Request.extractError (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/protocol/query.js:50:29)
      at Request.callListeners (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
      at Request.emit (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
      at Request.emit (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/request.js:688:14)
      at Request.transition (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/request.js:22:10)
      at AcceptorStateMachine.runTo (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/state_machine.js:14:12)
      at /codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/state_machine.js:26:10
      at Request.<anonymous> (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/request.js:38:9)
      at Request.<anonymous> (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/request.js:690:12)
      at Request.callListeners (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
      at Request.emit (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
      at Request.emit (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/request.js:688:14)
      at Request.transition (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/request.js:22:10)
      at AcceptorStateMachine.runTo (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/state_machine.js:14:12)
      at /codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/state_machine.js:26:10
      at Request.<anonymous> (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/request.js:38:9)
      at Request.<anonymous> (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/request.js:690:12)
      at Request.callListeners (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/sequential_executor.js:116:18)
      at callNextListener (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/sequential_executor.js:96:12)
      at IncomingMessage.onEnd (/codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/node_modules/aws-sdk/lib/event_listeners.js:313:13)
      at IncomingMessage.emit (events.js:323:22)
      at IncomingMessage.EventEmitter.emit (domain.js:482:12)
      at endReadableNT (_stream_readable.js:1204:12)
      at processTicksAndRejections (internal/process/task_queues.js:84:21)
  ----------------------------------------------------------------------------------------------------
      at /codebuild/output/src480389075/src/gift-card-api/node_modules/serverless/lib/aws/request.js:202:11
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)

The error above is raised when the additional stack contains no changes, prior to serverless version 2.31.0 simply the following message was logged:

Serverless: Additional stack permanent has not changed.

gyurist avatar Mar 31 '21 09:03 gyurist

@kennu Any plans to fix this issue? 🙂 I would definitely like to keep using this plugin.

vastamaki avatar Apr 13 '21 12:04 vastamaki

It looks like nobody has submitted a fix yet, and personally I'm migrating older Serverless Framework projects to AWS CDK, so I'm unlikely to encounter this issue myself. So the answer to the question is no, unfortunately I don't know of any plans at this time.

kennu avatar Apr 13 '21 23:04 kennu

+1

FaridSafi avatar Apr 24 '21 11:04 FaridSafi

Just FYI: this issue no longer exist in serverless version 2.54.0

vastamaki avatar Aug 24 '21 14:08 vastamaki

I had this error when I upgrade localstack from 0.11.6 to 1.2.0. still happens on serverless 1.81.1

The fix would be like

https://github.com/kennyhyun/serverless-plugin-additional-stacks/commit/ce5ccb69bd4368d2be7ad393679aeffb981304f8#diff-e727e4bdf3657fd1d798edcd6b099d6e092f8573cba266154583a746bba0f346R419

if (err.message && err.message.match(/(^No updates|No updates are to be performed)/)) {

kennyhyun avatar Oct 28 '22 08:10 kennyhyun

I found this would be great to be fixed especially in the integration tests in the pipelines using localstack.

@kennu let me create a PR for this.

BTW, I had another similar issue with catching errors from describeStack. The PR will fix both.

kennyhyun avatar Nov 01 '22 03:11 kennyhyun

@kennyhyun thanks, seems like a simple PR that I could merge.

kennu avatar Nov 01 '22 04:11 kennu