Bug #5614
closedTwo techniques with the same ID leads to strange error about git tree ids
Description
Typical error returned displayed in promise generation or webapp logs:
[2014-10-07 18:19:19] ERROR com.normation.cfclerk.services.impl.GitTechniqueReader - More than exactly one ids were found in the git tree for template modoboa/0.1/rudder_reporting, I can not know which one to choose. IDs: AnyObjectId[0dc1c79ede134ef2c405692d558f4e9aed6d8197], AnyObjectId[0dc1c79ede134ef2c405692d558f4e9aed6d8197]
[2014-10-07 18:19:19] ERROR com.normation.rudder.batch.AsyncDeploymentAgent$DeployerAgent - Error when updating policy, reason Cannot write configuration node <- Error when trying to open template 'foo/0.1/some_file.st'. Check that the file exists and is correctly commited in Git, or that the metadata for the technique are corrects.
The problem here is really that the foo/0.1 is duplicated in several categories, for example:
/var/rudder/configuration-repository/techniques/applications/foo/0.1
And
/var/rudder/configuration-repository/techniques/applications/applications/foo/0.1
So, we should better check for techniques ID duplication and output a more understandable error in that case: "the technique with ID foo/0.1 is in both categories "applications" and "applications/applications", which is forbiden, techniqe IDs have to be unique in all categories. Please change one technique name or version, or keep only one of them".