awslabs / aws-service-catalog-products

This repository contains a number of CloudFormation templates which can be used independently or as Products with AWS Service Catalog including the Open Source Tools AWS Service Catalog Factory and AWS Service Catalog Puppet. The templates include a number of the foundational AWS Services you may choose to manage Account Compliance including AWS Config, AWS CloudTrail and GuardDuty
MIT No Attribution
162 stars 36 forks source link

ResourceNotFound Exception in Puppet run #51

Open puddleglum1904 opened 3 years ago

puddleglum1904 commented 3 years ago

Intermittently receiving this error during a Puppet run:

Traceback (most recent call last):
  File "/root/.pyenv/versions/3.8.3/lib/python3.8/site-packages/luigi/worker.py", line 199, in run
    new_deps = self._run_get_new_deps()
  File "/root/.pyenv/versions/3.8.3/lib/python3.8/site-packages/luigi/worker.py", line 141, in _run_get_new_deps
    task_gen = self.task.run()
  File "/root/.pyenv/versions/3.8.3/lib/python3.8/site-packages/servicecatalog_puppet/workflow/provisioning.py", line 70, in run
    path_id = aws.get_path_for_product(
  File "/root/.pyenv/versions/3.8.3/lib/python3.8/site-packages/servicecatalog_puppet/aws.py", line 406, in get_path_for_product
    response = service_catalog.list_launch_paths(ProductId=product_id)
  File "/root/.pyenv/versions/3.8.3/lib/python3.8/site-packages/botocore/client.py", line 316, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/root/.pyenv/versions/3.8.3/lib/python3.8/site-packages/botocore/client.py", line 635, in _make_api_call
    raise error_class(parsed_response, operation_name)

botocore.errorfactory.ResourceNotFoundException: An error occurred (ResourceNotFoundException) when calling the ListLaunchPaths operation: No launch paths found for resource: prod-xxx

(xxx being product id)

Running the puppet pipeline again right after usually resolves the issue. This error occurred during the single-account-run-with-callback CodeBuild job, as part of the AVM flow for a new account creation. The product it is erring on was already deployed, and successfully run against new accounts with a full Puppet CodePipeline run.

eamonnfaherty commented 3 years ago

Was the product in a launch or a spoke local portfolio?

puddleglum1904 commented 3 years ago

@eamonnfaherty The product was in a launch.