Unable to create terraform Template in Aria Automation
search cancel

Unable to create terraform Template in Aria Automation

book

Article ID: 404377

calendar_today

Updated On:

Products

VCF Operations/Automation (formerly VMware Aria Suite)

Issue/Introduction

  • When creating a new Terraform blueprint and selecting the latest commit, you receive an error in the UI: Internal Service Error [Error Reference ID: <Some Random UID>]

  • Other commits in the same repository can be selected without issue. 

  • Searching the logs (/services-logs/prelude/tango-blueprint-service-app/file-logs/tango-blueprint-service-app.log) for the Internal ID in the above error message, shows an error similar to this:

    ERROR tango-blueprint [host='tango-blueprint-service-app-##########-#####' thread='###-###-###-####-##' user='UserName' org='########-####-####-#################' blueprint='' project='' deployment='' request='' flow='' task='' tile='' resourceName='' operation='' trace='################################'] com.vmware.tango.blueprint.exception.ControllerExceptionHandler - Runtime exception: Cannot invoke "terraform.TerraformParser$ExprTermContext.terminalExprTerm()" because the return value of "terraform.TerraformParser$TerminalExpressionContext.exprTerm()" is null [Error Reference ID: ########-####-####-####-############] NullPointerException: Cannot invoke "terraform.TerraformParser$ExprTermContext.terminalExprTerm()" because the return value of "terraform.TerraformParser$TerminalExpressionContext.exprTerm()" is null
        at com.vmware.terraform.parser.TerraformConfigurationVisitor.configureInputDefaultValue(TerraformConfigurationVisitor.java:353)
        at com.vmware.terraform.parser.TerraformConfigurationVisitor.visitVariableBlock(TerraformConfigurationVisitor.java:202)
        at com.vmware.terraform.parser.TerraformConfigurationVisitor.visitBlock(TerraformConfigurationVisitor.java:81)
        at com.vmware.terraform.parser.TerraformConfigurationVisitor.visitBlock(TerraformConfigurationVisitor.java:40)
        at terraform.TerraformParser$BlockContext.accept(TerraformParser.java:3168)
        at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
        at terraform.TerraformParserBaseVisitor.visitBody(TerraformParserBaseVisitor.java:287)
        at terraform.TerraformParser$BodyContext.accept(TerraformParser.java:2969)
        at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18)
        at com.vmware.terraform.parser.TerraformConfigurationParser.parse(TerraformConfigurationParser.java:34)
        at com.vmware.terraform.parser.TerraformConfigurationExtractor.extractMultiFileTerraformConfig(TerraformConfigurationExtractor.java:54)
        at com.vmware.tango.blueprint.service.integrations.terraform.TerraformBlueprintIntegrationService.summarizeTFFiles(TerraformBlueprintIntegrationService.java:256)
        at com.vmware.tango.blueprint.service.integrations.terraform.TerraformBlueprintIntegrationService.createBlueprintMapping(TerraformBlueprintIntegrationService.java:164)
        at com.vmware.tango.blueprint.api.controller.integrations.terraform.TerraformBlueprintIntegrationController.createBlueprintMapping(TerraformBlueprintIntegrationController.java:137)
        at jdk.internal.reflect.GeneratedMethodAccessor916.invoke(Unknown Source)

Environment

Aria Automation 8.x

Cause

Aria Automation is unable to parse the .tf file(s) used in the commit.
This likely occurs because the .tf file is not valid due to a null value, a default variable that is incorrectly defined, or some other syntax error.

Resolution

Validate the files and reselect the commit.

  1. Using Terraform, validate the .tf file(s) that are used in the failing commit and fix any issues.
  2. Save changes to the commit and select it in the blueprint.  

Additional Information

Validation is done outside of Aria Automation. This reference guide can be used to validate the content in Terraform: CLI Reference for Terraform Validation