Я хочу поставить body package_method
и некоторые переменные в promises.cf или в другом файле, и я должен иметь возможность вызывать его из любых новых файлов CF, которые я пишу.
Это возможно? Ничего, связанного с такими методами, в документации найти не удалось.
Я думал о создании нового файла в /var/cfengine/masterfiles/
а затем отредактируйте /var/cfengine/promises.cf
и вставьте новый файл как inputs
но не вышло.
Вот то, что я хочу поместить (возможно, в новый файл), который должен быть доступен глобально.
bundle common variables
{
vars:
"global_var_1" string => "value_var_1";
}
и
body package_method yum
{
any::
package_changes => "bulk";
package_list_command => "/usr/bin/yum list installed";
package_list_name_regex => "([^.]+).*";
package_list_version_regex => "[^\s]\s+([^\s]+).*";
package_list_arch_regex => "[^.]+\.([^\s]+).*";
package_installed_regex => ".*installed.*";
package_name_convention => "$(name).$(arch)";
package_name_regex => "amanda-client";
package_arch_regex => "x86_64";
package_add_command => "/usr/bin/yum -y install";
package_delete_command => "/bin/rpm -e";
package_verify_command => "/bin/rpm -V";
}
Тогда я смогу назвать это в любом новом CF как:
"${variables.global_var_1}"
и
bundle agent packages
{
packages:
"wget"
package_policy => "add",
package_method => yum;
}
Решено.
Создать variables.cf
и в этот файл вставьте следующие строки.
bundle common variables
{
vars:
"global_var_1" string => "value_var_1";
}
Затем создайте любой CF, но под body common control
- введите variables.cf
файл.
body common control
{
bundlesequence => { "myclasses" };
inputs => { "variables.cf" };
}
Затем вы можете назвать переменные как "${variables.global_var_1}"
.
package_method
глобально:Под любой новый CF body common control
введите файл /var/cfengine/masterfiles/lib/packages.cf
body common control
{
bundlesequence => { "myclasses", "packages_to_install" };
inputs => { "/var/cfengine/masterfiles/lib/packages.cf" };
}
Затем вы можете добавить такие пакеты, как
bundle agent packages_to_install
{
packages:
"wget"
package_policy => "add",
package_method => yum;
}