Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem when launching a subset of an environment and using resolvers across profiles #483

Closed
basvank opened this issue Oct 18, 2018 · 16 comments

Comments

@basvank
Copy link

basvank commented Oct 18, 2018

This problem arose after playing around with the implementation of #395. It concerns sceptre v2 (I am using the master branch).

Consider the following sceptre environment:

├── config
│   ├── dev
│   │   ├── A.yaml
│   │   └── config.yaml
│   └── prod
│       ├── B.yaml
│       └── config.yaml
└── templates
    ├── template_a.yaml
    └── template_b.yaml

The dev and prod environments live in different accounts, so in config/dev/config.yaml we set profile: aws_test_account and in config/prod/config.yaml we use profile: aws_prod_account. Both these profiles work as intended, as you will see in a minute.

In template config/prod/B.yaml we use a resolver to an output of template config/dev/A.yaml, so for instance test_parameter: !stack_output dev/A::testOutput.

If we now run sceptre launch . everything works fine, so the setup looks good (as in; there is no problem with the profiles or AWS credentials).

However, if we now run sceptre launch prod to only launch a subset of the environment, we get an error. My whole setup is a bit more complex, but for reference this is my complete stack trace:

Traceback (most recent call last):
  File "/path/to/stack/bida_infrastructure/sceptre/venv/bin/sceptre", line 11, in <module>
    sys.exit(cli())
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 716, in __call__
    return self.main(*args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 696, in main
    rv = self.invoke(ctx)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 1060, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 889, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 534, in invoke
    return callback(*args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/cli/helpers.py", line 39, in decorated
    return func(*args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/cli/launch.py", line 32, in launch_command
    response = stack_group.launch()
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/stack_group.py", line 71, in launch
    self._check_for_circular_dependencies()
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/stack_group.py", line 297, in _check_for_circular_dependencies
    [stack.name]
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 214, in _detect_cycles
    path
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 214, in _detect_cycles
    path
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 197, in _detect_cycles
    dependency = available_nodes[dependency_name]
KeyError: 'xxx'

Here, xxx is the name of the stack that the resolver points to, so in the example this would be dev/A.

So it looks that the resolvers don't use the profiles properly when only a subset of the stack is deployed. The workaround is simple; just launch the whole stack. But it would be nice if in this setup launching a subset of the stack would be supported as well.

@nabeelamjad
Copy link
Contributor

@basvank sorry for the delay, this issue will be fixed for 2.0.

@ngfgrant
Copy link
Contributor

@basvank would you be able to try and test this again with our v2 Release Candidate? You should be able to install it with pip install sceptre --pre in a fresh virtualenv? The Migration Guide is here https://github.com/cloudreach/sceptre/wiki/Migration-Guide:-V1-to-V2

@basvank
Copy link
Author

basvank commented Nov 22, 2018

@ngfgrant It still fails, unfortunately, and it now even fails when I try to launch an environment that does not depend on a stack somewhere else in the tree. That was not the case earlier (I was on master, commit c17cfc5622c62ac3d679926dc5fd9657c10744be.

The error now looks as follows:

Traceback (most recent call last):
  File "/path/to/stack/bida_infrastructure/sceptre/venv/bin/sceptre", line 11, in <module>
    sys.exit(cli())
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/cli/helpers.py", line 37, in decorated
    return func(*args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/cli/launch.py", line 35, in launch_command
    plan = SceptrePlan(context)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/plan/plan.py", line 31, in __init__
    all_stacks, command_stacks = config_reader.construct_stacks()
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/config/reader.py", line 191, in construct_stacks
    stack.dependencies = [stack_map[dep] for dep in stack.dependencies]
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/config/reader.py", line 191, in <listcomp>
    stack.dependencies = [stack_map[dep] for dep in stack.dependencies]
KeyError: 'xxx'

@nabeelamjad
Copy link
Contributor

nabeelamjad commented Nov 22, 2018

@basvank you will need to follow the migration guide: https://github.com/cloudreach/sceptre/wiki/Migration-Guide:-V1-to-V2

Specifically, StackOutput (non-external) resolver needs to specify the full relevant path from the project config to the stack file (including the extension)

├── config
│   ├── dev
│   │   ├── A.yaml
│   │   └── config.yaml
│   └── prod
│       ├── B.yaml
│       └── config.yaml
└── templates
    ├── template_a.yaml
    └── template_b.yaml

Assuming prod/B.yaml has

!stack_output dev/A::testOutput

this should now be

!stack_output dev/A.yaml::testOutput

You will need to ensure all your config files have this properly updated now for StackOutputs

@basvank
Copy link
Author

basvank commented Nov 23, 2018

I followed the migration guide and it indeed seemed to have fixed the earlier problem, as I could get the launch command to work, and it started deploying stacks.

However, it seemed that, even if I deployed a subset of the stack, it still tried to deploy to whole setup. Eventually, it failed with an enormous stack trace and a recursion error:

lots of lines omitted...
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/stack_output.py", line 40, in _get_output_value
    outputs = self._get_stack_outputs(stack_name, profile, region)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/stack_output.py", line 65, in _get_stack_outputs
    connection_manager = self.stack.template.connection_manager
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/stack.py", line 200, in template
    sceptre_user_data=self.sceptre_user_data,
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/__init__.py", line 75, in __get__
    resolve, getattr(instance, self.name), Resolver
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 60, in _call_func_on_values
    func_on_instance(key)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 56, in func_on_instance
    _call_func_on_values(func, value, cls)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 60, in _call_func_on_values
    func_on_instance(key)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 54, in func_on_instance
    func(attr, key, value)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/__init__.py", line 71, in resolve
    attr[key] = value.resolve()
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/stack_output.py", line 137, in resolve
    profile=stack.profile, region=stack.region)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/stack_output.py", line 40, in _get_output_value
    outputs = self._get_stack_outputs(stack_name, profile, region)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/stack_output.py", line 65, in _get_stack_outputs
    connection_manager = self.stack.template.connection_manager
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/stack.py", line 200, in template
    sceptre_user_data=self.sceptre_user_data,
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/__init__.py", line 75, in __get__
    resolve, getattr(instance, self.name), Resolver
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 60, in _call_func_on_values
    func_on_instance(key)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 56, in func_on_instance
    _call_func_on_values(func, value, cls)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 60, in _call_func_on_values
    func_on_instance(key)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 54, in func_on_instance
    func(attr, key, value)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/__init__.py", line 71, in resolve
    attr[key] = value.resolve()
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/stack_output.py", line 137, in resolve
    profile=stack.profile, region=stack.region)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/stack_output.py", line 40, in _get_output_value
    outputs = self._get_stack_outputs(stack_name, profile, region)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/stack_output.py", line 65, in _get_stack_outputs
    connection_manager = self.stack.template.connection_manager
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/stack.py", line 200, in template
    sceptre_user_data=self.sceptre_user_data,
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/resolvers/__init__.py", line 75, in __get__
    resolve, getattr(instance, self.name), Resolver
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 60, in _call_func_on_values
    func_on_instance(key)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 56, in func_on_instance
    _call_func_on_values(func, value, cls)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 60, in _call_func_on_values
    func_on_instance(key)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/helpers.py", line 53, in func_on_instance
    if isinstance(value, cls):
  File "/path/to/stack/bida_infrastructure/sceptre/venv/bin/../lib/python3.6/abc.py", line 184, in __instancecheck__
    if subclass in cls._abc_cache:
  File "/path/to/stack/bida_infrastructure/sceptre/venv/bin/../lib/python3.6/_weakrefset.py", line 72, in __contains__
    wr = ref(item)
RecursionError: maximum recursion depth exceeded while calling a Python object

We're using nested stacks up to a depth of about 4 folders. Any chance that is pushing the limits of sceptre, or do you have any idea of anything else that is going wrong?

@nabeelamjad
Copy link
Contributor

nabeelamjad commented Nov 23, 2018

Nested stacks shouldn't be an issue, if possible could you post a full example tree of your current setup? Just the minimum set to make this scenario fail so I can test it out locally.

Sceptre 2.0 will have changed some functionality regarding launching a stack, if you try to launch a stack which depends on other stacks then they will be launched as well (this also applies cross stack groups). If you want a single stack to launch then you will have to use create instead of launch. Similarly delete will delete all descendant stacks that depend on the stack you want to delete.

@basvank
Copy link
Author

basvank commented Nov 26, 2018

@nabeelamjad It's a corporate project, so I would need to discuss if sharing the code is possible. We have about 200 stacks currently configured via sceptre, so creating a minimum set might be a challenge.
Would it be useful for you if I provide the config directory, but not the templates? I might get that approved easier. But I don't know if that will help debugging the issue in any way?
I'll see what I can do to share the code from my side. Thanks for all the effort so far already!

@nabeelamjad
Copy link
Contributor

@basvank sure thing - it doesn't have to be the actual structure or whatever. As long as I can some similar setup (as you said, 200 stacks, so might be more difficult) or a broad description so we can generate them ourselves to result in the same recursion error.

We'll do some more playing with deeply nested stacks (we've tried about 3-4 levels deep ourselves).

@basvank
Copy link
Author

basvank commented Nov 26, 2018

@nabeelamjad Playing around with it a bit more I get the impression that the issue might be in the dependency graph. In total, we have 507 stack_output resolvers, would you be able to reproduce such a setup and see if you might encounter similar recursion depth errors? I tried increasing the recursion depth of python, but when I do I eventually run into a Segmentation fault: 11.

Note: sometimes the recursion error is not thrown in sceptre itself, but rather the error ValueError: max() arg is an empty sequence. If I then put print(plan.graph) before the confirmation() call in cli/launch.py, I get the recursion error again (maybe some lazy loading going on?).

@nabeelamjad
Copy link
Contributor

Will do @basvank - are all the stack outputs connected in some way? Do you know the max depth of the "most connected" stack group?

If we assume the following stacks: 1, 2, 3, 4, 5, 6, 7, 8, 9 where 9 is connected to 8, to 7, etc. Then that'd be a depth/level of 8/9

@basvank
Copy link
Author

basvank commented Nov 26, 2018

The deepest depth I have traced is about 9 levels deep. I cannot imagine it to be much deeper than that.

@nabeelamjad
Copy link
Contributor

nabeelamjad commented Nov 26, 2018

@basvank I'm testing this out now with a recursion limit of 20 levels deep and a total of 200 stacks where each stack is dependent on the previous stack. The first stack sets an output value and the rest propagates it.

This may take a while to launch on AWS, but so far I've had no problems generating the actual dependency graph nor launching it. Monitoring the progress on AWS shows everything seems to be going fine.

I've attached a zip file with the setup, you will need to replace my-bucket-name and possibly the profile name.
grep -rl my-bucket-name . | xargs sed -i 's/my-bucket-name/BUCKETNAMEHERE/g'

If this goes fine I may try different kind of complex stacks as well as multiple sibling stack groups rather than just a single nested stack group and multiple groups at the root level. I suppose it may hard to debug your actual problem as I'm just taking a wild guess here.

stacks.zip

Edit: If you see ValueError: max() arg is an empty sequence then that is an uncaught exception (which we need to fix) to say that somewhere a path is being referenced that doesn't exist. So you may possibly have a config file that isn't updated then.

Here's the output of the nested stack group, no issues observed at all. All but the first stack receives its OutputValue from the preceding stack (0 < 1 < 2 < 3 < 4 < A/0 < A/1...) so on and so forth.

Sceptre List Outputs
(sceptre) [ec2-user@sceptre-stack]$ sceptre list outputs prod
- - ExportName: pdev-prod-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-4-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-0-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-1-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-2-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-3-Output
    OutputKey: Output
    OutputValue: FirstStack
- - ExportName: pdev-prod-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-4-Output
    OutputKey: Output
    OutputValue: FirstStack

@basvank
Copy link
Author

basvank commented Nov 27, 2018

@nabeelamjad Your note about the ValueError is interesting. Any way to narrow down where the problem might be? I've checked the paths to the templates dir and the file extensions in the output_resolvers, but haven't found the issue yet. This is the complete stacktrace:

Traceback (most recent call last):
  File "/path/to/stack/bida_infrastructure/sceptre/venv/bin/sceptre", line 11, in <module>
    sys.exit(cli())
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/cli/helpers.py", line 37, in decorated
    return func(*args, **kwargs)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/cli/launch.py", line 38, in launch_command
    responses = plan.launch()
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/plan/plan.py", line 116, in launch
    return self._execute(*args)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/plan/plan.py", line 36, in _execute
    executor = SceptrePlanExecutor(self.command, self.launch_order)
  File "/path/to/stack/bida_infrastructure/sceptre/venv/lib/python3.6/site-packages/sceptre/plan/executor.py", line 35, in __init__
    self.num_threads = len(max(launch_order, key=len))
ValueError: max() arg is an empty sequence

Also, using the working version of sceptre, as of commit c17cfc5622c62ac3d679926dc5fd9657c10744be, I was able to construct the dependency graph for our project, if that helps you in any way:

{'public/domains/ratas-endpoint': [], 'public/domains/sac-endpoint': [], 'public/domains/sac-proxy-certificate-validation': ['public/domains/sac-endpoint'], 'public/domains/ratas-proxy-certificate-validation': ['public/domains/ratas-endpoint'], 'users/users/coda-members': ['users/users/ssh-groups', 'users/users/pam-groups'], 'users/users/ssh-groups': ['private/services/sanoma-auth/application-api-gw'], 'users/users/pam-groups': [], 'users/users/admins': ['users/users/ssh-groups', 'users/users/pam-groups'], 'private/services/sanoma-auth/application-api-gw': ['private/services/sanoma-auth/application-lambda'], 'users/sanoma-auth/auth-principals': [], 'users/sanoma-auth/auth': [], 'users/services/sanoma-auth/auth-principals': [], 'users/services/sanoma-auth/auth': [], 'dev/rds/shared-pg/application-rds-instance': ['dev/rds/shared-pg/auth'], 'dev/rds/shared-pg/auth': [], 'dev/base/custom-cf-resources/ses-domain': [], 'dev/s3/test-bucket': [], 'dev/s3/dev-infrastructure-bucket': [], 'dev/domains/redirects/athena-redirect-bucket': ['dev/domains/redirects/athena-hostname'], 'dev/domains/redirects/athena-hostname': ['dev/domains/bigdata-dev-domain'], 'dev/domains/bigdata-dev-domain': [], 'dev/domains/redirects/aws-hostname': ['dev/domains/bigdata-dev-domain'], 'dev/domains/redirects/aws-redirect-bucket': ['dev/domains/redirects/aws-hostname'], 'dev/services/bida-influxdb/alb': ['dev/services/bida-influxdb/auth'], 'dev/services/bida-influxdb/auth': ['dev/base/ec2-configuration', 'dev/base/base-security-groups'], 'dev/services/bida-influxdb/launch-template': ['dev/services/bida-influxdb/auth', 'dev/services/bida-influxdb/hostname-internal', 'dev/base/base-security-groups'], 'dev/services/bida-influxdb/hostname-internal': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-influxdb/nlb'], 'dev/base/base-security-groups': [], 'dev/services/bida-influxdb/nlb': [], 'dev/services/bida-influxdb/asg': ['dev/services/bida-influxdb/launch-template', 'dev/services/bida-influxdb/ssh-listener', 'dev/services/bida-influxdb/influxdb-listener'], 'dev/services/bida-influxdb/ssh-listener': ['dev/services/bida-influxdb/nlb'], 'dev/services/bida-influxdb/influxdb-listener': ['dev/domains/bigdata-dev-domain-certificate', 'dev/services/bida-influxdb/alb'], 'dev/services/bida-influxdb/hostname': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-influxdb/alb'], 'dev/domains/bigdata-dev-domain-certificate': [], 'dev/base/ec2-configuration': [], 'dev/services/bida-mail/auth': [], 'dev/services/bida-central-fluentd/fluentd-listener': ['dev/services/bida-central-fluentd/nlb'], 'dev/services/bida-central-fluentd/nlb': [], 'dev/services/bida-central-fluentd/launch-template': ['dev/services/bida-central-fluentd/auth', 'dev/services/bida-central-fluentd/hostname', 'dev/services/bida-central-fluentd/hostname-internal', 'dev/base/base-security-groups'], 'dev/services/bida-central-fluentd/auth': ['dev/base/ec2-configuration', 'dev/base/base-security-groups'], 'dev/services/bida-central-fluentd/hostname': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-central-fluentd/nlb'], 'dev/services/bida-central-fluentd/hostname-internal': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-central-fluentd/nlb'], 'dev/services/bida-central-fluentd/asg': ['dev/services/bida-central-fluentd/launch-template', 'dev/services/bida-central-fluentd/fluentd-listener', 'dev/services/bida-central-fluentd/ssh-listener'], 'dev/services/bida-central-fluentd/ssh-listener': ['dev/services/bida-central-fluentd/nlb'], 'dev/services/sanoma-auth/application-api-gw': ['dev/services/sanoma-auth/application-lambda'], 'dev/services/sanoma-auth/application-lambda': ['dev/services/sanoma-auth/auth', 'users/sanoma-auth/auth', 'private/sanoma-auth/auth', 'users/sanoma-auth/auth-principals'], 'dev/services/sanoma-auth/auth': ['users/sanoma-auth/auth', 'private/sanoma-auth/auth', 'users/sanoma-auth/auth-principals'], 'private/sanoma-auth/auth': ['private/base/kms-bida-key'], 'dev/services/sanoma-auth/application-hostname': ['dev/domains/bigdata-dev-domain'], 'dev/services/sanoma-auth/application-gw-hostname': ['dev/domains/bigdata-dev-domain', 'dev/domains/bigdata-dev-domain-certificate', 'dev/services/sanoma-auth/application-api-gw'], 'dev/services/bida-packer/auth': ['dev/base/ec2-configuration'], 'dev/services/bida-jenkins-non-cluster-slave/launch-template': ['dev/services/bida-jenkins-non-cluster-slave/auth', 'dev/services/bida-jenkins-non-cluster-slave/hostname', 'dev/base/base-security-groups'], 'dev/services/bida-jenkins-non-cluster-slave/auth': ['dev/base/ec2-configuration', 'dev/services/bida-jenkins/auth'], 'dev/services/bida-jenkins-non-cluster-slave/hostname': ['dev/domains/bigdata-dev-domain'], 'dev/services/bida-jenkins-non-cluster-slave/asg': ['dev/services/bida-jenkins-non-cluster-slave/launch-template', 'dev/services/bida-jenkins-non-cluster-slave/hostname', 'dev/base/asg-sns-topic'], 'dev/base/asg-sns-topic': [], 'dev/services/bida-jenkins/auth': ['dev/base/ec2-configuration', 'dev/base/kms-bida-key'], 'dev/services/bida-jumphost/launch-template': ['dev/services/bida-jumphost/auth', 'dev/services/bida-jumphost/hostname', 'dev/base/base-security-groups', 'users/users/ssh-groups'], 'dev/services/bida-jumphost/auth': ['dev/base/ec2-configuration'], 'dev/services/bida-jumphost/hostname': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-jumphost/nlb'], 'dev/services/bida-jumphost/asg': ['dev/services/bida-jumphost/launch-template', 'dev/services/bida-jumphost/ssh-listener'], 'dev/services/bida-jumphost/ssh-listener': ['dev/services/bida-jumphost/nlb'], 'dev/services/bida-jumphost/nlb': [], 'dev/services/bida-grafana/alb': ['dev/services/bida-grafana/auth', 'dev/base/base-security-groups'], 'dev/services/bida-grafana/auth': ['dev/base/ec2-configuration'], 'dev/services/bida-grafana/https-listener': ['dev/services/bida-grafana/alb', 'dev/domains/bigdata-dev-domain-certificate'], 'dev/services/bida-grafana/launch-template': ['dev/services/bida-grafana/auth', 'dev/services/bida-grafana/hostname-internal', 'dev/rds/shared-pg/auth', 'dev/base/base-security-groups', 'dev/services/bida-grafana/hostname', 'dev/rds/shared-pg/application-rds-instance'], 'dev/services/bida-grafana/hostname-internal': ['dev/domains/bigdata-dev-domain'], 'dev/services/bida-grafana/hostname': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-grafana/alb'], 'dev/services/bida-grafana/asg': ['dev/services/bida-grafana/launch-template', 'dev/services/bida-grafana/https-listener', 'dev/services/bida-grafana/hostname-internal', 'dev/base/asg-sns-topic'], 'dev/services/auto-update-asg-hostname/sns-subscription': ['dev/base/asg-sns-topic', 'dev/services/auto-update-asg-hostname/lambda'], 'dev/services/auto-update-asg-hostname/lambda': ['dev/services/auto-update-asg-hostname/auth'], 'dev/services/auto-update-asg-hostname/auth': ['dev/domains/bigdata-dev-domain'], 'dev/services/bida-jenkins/alb': ['dev/services/bida-jenkins/auth', 'dev/base/base-security-groups'], 'dev/services/bida-jenkins/https-listener': ['dev/services/bida-jenkins/alb', 'dev/domains/bigdata-dev-domain-certificate'], 'dev/services/bida-jenkins/launch-template': ['dev/services/bida-jenkins/auth', 'dev/services/bida-jenkins/hostname-internal', 'dev/base/base-security-groups'], 'dev/services/bida-jenkins/hostname-internal': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-jenkins/nlb'], 'dev/services/bida-jenkins/nlb': [], 'dev/services/bida-jenkins/asg': ['dev/services/bida-jenkins/launch-template', 'dev/services/bida-jenkins/ssh-listener', 'dev/services/bida-jenkins/https-listener'], 'dev/services/bida-jenkins/ssh-listener': ['dev/services/bida-jenkins/nlb'], 'dev/services/bida-jenkins/hostname': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-jenkins/alb'], 'dev/base/kms-bida-key': [], 'dev/services/bida-cluster/batch/proxy-https-listener': ['dev/services/bida-cluster/batch/proxy-alb', 'dev/domains/bigdata-dev-domain-certificate'], 'dev/services/bida-cluster/batch/proxy-alb': ['dev/services/bida-cluster/batch/auth', 'dev/base/base-security-groups'], 'dev/services/bida-cluster/batch/proxy-hostname-internal': ['dev/domains/bigdata-dev-domain'], 'dev/services/bida-cluster/batch/auth': ['dev/base/ec2-configuration'], 'dev/services/bida-cluster/batch/proxy-hostname': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-cluster/batch/proxy-alb'], 'dev/services/bida-cluster/batch/hostname-internal': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-cluster/batch/cluster'], 'dev/services/bida-cluster/batch/cluster': ['dev/services/bida-cluster/batch/auth', 'dev/base/base-security-groups', 'dev/rds/shared-pg/auth'], 'dev/services/bida-cluster/batch/proxy-launch-template': ['dev/services/bida-cluster/batch/auth', 'dev/services/bida-cluster/batch/proxy-hostname', 'dev/services/bida-cluster/batch/proxy-hostname-internal', 'dev/base/base-security-groups', 'dev/services/bida-cluster/batch/cluster'], 'dev/services/bida-cluster/batch/proxy-asg': ['dev/services/bida-cluster/batch/proxy-launch-template', 'dev/services/bida-cluster/batch/proxy-https-listener', 'dev/services/bida-cluster/batch/proxy-hostname-internal', 'dev/base/asg-sns-topic'], 'dev/services/bida-cluster/adhoc/hue-https-listener': ['dev/services/bida-cluster/adhoc/hue-alb', 'dev/domains/bigdata-dev-domain-certificate'], 'dev/services/bida-cluster/adhoc/hue-alb': ['dev/services/bida-cluster/adhoc/auth', 'dev/base/base-security-groups'], 'dev/services/bida-cluster/adhoc/proxy-https-listener': ['dev/services/bida-cluster/adhoc/proxy-alb', 'dev/domains/bigdata-dev-domain-certificate'], 'dev/services/bida-cluster/adhoc/proxy-alb': ['dev/services/bida-cluster/adhoc/auth', 'dev/base/base-security-groups'], 'dev/services/bida-cluster/adhoc/proxy-hostname-internal': ['dev/domains/bigdata-dev-domain'], 'dev/services/bida-cluster/adhoc/auth': ['dev/base/ec2-configuration'], 'dev/services/bida-cluster/adhoc/biqueries-hostname': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-cluster/adhoc/hue-alb'], 'dev/services/bida-cluster/adhoc/proxy-hostname': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-cluster/adhoc/proxy-alb'], 'dev/services/bida-cluster/adhoc/hostname-internal': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-cluster/adhoc/cluster'], 'dev/services/bida-cluster/adhoc/cluster': ['dev/services/bida-cluster/adhoc/auth', 'dev/base/base-security-groups', 'dev/rds/shared-pg/auth', 'dev/rds/shared-pg/application-rds-instance'], 'dev/services/bida-cluster/adhoc/hue-hostname': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-cluster/adhoc/hue-alb'], 'dev/services/bida-cluster/adhoc/proxy-launch-template': ['dev/services/bida-cluster/adhoc/auth', 'dev/services/bida-cluster/adhoc/proxy-hostname', 'dev/services/bida-cluster/adhoc/proxy-hostname-internal', 'dev/base/base-security-groups', 'dev/services/bida-cluster/adhoc/cluster'], 'dev/services/bida-cluster/adhoc/biadhoc-hostname': ['dev/domains/bigdata-dev-domain', 'dev/services/bida-cluster/adhoc/cluster'], 'dev/services/bida-cluster/adhoc/proxy-asg': ['dev/services/bida-cluster/adhoc/proxy-launch-template', 'dev/services/bida-cluster/adhoc/hue-https-listener', 'dev/services/bida-cluster/adhoc/proxy-https-listener', 'dev/services/bida-cluster/adhoc/proxy-hostname-internal', 'dev/base/asg-sns-topic'], 'private/s3/infrastructure-bucket': ['private/s3/logging-bucket'], 'private/s3/logging-bucket': [], 'private/base/kms-bida-key': [], 'private/domains/redirects/athena-redirect-bucket': ['private/domains/redirects/athena-hostname'], 'private/domains/redirects/athena-hostname': ['private/domains/bigdata-domain'], 'private/domains/bigdata-domain': [], 'private/domains/redirects/aws-hostname': ['private/domains/bigdata-domain'], 'private/domains/redirects/aws-redirect-bucket': ['private/domains/redirects/aws-hostname'], 'private/rds/shared-pg/application-rds-instance': ['private/rds/shared-pg/auth'], 'private/rds/shared-pg/auth': [], 'private/base/custom-cf-resources/ses-domain': ['private/s3/infrastructure-bucket'], 'private/services/bida-packer/auth': ['private/base/ec2-configuration'], 'private/base/ec2-configuration': [], 'private/services/bida-jenkins/alb': ['private/services/bida-jenkins/auth', 'private/base/base-security-groups'], 'private/services/bida-jenkins/auth': ['private/base/ec2-configuration', 'private/base/kms-bida-key'], 'private/base/base-security-groups': [], 'private/services/bida-jenkins/https-listener': ['private/services/bida-jenkins/alb', 'private/domains/bigdata-domain-certificate'], 'private/domains/bigdata-domain-certificate': [], 'private/services/bida-jenkins/launch-template': ['private/services/bida-jenkins/auth', 'private/services/bida-jenkins/hostname-internal', 'private/base/base-security-groups'], 'private/services/bida-jenkins/hostname-internal': ['private/domains/bigdata-domain', 'private/services/bida-jenkins/nlb'], 'private/services/bida-jenkins/nlb': [], 'private/services/bida-jenkins/asg': ['private/services/bida-jenkins/launch-template', 'private/services/bida-jenkins/ssh-listener', 'private/services/bida-jenkins/https-listener'], 'private/services/bida-jenkins/ssh-listener': ['private/services/bida-jenkins/nlb'], 'private/services/bida-jenkins/hostname': ['private/domains/bigdata-domain', 'private/services/bida-jenkins/alb'], 'private/services/auto-update-asg-hostname/sns-subscription': ['private/base/asg-sns-topic', 'private/services/auto-update-asg-hostname/lambda'], 'private/base/asg-sns-topic': [], 'private/services/auto-update-asg-hostname/lambda': ['private/services/auto-update-asg-hostname/auth', 'private/s3/infrastructure-bucket'], 'private/services/auto-update-asg-hostname/auth': ['private/domains/bigdata-domain'], 'private/services/bida-grafana/alb': ['private/services/bida-grafana/auth', 'private/base/base-security-groups'], 'private/services/bida-grafana/auth': ['private/base/ec2-configuration'], 'private/services/bida-grafana/https-listener': ['private/services/bida-grafana/alb', 'private/domains/bigdata-domain-certificate'], 'private/services/bida-grafana/launch-template': ['private/services/bida-grafana/auth', 'private/services/bida-grafana/hostname-internal', 'private/rds/shared-pg/auth', 'private/base/base-security-groups', 'private/services/bida-grafana/hostname', 'private/rds/shared-pg/application-rds-instance'], 'private/services/bida-grafana/hostname-internal': ['private/domains/bigdata-domain', 'private/services/bida-grafana/nlb'], 'private/services/bida-grafana/hostname': ['private/domains/bigdata-domain', 'private/services/bida-grafana/alb'], 'private/services/bida-grafana/nlb': [], 'private/services/bida-grafana/asg': ['private/services/bida-grafana/launch-template', 'private/services/bida-grafana/ssh-listener', 'private/services/bida-grafana/https-listener'], 'private/services/bida-grafana/ssh-listener': ['private/services/bida-grafana/nlb'], 'private/services/bida-mail/auth': [], 'private/services/bida-jumphost/launch-template': ['private/services/bida-jumphost/auth', 'private/services/bida-jumphost/hostname', 'private/base/base-security-groups', 'users/users/ssh-groups'], 'private/services/bida-jumphost/auth': ['private/base/ec2-configuration'], 'private/services/bida-jumphost/hostname': ['private/domains/bigdata-domain', 'private/services/bida-jumphost/nlb'], 'private/services/bida-jumphost/asg': ['private/services/bida-jumphost/launch-template', 'private/services/bida-jumphost/ssh-listener'], 'private/services/bida-jumphost/ssh-listener': ['private/services/bida-jumphost/nlb'], 'private/services/bida-jumphost/nlb': [], 'private/services/bida-jenkins-admin-slave/launch-template': ['private/services/bida-jenkins-admin-slave/auth', 'private/services/bida-jenkins-admin-slave/hostname', 'private/base/base-security-groups'], 'private/services/bida-jenkins-admin-slave/auth': ['private/base/ec2-configuration', 'private/services/bida-jenkins/auth'], 'private/services/bida-jenkins-admin-slave/hostname': ['private/domains/bigdata-domain'], 'private/services/bida-jenkins-admin-slave/asg': ['private/services/bida-jenkins-admin-slave/launch-template', 'private/services/bida-jenkins-admin-slave/hostname', 'private/base/asg-sns-topic'], 'private/services/sanoma-auth/application-lambda': ['private/services/sanoma-auth/auth', 'private/s3/infrastructure-bucket', 'users/services/sanoma-auth/auth', 'private/services/sanoma-auth/auth-ssm', 'users/services/sanoma-auth/auth-principals'], 'private/services/sanoma-auth/auth': ['users/services/sanoma-auth/auth', 'private/services/sanoma-auth/auth-ssm', 'users/services/sanoma-auth/auth-principals'], 'private/services/sanoma-auth/auth-ssm': ['private/base/kms-bida-key'], 'private/services/sanoma-auth/application-hostname': ['private/domains/bigdata-domain', 'private/services/sanoma-auth/application-gw-hostname'], 'private/services/sanoma-auth/application-gw-hostname': ['private/domains/bigdata-domain', 'private/domains/bigdata-domain-certificate', 'private/services/sanoma-auth/application-api-gw'], 'private/services/bida-influxdb/alb': ['private/services/bida-influxdb/auth'], 'private/services/bida-influxdb/auth': ['private/base/ec2-configuration', 'private/base/base-security-groups'], 'private/services/bida-influxdb/launch-template': ['private/services/bida-influxdb/auth', 'private/services/bida-influxdb/hostname-internal', 'private/base/base-security-groups'], 'private/services/bida-influxdb/hostname-internal': ['private/domains/bigdata-domain', 'private/services/bida-influxdb/nlb'], 'private/services/bida-influxdb/nlb': [], 'private/services/bida-influxdb/asg': ['private/services/bida-influxdb/launch-template', 'private/services/bida-influxdb/ssh-listener', 'private/services/bida-influxdb/influxdb-listener'], 'private/services/bida-influxdb/ssh-listener': ['private/services/bida-influxdb/nlb'], 'private/services/bida-influxdb/influxdb-listener': ['private/domains/bigdata-domain-certificate', 'private/services/bida-influxdb/alb'], 'private/services/bida-influxdb/hostname': ['private/domains/bigdata-domain', 'private/services/bida-influxdb/alb'], 'private/services/bida-central-fluentd/fluentd-listener': ['private/services/bida-central-fluentd/nlb'], 'private/services/bida-central-fluentd/nlb': [], 'private/services/bida-central-fluentd/launch-template': ['private/services/bida-central-fluentd/auth', 'private/services/bida-central-fluentd/hostname', 'private/services/bida-central-fluentd/hostname-internal', 'private/base/base-security-groups'], 'private/services/bida-central-fluentd/auth': ['private/base/ec2-configuration', 'private/base/base-security-groups', 'private/s3/logging-bucket'], 'private/services/bida-central-fluentd/hostname': ['private/domains/bigdata-domain', 'private/services/bida-central-fluentd/nlb'], 'private/services/bida-central-fluentd/hostname-internal': ['private/domains/bigdata-domain', 'private/services/bida-central-fluentd/nlb'], 'private/services/bida-central-fluentd/asg': ['private/services/bida-central-fluentd/launch-template', 'private/services/bida-central-fluentd/fluentd-listener', 'private/services/bida-central-fluentd/ssh-listener'], 'private/services/bida-central-fluentd/ssh-listener': ['private/services/bida-central-fluentd/nlb'], 'private/services/bida-jenkins-non-cluster-slave/launch-template': ['private/services/bida-jenkins-non-cluster-slave/auth', 'private/services/bida-jenkins-non-cluster-slave/hostname', 'private/base/base-security-groups'], 'private/services/bida-jenkins-non-cluster-slave/auth': ['private/base/ec2-configuration', 'private/services/bida-jenkins/auth'], 'private/services/bida-jenkins-non-cluster-slave/hostname': ['private/domains/bigdata-domain'], 'private/services/bida-jenkins-non-cluster-slave/asg': ['private/services/bida-jenkins-non-cluster-slave/launch-template', 'private/services/bida-jenkins-non-cluster-slave/hostname', 'private/base/asg-sns-topic'], 'private/services/bida-cluster/batch/proxy-https-listener': ['private/services/bida-cluster/batch/proxy-alb', 'private/domains/bigdata-domain-certificate'], 'private/services/bida-cluster/batch/proxy-alb': ['private/services/bida-cluster/batch/auth', 'private/base/base-security-groups'], 'private/services/bida-cluster/batch/proxy-hostname-internal': ['private/domains/bigdata-domain'], 'private/services/bida-cluster/batch/auth': ['private/base/ec2-configuration'], 'private/services/bida-cluster/batch/proxy-hostname': ['private/domains/bigdata-domain', 'private/services/bida-cluster/batch/proxy-alb'], 'private/services/bida-cluster/batch/hostname-internal': ['private/domains/bigdata-domain', 'private/services/bida-cluster/batch/cluster'], 'private/services/bida-cluster/batch/cluster': ['private/services/bida-cluster/batch/auth', 'private/base/base-security-groups', 'private/rds/shared-pg/auth'], 'private/services/bida-cluster/batch/proxy-launch-template': ['private/services/bida-cluster/batch/auth', 'private/services/bida-cluster/batch/proxy-hostname', 'private/services/bida-cluster/batch/proxy-hostname-internal', 'private/base/base-security-groups', 'private/services/bida-cluster/batch/cluster'], 'private/services/bida-cluster/batch/proxy-asg': ['private/services/bida-cluster/batch/proxy-launch-template', 'private/services/bida-cluster/batch/proxy-https-listener', 'private/services/bida-cluster/batch/proxy-hostname-internal', 'private/base/asg-sns-topic'], 'private/services/bida-cluster/adhoc/hue-https-listener': ['private/services/bida-cluster/adhoc/hue-alb', 'private/domains/bigdata-domain-certificate'], 'private/services/bida-cluster/adhoc/hue-alb': ['private/services/bida-cluster/adhoc/auth', 'private/base/base-security-groups'], 'private/services/bida-cluster/adhoc/proxy-https-listener': ['private/services/bida-cluster/adhoc/proxy-alb', 'private/domains/bigdata-domain-certificate'], 'private/services/bida-cluster/adhoc/proxy-alb': ['private/services/bida-cluster/adhoc/auth', 'private/base/base-security-groups'], 'private/services/bida-cluster/adhoc/proxy-hostname-internal': ['private/domains/bigdata-domain'], 'private/services/bida-cluster/adhoc/auth': ['private/base/ec2-configuration'], 'private/services/bida-cluster/adhoc/biqueries-hostname': ['private/domains/bigdata-domain', 'private/services/bida-cluster/adhoc/hue-alb'], 'private/services/bida-cluster/adhoc/proxy-hostname': ['private/domains/bigdata-domain', 'private/services/bida-cluster/adhoc/proxy-alb'], 'private/services/bida-cluster/adhoc/hostname-internal': ['private/domains/bigdata-domain', 'private/services/bida-cluster/adhoc/cluster'], 'private/services/bida-cluster/adhoc/cluster': ['private/services/bida-cluster/adhoc/auth', 'private/base/base-security-groups', 'private/rds/shared-pg/auth', 'private/rds/shared-pg/application-rds-instance'], 'private/services/bida-cluster/adhoc/hue-hostname': ['private/domains/bigdata-domain', 'private/services/bida-cluster/adhoc/hue-alb'], 'private/services/bida-cluster/adhoc/proxy-launch-template': ['private/services/bida-cluster/adhoc/auth', 'private/services/bida-cluster/adhoc/proxy-hostname', 'private/services/bida-cluster/adhoc/proxy-hostname-internal', 'private/base/base-security-groups', 'private/services/bida-cluster/adhoc/cluster'], 'private/services/bida-cluster/adhoc/biadhoc-hostname': ['private/domains/bigdata-domain', 'private/services/bida-cluster/adhoc/cluster'], 'private/services/bida-cluster/adhoc/proxy-asg': ['private/services/bida-cluster/adhoc/proxy-launch-template', 'private/services/bida-cluster/adhoc/hue-https-listener', 'private/services/bida-cluster/adhoc/proxy-https-listener', 'private/services/bida-cluster/adhoc/proxy-hostname-internal', 'private/base/asg-sns-topic']}

@nabeelamjad
Copy link
Contributor

@basvank I've taken your launch order and converted them into templates/config files and had no issues attempting to launch it, slightly confused what it could be. I think I'm still edging towards some sort of configuration error.

I've attached the stack zip with your launch order re-generated into mock templates (non-dependant stacks output their stack name and dependent templates use those as their output)

test-stack.zip

@ngfgrant
Copy link
Contributor

@basvank have any of the subsequent full v2 releases resolved this for you?

@ngfgrant ngfgrant added this to the 2.1.1 milestone Feb 28, 2019
@ngfgrant ngfgrant added this to To do in Sceptre Mar 1, 2019
@ngfgrant ngfgrant removed this from To do in Sceptre Mar 4, 2019
@ngfgrant ngfgrant removed this from the 2.1.1 milestone Mar 4, 2019
@ngfgrant
Copy link
Contributor

ngfgrant commented Mar 4, 2019

Closing as not heard back, reopen if the issue persists.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants