Project

General

Profile

Actions

Bug #7190

closed

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

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

Added by Nicolas CHARLES almost 11 years ago. Updated over 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 CHARLESActions

Updated by Vincent MEMBRÉ almost 11 years ago Actions #1

  • Target version changed from 2.11.14 to 2.11.15

Updated by Vincent MEMBRÉ almost 11 years ago Actions #2

  • Target version changed from 2.11.15 to 2.11.16

Updated by Nicolas CHARLES almost 11 years ago Actions #3

  • Status changed from New to In progress

Updated by Nicolas CHARLES almost 11 years ago Actions #4

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)'

Updated by Vincent MEMBRÉ over 10 years ago Actions #5

  • Target version changed from 2.11.16 to 2.11.17

Updated by Nicolas CHARLES over 10 years ago Actions #6

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

Updated by Nicolas CHARLES over 10 years ago Actions #7

  • 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

Updated by Nicolas CHARLES over 10 years ago Actions #8

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

Updated by Vincent MEMBRÉ over 10 years ago Actions #10

  • 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: PDF Atom