Пакет данных 'aws_opsworks_instance' недоступен - PullRequest
0 голосов
/ 03 октября 2019

Кто-нибудь знает, почему

instance = search('aws_opsworks_instance', 'self:true').first

# ...

    instance_host: instance['hostname']

периодически приводит к

неопределенному методу `[] 'для nil: NilClass

на OpsWorks?

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

Так как это происходит каждый развремя от времени я думаю, что это может быть «состояние гонки». Может быть, OpsWorks потребуется время, чтобы внедрить это, так что Chef нужно сказать, чтобы ждать? Если да, то я не смог найти ничего подобного в документации.

Есть идеи, почему это происходит и как это можно исправить / избежать?

1 Ответ

1 голос
/ 04 октября 2019

это специально для AWS Opswork. Вот выдержка из aws документации :

Поиск шеф-повара с помощью self:true находит пакет данных элемент, который содержит информацию, связаннуюк экземпляру, на котором выполняется рецепт.

из вывода в вашем сообщении, instance - это null, то есть значение, которое search() возвращает, когда поиск отсутствуетрезультаты.

возможно, запущенный chef-клиент с --log_level debug покажет больше или попытается связаться с командой поддержки aws.

...