web-dev-qa-db-ja.com

ジュジュは死にかけているユニットを取り除き、最初からやり直すことができますか?

Jujuを使用してMaaSで実行しているマシンがあります。それらのいくつかは、設定​​で設定した(無効な)設定のためにフックが実行されなかったため、デプロイに失敗しました。 Jju UIで、それらを解決済みとしてマークし、それらを削除しようとしました(そして、それらが緑になり、赤になるまで数サイクル繰り返されました)。

(resolve + removeを実行すると、jujuがフックが機能しなかったという事実にとらわれず、jujuがマシンをただ削除できるようになると思います。)

今、私は立ち往生していると思われるユニットを持っています

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

ジュジュ状態。ユニットとそれらが搭載されているマシンを破壊しようとしました。それらのユニットをあきらめて、使用中のマシンをもう一度試してみる方法はありますか?

コマンドラインでユニットを解決済みとしてマークしようとしましたが、矛盾するメッセージが表示されます。解決済みとしてマークしようとするとERROR cannot set resolved mode for unit "ceph-osd/1": already resolvedが表示されますが、juju statusを実行すると、ステータスに上記の同じエラーメッセージが表示されます

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

更新:1〜2時間後に戻ってきたところ、問題が発生していたユニットの1つがなくなりました。だから、待つことはうまくいきました。

5
Azendale

私がそれらを(速い)殺すことがわかった唯一の方法は、環境を破壊することです。

juju destroy-environment

もちろん、ゼロから環境を再構築するのはかなり抜本的である可能性があるため、これを行う前にしばらく待つことをお勧めします。場合によっては、すべてのフックの実行が完了するのにしばらく時間がかかることがあります。その後、サービスが停止状態に陥らないようにすることが望まれます。実際にマシンを解放するには、ユニット(juju destroy-unit)を破棄した後、juju destroy-machine(マシン番号付き)を実行して解放する必要があることに注意してください。 juju destroy-machineは、現在ユニットとして動作しているマシンを終了させないため、ユニットが現在死にかけている場合、ユニットを解放しないことに注意してください。

私はあなたがあなたの環境を構築し始めたと思います。マシンのログファイルを確認すると役立ちます(また、それらをチェックしますが、なぜ死なないのかではなく、なぜ完了しなかったのかを見つけることはできません)。

1
Braiam

私は同じ問題を抱えていました、ここに解決策があります:

1)MAASでNodeを再起動します
2)チャームはエラー状態になります
3)ジュジュは「あなたのユニット」を解決しました
4)juju destroy-service "your service"
それは私のために働いた!

3
Rastin

サービスをデプロイする前にJujuのデータベースをバックアップします。問題が発生して修正できない場合は、バックアップデータベースからJujuを復元するだけです。

1
wenjianhn