Juju remover unidades presas no estado de morte para que eu possa começar de novo?

5

Eu tenho máquinas rodando no MaaS usando o Juju. Alguns deles falharam em implantar porque um gancho não foi executado devido a uma configuração (inválida) que eu configurei na configuração. Na interface do usuário do Jju, tentei marcá-los como resolvidos e, em seguida, tentar removê-los (e repeti-los em alguns ciclos deles ficando verdes e depois vermelhos).

(Acredito que resolver + remover fará com que o juju não fique preso ao fato de que o gancho não funcionou, e deixe que o juju simplesmente se livre da máquina.)

Agora eu tenho unidades que parecem presas e dizem

    agent-state: error
    agent-state-info: 'hook failed: "install"'
    agent-version: 1.16.0.1
    life: dying

no status de juju. Eu tentei destruir as unidades e as máquinas em que estão. Existe alguma maneira de simplesmente desistir dessas unidades e reciclar as máquinas que estão sendo usadas para outra tentativa?

Eu também tentei marcar as unidades resolvidas na linha de comando, mas estou recebendo mensagens conflitantes. Eu recebo ERROR cannot set resolved mode for unit "ceph-osd/1": already resolved quando tentei marcá-lo como resolvido, mas o status diz a mesma mensagem de erro acima depois disso quando eu corro juju status

    agent-state: error
    agent-state-info: 'hook failed: "install"'
    life: dying

Atualização: Acabei de voltar depois de uma hora ou duas e descobri que uma das unidades com as quais eu estava tendo problemas desapareceu. Então, a espera funcionou.

    
por Azendale 25.10.2013 / 18:54

3 respostas

1

A única maneira que encontrei para matá-los (rápido) é destruir o meio ambiente.

juju destroy-environment

Naturalmente, como a reconstrução do ambiente a partir do zero pode ser bastante drástica, sugiro esperar por um tempo antes de fazer isso. Às vezes, leva apenas um tempo para que todos os ganchos terminem de executar e, em seguida, esperamos que o serviço não seja mais preso a um estado de morte. Note que para realmente liberar a máquina, depois de ter destruído a unidade ( juju destroy-unit ) você precisa executar o juju destroy-machine (com o número da máquina) para liberá-lo. Observe que juju destroy-machine não terminará uma máquina que está agindo atualmente como uma unidade, por isso não liberará uma unidade se ela estiver atualmente no estado de morte.

Eu presumo que você esteja começando a construir seu ambiente. Seria útil verificar os arquivos de log das máquinas (eu também os verifico, mas não para descobrir por que eles não morrem, mas sim por que eles não foram concluídos).

    
por Braiam 25.10.2013 / 20:00
3

Eu tive o mesmo problema, aqui está a solução:

1) Reinicie o Nó no MAAS
2) Charms irá para o estado de erro
3) juju resolveu "sua unidade"
4) juju destroy-service "seu serviço"
funcionou para mim!

    
por Rastin 29.08.2014 / 20:22
1

Faça backup do banco de dados do Juju antes de implantar um serviço. Se as coisas derem errado e você não puder consertá-lo, apenas restaure o Juju do banco de dados de backup.

    
por wenjianhn 27.12.2013 / 10:55

Tags