Project

General

Profile

Actions

Bug #7190

closed

Agent cannot replace file per folder when copying promises, and it may lock agent with invalid promises

Added by Nicolas CHARLES over 8 years ago. Updated over 8 years ago.

Status:
Released
Priority:
N/A
Category:
System techniques
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:

Description

Sometimes, the agent fails at copying folder, and for odd reason create a file (happens in very high load condition)
When it does that, every subsequent runs will leave the invalid file rather than replacing by a folder, which effectively leave the agent in invalid state

https://docs.cfengine.com/docs/3.6/reference-promise-types-files.html#type_check could be a solution for reparing in subsequent runs


Subtasks 1 (0 open1 closed)

Bug #7417: Merge error from #7190 - extra code appeared in 3.1 branch (that does nothing harmful)ReleasedNicolas CHARLES2015-11-16Actions
Actions #1

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 2.11.14 to 2.11.15
Actions #2

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 2.11.15 to 2.11.16
Actions #3

Updated by Nicolas CHARLES over 8 years ago

  • Status changed from New to In progress
Actions #4

Updated by Nicolas CHARLES over 8 years ago

Setting type_check => "false" doesn't solve the issue at all :(

/default/update/methods/'update'/default/update_action/files/'/var/rudder/cfengine-community/inputs'[0]: The object /var/rudder/cfengine-community/inputs/aptPackageInstallation is not a directory. Cannot make a new directory without deleting it.
/default/update/methods/'update'/default/update_action/files/'/var/rudder/cfengine-community/inputs'[0]: Unable to make directory for '/var/rudder/cfengine-community/inputs/aptPackageInstallation/dummy' in file-copy '/var/rudder/share/NODE_UUID/rules/cfengine-community' to '(null)'

Actions #5

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 2.11.16 to 2.11.17
Actions #6

Updated by Nicolas CHARLES over 8 years ago

The right solution is to use "move_obstruction" in the promise !

Actions #7

Updated by Nicolas CHARLES over 8 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Nicolas CHARLES to Benoît PECCATTE
  • Pull Request set to https://github.com/Normation/rudder-techniques/pull/761
Actions #8

Updated by Nicolas CHARLES over 8 years ago

  • Status changed from Pending technical review to Pending release
  • % Done changed from 0 to 100
Actions #10

Updated by Vincent MEMBRÉ over 8 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 2.11.17, 3.0.12 and 3.1.5 which were released today.

Actions

Also available in: Atom PDF