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 about 10 years ago. Updated almost 10 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É almost 10 years ago

  • Target version changed from 2.11.14 to 2.11.15
Actions #2

Updated by Vincent MEMBRÉ almost 10 years ago

  • Target version changed from 2.11.15 to 2.11.16
Actions #3

Updated by Nicolas CHARLES almost 10 years ago

  • Status changed from New to In progress
Actions #4

Updated by Nicolas CHARLES almost 10 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É almost 10 years ago

  • Target version changed from 2.11.16 to 2.11.17
Actions #6

Updated by Nicolas CHARLES almost 10 years ago

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

Actions #7

Updated by Nicolas CHARLES almost 10 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 almost 10 years ago

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

Updated by Vincent MEMBRÉ almost 10 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