Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #4238: Fix ncf directory copy #247

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions initial-promises/node-server/common/1.0/cf-served.cf
Expand Up @@ -39,11 +39,11 @@ bundle server access_rules
maproot => { @{def.acl} },
admit => { @{def.acl} };

"${g.rudder_ncf_common}"
"${g.rudder_ncf_origin_common}"
maproot => { @{def.acl} },
admit => { @{def.acl} };

"${g.rudder_ncf_local}"
"${g.rudder_ncf_origin_local}"
maproot => { @{def.acl} },
admit => { @{def.acl} };

Expand Down
2 changes: 1 addition & 1 deletion initial-promises/node-server/common/1.0/site.cf
Expand Up @@ -102,7 +102,7 @@ bundle common g
"rudder_tools_origin" string => "/var/rudder/tools";
"rudder_ncf_common_origin" string => "/var/rudder/ncf/common";

"rudder_ncf_origin_common" string => "/usr/share/ncf";
"rudder_ncf_origin_common" string => "/usr/share/ncf/tree";
"rudder_ncf_origin_local" string => "/var/rudder/configuration-repository/ncf";

# DEPRECATED: This variable is used in pre-2.9 Techniques.
Expand Down
52 changes: 33 additions & 19 deletions initial-promises/node-server/common/1.0/update.cf
Expand Up @@ -86,6 +86,27 @@ bundle agent update
"server_inputs" string => "${server_info.policy_files}/rules/cfengine-community"; #actual directory with promises

files:

any::

"${g.rudder_ncf}/."
create => "true",
comment => "Make sure the ncf directory exists";

"${g.rudder_ncf}/common"
copy_from => remote_unsecured("${server_info.cfserved}", "${g.rudder_ncf_origin_common}"),
depth_search => recurse_ignore("inf", @{g.excludedreps}),
action => immediate,
classes => success("rudder_ncf_common_updated", "rudder_ncf_common_update_error", "rudder_ncf_common_updated_ok"),
comment => "Update the common Rudder ncf instance";

"${g.rudder_ncf}/local"
copy_from => remote_unsecured("${server_info.cfserved}", "${g.rudder_ncf_origin_local}"),
depth_search => recurse_ignore("inf", @{g.excludedreps}),
action => immediate,
classes => success("rudder_ncf_local_updated", "rudder_ncf_local_update_error", "rudder_ncf_local_updated_ok"),
comment => "Update the local Rudder ncf instance";

!root_server::
"${client_inputs}/${file_to_check_update}"
copy_from => remote("${server_info.cfserved}","${server_inputs}/${file_to_check_update}"),
Expand Down Expand Up @@ -122,19 +143,6 @@ bundle agent update
action => immediate,
classes => success("rudder_tools_updated", "rudder_tools_update_error", "rudder_tools_updated_ok");

!root_server::
"${g.rudder_ncf}/common"
copy_from => remote_unsecured("${server_info.cfserved}", "${g.rudder_ncf_origin_common}"),
depth_search => recurse_ignore("inf", @{g.excludedreps}),
action => immediate,
classes => success("rudder_ncf_updated", "rudder_ncf_update_error", "rudder_ncf_updated_ok");

"${g.rudder_ncf}/local"
copy_from => remote_unsecured("${server_info.cfserved}", "${g.rudder_ncf_origin_local}"),
depth_search => recurse_ignore("inf", @{g.excludedreps}),
action => immediate,
classes => success("rudder_ncf_updated", "rudder_ncf_update_error", "rudder_ncf_updated_ok");

processes:
config.!windows::
"cf-serverd" restart_class => "start_server";
Expand Down Expand Up @@ -171,25 +179,31 @@ bundle agent update
rudder_tools_update_error::
"@@Common@@result_error@@hasPolicyServer-root@@common-root@@00@@Update@@None@@${g.execRun}##${g.uuid}@#Cannot update Rudder tools";

rudder_ncf_update_error::
"@@Common@@result_error@@hasPolicyServer-root@@common-root@@00@@Update@@None@@${g.execRun}##${g.uuid}@#Cannot update Rudder ncf instance";
rudder_ncf_common_update_error::
"@@Common@@result_error@@&TRACKINGKEY&@@Update@@None@@${g.execRun}##${g.uuid}@#Cannot update common Rudder ncf instance";

rudder_ncf_local_update_error::
"@@Common@@result_error@@&TRACKINGKEY&@@Update@@None@@${g.execRun}##${g.uuid}@#Cannot update local Rudder ncf instance";

rudder_promises_generated_error::
"@@Common@@result_error@@hasPolicyServer-root@@common-root@@00@@Update@@None@@${g.execRun}##${g.uuid}@#Cannot update node's policy";

(rudder_promises_generated_ok|(rudder_tools_updated_ok.rudder_ncf_updated_ok.config_ok)).!(rudder_promises_generated_repaired|rudder_promises_generated_error|rudder_tools_updated|rudder_ncf_updated|rudder_tools_update_error|config|no_update)::
(rudder_promises_generated_ok|(rudder_tools_updated_ok.rudder_ncf_common_updated_ok.rudder_ncf_local_updated_ok.config_ok)).!(rudder_promises_generated_repaired|rudder_promises_generated_error|rudder_tools_updated|rudder_tools_update_error|rudder_ncf_common_updated|rudder_ncf_common_update_error|rudder_ncf_local_updated|rudder_ncf_local_update_error|config|no_update)::
"@@Common@@result_success@@hasPolicyServer-root@@common-root@@00@@Update@@None@@${g.execRun}##${g.uuid}@#Rudder policy, tools and ncf instance are already up to date. No action required.";

rudder_tools_updated::
"@@Common@@log_repaired@@hasPolicyServer-root@@common-root@@00@@Update@@None@@${g.execRun}##${g.uuid}@#Rudder tools updated";

rudder_ncf_updated::
"@@Common@@log_repaired@@hasPolicyServer-root@@common-root@@00@@Update@@None@@${g.execRun}##${g.uuid}@#Rudder ncf instance updated";
rudder_ncf_common_updated::
"@@Common@@log_repaired@@&TRACKINGKEY&@@Update@@None@@${g.execRun}##${g.uuid}@#Rudder ncf common instance updated";

rudder_ncf_local_updated::
"@@Common@@log_repaired@@&TRACKINGKEY&@@Update@@None@@${g.execRun}##${g.uuid}@#Rudder ncf local instance updated";

config::
"@@Common@@log_repaired@@hasPolicyServer-root@@common-root@@00@@Update@@None@@${g.execRun}##${g.uuid}@#Node's policy (CFEngine promises) updated";

rudder_promises_generated_repaired|config|rudder_tools_updated|server_ok|executor_ok::
rudder_promises_generated_repaired|config|rudder_tools_updated|rudder_ncf_common_updated|rudder_ncf_local_updated|server_ok|executor_ok::
"@@Common@@result_repaired@@hasPolicyServer-root@@common-root@@00@@Update@@None@@${g.execRun}##${g.uuid}@#Policy or dependencies were updated or CFEngine service restarted";


Expand Down
47 changes: 27 additions & 20 deletions initial-promises/node-server/failsafe.cf
Expand Up @@ -41,34 +41,41 @@ bundle common g
vars:

windows::
"rudder_base" string => "${sys.winprogdir}\Rudder";
"rudder_bin" string => "${rudder_base}\bin";
"rudder_sbin" string => "${rudder_base}\sbin";
"rudder_tools" string => "${rudder_sbin}";
"rudder_base" string => "${sys.winprogdir}\Rudder";
"rudder_bin" string => "${rudder_base}\bin";
"rudder_var" string => "${sys.winprogdir}\Rudder\var";
"rudder_sbin" string => "${rudder_base}\sbin";
"rudder_tools" string => "${rudder_sbin}";
"rudder_ncf" string => "${rudder_var}\ncf";

windows.!cygwin::
"uuid_file" string => "${rudder_base}\etc\uuid.hive";
"uuid_file" string => "${rudder_base}\etc\uuid.hive";

linux|cygwin::
"rudder_base" string => "/opt/rudder";
"rudder_bin" string => "${rudder_base}/bin";
"rudder_sbin" string => "${rudder_base}/sbin";
"rudder_base_sbin" string => "${rudder_base}/sbin"; #folder where tools are installed
"rudder_tools" string => "/var/rudder/tools";
"uuid_file" string => "${rudder_base}/etc/uuid.hive";
"rudder_base" string => "/opt/rudder";
"rudder_var" string => "/var/rudder";
"rudder_bin" string => "${rudder_base}/bin";
"rudder_sbin" string => "${rudder_base}/sbin";
"rudder_base_sbin" string => "${rudder_base}/sbin"; #folder where tools are installed
"rudder_tools" string => "${rudder_var}/tools";
"rudder_ncf" string => "${rudder_var}/ncf";
"uuid_file" string => "${rudder_base}/etc/uuid.hive";

android::
"rudder_base" string => "/data/rudder";
"rudder_var" string => "/data/rudder";
"rudder_sbin" string => "${rudder_base}/sbin";
"rudder_base_sbin" string => "${rudder_base}/sbin"; #folder where tools are installed
"rudder_tools" string => "${rudder_var}/tools";
"uuid_file" string => "${rudder_base}/etc/uuid.hive";
"rudder_base" string => "/data/rudder";
"rudder_var" string => "/data/rudder";
"rudder_sbin" string => "${rudder_base}/sbin";
"rudder_base_sbin" string => "${rudder_base}/sbin"; #folder where tools are installed
"rudder_tools" string => "${rudder_var}/tools";
"rudder_ncf" string => "${rudder_var}/ncf";
"uuid_file" string => "${rudder_base}/etc/uuid.hive";

any::
"uuid" string => readfile("${g.uuid_file}", 60);
"excludedreps" slist => { "\.X11", ".*kde.*", "\.svn", "perl" };
"rudder_tools_origin" string => "/var/rudder/tools";
"uuid" string => readfile("${g.uuid_file}", 60);
"excludedreps" slist => { "\.X11", ".*kde.*", "\.svn", "perl" };
"rudder_tools_origin" string => "/var/rudder/tools";
"rudder_ncf_origin_common" string => "/usr/share/ncf/tree";
"rudder_ncf_origin_local" string => "/var/rudder/configuration-repository/ncf";

}

Expand Down
Expand Up @@ -42,11 +42,11 @@ bundle server access_rules
maproot => { @{def.acl} },
admit => { @{def.acl} };

"${g.rudder_ncf_common}"
"${g.rudder_ncf_origin_common}"
maproot => { @{def.acl} },
admit => { @{def.acl} };

"${g.rudder_ncf_local}"
"${g.rudder_ncf_origin_local}"
maproot => { @{def.acl} },
admit => { @{def.acl} };

Expand Down
Expand Up @@ -42,6 +42,8 @@ bundle common g
"rudder_base_sbin_arg" string => "${sys.winprogdir}\Rudder\sbin"; # for the installer command line
"rudder_ncf" string => "${rudder_var}\ncf";

# DEPRECATED: This variable is used in pre-2.9 Techniques.
"rudder_dependencies" string => "${rudder_sbin}";

windows.!cygwin::
"cfengine_share_directory" string => "c:\opt\hive\cf-served";
Expand All @@ -59,13 +61,19 @@ bundle common g
"uuid_file" string => "${rudder_base}/etc/uuid.hive";
"rudder_ncf" string => "${rudder_var}/ncf";

# DEPRECATED: This variable is used in pre-2.9 Techniques.
"rudder_dependencies" string => "${rudder_var}/tools";

any::

"uuid" string => "root";
"server_shares_folder" string => "/var/rudder/share/${uuid}/share";
"rudder_tools" string => "/var/rudder/tools";

"rudder_ncf_origin_common" string => "/usr/share/ncf";
"rudder_ncf_origin_common" string => "/usr/share/ncf/tree";
"rudder_ncf_origin_local" string => "/var/rudder/configuration-repository/ncf";

# DEPRECATED: This variable is used in pre-2.9 Techniques.
"rudder_dependencies_origin" string => "/var/rudder/tools";

}
Expand Up @@ -60,30 +60,39 @@ bundle agent update


files:
!root_server::
"${g.rudder_tools}"
copy_from => remote("${server_info.cfserved}", "${g.rudder_tools}"),
depth_search => recurse("inf"),
action => immediate,
classes => success("rudder_tools_updated_ok", "rudder_tools_update_error");

any::

"${g.rudder_ncf}/."
create => "true",
comment => "Make sure the ncf directory exists";

"${g.rudder_ncf}/common"
copy_from => remote("${server_info.cfserved}", "${g.rudder_ncf_origin_common}"),
depth_search => recurse("inf"),
action => immediate,
classes => success("rudder_ncf_updated_ok", "rudder_ncf_update_error");
action => immediate,
classes => success("rudder_ncf_common_updated", "rudder_ncf_common_update_error", "rudder_ncf_common_updated_ok"),
comment => "Update the common Rudder ncf instance";

"${g.rudder_ncf}/local"
copy_from => remote("${server_info.cfserved}", "${g.rudder_ncf_origin_local}"),
depth_search => recurse("inf"),
action => immediate,
classes => success("rudder_ncf_updated_ok", "rudder_ncf_update_error");
action => immediate,
classes => success("rudder_ncf_local_updated", "rudder_ncf_local_update_error", "rudder_ncf_local_updated_ok"),
comment => "Update the local Rudder ncf instance";

!root_server::
"${g.rudder_tools}"
copy_from => remote("${server_info.cfserved}", "${g.rudder_tools}"),
depth_search => recurse("inf"),
action => immediate,
classes => success("rudder_tools_updated_ok", "rudder_tools_update_error");

"${client_inputs}"
copy_from => remote("${server_info.cfserved}","${server_inputs}"),
depth_search => recurse("inf"),
action => immediate,
classes => success("config", "no_update");
action => immediate,
classes => success("config", "no_update");


processes:
Expand Down Expand Up @@ -127,8 +136,10 @@ bundle agent update
"@@HasPolicyServer@@Error@@hasPolicyServer-root#@common-root##${g.uuid}@#Cannot update policy files";
rudder_tools_update_error::
"@@HasPolicyServer@@Error@@hasPolicyServer-root#@common-root##${g.uuid}@#Cannot update Rudder tools";
rudder_ncf_update_error::
"@@HasPolicyServer@@Error@@hasPolicyServer-root#@common-root##${g.uuid}@#Cannot update Rudder ncf instance";
rudder_ncf_common_update_error::
"@@HasPolicyServer@@Error@@hasPolicyServer-root#@common-root##${g.uuid}@#Cannot update Rudder common ncf instance";
rudder_ncf_local_update_error::
"@@HasPolicyServer@@Error@@hasPolicyServer-root#@common-root##${g.uuid}@#Cannot update Rudder local ncf instance";
}


Expand Down Expand Up @@ -162,3 +173,4 @@ body service_method u_bootstart
{
service_autostart_policy => "boot_time";
}

Expand Up @@ -33,16 +33,20 @@ bundle common g
vars:

linux|cygwin::
"rudder_base" string => "/opt/rudder";
"rudder_bin" string => "${rudder_base}/bin";
"rudder_sbin" string => "${rudder_base}/sbin";
"rudder_base_sbin" string => "${rudder_base}/sbin"; #folder where tools are installed
"rudder_tools" string => "/var/rudder/tools";
"rudder_base" string => "/opt/rudder";
"rudder_var" string => "/var/rudder";
"rudder_bin" string => "${rudder_base}/bin";
"rudder_sbin" string => "${rudder_base}/sbin";
"rudder_base_sbin" string => "${rudder_base}/sbin"; #folder where tools are installed
"rudder_tools" string => "${rudder_var}/tools";
"rudder_ncf" string => "${rudder_var}/ncf";

any::
"excludedreps" slist => { "\.X11", ".*kde.*", "\.svn", "perl" };
"rudder_tools_origin" string => "/var/rudder/tools";
"uuid" string => "root";
"excludedreps" slist => { "\.X11", ".*kde.*", "\.svn", "perl" };
"rudder_tools_origin" string => "/var/rudder/tools";
"rudder_ncf_origin_common" string => "/usr/share/ncf/tree";
"rudder_ncf_origin_local" string => "/var/rudder/configuration-repository/ncf";
"uuid" string => "root";

# definition of the machine roles
classes:
Expand Down
4 changes: 2 additions & 2 deletions techniques/system/common/1.0/cf-served.st
Expand Up @@ -46,11 +46,11 @@ bundle server access_rules
maproot => { @{def.acl} },
admit => { @{def.acl} };

"${g.rudder_ncf_common}"
"${g.rudder_ncf_origin_common}"
maproot => { @{def.acl} },
admit => { @{def.acl} };

"${g.rudder_ncf_local}"
"${g.rudder_ncf_origin_local}"
maproot => { @{def.acl} },
admit => { @{def.acl} };

Expand Down
50 changes: 27 additions & 23 deletions techniques/system/common/1.0/failsafe.st
Expand Up @@ -43,37 +43,41 @@ bundle common g
{
vars:
any::
"uuid" string => "&UUID&";
"excludedreps" slist => { "\.X11", ".*kde.*", "\.svn", "perl" };
"rudder_tools_origin" string => "/var/rudder/tools";
"uuid" string => "&UUID&";
"excludedreps" slist => { "\.X11", ".*kde.*", "\.svn", "perl" };
"rudder_tools_origin" string => "/var/rudder/tools";
"rudder_ncf_origin_common" string => "/usr/share/ncf/tree";
"rudder_ncf_origin_local" string => "/var/rudder/configuration-repository/ncf";

&if(NOVA)&
windows::
"rudder_base" string => "${sys.winprogdir}\Rudder";
"rudder_var" string => "${sys.winprogdir}\Rudder\var";
"rudder_bin" string => "${rudder_base}\bin";
"rudder_sbin" string => "${rudder_base}\sbin";
"rudder_tools" string => "${rudder_sbin}";
"execRun" string => execresult("\"${g.rudder_sbin}\getDate.bat\"", "noshell");
"rudder_base" string => "${sys.winprogdir}\Rudder";
"rudder_var" string => "${sys.winprogdir}\Rudder\var";
"rudder_bin" string => "${rudder_base}\bin";
"rudder_sbin" string => "${rudder_base}\sbin";
"rudder_tools" string => "${rudder_sbin}";
"rudder_ncf" string => "${rudder_var}\ncf";
"execRun" string => execresult("\"${g.rudder_sbin}\getDate.bat\"", "noshell");
&endif&

linux|cygwin::
"rudder_base" string => "/opt/rudder";
"rudder_var" string => "/var/rudder";
"rudder_bin" string => "${rudder_base}/bin";
"rudder_sbin" string => "${rudder_base}/sbin";
"rudder_base_sbin" string => "${rudder_base}/sbin"; #folder where tools are installed
"rudder_tools" string => "/var/rudder/tools";
"execRun" string => execresult("/bin/date --rfc-3339=second", "noshell");
"rudder_base" string => "/opt/rudder";
"rudder_var" string => "/var/rudder";
"rudder_bin" string => "${rudder_base}/bin";
"rudder_sbin" string => "${rudder_base}/sbin";
"rudder_base_sbin" string => "${rudder_base}/sbin"; #folder where tools are installed
"rudder_tools" string => "/var/rudder/tools";
"rudder_ncf" string => "${rudder_var}/ncf";
"execRun" string => execresult("/bin/date --rfc-3339=second", "noshell");

android::
"rudder_base" string => "/data/rudder";
"rudder_var" string => "/data/rudder";
"rudder_sbin" string => "${rudder_base}/sbin";
"rudder_base_sbin" string => "${rudder_base}/sbin"; #folder where tools are installed
"rudder_tools" string => "${rudder_var}/tools";
"execRun" string => execresult("/system/xbin/date \"+%Y-%m-%d %T+02:00\"", "noshell");

"rudder_base" string => "/data/rudder";
"rudder_var" string => "/data/rudder";
"rudder_sbin" string => "${rudder_base}/sbin";
"rudder_base_sbin" string => "${rudder_base}/sbin"; #folder where tools are installed
"rudder_tools" string => "${rudder_var}/tools";
"rudder_ncf" string => "${rudder_var}/ncf";
"execRun" string => execresult("/system/xbin/date \"+%Y-%m-%d %T+02:00\"", "noshell");

# definition of the node roles
&NODEROLE&
Expand Down