Вопрос Bootstrapping Juju дает «" ERROR не удалось получить доступ к файлу '* -provider-state' gomaasapi: получена ошибка с сервера: 403 запрещено. "


Мы пытаемся загружать Juju на другую машину в облаке MAAS, но получаем сообщение «ERROR не удалось получить доступ к файлу *-provider-state gomaasapi: получена ошибка с сервера: 403 запрещено. "ошибка.

Когда мы запускаем juju bootstrap создается файл .jenv, и эта ошибка возвращается с * в состоянии «* -provider-state», замененным именем агента Juju узла MAAS. Когда мы удаляем среду (удалив файл .jenv), возвращается та же ошибка, но имя файла только что указано как jsut как «поставщик-состояние». Узел не перемещается в выделенное состояние, даже если файл .jenv создан. Запуск чего-либо - загрузочная машина juju, статус juju, juju destroy-environment, дает ту же ошибку.

Предыстория: Раньше существовала загрузочная среда Juju, существующая на этом сервере MAAS. Мы должны были изменить наши сетевые конфигурации и не смогли удалить выделенный узел. Итак, мы думали, что мы можем разобраться в юю и начать все заново. Очевидно, что это не сработало, и на нашем сервере остались некоторые ссылки. Как мы можем избавиться от него? Мы удалили выделенный узел с помощью оболочки maas, но эта ошибка все еще сохраняется.

Мы работаем с MAAS 12.04 LTS, Juju 1.16.


2
2018-03-13 20:08


происхождения




ответы:


Во-первых, удаление файла .jenv не уничтожить окружающую среду, это просто делает невозможным подключение к нему от вас, клиентом juju. Файл .jenv содержит всю необходимую информацию для подключения к среде, включая адреса сервера juju API, сертификаты SSL и т. Д.

Чтобы уничтожить окружающую среду juju, используйте: $ juju destroy-environment my-maas-env-name -y

Это правильно освободит узлы MAAS, удалит записи в хранилище, включая поставщик состояния файл.

Кроме того, переустановка juju на вашей клиентской машине не может решить вашу проблему, потому что среда и ее выделенные узлы все еще существуют, и для MAAS она появляется, поскольку вы все еще используете среду.

Чтобы решить вашу конкретную проблему, я бы сделал следующее:

  • Ваша среда больше недоступна, потому что файл .jenv ушел, и поскольку он автоматически сгенерирован, вы не можете восстановить доступ к среде, просто создав пустой файл .jenv.
  • Удалите файл .jenv, если он все еще существует.
  • Войдите в систему как администратор MAAS в веб-интерфейсе MAAS, перейдите в «Узлы» и для каждого выделенного узла, щелкните узел и нажмите «Остановить узел» на странице узла. Это освободит узел и вернет его обратно готов,
  • Используя MAIS CLI, вы можете перечислить все файлы в среде хранения: $ maas my-maas-session files list, и удалите файл-хранилище провайдера: $ maas my-maas-session file delete XXXX-provider-storage (точное имя файла, которое вы получаете из списка файлов, оно будет выглядеть как c4ba50c2-268c-4cf4-8be1-c0903982c8a8-provider-state, а my-maas-session соответствует вашему пользовательскому сеансу CLI - это может быть любая строка, созданная например, $ maas login my-session-name http://192.168.50.2/MAAS/ <maas-api-key> - используйте тот же ключ, который вы указываете с помощью «maas-oauth» в средах.yaml)
  • Bootstrap снова, как только это будет сделано, он должен работать.

Надеюсь это поможет,


2
2018-05-02 18:34