aws-cdk-local icon indicating copy to clipboard operation
aws-cdk-local copied to clipboard

`cdklocal bootstrap` command fails

Open nicolasduminil opened this issue 1 year ago • 7 comments

Hello,

I'm trying to test locally some Java CDK code which works as expected in the cloud, when deployed with cdk but fails with cdklocal. Trying to run cdklocal deploy raises the following exception:

$ cdklocal bootstrap
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.1.0:java (default-cli) on project quarkus-s3: An  exception occurred while executing the Java class. path is required -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.1.0:java (default-cli) on project quarkus-s3: An exception occurred while executing the Java class. path is required
 at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
 at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
 at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
 at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
 at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
 at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
 at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
 at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
 at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
 at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
 at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
 at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
 at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
 at java.lang.reflect.Method.invoke (Method.java:580)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
 at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: org.apache.maven.plugin.MojoExecutionException: An exception occurred while executing the Java class. path is required
    at org.codehaus.mojo.exec.ExecJavaMojo.execute (ExecJavaMojo.java:349)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
   at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
   at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: java.lang.NullPointerException: path is required
    at java.util.Objects.requireNonNull (Objects.java:259)
    at software.amazon.awscdk.services.lambda.Code.fromAsset (Code.java:63)
    at fr.simplex_software.aws.iac.cdk.CdkApiGatewayStack.<init> (CdkApiGatewayStack.java:27)
    at fr.simplex_software.aws.iac.cdk.CdkApiGatewayApp.main (CdkApiGatewayApp.java:13)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:279)
    at java.lang.Thread.run (Thread.java:1583)

localstack is running, of course, as shown below:

$ curl http://localhost:4566/_localstack/health | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   870  100   870    0     0   266k      0 --:--:-- --:--:-- --:--:--  283k
{
  "services": {
    "acm": "available",
    "apigateway": "available",
    "cloudformation": "available",
    "cloudwatch": "available",
    "config": "available",
    "dynamodb": "available",
    "dynamodbstreams": "available",
    "ec2": "available",
    "es": "available",
    "events": "available",
    "firehose": "available",
    "iam": "available",
    "kinesis": "available",
    "kms": "available",
    "lambda": "available",
    "logs": "available",
    "opensearch": "available",
    "redshift": "available",
    "resource-groups": "available",
    "resourcegroupstaggingapi": "available",
    "route53": "available",
    "route53resolver": "available",
    "s3": "running",
    "s3control": "available",
    "secretsmanager": "available",
    "ses": "available",
    "sns": "available",
    "sqs": "available",
    "ssm": "running",
    "stepfunctions": "available",
    "sts": "running",
    "support": "available",
    "swf": "available",
    "transcribe": "available"
  },
  "version": "2.1.1.dev"
}

What might the problem be here ?

Many thanks in advance for your help.

Nicolas

nicolasduminil avatar Jun 03 '24 15:06 nicolasduminil

My bad, I forgot to mention the function.zip location. The correct command is:

cdklocal bootstrap --context zip=target/function.zip

Closing the issue.

nicolasduminil avatar Jun 03 '24 15:06 nicolasduminil

However, trying to deploy the stack fails, as shown below:

 ⏳  Bootstrapping environment aws://000000000000/eu-west-3...
Trusted accounts for deployment: (none)
Trusted accounts for lookup: (none)
Using default execution policy of 'arn:aws:iam::aws:policy/AdministratorAccess'. Pass '--cloudformation-execution-policies' to customize.
CDKToolkit: creating CloudFormation changeset...
 ✅  Environment aws://000000000000/eu-west-3 bootstrapped.


✨  Synthesis time: 5.84s

QuarkusApiGatewayStack:  start: Building   21f84d584c17f8a8cdea5c8e085db669896706d3c0029cfe269b28b6d6210e94:current_account-current_region
QuarkusApiGatewayStack:  success: Built 21f84d584c17f8a8cdea5c8e085db669896706d3c0029cfe269b28b6d6210e94:current_account-current_region
QuarkusApiGatewayStack:  start: Building 9746efb52d33333304faf5095f89c6bd4c1f7c20544dac121ec2a134e28c01f2:current_account-current_region
QuarkusApiGatewayStack:  success: Built 9746efb52d33333304faf5095f89c6bd4c1f7c20544dac121ec2a134e28c01f2:current_account-current_region
QuarkusApiGatewayStack:  start: Publishing 21f84d584c17f8a8cdea5c8e085db669896706d3c0029cfe269b28b6d6210e94:current_account-current_region
QuarkusApiGatewayStack:  start: Publishing 9746efb52d33333304faf5095f89c6bd4c1f7c20544dac121ec2a134e28c01f2:current_account-current_region
QuarkusApiGatewayStack:  success: Published 9746efb52d33333304faf5095f89c6bd4c1f7c20544dac121ec2a134e28c01f2:current_account-current_region
QuarkusApiGatewayStack:  success: Published 21f84d584c17f8a8cdea5c8e085db669896706d3c0029cfe269b28b6d6210e94:current_account-current_region
QuarkusApiGatewayStack: deploying... [1/1]
QuarkusApiGatewayStack: creating CloudFormation changeset...

 ❌  QuarkusApiGatewayStack failed: Error: The stack named QuarkusApiGatewayStack failed to deploy: CREATE_FAILED (Deployment failed)
    at FullCloudFormationDeployment.monitorDeployment (/usr/local/lib/node_modules/aws-cdk/lib/index.js:433:10615)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Object.deployStack2 [as deployStack] (/usr/local/lib/node_modules/aws-cdk/lib/index.js:436:199343)
    at async /usr/local/lib/node_modules/aws-cdk/lib/index.js:436:180749

 ❌ Deployment failed: Error: The stack named QuarkusApiGatewayStack failed to deploy: CREATE_FAILED (Deployment failed)
    at FullCloudFormationDeployment.monitorDeployment (/usr/local/lib/node_modules/aws-cdk/lib/index.js:433:10615)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Object.deployStack2 [as deployStack] (/usr/local/lib/node_modules/aws-cdk/lib/index.js:436:199343)
    at async /usr/local/lib/node_modules/aws-cdk/lib/index.js:436:180749

The stack named QuarkusApiGatewayStack failed to deploy: CREATE_FAILED (Deployment failed)

I might have closed to early the issue, sorry :-).

nicolasduminil avatar Jun 03 '24 16:06 nicolasduminil

Could anyone help please ?

nicolasduminil avatar Jun 04 '24 12:06 nicolasduminil

Hi @nicolasduminil, can you please test if you are still getting the same issue with the latest version of LocalStack? You can get the latest version by pulling the image docker pull localstack/localstack:latest

MarcelStranak avatar Jun 05 '24 07:06 MarcelStranak

@MarcelStranak : yes, I confirm that using localstack/localstack:latest I'm getting exactly the same exception.

nicolasduminil avatar Jun 05 '24 16:06 nicolasduminil

Hi @nicolasduminil,

Please provide the full sample so we can replicate the error Caused by: java.lang.NullPointerException: path is required I would also like to share list of resources that are supported in the community version: https://docs.localstack.cloud/user-guide/aws/cloudformation/#resources

MarcelStranak avatar Jun 06 '24 09:06 MarcelStranak

Hi @nicolasduminil, Just checking in to verify if this issue had been resolved or not?

lakkeger avatar Jun 27 '24 10:06 lakkeger

Due to inactivity I'm closing this issue.

lakkeger avatar Aug 26 '24 11:08 lakkeger