Open gverrey opened 3 years ago
Bonjour @gverrey , c'est probablement plutôt un problème de l'agent du coup. Peux-tu déjà préciser dans quel contexte tu es ? Inventaire depuis l'hôte ou inventaire dans la VM ? Et est-ce que tu utilises l'agent FusionInventory v2.6 ?
Hello,
Oui, l'inventaire est fait depuis la vm avec l'agent en 2.6
Guillaume VERREY
Juste un point concernant la réponse: évitez de garder le message original dans une réponse par mail pour ne pas polluer inutilement le fil de l'issue. Merci d'avance ;-)
Du coup, il faudrait commencer par savoir quel est l'output de la commande dmidecode
sur cette machine. Cette commande est livrée avec l'agent dans le sous-dossier perl\bin
du dossier d'installation et doit être exécutée dans une console admin.
# dmidecode 3.3-gitd64af977
SMBIOS 3.1 present.
15 structures occupying 1082 bytes.
Table at 0x00760D48.
Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
Vendor: Microsoft Corporation
Version: Hyper-V UEFI Release v4.0
Release Date: 12/17/2019
ROM Size: 64 kB
Characteristics:
BIOS characteristics not supported
ACPI is supported
Targeted content distribution is supported
UEFI is supported
System is a virtual machine
BIOS Revision: 4.0
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Microsoft Corporation
Product Name: Virtual Machine
Version: Hyper-V UEFI Release v4.0
Serial Number: 3135-4298-3414-7021-8716-7514-85
UUID: f78a0579-5bf5-4de9-a5c7-b5ad2023449b
Wake-up Type: Power Switch
SKU Number: None
Family: Virtual Machine
Handle 0x0002, DMI type 3, 24 bytes
Chassis Information
Manufacturer: Microsoft Corporation
Type: Desktop
Lock: Not Present
Version: Hyper-V UEFI Release v4.0
Serial Number: 3135-4298-3414-7021-8716-7514-85
Asset Tag: 3135-4298-3414-7021-8716-7514-85
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: Unknown
OEM Information: 0x00000000
Height: Unspecified
Number Of Power Cords: Unspecified
Contained Elements: 0
SKU Number: Virtual Machine
Handle 0x0003, DMI type 2, 17 bytes
Base Board Information
Manufacturer: Microsoft Corporation
Product Name: Virtual Machine
Version: Hyper-V UEFI Release v4.0
Serial Number: 3135-4298-3414-7021-8716-7514-85
Asset Tag: None
Features:
Board is a hosting board
Location In Chassis: Virtual Machine
Chassis Handle: 0x0002
Type: Motherboard
Contained Object Handles: 0
Handle 0x0004, DMI type 4, 48 bytes
Processor Information
Socket Designation: None
Type: Central Processor
Family: Unknown
Manufacturer: None
ID: 00 00 00 00 00 00 00 00
Version: None
Voltage: Unknown
External Clock: Unknown
Max Speed: 4000 MHz
Current Speed: Unknown
Status: Populated, Enabled
Upgrade: None
L1 Cache Handle: Not Provided
L2 Cache Handle: Not Provided
L3 Cache Handle: Not Provided
Serial Number: None
Asset Tag: None
Part Number: None
Core Count: 1
Core Enabled: 1
Thread Count: 1
Characteristics: None
Handle 0x0005, DMI type 11, 5 bytes
OEM Strings
String 1: [MS_VM_CERT/SHA1/9b80ca0d5dd061ec9da4e494f4c3fd1196270c22]
String 2: 00000000000000000000000000000000
String 3: To be filled by OEM
Handle 0x0006, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 0 bytes
Error Information Handle: Not Provided
Number Of Devices: 2
Handle 0x0007, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0006
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: 3968 MB
Form Factor: Unknown
Set: None
Locator: M0001
Bank Locator: None
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Microsoft Corporation
Serial Number: None
Asset Tag: None
Part Number: None
Rank: Unknown
Configured Memory Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x0008, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000F80003FF
Range Size: 3968 MB
Physical Array Handle: 0x0006
Partition Width: 0
Handle 0x0009, DMI type 20, 35 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000F80003FF
Range Size: 3968 MB
Physical Device Handle: 0x0007
Memory Array Mapped Address Handle: 0x0008
Partition Row Position: Unknown
Handle 0x000A, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0006
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: 128 MB
Form Factor: Unknown
Set: None
Locator: M0002
Bank Locator: None
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Microsoft Corporation
Serial Number: None
Asset Tag: None
Part Number: None
Rank: Unknown
Configured Memory Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Handle 0x000B, DMI type 19, 31 bytes
Memory Array Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x001080003FF
Range Size: 131073 kB
Physical Array Handle: 0x0006
Partition Width: 0
Handle 0x000C, DMI type 20, 35 bytes
Memory Device Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x001080003FF
Range Size: 131073 kB
Physical Device Handle: 0x000A
Memory Array Mapped Address Handle: 0x000B
Partition Row Position: Unknown
Handle 0x000D, DMI type 32, 11 bytes
System Boot Information
Status: No errors detected
Handle 0xFEFF, DMI type 127, 4 bytes
End Of Table
Ici le module mémoire est celui de type 17:
Handle 0x0007, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x0006
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: 3968 MB
Form Factor: Unknown
Set: None
Locator: M0001
Bank Locator: None
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Microsoft Corporation
Serial Number: None
Asset Tag: None
Part Number: None
Rank: Unknown
Configured Memory Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
Avec tout ces "Unknown", ça signifie que le bios monté avec ton Hyper-V n'est pas très coopératif, mais ça c'est une constante avec les produits de cette marque d'éviter de suivre les standards et de casser le travail des autres. Bref, j'imagine que le plugin échoue à importer le module mémoire comme il doit manquer quelque chose. As-tu vérifié les noeuds XML MEMORIES dans le fichier XML d'import pour voir si c'est cohérent avec ce que voit dmidecode ? Le fichier est disponible depuis l'onglet "Informations d'import".
Tu peux aussi faire un test en renommant le binaire dmidecode sur la VM pour que l'agent ne puisse pas l'exécuter et qu'il se rabatte sur des appels WMI. Ca pourrait donner un meilleur résultat dans ton cas.
J'ai testé en en renommant le binaire dmidecode sur la VM et la remonté de la RAM se passe nikel.
Par contre c'est bizarre car j'ai remis le dmidecode, relancer un inventaire, ma RAM disparait a nouveau mais quand je regarde le XML généré, j'obtiens :
<HARDWARE>
<CHASSIS_TYPE>Desktop</CHASSIS_TYPE>
<CHECKSUM>7</CHECKSUM>
<DEFAULTGATEWAY>192.168.2.60</DEFAULTGATEWAY>
<DNS>127.0.0.1</DNS>
<ETIME>14</ETIME>
<IPADDR>192.168.2.3</IPADDR>
<MEMORY>4094</MEMORY>
<NAME>dc1</NAME>
mais aussi plus bas ans le xml
<MEMORIES>
<CAPACITY>3968</CAPACITY>
<CAPTION>M0001</CAPTION>
<MANUFACTURER>Microsoft Corporation</MANUFACTURER>
<NUMSLOTS>1</NUMSLOTS>
</MEMORIES>
<MEMORIES>
<CAPACITY>128</CAPACITY>
<CAPTION>M0002</CAPTION>
<MANUFACTURER>Microsoft Corporation</MANUFACTURER>
<NUMSLOTS>2</NUMSLOTS>
</MEMORIES>
Bref, je rapporte les faits mais je ne sais pas quoi en penser. :) En tout cas, en WMI c'est mieux, merci à toi pour ta réactivité et ton astuce impeccable !
Oui, c'est ce que je disais, l'information est très pauvre dans ce cas à cause du Bios utilisé par ton HyperV. Tu devrais comparer les blocs MEMORIES à ceux que tu vois en passant par WMI quand dmidecode est renommé. Ça pourrait d'ailleurs nous donner une piste pour un correctif. Avoir l'output des commandes suivantes aiderait peut-être aussi :
wmic path Win32_PhysicalMemory get /Format:list
wmic path Win32_PhysicalMemoryArray get /Format:list
> wmic path Win32_PhysicalMemory get /Format:list
Attributes=0
BankLabel=None
Capacity=4160749568
Caption=Mémoire physique
ConfiguredClockSpeed=0
ConfiguredVoltage=0
CreationClassName=Win32_PhysicalMemory
DataWidth=
Description=Mémoire physique
DeviceLocator=M0001
FormFactor=0
HotSwappable=
InstallDate=
InterleaveDataDepth=0
InterleavePosition=0
Manufacturer=Microsoft Corporation
MaxVoltage=0
MemoryType=0
MinVoltage=0
Model=
Name=Mémoire physique
OtherIdentifyingInfo=
PartNumber=None
PositionInRow=
PoweredOn=
Removable=
Replaceable=
SerialNumber=None
SKU=
SMBIOSMemoryType=2
Speed=
Status=
Tag=Physical Memory 0
TotalWidth=
TypeDetail=4
Version=
Attributes=0
BankLabel=None
Capacity=134217728
Caption=Mémoire physique
ConfiguredClockSpeed=0
ConfiguredVoltage=0
CreationClassName=Win32_PhysicalMemory
DataWidth=
Description=Mémoire physique
DeviceLocator=M0002
FormFactor=0
HotSwappable=
InstallDate=
InterleaveDataDepth=0
InterleavePosition=0
Manufacturer=Microsoft Corporation
MaxVoltage=0
MemoryType=0
MinVoltage=0
Model=
Name=Mémoire physique
OtherIdentifyingInfo=
PartNumber=None
PositionInRow=
PoweredOn=
Removable=
Replaceable=
SerialNumber=None
SKU=
SMBIOSMemoryType=2
Speed=
Status=
Tag=Physical Memory 1
TotalWidth=
TypeDetail=4
Version=
> wmic path Win32_PhysicalMemoryArray get /Format:list
Caption=Bloc de mémoire physique
CreationClassName=Win32_PhysicalMemoryArray
Depth=
Description=Bloc de mémoire physique
Height=
HotSwappable=
InstallDate=
Location=3
Manufacturer=
MaxCapacity=0
MaxCapacityEx=2147483648
MemoryDevices=2
MemoryErrorCorrection=3
Model=
Name=Bloc de mémoire physique
OtherIdentifyingInfo=
PartNumber=
PoweredOn=
Removable=
Replaceable=
SerialNumber=
SKU=
Status=
Tag=Physical Memory Array 0
Use=3
Version=
Weight=
Width=
Blocs MEMORIES avec dmidecode :
<MEMORIES>
<CAPACITY>3968</CAPACITY>
<CAPTION>M0001</CAPTION>
<MANUFACTURER>Microsoft Corporation</MANUFACTURER>
<NUMSLOTS>1</NUMSLOTS>
</MEMORIES>
<MEMORIES>
<CAPACITY>128</CAPACITY>
<CAPTION>M0002</CAPTION>
<MANUFACTURER>Microsoft Corporation</MANUFACTURER>
<NUMSLOTS>2</NUMSLOTS>
</MEMORIES>
Blocs MEMORIES sans dmidecode :
<MEMORIES>
<CAPACITY>3968</CAPACITY>
<CAPTION>Mémoire physique</CAPTION>
<DESCRIPTION>Mémoire physique</DESCRIPTION>
<FORMFACTOR>Unknown</FORMFACTOR>
<NUMSLOTS>0</NUMSLOTS>
<REMOVABLE>0</REMOVABLE>
<SERIALNUMBER>None</SERIALNUMBER>
<TYPE>Unknown</TYPE>
</MEMORIES>
<MEMORIES>
<CAPACITY>128</CAPACITY>
<CAPTION>Mémoire physique</CAPTION>
<DESCRIPTION>Mémoire physique</DESCRIPTION>
<FORMFACTOR>Unknown</FORMFACTOR>
<MEMORYCORRECTION>None</MEMORYCORRECTION>
<NUMSLOTS>1</NUMSLOTS>
<REMOVABLE>0</REMOVABLE>
<SERIALNUMBER>None</SERIALNUMBER>
<TYPE>Unknown</TYPE>
</MEMORIES>
Salut @gverrey
merci, j'ai utilisé ton cas pour ajouter des tests unitaires à l'agent GLPI et tout de même supporter l'exécution avec dmidecode. Le patch est là si tu veux l'appliquer à ton agent FusionInventory. Il devrait s'appliquer sans problème.
Le résultat devrait donner chez toi pour les noeuds XML ceci:
<MEMORIES>
<CAPACITY>3968</CAPACITY>
<CAPTION>M0001</CAPTION>
<DESCRIPTION>Hyper-V Memory</DESCRIPTION>
<MANUFACTURER>Microsoft Corporation</MANUFACTURER>
<NUMSLOTS>1</NUMSLOTS>
</MEMORIES>
<MEMORIES>
<CAPACITY>128</CAPACITY>
<CAPTION>M0002</CAPTION>
<DESCRIPTION>Hyper-V Memory</DESCRIPTION>
<MANUFACTURER>Microsoft Corporation</MANUFACTURER>
<NUMSLOTS>2</NUMSLOTS>
</MEMORIES>
Avec seulement le noeud DESCRIPTION en plus qui est mandataire ici.
Merci Guillaume.
Ok je vais attendre le nightly build pour pouvoir l'installer sur ma VM windows, car je sais pas trop comment l'appliquer autrement :(. Merci encore, je te tiens au courant demain.
C'est ok, Merci !
La sortie XML 👍
<MEMORIES>
<CAPACITY>3968</CAPACITY>
<CAPTION>Mémoire physique</CAPTION>
<DESCRIPTION>Mémoire physique</DESCRIPTION>
<FORMFACTOR>Unknown</FORMFACTOR>
<NUMSLOTS>0</NUMSLOTS>
<REMOVABLE>0</REMOVABLE>
<SERIALNUMBER>None</SERIALNUMBER>
<TYPE>Unknown</TYPE>
</MEMORIES>
<MEMORIES>
<CAPACITY>128</CAPACITY>
<CAPTION>Mémoire physique</CAPTION>
<DESCRIPTION>Mémoire physique</DESCRIPTION>
<FORMFACTOR>Unknown</FORMFACTOR>
<MEMORYCORRECTION>None</MEMORYCORRECTION>
<NUMSLOTS>1</NUMSLOTS>
<REMOVABLE>0</REMOVABLE>
<SERIALNUMBER>None</SERIALNUMBER>
<TYPE>Unknown</TYPE>
</MEMORIES>
Sauf que là tu as les noeuds sans utiliser dmidecode...
Oups, je sais pas pourquoi... Je viens de refaire la manip et effectivement, ça à du se faire sans dmidecode précédemment.. Bref, ça remonte bien avec dorénavant. Merci !!
<MEMORIES>
<CAPACITY>3968</CAPACITY>
<CAPTION>M0001</CAPTION>
<DESCRIPTION>Hyper-V Memory</DESCRIPTION>
<MANUFACTURER>Microsoft Corporation</MANUFACTURER>
<NUMSLOTS>1</NUMSLOTS>
</MEMORIES>
<MEMORIES>
<CAPACITY>128</CAPACITY>
<CAPTION>M0002</CAPTION>
<DESCRIPTION>Hyper-V Memory</DESCRIPTION>
<MANUFACTURER>Microsoft Corporation</MANUFACTURER>
<NUMSLOTS>2</NUMSLOTS>
</MEMORIES>
Sorry, not fixed, I reopen the issue
Bonjour,
Pour info :
Le plugin agent ne remonte pas la RAM dans une VM de génération 2 créé sous hyper V. Typiquement, j'ai toute mes VM sous plein d'hyper V (2012, 2016, 2019) J'ai créé des VM (win 2019 et win 2012 r2) sur un hyperviseur sous win 2019, en VM de génération 2 et la RAM n'est pas remontée. Sur glpi, dans la section ordinateurs, quand je clique sur la VM, dans la partie composants, sous processeur, n'apparait que le processeur virtuel mais pas la RAM.