Eu tive o mesmo problema porque, de alguma forma, meu set_state('myservice.installed')
foi acionado mesmo quando recebi o erro de falha no gancho de instalação. Não encontrei uma solução específica para executar um determinado código, mas uma boa solução alternativa pode ser alterar o evento que normalmente acionaria seu código e executar hooks/install
novamente. Eu só tentei com juju debug-hooks
e não com juju dhx
, mas isso fez o trabalho para mim.
No meu caso, vi que meu estado atual estava definido como 'Instalado'. Ao alterar meu evento para acionar o código, consegui executar novamente o meu gancho de instalação. Na minha sessão debug-hooks
, pude ver onde meu gancho falhou.
from charms.reactive import when, set_state
import charms.apt
@when('myservice.installed')
def install():
charms.apt.queue_install(['some-package'])
// do some extra stuff
set_state('myservice.installed')