...
> 9. If you want to cancel a deployment that just started you need to keep >>>> running remove-service forever. Juju will simply ignore you if it's still >>>> running some special bits of the charm or if you have previously asked it >>>> to cancel the deployment during its setting up. No errors, no other >>>> messages are printed. You need to actually open its log to see that it's >>>> still stuck in a long apt-get installation and you have to wait until the >>>> right moment to remove-service again. And if your connection is slow, that >>>> takes time, you'll have to babysit Juju here because it doesn't really >>>> control its services as I imagined. Somehow apt-get gets what it wants :-) >>>> >>> >>> You can now force-kill a machine. So you can run `juju destroy-service >>> $service` then `juju terminate-machine --force #machine_number`. Just make >>> sure that nothing else exists on that machine! I'll raise an issue for >>> having a way to add a --force flag to destroying a service so you can just >>> say "kill this with fire, now plz" >>> >> >> I understand that, but I discovered it's way faster and less typing if I >> simply destroy-environment and bootstrap it again. If you need to force >> kill something every time you need to kill it, then perhaps somethings is >> wrong? >> > > I agree, something is wrong with the UX here. We need to (and would love > your feedback) figure out what should happen here. The idea is, if a > service experiences a hook failure, all events are halted, including the > destroy event. So the service is marked as dying but it can't die until the > error is resolved. There are cases, where during unit termination, that you > may wish to inspect an error. I think adding a `--force` flag to destroy > service would satisfy what you've outlined, where --force will ignore hook > errors during the destruction of a service. > > Thanks, > Marco Ceppi > >> IIRC, the reason we support "juju destroy-machine --force" but not "juju destroy-unit --force" is because in the former case, because the machine is no-more Juju has ensured that cleanup of resources really has happened. (There are no more machines running that have software running you don't want.) The difficulty with "juju destroy-unit --force" is that it doesn't necessarily kill the machine, and thus an unclean teardown could easily leave the original services running (consider collocated deployments). "juju destroy-service --force" falls into a similar issue, only a bit more so since some units may be on shared machines and some may be all by themselves. That said, I feel like we're doing a little throwing the baby out with the bathwater. If you are in a situation where there is just one unit on each machine, then destroy-unit --force could be equivalent to destroy-machine --force, and that could chain up into destroy-service --force (if all units of service are the only thing on their machines, then tear them all down ignoring errors and stop the machines). John =:->
-- Juju mailing list Juju@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju