Hi,
When trying to get the following to work (excerpt):
bundle action foobar
{
vars:
redhat.tomcat_host::
"add_package" slist => {"httpd"};
"upd_package" slist => {"httpd"};
"del_package" slist => {"unnecessary-pkg"};
packages:
redhat::
"$(add_package)"
comment => "add packages ($(add_package))",
package_method => "yum",
package_policy => "add";
"$(upd_package)"
comment => "upd packages ($(upd_package))",
package_method => "yum",
package_policy => "update";
"$(del_package)"
comment => "del packages ($(del_package))",
package_method => "yum",
package_policy => "delete";
}
I get the following errors on an eligible client:
# cf-agent
!! You must supply a method for determining the version of existing packages
I: Made in version 'not specified' of '/var/cfengine/inputs/foobar.cf' near
line 148
I: Comment: add packages (httpd)
!! You must supply a method for determining the version of existing packages
I: Made in version 'not specified' of '/var/cfengine/inputs/foobar.cf' near
line 153
I: Comment: upd packages (httpd)
!! You must supply a method for determining the version of existing packages
I: Made in version 'not specified' of '/var/cfengine/inputs/foobar.cf' near
line 158
I: Comment: del packages (unnecessary-pkg)
!! You must supply a method for determining the version of existing packages
I: Made in version 'not specified' of '/var/cfengine/inputs/foobar.cf' near
line 148
I: Comment: add packages (httpd)
!! You must supply a method for determining the version of existing packages
I: Made in version 'not specified' of '/var/cfengine/inputs/foobar.cf' near
line 153
I: Comment: upd packages (httpd)
!! You must supply a method for determining the version of existing packages
I: Made in version 'not specified' of '/var/cfengine/inputs/foobar.cf' near
line 158
I: Comment: del packages (unnecessary-pkg)
!! You must supply a method for determining the version of existing packages
I: Made in version 'not specified' of '/var/cfengine/inputs/foobar.cf' near
line 148
I: Comment: add packages (httpd)
!! You must supply a method for determining the version of existing packages
I: Made in version 'not specified' of '/var/cfengine/inputs/foobar.cf' near
line 153
I: Comment: upd packages (httpd)
!! You must supply a method for determining the version of existing packages
I: Made in version 'not specified' of '/var/cfengine/inputs/foobar.cf' near
line 158
I: Comment: del packages (unnecessary-pkg)
I'm using the cfgengine_stdlib.cf that came with the RPM of cfengine-community,
here's the original yum package method from that file:
body package_method yum
{
package_changes => "bulk";
package_list_command => "/usr/bin/yum list installed";
# Remember to escape special characters like |
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_add_command => "/usr/bin/yum -y install";
package_delete_command => "/bin/rpm -e";
package_verify_command => "/bin/rpm -V";
}
I assume that it's the package_list_version_regex is broken here? I see
references to yum with 'freebsd' in various pages, which is baffling me since
all the folks I know who use freebsd use apt.. Here is some output from redhat
yum, to get an idea of what the regex is being fed:
# yum list installed|grep httpd
This system is not registered with RHN.
RHN support will be disabled.
httpd.x86_64 2.2.3-22.el5 installed
system-config-httpd.noarch 5:1.3.3.3-1.el5 installed
Any help appreciated!
= Matt
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine