In un ambiente su larga scala con molti nodi di trasporto e macchine virtuali su host ESXi, potrebbe verificarsi il timeout degli agenti NSX eseguiti su host ESXi durante le comunicazioni con NSX Manager.

Problema

Alcune operazioni, ad esempio quando una vNIC della macchina virtuale tenta di collegarsi a un commutatore logico, non riescono. Nel /var/run/log/nsx-opsagent.log sono presenti messaggi come:
level="ERROR" errorCode="MPA41542"] [MP_AddVnicAttachment] RPC call [0e316296-13-14] to NSX management plane timout
2017-05-15T05:32:13Z nsxa: [nsx@6876 comp="nsx-esx" subcomp="NSXA[VifHandlerThread:-2282640]" tid="1000017079" level="ERROR" errorCode="MPA42003"] [DoMpVifAttachRpc] MP_AddVnicAttachment() failed: RPC call to NSX management plane timout

Causa

In un ambiente su larga scala, alcune operazioni potrebbero richiedere più tempo del solito e non riuscire perché i valori di timeout predefiniti sono stati superati.

Soluzione

  1. Aumentare il valore di timeout (secondi) di NSX Agent.
    1. Sull'host ESXi, arrestare l'agente ops NSX con il comando seguente:
      /etc/init.d/nsx-opsagent stop
    2. Modificare il file /etc/vmware/nsx-opsagent/nsxa.json e modificare, ad esempio, il valore vifOperationTimeout da 25 secondi a 55 secondi.
      "mp" : {
          /* timeout for VIF operation */
          "vifOperationTimeout" : 25,
      Nota: Questo valore di timeout deve essere inferiore al valore di timeout dell'host impostato nel passaggio 2.
    3. Avviare l'agente ops NSX con il comando seguente:
      /etc/init.d/nsx-opsagent start
  2. Aumentare il valore di timeout (secondi) di hostd.
    1. Sull'host ESXi, arrestare l'agente hostd con il comando seguente:
      /etc/init.d/hostd stop
    2. Modificare il file /etc/vmware/hostd/config.xml. In <opaqueNetwork>, rimuovere il commento della voce per <taskTimeout> e modificare, ad esempio, il valore da 30 secondi a 60 secondi.
      <opaqueNetwork>
          <!-- maximum message size allowed in opaque network manager IPC, in bytes. -->
          <!-- <maxMsgSize> 65536 </maxMsgSize> -->
          <!-- maximum wait time for opaque network response -->
          <!-- <taskTimeout> 30 </taskTimeout> -->
    3. Avviare l'agente hostd con il comando seguente:
      /etc/init.d/hostd start