Сильные и облачные вычисления: как обновить инвентарь? [Дубликат]

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

  1. перезапустить службу сервера sql .
  2. перезапустить службу (скажем, IIS), вызывающую сервер sql. (проблема, вероятно, здесь, если время между запуском вызова службы на SQL-сервер и время, в течение которого вы получаете ошибку ответа, очень короткое (около одной или двух секунд).
  3. перезапустить сервер Сервер sql включен.
  4. перезапускает сервер, на который включена вызывающая служба.
42
задан techraf 19 January 2017 в 04:26
поделиться

4 ответа

С помощью Ansible 2.0+ вы можете обновить среднюю игру вашего инвентаря, выполнив задачу :

- meta: refresh_inventory
41
ответ дан um-FelixFrank 19 August 2018 в 14:20
поделиться
  • 1
    Это было действительно полезно. Я закончил тем, что добавил его в качестве post_task в свою пьесу, а затем продолжил другие пьесы. Супер полезно. Это не так много документации, но если вы проверите репозиторий github для него, вы увидите его там. Другой способ добиться этого - запустить файл ec2.py с помощью --refresh-cache. – Ryan-Neal Mes 29 January 2016 в 13:59
  • 2
    Действительно ли refresh_inventory работает? Я использую его в своих книжках и нет паузы, чтобы указать, что он обновляет инвентарь, и, более того, он не обнаруживает экземпляр ec2, созданный с момента первоначальной коллекции инвентаря. Я тестировал, давая ему больше времени вручную с паузой, потому что это вопрос того, как экземпляр все еще инициализируется, но ... это, похоже, не помогает. – Liam 26 February 2016 в 07:51
  • 3
    Для кого-то еще, я думаю, я нашел свою проблему. Мета: обновление инвентаря не похоже на использование функции ./ec2.py --refresh-cache, которая заставляет обновлять кеш. Я обнаружил, что мне пришлось снизить (или, более конкретно, полностью отключить) кэширование ресурсов. Вы делаете это, установив cache_max_age = 0 в ec2.ini. – Liam 26 February 2016 в 08:49
  • 4
    Это, т. Е. meta: refresh_inventory, не работает для инвентаря vCenter. Любая идея о том, как обновить динамическую инвентаризацию VMware? – Chethan S. 4 September 2016 в 14:23

Взгляните на add_host .

Он добавляет хост (и, альтернативно, группу) в инвентарь памяти in-memorybook in-memory

-2
ответ дан Andrew Vorobyov 19 August 2018 в 14:20
поделиться
  • 1
    Как я уже сказал, add_host - это вариант, который мне не нравится (подробнее см. Комментарии выше) – Vladimir Chervanev 9 October 2015 в 11:36

Ansible в настоящее время не поддерживает это. Если вы посмотрите на исходный код команд ansible или ansible-playbook, вы увидите, что инвентарь загружен первым, а затем объект инвентаризации передается команде ansible, которая запускает задание или playbook. Перемещение обработки инвентаря, чтобы оно происходило внутри обработчиков задач / игровых автоматов, вероятно, было бы довольно серьезным делом по ряду причин.

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

7
ответ дан Bruce P 19 August 2018 в 14:20
поделиться
  • 1
    Этот комментарий должен быть изменен, чтобы сообщить, что он предшествует версии 2.0, недоступной, когда перегрузка инвентаря невозможна или удалена. – baptistemm 9 August 2018 в 20:10

Я обнаружил, что meta: refresh_inventory недостаточно. Я должен был сначала добавить явный вызов ec2.py --refresh-cache.

- name: refresh inventory
  hosts: localhost
  connection: local
  gather_facts: False
  tasks:
    - name: Refresh EC2 cache
      command: /etc/ansible/ec2.py --refresh-cache
    - name: Refresh in-memory EC2 cache
      meta: refresh_inventory
16
ответ дан dsz 19 August 2018 в 14:20
поделиться
  • 1
    Это работало для меня с rax.py с помощью inventory/rax.py --list --refresh-cache – Tim N 22 September 2016 в 14:48
  • 2
    чтобы сделать расположение ec2.py более гибким (например, при использовании нескольких инвентарей), вы можете использовать {{inventory_dir}}/ec2.py --refresh-cache – apines 18 May 2017 в 14:56
Другие вопросы по тегам:

Похожие вопросы: