esxcli muestra error MemoryError al instalar

    Al intentar actualizar a nueva versión, aparece un error de memoria: MemoryError

    [root@esx01:~] esxcli software profile update -p ESXi-8.0U1d-23299997-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
     [MemoryError]
     Please refer to the log file for more details.
    

    Revisando la consola y servicios no se aprecia una anomalía o falta de memoria.

    Según se puede observar en el log /var/log/esxupdate.log, aparece lo siguiente:

    2024-04-10T10:22:33Z In(14) esxupdate[526475]: Error parsing https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vmw-ESXi-8.0.0-metadata.zip:
    2024-04-10T10:22:33Z In(14) esxupdate[526475]: Successfully executed cmd: localcli --plugin-dir /usr/lib/vmware/esxcli/int/ networkinternal firewall firewallRuleset set --ruleset-id esxupdate --service-name esxupdate --enabled false
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: Traceback (most recent call last):
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/usr/lib/vmware/esxcli-software", line 1135, in 
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: main()
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/usr/lib/vmware/esxcli-software", line 1122, in main
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: ret = CMDTABLE[command](options)
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/usr/lib/vmware/esxcli-software", line 491, in ProfileUpdateCmd
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: livePatcher = Transaction.LivePatcherMount.InitProfileInstallUpdate(
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 2521, in InitProfileInstallUpdate
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: newPatcherComp, newPatcherVibs = _getPatcherForProfileCmd(profileName,
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 2933, in _getPatcherForProfileCmd
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: newProfile, _ = Transaction.GetProfileAndMetaFromSources(
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 1518, in GetProfileAndMetaFromSources
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: meta = Transaction.GetMetadataFromUrls(metadataUrls, depotUrls)
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 170, in GetMetadataFromUrls
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: meta.Merge(Transaction.ParseDepots(depotUrls),
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 154, in ParseDepots
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: dc.ConnectDepots(depotUrls, ignoreerror=False)
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/DepotCollection.py", line 339, in ConnectDepots
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: return self._connectDepots(depotUrls, timeout,
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/DepotCollection.py", line 437, in _connectDepots
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: metanode = self.ParseMetadata(metaurl, metaFile,
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/DepotCollection.py", line 1000, in ParseMetadata
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: metanode.ReadMetadataZip(localpath, validate=validate)
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/Metadata.py", line 182, in ReadMetadataZip
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: getattr(self, dn).AddFromJSON(content, validate)
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/ConfigSchema.py", line 282, in AddFromJSON
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: jsonStr = byteToStr(jsonStr)
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/Utils/Misc.py", line 28, in byteToStr
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: return "".join(['%c' % c for c in byteString])
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: File "/lib64/python3.8/site-packages/vmware/esximage/Utils/Misc.py", line 28, in 
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: return "".join(['%c' % c for c in byteString])
    2024-04-10T10:22:33Z Er(11) esxupdate[526475]: MemoryError

    Investigando la situación, en versión ESXi 8 se fija la memoria (300):

    [root@esx01:~] grep 'mem=' /usr/lib/vmware/esxcli-software
    #!/usr/bin/python ++group=esximage,mem=300
    

    Vamos a actualizar el valor a 500

    esxcli system settings advanced set -o /VisorFS/VisorFSPristineTardisk -i 0
    cp /usr/lib/vmware/esxcli-software /usr/lib/vmware/esxcli-software.bak
    sed -i 's/mem=300/mem=500/g' /usr/lib/vmware/esxcli-software.bak
    mv /usr/lib/vmware/esxcli-software.bak /usr/lib/vmware/esxcli-software -f
    esxcli system settings advanced set -o /VisorFS/VisorFSPristineTardisk -i 1
    

    Volvemos a lanzar el procedimiento en el que ya veremos que no aparecerá el mensaje. Instalación lista!

    Leave a Reply

    Your email address will not be published. Required fields are marked *