Juju удалить единицы, застрявшие в умирающем состоянии, чтобы я мог начать все заново?

5

У меня есть машины, работающие на MaaS с использованием Juju. Некоторым из них не удалось выполнить развертывание, потому что крючок не запускался из-за (недопустимой) настройки, установленной в конфиге. В пользовательском интерфейсе Jju я попытался маркировать их как разрешенные, а затем попытался удалить их (и повторил через несколько циклов их зеленых, а затем красных).

(Я полагаю, что делать решение + удалить сделает juju не зацикливаться на том, что крючок не работает, и пусть juju просто избавится от машины.)

Теперь у меня есть единицы, которые кажутся застрявшими и говорят

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

в статусе juju. Я пробовал уничтожать единицы и машины, на которых они работают. Есть ли способ просто отказаться от этих устройств и переработать машины, которые включены для другой попытки?

Я также попытался маркировать блоки, разрешенные в командной строке, но я получаю конфликтующие сообщения. Я получаю 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

Обновление: я только что вернулся через час или два, и обнаружил, что у одного из подразделений, с которыми у меня были проблемы, ушли. Итак, ожидание работало.

    
задан Azendale 25.10.2013 в 18:54
источник

3 ответа

1

Единственный способ, которым я нашел убить их (быстро), - это уничтожить среду.

juju destroy-environment

Конечно, поскольку восстановление окружающей среды с нуля может быть довольно резким, я бы предложил подождать некоторое время, прежде чем делать это. Иногда это занимает некоторое время, когда все завершающие действия заканчиваются, и, надеюсь, служба больше не будет застревать в умирающем состоянии. Обратите внимание, что для фактического освобождения машины после уничтожения устройства ( juju destroy-unit ) вам нужно запустить juju destroy-machine (с номером машины), чтобы освободить его. Обратите внимание, что juju destroy-machine не завершит работу машины, которая в настоящее время действует как единое целое, поэтому она не освободит устройство, если оно находится в состоянии смерти.

Я предполагаю, что вы начали строить свою среду. Было бы полезно проверить файлы журналов на машинах (я также проверю их, но не нахожу, почему они не умирают, а скорее, почему они не завершили).

    
ответ дан Braiam 25.10.2013 в 20:00
источник
3

У меня была такая же проблема, вот решение:

1) Перезапустить узел в MAAS
2) Очарование переходит в состояние ошибки
3) juju разрешил «ваше подразделение»
4) джуу уничтожить-службу "твою службу"
это сработало для меня!

    
ответ дан Rastin 29.08.2014 в 20:22
1

Резервная копия базы данных Juju перед развертыванием службы. Если все пойдет не так, и вы не можете это исправить, просто восстановите Juju из резервной копии db.

    
ответ дан wenjianhn 27.12.2013 в 10:55