Chef - если node.name находится в списке шаблонов, сервер тегов - PullRequest
0 голосов
/ 18 февраля 2020

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

Я знаю, что могу пометить серверы тегом ('tagnamehere'), но код, окружающий это. .. Я не знаю, сработает ли это. Или, если «Template.readlines» является функцией поиска вместо «File.readlines».

if Template.readlines('template1.erb').grep(/#{node.name}/).any?
tag('mytag')
end

Не уверен, как совершить sh этот подвиг. Но изо всех сил пытаюсь понять, как человек Ops.

1 Ответ

1 голос
/ 08 марта 2020

Если я правильно понимаю чтение файла erb шаблона stati c, и вы ищете #{node.name} переменную, использованную или нет.

В этом случае решение будет пропускать интерполяцию строки с использованием \ в grep

if Template.readlines('template1.erb').grep(/\#{node.name}/).any?
    tag('mytag')
end

...