Uso de la opción "OpenStack Beta" de Landscape actual para implementar OpenStack en mi configuración MAAS. Llego al 98% de finalización, con 1 falla en "Configurar zonas de disponibilidad". Mi configuración utilizaba KVM, Open vSwitch y actualmente utilizo Ceph para el almacenamiento de objetos y bloques. Cuando miro el /var/log/landscape/job-handler-1.log en la máquina horizontal, veo más de 100 errores sobre:
2015-03-05 21:18:38 INFO root RetryingCall para '_get_nova_info' falló, intentando 103 veces más: 2015-03-05 21:18:38 INFO root Traceback:: Faltan 4 unidades nova-compute
/ usr /lib/python2.7/threading.py:783:__bootstrap
/usr/lib/python2.7/threading.py:810:__bootstrap_inner
/usr/lib/python2.7/threading.py:763:run
--- < excepción capturada aquí> ---
/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py:191:_worker
/usr/lib/python2.7/dist-packages/twisted/python/context. PY: 118: callWithContext
/usr/lib/python2.7/dist-packages/twisted/python/context.py:81:callWithContext
/usr/lib/python2.7/dist-packages/storm/twisted/transact.py: 76: _wrap
/opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py:751:_get_nova_info
NOTA : El número de línea en jobs.py está desactivado ya que agregué algunas declaraciones de impresión para la depuración. Es la afirmación en la función _get_nova_info () cerca de la línea # 741 (si la memoria sirve), y sí, estoy usando la versión más nueva de landscape a partir de hoy de la ppa de landscape para confianza.
Así que modifiqué /opt/canonical/landscape/canonical/landscape/model/openstack/jobs.py 's _get_nova_info () para imprimir la longitud de nova_compute_hostnames y obtuve cero . Así que lo busqué en /opt/canonical/landscape/canonical/landscape/model/openstack/region.py 's get_nova_compute_hostnames () y descubrí que self.juju_environment.get_computer_ids (). Count () también era cero . Entonces agregué una llamada a self.juju_environment.has_computers () y obtuve false . Luego ejecuté self.juju_environment.get_juju_home () y obtuve/ var / lib / landscape / juju-homes / 20 . (Sí, este es mi vigésimo intento en mi segunda reconstrucción de la caja del paisaje, he estado en esto por un tiempo). Así que ejecuté el estado de juju utilizando la casa de juju mencionada anteriormente y todo se veía bien. Se iniciaron las 5 máquinas y servicios, sin estados pendientes o de error. (incluidos los 4 nodos de nova-compute) ¿Alguna idea? Soy algo nuevo en horizontal, MAAS, JUJU y python, por lo que mi depuración es un poco lenta.
ACTUALIZACIÓN 1:
Según la solicitud, obtuve los 2 registros (aunque mi casa ahora es # 23), estado de juju y broker.log . Creo que ahora sé cuál es mi problema según el fragmento de broker.log a continuación. (Gracias dpb por señalarme allí) Mi máquina MAAS está dando la dirección DHCP a mi LXC horizontal, pero mi LXC horizontal no está en el DNS controlado por MAAS ya que no está aprovisionado por MAAS. Por lo tanto, las máquinas aprovisionadas no pueden conectarse al servidor horizontal por nombre.
Entonces eso me lleva a una pregunta relacionada, ¿hay una buena manera de que MAAS actualice automáticamente el DNS con máquinas que no están aprovisionadas (o bajo el control de MAAS)? Si no, tendré que darle una IP estática fuera de mi rango de DHCP y configurar manualmente el DNS.
2015-03-06 17: 09: 50,665 INFO [MainThread] El corredor comenzó con config /etc/landscape/client.conf
2015-03-06 17: 09: 52,382 INFO [MainThread] Iniciando el intercambio de mensajes urgentes con https: // landscape / mensaje-sistema .
2015-03-06 17: 09: 52,389 ERROR [PoolThread-twisted.internet.reactor-1] Error al contactar al servidor en https: // landscape / message-system .
Rastreo (última llamada más reciente):
Archivo "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", línea 71, en el
mensaje de intercambio_api )
Archivo "/usr/lib/python2.7/ dist-packages / landscape / broker / transport.py ", línea 45, en _curl
headers = headers, cainfo = self._pubkey, curl = curl))
Archivo "/usr/lib/python2.7/dist-packages/landscape/lib/fetch.py", línea 109, en la búsqueda
elevar PyCurlError (e.args [0], e.args 1 )
PyCurlError: Error 6: podría no resolver host: paisaje
2015-03-06 17: 09: 52,390 INFO [MainThread] Error en el intercambio de mensajes.
2015-03-06 17: 09: 52,391 INFO [MainThread] Intercambio de mensajes completado en 0.01s.
ACTUALIZACIÓN 2:
Mi configuración es un poco limitada, ya que solo me dieron 6 máquinas (5 nodos y 1 controlador) para mostrar las capacidades de OpenStack / Landscape, por lo que no puedo usar una máquina dedicada para el paisaje. Estaba usando el inicio rápido del servidor horizontal en un LXC en mi controlador MAAS para poder volar rápidamente y comenzar de nuevo.
así que eliminé la configuración horizontal y configuré el LXC a una IP estática, luego modifiqué el DNS (controlado por MAAS) para tener la entrada DNS estática para mi servidor horizontal. Luego instalé el servidor dedicado de Landscape en el LXC usando el método de inicio rápido de landscape-server mencionado anteriormente.
Después de esta reinstalación (principalmente para limpiar todo mi desorden de depuración) finalmente pude instalar OpenStack a través del paisaje. Gracias.