-
Notifications
You must be signed in to change notification settings - Fork 313
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
sceptre 4.5.0 fails on template path #1506
Comments
Pin to Sceptre 4.4.2 due to issue Sceptre/sceptre#1506
Pin to Sceptre 4.4.2 due to issue Sceptre/sceptre#1506
@zaro0508 I can't reproduce this, although I do feel a bit worried that we don't have enough testers any more! Could you try reverting this commit and see if it still happens?
|
I dug a little deeper. I can definitely reproduce this problem however not consistently. I created a simple test project and ran the exact same launch command 26 times and was able to reproduce it 20 out of 26 runs. When it does not work I immediately get this error I believe it has something to do with multiple nested dependencies using both
Log of test runs: https://gist.github.com/zaro0508/e2827741ccb67927f3111776587a05ba |
I reverted commit 993ef09 from my local Sceptre checkout (master branch) then installed Sceptre from that branch (pip install -e .) I was NO longer able to reproduce this issue when running with this version. |
I have reproduced using your test files. Adding A good run:
A bad run:
After reverting the above-mentioned commit, I note that the ordering of the dependencies generation was not deterministic before or after that change. I'm continuing to dig. |
Way back in 2018, the original team were adding the debug command, and in that context set about to improve the output in some debug circumstances during inspection of Sceptre's internal objects. In response to #570, a custom `__eq__` method was added in df9fc20. Based on what can be seen of the original implementation of the custom `__eq__`, it has not been maintained in a long time, other than changes to it that appeared to cause issues for the current maintainers. -- A recent change to improve the output during cyclical dependency errors has introduced a call to `nx.find_cycle`. This function explicitly searches for a cycle in the graph. This appears to resolve in code testing for equality of nodes and thus calls to our custom `__eq__` function. The `__eq__` method however has been technically broken ever since `template_path` was made optional. This then results in `__eq__` failing. This fails as the code to indicate that `template_path` is deprecrated is then executed, which will fail if the setting has not really been defined. -- This PR proposes to simply remove `__eq__` since it is believed that it is no longer in use by anything. It has been more than 2 years since `template_path` was deprecrated and made optional, and the fact of this bug having never been observed until now is good evidence that it is not used or needed.
This reverts commit 20adde2 (#1200) Sceptre v4.5.2 fixed issue Sceptre/sceptre#1506
Sceptre version 4.5.0 fails to load template when using the
path
key. This is a regression, it works without error in sceptre v4.4.2Environment
Steps to reproduce
The text was updated successfully, but these errors were encountered: