Skip to content

Sceptre create change set not ignoring dependency #1543

@rohits2290

Description

@rohits2290

Sceptre, version 4.5.2
Python 3.11.8

Attempting to create a change set for a stack that does not exist. This works fine till you add --ignore-dependencies flag so that it doesn't end up creating change sets for all dependent stacks (which results in FAILED change set as there are no changes in the dependent stacks)

Successful creation of change set without --ignore-dependencies

sceptre create uat/endpoints/ecs.yaml new-change-set
Do you want to create change set 'new-change-set' for 'uat/endpoints/ecs.yaml' [y/N]: y
[2025-02-11 14:22:43] - uat/endpoints/sg - Stack is in the CREATE_COMPLETE state
[2025-02-11 14:22:44] - uat/endpoints/sg - Successfully initiated creation of Change Set 'new-change-set'
[2025-02-11 14:22:44] - uat/endpoints/ecs - Stack is in the PENDING state
[2025-02-11 14:22:44] - uat/endpoints/ecs - Successfully initiated creation of Change Set 'new-change-set'

Stack trace with flag --ignore-dependencies

sceptre --ignore-dependencies create uat/endpoints/ecs.yaml new-change-set
Do you want to create change set 'new-change-set' for 'uat/endpoints/ecs.yaml' [y/N]: y
[2025-02-11 14:24:02] - uat/endpoints/ecs - Stack is in the PENDING state
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/bin/sceptre", line 8, in
sys.exit(cli())
^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/cli/helpers.py", line 46, in decorated
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/cli/create.py", line 49, in create_command
plan.create_change_set(change_set_name)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/plan/plan.py", line 302, in create_change_set
return self._execute(*args)
^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/plan/plan.py", line 31, in wrapped
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/plan/plan.py", line 57, in _execute
return executor.execute(*args)
^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/plan/executor.py", line 52, in execute
stack, status = future.result()
^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/plan/executor.py", line 59, in _execute
result = getattr(actions, self.command)(*args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/hooks/init.py", line 95, in decorated
response = func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/plan/actions.py", line 461, in create_change_set
"Parameters": self._format_parameters(self.stack.parameters),
^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/resolvers/init.py", line 321, in get
container = super().get(stack, stack_class)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/resolvers/init.py", line 230, in get
return self.get_resolved_value(stack, stack_class)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/resolvers/init.py", line 371, in get_resolved_value
_call_func_on_values(resolve, container, Resolver)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/helpers.py", line 91, in _call_func_on_values
func_on_instance(key)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/helpers.py", line 87, in func_on_instance
_call_func_on_values(func, value, cls)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/helpers.py", line 94, in _call_func_on_values
func_on_instance(index)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/helpers.py", line 85, in func_on_instance
func(attr, key, value)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/resolvers/init.py", line 345, in resolve
result = self.resolve_resolver_value(value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/resolvers/init.py", line 284, in resolve_resolver_value
return resolver.resolve()
^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/sceptre/resolvers/stack_output.py", line 136, in resolve
stack = next(
^^^^^
StopIteration

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions