Actions
Bug #4110
closedUpgrading a node with invalid promises to rudder 2.8 fails
Status:
Released
Priority:
1 (highest)
Assignee:
Jonathan CLARKE
Category:
Packaging
Target version:
Pull Request:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:
Description
A not accepted node (only applies initial promises). but in latest 2.4.X/2.6 and 2.7 latest promises are not CFEngine 3.5 compliant.
When upgrading that node to 2.8, the node cannot complete the upgrade process because the initial promises are still the one used in 2.4/2.6/2.8
The error message i get when upgrading is:
udder-agent[3713]: [INFO] Using /etc/default/rudder-agent for configuration rudder-agent[3716]: [INFO] Using /var/rudder/cfengine-community for CFEngine workdir rudder-agent[3717]: [INFO] Halting CFEngine Community cf-serverd... rudder-agent[3719]: [OK] CFEngine Community cf-serverd stopped after 1 seconds rudder-agent[3720]: [INFO] Halting CFEngine Community cf-execd... rudder-agent[3722]: [OK] CFEngine Community cf-execd stopped after 1 seconds CFEngine binaries copied to workdir rudder-agent[3735]: [INFO] Using /etc/default/rudder-agent for configuration rudder-agent[3738]: [INFO] Using /var/rudder/cfengine-community for CFEngine workdir rudder-agent[3739]: [INFO] Launching CFEngine Community cf-serverd... /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:306:55: error: syntax error "$(index)=$($(tab)[$(sectionName)][$(index)])", ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:306:55: error: Expected attribute, got ',' "$(index)=$($(tab)[$(sectionName)][$(index)])", ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:307:29: error: Expected promiser string, got 'select_region' select_region => INI_section("$(sectionName)"), ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:307:32: error: Expected ';', got '=>' select_region => INI_section("$(sectionName)"), ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:307:44: error: Expected promiser string, got 'INI_section' select_region => INI_section("$(sectionName)"), ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:307:45: error: Expected ';', got '(' select_region => INI_section("$(sectionName)"), ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:307:62: error: Expected ';', got ')' select_region => INI_section("$(sectionName)"), ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:307:63: error: Expected promiser string, got ',' select_region => INI_section("$(sectionName)"), ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:374:55: error: syntax error "$(index)=$($(tab)[$(sectionName)][$(index)])", ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:374:55: error: Expected attribute, got ',' "$(index)=$($(tab)[$(sectionName)][$(index)])", ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:375:29: error: Expected promiser string, got 'select_region' select_region => INI_section("$(sectionName)"), ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:375:32: error: Expected ';', got '=>' select_region => INI_section("$(sectionName)"), ^ /var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf:375:44: error: Expected promiser string, got 'INI_section' select_region => INI_section("$(sectionName)"), ^ Too many errors2013-10-28T16:26:14+0000 error: Policy failed validation with command '"/var/rudder/cfengine-community/bin/cf-promises" -c "/var/rudder/cfengine-community/inputs/promises.cf"'
The solution is to repair the initial promises to be CFEngine 3.5 compliant.
A workaround can be to disable agent before upgrading
touch /opt/rudder/etc/disable-agent # Upgrade # sudo yum upgrade rudder-agent # sudo apt-get install rudder-agent rm /opt/rudder/etc/disable-agent
Actions