awslabs / aws-saas-boost

AWS SaaS Boost is a ready-to-use toolset that removes the complexity of successfully running SaaS workloads in the AWS cloud.
Apache License 2.0
960 stars 188 forks source link

Validating status does not change after Onboarding is created. #540

Open YutaOkoshi opened 9 months ago

YutaOkoshi commented 9 months ago

I looked at the "/aws/lambda/sb-isen-onboarding-validation" log and found that the processValidateOnboardingQueue is occurring.

スクリーンショット 2023-12-18 15 32 34

Probably this is the reason why it does not change from Onboarding status.

/aws/lambda/sb-isen-onboarding-validation

begin 0, end -2, length 29: java.lang.StringIndexOutOfBoundsException
java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 29
    at java.base/java.lang.String.checkBoundsBeginEnd(Unknown Source)
    at java.base/java.lang.String.substring(Unknown Source)
    at com.amazon.aws.partners.saasfactory.saasboost.OnboardingService.processValidateOnboardingQueue(OnboardingService.java:1260)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)

begin 0, end -2, length 29: java.lang.StringIndexOutOfBoundsException java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 29 at java.base/java.lang.String.checkBoundsBeginEnd(Unknown Source) at java.base/java.lang.String.substring(Unknown Source) at com.amazon.aws.partners.saasfactory.saasboost.OnboardingService.processValidateOnboardingQueue(OnboardingService.java:1260) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source)

Reproduction Steps

  1. install-using-cloud9.md
  2. deploy-the-sample-application
  3. build-and-deploy-the-sample-application
  4. onboard-a-tenant

What did you expect to happen?

Completion of Onboarding creation.

What actually happened?

Validating status does not change after Onboarding is created.

Environment

Other


This is :bug: Bug Report

brtrvn commented 9 months ago

@YutaOkoshi that error is coming from the section of validation checking the Route53 Hosted Zone for duplicate tenant subdomains. There must be an A Record in the HostedZone for that tenant with an unexpected structure. You can find the hosted zone by looking at the appConfig and then run aws route53 list-resource-record-sets --hosted-zone-id YOUR_HOSTED_ZONE_ID to see what the output looks like.

YutaOkoshi commented 9 months ago

@brtrvn thanks for comment. I re-created the Application and it worked. Probably because the Domain Name and Hosted Zone of the Application were unintentionally specified.

If Validation finds something error, the end user may wait forever without an error message and may not know where to fix it. Therefore, it would be beneficial to end users if error messages are output.