In Juju v.2.6.0
, there is better support for the removal of Juju objects.
Juju object removal commands do not succeed when there are errors in the multiple steps that are required to remove the underlying object. For instance, a unit will not remove properly if it has a hook error or a model cannot be removed if application units are in an error state. This is a conservative approach to the deletion of things, which is good.
However, this policy can also be a source of frustration for users in certain situations (i.e. “I don’t care, I just want my model gone!”). Because of this, several commands have grown a --force
option.
Secondly, even when utilising the --force
option the process may take more time than an operator is willing to accept (i.e. Just go away as quickly as possible!). Because of this, several commands that support the --force
option have, in addition, been given a --no-wait
option.
Caution:
The --force
and --no-wait
options should be regarded as tools to wield as a last resort. Using them introduces a chance of associated parts (e.g. relations) not being cleaned up, which can lead to future problems.
As of v.2.6.0
, this is the state of affairs for those commands that support at least the --force
option:
command | --force |
--no-wait |
---|---|---|
destroy-model |
yes | yes |
detach-storage |
yes | no |
remove-application |
yes | yes |
remove-machine |
yes | yes |
remove-offer |
yes | no |
remove-relation |
yes | no |
remove-storage |
yes | no |
remove-unit |
yes | yes |
When a command has --force
but not --no-wait
it indicates that the combination of those options simply does not apply.