Actions
Bug #3127
closedRudder chokes on inventories containing duplicated softwares with identical versions
Status:
Released
Priority:
1 (highest)
Assignee:
Category:
Web - Nodes & inventories
Target version:
Pull Request:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:
Description
On a test Rudder server, an inventory from a SLES machine containing duplicated softwares (namely, same gpg-pubkey's which are present multiple times) is refused by inventory-ldap with this error:
12:30:58.839 [qtp760805843-72] INFO com.normation.inventory.provisioning.endpoint.FusionReportEndpoint - Report 'sles-11-sp1-64-2012-09-12-17-02-11.ocs' parsed in 1 second and 545 milliseconds, sending to save engine. 12:30:59.373 [ForkJoinPool-1-worker-3] INFO com.normation.inventory.ldap.provisioning.NameAndVersionIdFinder - Several software ids found for filter '(&(cn=gpg-pubkey)(softwareVersion=436a4de2-50910b72))': 12:30:59.373 [ForkJoinPool-1-worker-3] INFO com.normation.inventory.ldap.provisioning.NameAndVersionIdFinder - -> 10369448-caa2-4350-89fb-a51a8b29d77d 12:30:59.373 [ForkJoinPool-1-worker-3] INFO com.normation.inventory.ldap.provisioning.NameAndVersionIdFinder - -> 1a1a6123-b54e-4189-86d9-ed199f2a025d 12:31:00.648 [ForkJoinPool-1-worker-3] INFO com.normation.inventory.ldap.provisioning.NameAndVersionIdFinder - Several software ids found for filter '(&(cn=gpg-pubkey)(softwareVersion=436a4de2-50910b72))': 12:31:00.648 [ForkJoinPool-1-worker-3] INFO com.normation.inventory.ldap.provisioning.NameAndVersionIdFinder - -> 10369448-caa2-4350-89fb-a51a8b29d77d 12:31:00.648 [ForkJoinPool-1-worker-3] INFO com.normation.inventory.ldap.provisioning.NameAndVersionIdFinder - -> 1a1a6123-b54e-4189-86d9-ed199f2a025d 12:31:00.869 [ForkJoinPool-1-worker-3] DEBUG com.normation.inventory.services.provisioning.MachineDNFinderService - Processing machine id finder use_existing_id 12:31:00.898 [ForkJoinPool-1-worker-3] DEBUG com.normation.inventory.services.provisioning.MachineDNFinderService - Processing machine id finder check_mother_board_uuid_accepted 12:31:00.911 [ForkJoinPool-1-worker-3] DEBUG com.normation.inventory.services.provisioning.MachineDNFinderService - Machine Id 'MachineUuid(07486112-5329-4c6b-91e3-c0c18ae47f5f)' found with id finder 'check_mother_board_uuid_accepted' 12:31:00.911 [ForkJoinPool-1-worker-3] DEBUG com.normation.inventory.services.provisioning.NodeInventoryDNFinderService - Processing server id finder use_existing_id 12:31:00.913 [ForkJoinPool-1-worker-3] DEBUG com.normation.inventory.services.provisioning.NodeInventoryDNFinderService - All server finder executed, no id found 12:31:01.595 [ForkJoinPool-1-worker-3] ERROR com.normation.ldap.sdk.LDAPConnection - Exception ignored (by configuration) when trying to add entry 'nodeId=59e66fe7-7f0e-497d-8055-a103116b4a08,ou=Nodes,ou=Pending Inventories,ou=Inventories,cn=rudder-configuration'. Reported exception was: software: value #722 provid ed more than once com.unboundid.ldap.sdk.LDAPException: software: value #722 provided more than once at com.unboundid.ldap.sdk.LDAPConnection.add(LDAPConnection.java:1648) ~[unboundid-ldapsdk-2.3.1.jar:2.3.1] at com.normation.ldap.sdk.LDAPConnection$$anonfun$10.apply(LDAPConnection.scala:495) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnection$$anonfun$10.apply(LDAPConnection.scala:493) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnection.com$normation$ldap$sdk$LDAPConnection$$applyMod(LDAPConnection.scala:468) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnection$$anonfun$com$normation$ldap$sdk$LDAPConnection$$applyMods$2.apply(LDAPConnection.scala:460) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnection$$anonfun$com$normation$ldap$sdk$LDAPConnection$$applyMods$2.apply(LDAPConnection.scala:459) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.utils.Control$$anonfun$sequence$1.apply(Control.scala:53) [utils-2.4.2-SNAPSHOT.jar:na] at com.normation.utils.Control$$anonfun$sequence$1.apply(Control.scala:53) [utils-2.4.2-SNAPSHOT.jar:na] at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) [scala-library-2.9.2.jar:na] at scala.collection.immutable.List.foreach(List.scala:76) [scala-library-2.9.2.jar:na] at com.normation.utils.Control$.sequence(Control.scala:53) [utils-2.4.2-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnection.com$normation$ldap$sdk$LDAPConnection$$applyMods(LDAPConnection.scala:459) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnection$$anonfun$12.apply(LDAPConnection.scala:507) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnection$$anonfun$12.apply(LDAPConnection.scala:507) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnection.addTree(LDAPConnection.scala:642) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnection.saveTree(LDAPConnection.scala:676) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.inventory.ldap.provisioning.DefaultReportSaver$$anonfun$3.apply(DefaultReportSaver.scala:97) [inventory-provisioning-core-2.4.2-SNAPSHOT.jar:na] at com.normation.inventory.ldap.provisioning.DefaultReportSaver$$anonfun$3.apply(DefaultReportSaver.scala:95) [inventory-provisioning-core-2.4.2-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnectionProvider$$anonfun$flatMap$1.apply(LDAPConnectionProvider.scala:116) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnectionProvider$$anonfun$flatMap$1.apply(LDAPConnectionProvider.scala:115) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnectionProvider$class.withCon(LDAPConnectionProvider.scala:153) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.PooledSimpleAuthConnectionProvider.withCon(LDAPConnectionProvider.scala:315) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.LDAPConnectionProvider$class.flatMap(LDAPConnectionProvider.scala:115) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.ldap.sdk.PooledSimpleAuthConnectionProvider.flatMap(LDAPConnectionProvider.scala:315) [scala-ldap-0.12-SNAPSHOT.jar:na] at com.normation.inventory.ldap.provisioning.DefaultReportSaver.commitChange(DefaultReportSaver.scala:95) [inventory-provisioning-core-2.4.2-SNAPSHOT.jar:na] at com.normation.inventory.services.provisioning.PipelinedReportSaver$$anonfun$save$2.liftedTree1$1(ReportSaver.scala:109) [inventory-api-2.4.2-SNAPSHOT.jar:na] at com.normation.inventory.services.provisioning.PipelinedReportSaver$$anonfun$save$2.apply(ReportSaver.scala:108) [inventory-api-2.4.2-SNAPSHOT.jar:na] at com.normation.inventory.services.provisioning.PipelinedReportSaver$$anonfun$save$2.apply(ReportSaver.scala:97) [inventory-api-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.inventory.services.provisioning.PipelinedReportSaver$class.save(ReportSaver.scala:97) [inventory-api-2.4.2-SNAPSHOT.jar:na] at com.normation.inventory.ldap.provisioning.DefaultReportSaver.save(DefaultReportSaver.scala:58) [inventory-provisioning-core-2.4.2-SNAPSHOT.jar:na]
On the source machine, here is the returned softwares concerning this error:
sles-11-sp1-64:~ # rpm -qa |grep gpg-pubkey gpg-pubkey-1d061a62-4bd70bfa gpg-pubkey-436a4de2-50910b72 gpg-pubkey-a1912208-446a0899 gpg-pubkey-0dfb3188-41ed929b gpg-pubkey-9c800aca-4be01999 gpg-pubkey-6f07d355-509cdb91 gpg-pubkey-3d25d3d9-36e12d04 gpg-pubkey-7e2e3b05-4be037ca gpg-pubkey-474a19e8-4eea5279 gpg-pubkey-307e3d54-4be01a65 gpg-pubkey-436a4de2-50910b72 gpg-pubkey-b37b98a9-4be01a1a
This bug has been detected on a Rudder 2.4 machine, but there is a heavy suspicion that it impacts both 2.3 and 2.4.
Updated by François ARMAND almost 12 years ago
- Status changed from 8 to In progress
Could I have the faulty inventory ? That would be very helpful!
Updated by François ARMAND almost 12 years ago
- Status changed from In progress to Pending technical review
- Assignee changed from François ARMAND to Nicolas CHARLES
Updated by François ARMAND almost 12 years ago
- Status changed from Pending technical review to Pending release
- % Done changed from 0 to 100
Applied in changeset de7e4ee3d624027c577c58a1f0f2fd38bc1963a4.
Updated by Nicolas CHARLES almost 12 years ago
Applied in changeset 9d2a320dbb33dea6a2a8c321b38288e08d21b39d.
Updated by Nicolas PERRON almost 12 years ago
- Status changed from Pending release to Released
Updated by Benoît PECCATTE almost 10 years ago
- Category changed from 26 to Web - Nodes & inventories
Actions