Bug #3128
closedRudder displays a confusing error quickly after deleting a node, and then resumes working normally
Description
When trying to delete a node, a deployment seems to try launching, and fails immediately with the error: "Failed to get root server to build path"
Here are the related logs:
16:28:09.258 [qtp760805843-66] DEBUG com.normation.inventory.ldap.core.FullInventoryRepositoryImpl - Error when moving machine referenced by container for node '49ee7b99-00f5-466a-880a-d2cf27010055'. We will assume that the machine was deleted, and remove the reference in node cause:Can not move 'machineId=07486112-5329-4c6b-91e3-c0c18ae47f5f,ou=Machines,ou=Accepted Inventories,ou=Inventories,cn=rudder-configuration' to new parent 'ou=Machines,ou=Removed Inventories,ou=Inventories,cn=rudder-configuration': no such object 16:28:09.287 [qtp760805843-66] INFO com.normation.rudder.web.services.DisplayNode - Successfully removed node 49ee7b99-00f5-466a-880a-d2cf27010055 from Rudder 16:28:10.400 [pool-3-thread-3] ERROR com.normation.rudder.services.path.PathComputerImpl - Failed to get root server to build path: Exactly one policy server must be configured, found 0 16:28:10.403 [pool-3-thread-3] ERROR com.normation.rudder.batch.AsyncDeploymentAgent - Deployment error for process '284' at 2013/01/02 16:28:10: Exception caught during deployment process: Failed to get root server to build path com.normation.exceptions.BusinessException: Failed to get root server to build path at com.normation.rudder.services.path.PathComputerImpl.computeBaseNodePath(PathComputerImpl.scala:83) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.RudderCf3PromisesFileWriterServiceImpl$$anonfun$writePromisesForMachines$1.apply(RudderPromiseWriterServiceImpl.scala:131) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.RudderCf3PromisesFileWriterServiceImpl$$anonfun$writePromisesForMachines$1.apply(RudderPromiseWriterServiceImpl.scala:121) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at scala.collection.Iterator$class.foreach(Iterator.scala:772) ~[scala-library-2.9.2.jar:na] at scala.collection.mutable.HashMap$$anon$4.foreach(HashMap.scala:115) ~[scala-library-2.9.2.jar:na] at com.normation.rudder.services.policies.RudderCf3PromisesFileWriterServiceImpl.writePromisesForMachines(RudderPromiseWriterServiceImpl.scala:121) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.servers.NodeConfigurationServiceImpl$$anonfun$writeTemplateForUpdatedNodeConfigurations$1.apply(NodeConfigurationServiceImpl.scala:426) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.servers.NodeConfigurationServiceImpl$$anonfun$writeTemplateForUpdatedNodeConfigurations$1.apply(NodeConfigurationServiceImpl.scala:404) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.servers.NodeConfigurationServiceImpl.inLock(NodeConfigurationServiceImpl.scala:106) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.servers.NodeConfigurationServiceImpl.writeTemplateForUpdatedNodeConfigurations(NodeConfigurationServiceImpl.scala:404) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.DeploymentService_updateAndWriteRule$class.writeNodeConfigurations(DeploymentService.scala:588) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.DeploymentServiceImpl.writeNodeConfigurations(DeploymentService.scala:234) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2$$anonfun$apply$4$$anonfun$apply$6$$anonfun$apply$9$$anonfun$apply$11$$anonfun$apply$13.apply(DeploymentService.scala:132) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2$$anonfun$apply$4$$anonfun$apply$6$$anonfun$apply$9$$anonfun$apply$11$$anonfun$apply$13.apply(DeploymentService.scala:127) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at net.liftweb.common.Full.flatMap(Box.scala:493) ~[lift-common_2.9.1-2.4.jar:2.4] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2$$anonfun$apply$4$$anonfun$apply$6$$anonfun$apply$9$$anonfun$apply$11.apply(DeploymentService.scala:127) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2$$anonfun$apply$4$$anonfun$apply$6$$anonfun$apply$9$$anonfun$apply$11.apply(DeploymentService.scala:122) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at net.liftweb.common.Full.flatMap(Box.scala:493) ~[lift-common_2.9.1-2.4.jar:2.4] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2$$anonfun$apply$4$$anonfun$apply$6$$anonfun$apply$9.apply(DeploymentService.scala:122) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2$$anonfun$apply$4$$anonfun$apply$6$$anonfun$apply$9.apply(DeploymentService.scala:117) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at net.liftweb.common.Full.flatMap(Box.scala:493) ~[lift-common_2.9.1-2.4.jar:2.4] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2$$anonfun$apply$4$$anonfun$apply$6.apply(DeploymentService.scala:117) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2$$anonfun$apply$4$$anonfun$apply$6.apply(DeploymentService.scala:112) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at net.liftweb.common.Full.flatMap(Box.scala:493) ~[lift-common_2.9.1-2.4.jar:2.4] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2$$anonfun$apply$4.apply(DeploymentService.scala:112) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2$$anonfun$apply$4.apply(DeploymentService.scala:108) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at net.liftweb.common.Full.flatMap(Box.scala:493) ~[lift-common_2.9.1-2.4.jar:2.4] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2.apply(DeploymentService.scala:108) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4$$anonfun$apply$2.apply(DeploymentService.scala:104) ~[rudder-core-2.4.2-SNAPSHOT.jar:na] at net.liftweb.common.Full.flatMap(Box.scala:493) ~[lift-common_2.9.1-2.4.jar:2.4] at com.normation.rudder.services.policies.DeploymentService$$anonfun$4.apply(DeploymentService.scala:104) ~[rudder-core-2.4.2-SNAPSHOT.jar:na]
BUT, immediately after this, a new deployment triggers which succeeds. Confusing.
Updated by Nicolas PERRON almost 12 years ago
- Target version changed from 2.4.2 to 2.4.3
Updated by François ARMAND over 11 years ago
- Status changed from New to Discussion
- Assignee changed from François ARMAND to Matthieu CERDA
That message is displayed when we can not get the Root Policy Server Configuration from LDAP. That should never happen, and it does not seems to be linked to the node deletion.
Does any other thing was going on on the server at the same time ? Perhaps if a "cache cleaning" was occuring at the same time as the promise generation, that error could occures..
Any information to be able to reproduce it would be very helpful.
Updated by Matthieu CERDA over 11 years ago
- Assignee changed from Matthieu CERDA to François ARMAND
Actually, I only observed this once but reproducing should be easy: try to delete a node on a 2.4 node and it should happen again. I tried on a Rudder v.2.4.2~rc1~git201212311404 (orch-3) and it did not happen again though.
Should we reject this ?
Updated by François ARMAND over 11 years ago
- Status changed from Discussion to Rejected
OK, we can not reproduce it for now.
Updated by Matthieu CERDA over 11 years ago
- Target version changed from 2.4.3 to 2.4.4