On 12/23/2010 01:56 PM, [email protected] wrote:
> Thanks again Nick!
> I copied your failsafe.cf and the unmodified default update.cf that comes
> with the installation to /var/cfengine/inputs on the agent, then issued this
> command:
> cf-agent -B -s dbraz17
>
> and I get this error:
>
> cf3:/var/cfengine/inputs/update.cf:26,1: Redefinition of bundle update for
> agent is a broken promise, near token '{'
> Protocol transaction broken off (1)
> !!! System reports error for recv: "Connection reset by peer"
> I: Made in version 'not specified' of '/var/cfengine/inputs/failsafe.cf' near
> line 39
> !! Authentication dialogue with dbraz17 failed
>
>
> Here's the contents of the default update.cf that comes with the installation:
Yeah I noticed that when I tried to bootstrap a new host. The problem is
because the client dosnt have the policy hosts key. I guess I
miss-understood all that was required to bootstrap a host. You need a
way to get that server key trusted. I poked at several things and got
mine working again but I am not clear on what exactly my process will be
yet. ....
I have decided I dont need update.cf so I pushed everything from it
into failsafe.cf. My body server control specifys my cfrun command as
cfruncommand => "$(sys.workdir)/bin/cf-agent -f failsafe.cf &&
$(sys.workdir)/bin/cf-agent";
This forces update then run so that the latest policy will be evaluated.
I have attached my latest failsafe.cf for your enjoyment, please excuse
any mess in it if I havent cleaned up some of the syntax.
--
Nick Anderson <[email protected]>
# Copyright (C) Cfengine AS
# This file is part of Cfengine 3 - written and maintained by Cfengine AS.
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; version 3.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
# To the extent this program is licensed as part of the Enterprise
# versions of Cfengine, the applicable Commerical Open Source License
# (COSL) may apply to this file if you as a licensee so wish it. See
# included file COSL.txt.
#
# Failsafe file
#
body common control
{
bundlesequence => { "update" };
#inputs => { "update.cf" };
}
############################################
bundle agent update {
vars:
"policyhost" string => "192.168.56.101";
files:
any::
"/var/cfengine/inputs/"
#perms => m("600"),
copy_from =>
update_policy("/var/cfengine/masterfiles","$(policyhost)"),
classes => policy_updated("policy_updated"),
depth_search => recurse("inf");
policy_updated::
"/etc/motd"
comment => "Update /etc/issue with last policy update
time",
create => "true",
edit_defaults => empty,
edit_line =>
expand_template("/var/cfengine/inputs/templates/motd.tpl");
}
body depth_search recurse(d) {
depth => "$(d)";
}
body edit_defaults empty{
empty_file_before_editing => "true";
edit_backup => "false";
max_file_size => "300000";
}
bundle edit_line expand_template(templatefile) {
# Read in the named text file and expand $(var)
# inside the file
insert_lines:
"$(templatefile)"
insert_type => "file",
comment => "Expand variables in the template file",
expand_scalars => "true";
}
body copy_from update_policy(from,server) {
servers => { "$(server)" };
source => "$(from)";
purge => "true";
preserve => "true";
compare => "digest";
# exclude .svn and .git revision control files
exclude_dirs => { "\.svn", "\.git", "dist"};
}
body classes policy_updated(new_class) {
promise_kept => { "$(new_class)" };
promise_repaired => { "$(new_class)" };
}
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine