https://pulumi.com logo
Title
c

clean-diamond-27934

08/11/2021, 7:11 AM
Does anybody know how to pass param from one project to another? Let’s say we use VPC and RDS. I want to deploy rds to that vpc using vpc ID. In terraform it’s possible to use terraform_remote_state resource to grab the output value. Do we have smth similar in Pulumi?
m

many-yak-61188

08/11/2021, 8:57 AM
c

clean-diamond-27934

08/11/2021, 9:06 AM
cool thank, will check
b

billowy-army-68599

08/11/2021, 4:43 PM
you can also reference terraform state directly: https://www.pulumi.com/blog/using-terraform-remote-state-with-pulumi/
👍 2
l

lemon-dog-29241

08/12/2021, 12:35 AM
How would this work if I'm saving my states to S3? So for my shared stack, let's say it's in: the bucket s3://pulumi-state-12345/shared and let's say I have another stack that's launched on a per-app basis that's stored in s3://pulumi-state-12345/app/app-id/etc . Can I still use the StackReferences resource somehow?
m

many-yak-61188

08/12/2021, 3:20 AM
yes, did you happen to try and run into an error?
l

lemon-dog-29241

08/12/2021, 2:15 PM
No, I just wasn't sure if I could do that, or how I would "point" to one stack from the other. Is it just that the name is the same?
So it didn't work. I have a stack in the bucket:
<s3://pulumi-state-1234567899875/shared>
with a fully qualified name:
kiawnna/shared-123456789/dev
and a stack in the bucket:
<s3://pulumi-state-1234567899875/builds/{build_id}/{repo_name}>
named
kiawnna/12345-repo/dev
. I'm getting the below error(s) from the StackReferences I have.
Diagnostics:
pulumi:pulumi:Stack (buildbot-12345-python-backend-dev):
error: update failed

pulumi:pulumi:StackReference (kiawnna/buildbot-shared-123456789/dev):
error: unknown stack "kiawnna/buildbot-shared-123456789/dev"

Resources:
5 unchanged

Duration: 4s

Traceback (most recent call last):
  File "containerized_build.py", line 320, in <module>
    launch_app_stack()
  File "containerized_build.py", line 317, in launch_app_stack
Task exception was never retrieved
future: <Task finished name='Task-34' coro=<RPCManager.do_rpc.<locals>.rpc_wrapper() done, defined at /home/kia/projects/sindri/venv/lib/python3.8/site-packages/pulumi/runtime/rpc_manager.py:61> exception=<_InactiveRpcError of RPC that terminated with:
        status = StatusCode.UNAVAILABLE
        details = "failed to connect to all addresses"
        debug_error_string = "{"created":"@1628855755.981741273","description":"Failed to pick subchannel","file":"src/core/ext/filters/client_channel/client_channel.cc","file_line":3008,"referenced_errors":[{"created":"@1628855755.981738026","description":"failed to connect to all addresses","file":"src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc","file_line":397,"grpc_status":14}]}"
>>
Traceback (most recent call last):
  File "/home/kia/projects/sindri/venv/lib/python3.8/site-packages/pulumi/runtime/rpc_manager.py", line 67, in rpc_wrapper
    result = await rpc
  File "/home/kia/projects/sindri/venv/lib/python3.8/site-packages/pulumi/runtime/resource.py", line 397, in do_read
    log.debug(f"resource read successful: ty={ty}, urn={resp.urn}")
AttributeError: 'NoneType' object has no attribute 'urn'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kia/projects/sindri/venv/lib/python3.8/site-packages/pulumi/runtime/rpc_manager.py", line 70, in rpc_wrapper
    log.debug("RPC failed with exception:")
  File "/home/kia/projects/sindri/venv/lib/python3.8/site-packages/pulumi/log.py", line 40, in debug
    _log(engine, engine_pb2.DEBUG, msg, resource, stream_id, ephemeral)
  File "/home/kia/projects/sindri/venv/lib/python3.8/site-packages/pulumi/log.py", line 114, in _log
    engine.Log(req)
  File "/home/kia/projects/sindri/venv/lib/python3.8/site-packages/grpc/_channel.py", line 946, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/home/kia/projects/sindri/venv/lib/python3.8/site-packages/grpc/_channel.py", line 849, in _end_unary_response_blocking
    raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
        status = StatusCode.UNAVAILABLE
        details = "failed to connect to all addresses"
        debug_error_string = "{"created":"@1628855755.981741273","description":"Failed to pick subchannel","file":"src/core/ext/filters/client_channel/client_channel.cc","file_line":3008,"referenced_errors":[{"created":"@1628855755.981738026","description":"failed to connect to all addresses","file":"src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc","file_line":397,"grpc_status":14}]}"
>
    up_res = stack.up(on_output=print)
  File "/home/kia/projects/sindri/venv/lib/python3.8/site-packages/pulumi/automation/_stack.py", line 262, in up
    up_result = self._run_pulumi_cmd_sync(args, on_output)
  File "/home/kia/projects/sindri/venv/lib/python3.8/site-packages/pulumi/automation/_stack.py", line 591, in _run_pulumi_cmd_sync
    result = _run_pulumi_cmd(args, self.workspace.work_dir, envs, on_output)
  File "/home/kia/projects/sindri/venv/lib/python3.8/site-packages/pulumi/automation/_cmd.py", line 75, in _run_pulumi_cmd
    raise create_command_error(result)
pulumi.automation.errors.CommandError:
 code: 255
 stdout: Updating (dev):

pulumi:pulumi:Stack buildbot-12345-python-backend-dev running
aws:ecs:TaskDefinition 12345-python-backend-qa  [diff: +__defaults]
aws:cloudwatch:LogGroup 12345-python-backend-qa  [diff: ~tags]
aws:codebuild:Project 12345-python-backend-qa-1  [diff: ~environment,source,tags]
pulumi:pulumi:Stack buildbot-12345-python-backend-dev running read pulumi:pulumi:StackReference kiawnna/buildbot-shared-123456789/dev
aws:codebuild:Project 12345-python-backend-qa-0  [diff: ~environment,source,tags]
pulumi:pulumi:StackReference kiawnna/buildbot-shared-123456789/dev  error: unknown stack "kiawnna/buildbot-shared-123456789/dev"
pulumi:pulumi:Stack buildbot-12345-python-backend-dev running read pulumi:pulumi:StackReference kiawnna/buildbot-shared-123456789/dev
pulumi:pulumi:Stack buildbot-12345-python-backend-dev running error: update failed
pulumi:pulumi:StackReference kiawnna/buildbot-shared-123456789/dev **failed** 1 error
pulumi:pulumi:Stack buildbot-12345-python-backend-dev **failed** 1 error

Diagnostics:
pulumi:pulumi:Stack (buildbot-12345-python-backend-dev):
error: update failed

pulumi:pulumi:StackReference (kiawnna/buildbot-shared-123456789/dev):
error: unknown stack "kiawnna/buildbot-shared-123456789/dev"

Resources:
5 unchanged

Duration: 4s
In the stack that depends on the shared stack, I'm doing:
shared_stack = StackReference(f"kiawnna/buildbot-shared-123456789/dev")
cluster_name = shared_stack.get_output("cluster_name")
vpc_id = shared_stack.get_output("vpc_id")
capacity_provider_name = shared_stack.get_output("capacity_provider_name")