Я пытаюсь обновить файл конфигурации, используя «File Enforce Content» в строках аргумент. Я пытался получить информацию об узле с помощью $ {rudder.node.hostname}
, но он никогда не заменяется на фактическом узле и остается тем же? На самом деле я ищу IP-адрес узла, а также имя хоста, но использую его для проверки, метод работает , так как в документации упоминается .
Параметр строк
[Config]
IP=${rudder.node.ipaddress}
Name=${rudder.node.hostname}
Файл узлов
[Config]
IP=${rudder.node.ipaddress}
Name=${rudder.node.hostname}
Ожидаемый
[Config]
IP=10.0.0.1
Name=node1
(В качестве примечания я пытаюсь найти список доступных заменяющих переменных на веб-портале или в Интернете, поэтому, вероятно, указан неверный IP-адрес)
Переменные, вычисленные с помощью Rudder (т.е. rudder.node.hostname), пока не могут использоваться напрямую в методах, созданных с помощью редактора методов. (Мне не удалось найти ошибку https://www.rudder-project.org/redmine/projects/rudder/issues , но она должна быть, или вы можете открыть новую, если вы хотите)
Обходной путь может заключаться в создании переменной с помощью метода переменных, как на следующем снимке экрана
, и доступа к переменной в редакторе методов следующим образом:
$ {generic_variable_definition.hostname}
Я думаю, что скоро мы будем работать над этот выпуск, чтобы предоставить вам способ его использовать
Мне удалось использовать
$ {sys.host} $ {sys.ipv4} $ {sys.host}
Определения, которые я нашел здесь: Специальные переменные CFEngine