Марионетка: Как записать надлежащее “условие и условие” оператор?

Я записал "сообщение дня" Марионеточный модуль, который влияет на все прокси-серверы в моей компании. В шаблонном файле у меня есть следующее "если оператор":

<% if @hostname !~ /^haproxy\d+/ and @hostname =~ /proxy\d+/ -%>
if [ "$(cat $LBMEMFILE)" = "0" ]; then
echo -e "\e[35m Membeship in LB:  Yes"
elif [ "$(cat $LBMEMFILE)" = "2" ]; then
echo -e "\e[35m Membeship in LB:    No $LISTMEMFILE"
fi
<% end -%>

Это означает:

Если имя хоста является proxy0-100, и не ^haproxy0-100 затем добавляют строку к motd сценарию.

Но по некоторым причинам этот оператор не работает.

Я также пытался использовать "если", но напрасно.

Если я удаляю оператор после "и" в первой строке, он работает как очарование.

Это - ошибка, которую я получаю:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: undefined method `empty?' for nil:NilClass at /etc/puppet/environments/production/manifests/site.pp:1 on node haproxy02.company.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

Что я делаю неправильно?

Заранее спасибо

0
задан 16 February 2015 в 13:10
1 ответ

Я обнаружил проблему ... в файле .yaml было лишнее место, которое вызвало ошибку. Спасибо за вашу помощь.

1
ответ дан 4 December 2019 в 17:02

Теги

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