En esta sección, se describe cómo resolver problemas del controlador Nova.
El controlador OpenStack Nova en Oracle VM Server for SPARC ofrece diferentes niveles de detalle según los valores de las propiedades debug y verbose en nova.conf.
Es preferible tener la configuración verbose=true. También puede definir debug=true para facilitar la resolución de un problema.
En el modo de depuración, el controlador OpenStack Nova en Oracle VM Server for SPARC proporciona mensajes de rastreo para ayudar a identificar con precisión qué método se ejecuta en un momento determinado. Estos mensajes pueden ayudar a identificar la causa de un problema detectado. Para encontrar la entrada de un método, busque method_run: en el log del servicio nova-compute (SMF). Para encontrar la devolución de un método, busque method_return: en el log del servicio nova-compute.
Observe otros mensajes del log del controlador. El controlador también proporciona otro tipo de salida del log, que comienza con DEBUG:, WARNING:, ERROR:, EXCEPTION: o INFO:.
Tenga en cuenta que las entradas del log del controlador de depuración Nova comienzan con una línea como la siguiente:
2016-07-07 15:14:51.404 29186 DEBUG nova.virt.ldoms.driver
El servicio nova-compute proporciona mensajes TRACE si ocurrió una excepción no tratada. Busque los mensajes TRACE para identificar la causa raíz de un problema.
Asegúrese de que el controlador se inició de la manera esperada. Asegúrese de que el servicio nova-compute se inicie correctamente. Cuando el controlador se inicia o se reinicia, debería ver líneas en el log similares a las siguientes:
2016-07-07 15:20:14.011 1098 DEBUG nova.service [req-d8973f20-af93-4de6-9732-9e4a0ab6c61a - - - - -] Creating RPC server for service compute start /usr/lib/python2.7/vendor-packages/nova/service.py:188 2016-07-07 15:20:14.013 1098 INFO oslo_messaging._drivers.impl_rabbit [req-d8973f20-af93-4de6-9732-9e4a0ab6c61a - - - - -] Connecting to AMQP server on 10.0.68.21:5672 2016-07-07 15:20:14.026 1098 INFO oslo_messaging._drivers.impl_rabbit [req-d8973f20-af93-4de6-9732-9e4a0ab6c61a - - - - -] Connected to AMQP server on 10.0.68.21:5672 2016-07-07 15:20:14.033 1098 DEBUG nova.service [req-d8973f20-af93-4de6-9732-9e4a0ab6c61a - - - - -] Join ServiceGroup membership for this service compute start /usr/lib/python2.7/vendor-packages/nova/service.py:206 2016-07-07 15:20:14.033 1098 DEBUG nova.servicegroup.drivers.db [req-d8973f20-af93-4de6-9732-9e4a0ab6c61a - - - - -] DB_Driver: join new ServiceGroup member 10.0.68.22 to the compute group, service = <nova.service.Service object at 0xea967cf0> join /usr/lib/python2.7/vendor-packages/nova/servicegroup/drivers/db.py:59
Si no puede ver una conexión a AMQP y el mensaje DB_Driver: join new ServiceGroup member, asegúrese de que el controlador no se haya detenido debido a un problema de configuración. Si se trata de un problema de configuración, verá una excepción que comienza con EXCEPTION o ERROR al principio del log de inicio.
Si el controlador no detecta problemas de configuración, asegúrese de que la MTU para la red de gestión sea la misma en todos lados, que el NTP esté configurado y que la resolución de nombres funcione.
En el modo de depuración (debug=true), los mensajes DEBUG del controlador se escriben en los logs del gestor de cálculo Nova. El controlador Nova tiene los rastreos run_method y method_return. Puede seguir estos rastreos para todos los métodos que ejecuta el controlador. Estos rastreos lo ayudan a ubicar con precisión dónde ocurre un problema y muestran todos los pasos anteriores que originaron el problema.
Puede usar los siguientes comandos para simplificar el proceso de depuración en el modo de depuración o con un archivo log de depuración:
nova# tail -f `svcs -L nova-compute` | egrep 'DEBUG: run_method:|TRACE|EXCEPTION'
También puede ejecutar un rastreo que incluya method_return con el valor de devolución:
nova# tail -f `svcs -L nova-compute` \ | egrep 'DEBUG: run_method:|DEBUG: method_return:|TRACE|EXCEPTION'
El siguiente comando realiza un rastreo y excluye DLM y otras tareas PERIODIC:
nova# tail -f `svcs -L nova-compute` | egrep 'DEBUG: run_method:|TRACE|EXCEPTION' \ | egrep -v 'PERIODIC|dlm'