He estado intentando instalar OpenStack Icehouse en CentOS durante casi una semana (como lo hago por primera vez, me llevó una semana completar toda la instalación y la configuración). Aunque seguí la documentación oficial, aún tuve que consultar varios foros, incluido el sitio de soporte de openstack, para resolver los errores que me molestaron durante el proceso de instalación. Así que pensé en capturar todos esos errores y soluciones que me funcionaron en este artículo. Puede saltar para ver algunos errores y soluciones que encontré durante la instalación de los servicios Keystone, Glance y Nova. Con suerte, podría ser útil para alguien.
Bueno, aquí están algunos más…
Error:el servidor de neutrones no pudo iniciarse y no se escribió el registro: neutrón muerto pero el archivo pid existe
# service neutron-server start # service neutron-server status neutron dead but pid file exists
En general, después de instalar los servicios keystone, look, nova, debe crear una base de datos correspondiente en MySQL (por lo general, las bases de datos se crean manualmente). Pero el servicio de neutrones no requiere eso, ya que el servicio llenará la base de datos automáticamente. Sin embargo, no se comportó de esa manera y tuve que ejecutar manualmente 'neutron-db-manage ' antes de iniciar 'neutron-server'.
Ejecute los siguientes comandos para configurar los complementos de red
# openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin neutron.plugins.ml2.plugin.Ml2Plugin # openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
Ahora llena la base de datos de neutrones...
# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head" neutron
Intente iniciar el servidor de neutrones. Funcionó para mí.
ERROR:El servidor tiene un error o es incapaz de realizar la operación solicitada. (HTTP 500)
El error anterior se produjo cuando ejecuté la red de nova y el comando de arranque.
[root@gcontroller]#nova --debug network-create tg-network --bridge br100 --multi-host T --fixed-range-v4 10.180.14.160/27
Intente ejecutar el siguiente comando...
[root@gcontroller]#nova-manage network create tg-network --multi_host=T --fixed_range_v4=10.180.14.160/27 --bridge=br100 --num_networks=1 --network_size=256
Error:NetworkNotCreated:se requiere puente para crear una red
[root@gcontroller]# nova-manage network create tg-network --multi_host=T --bridge_interface=br100 --fixed_range_v4=10.180.14.160/27 Command failed, please check log for more info
Consulte el registro de errores para obtener más información...
[root@gcontroller]#tailf /var/log/nova/nova-manage.log 2015-02-06 18:33:07.656 5080 CRITICAL nova [req-750edab1-9736-4cff-9395-e596f316e596 None None] NetworkNotCreated: bridge is required to create a network.
Como dice el mensaje de error anterior, debe especificar la interfaz_puente para crear una red. Entonces, el comando es el siguiente... Busque '–bridge_interface=br100 ‘
[root@gcontroller]#nova-manage network create tg-network --multi_host=T --fixed_range_v4=10.180.14.160/27 --bridge_interface=br100 --num_networks=1 --network_size=256 [root@gcontroller]# nova net-list +--------------------------------------+---------+------------------+ | ID | Label | CIDR | +--------------------------------------+---------+------------------+ | 60dfd46a-4649-4758-8b8d-88cc562b9b39 | tg-network | 10.180.14.160/27 | +--------------------------------------+---------+------------------+
Error:se necesita una versión superior de pyparsing – Requirement.parse('pyparsing>=2.0.1')
# neutron net-create ext-net --shared --router:external=True (pyparsing 1.5.6 (/usr/lib/python2.6/site-packages), Requirement.parse('pyparsing>=2.0.1')) 'Namespace' object has no attribute 'debug'
Está claro que debe instalar una versión superior de pyparsing. La forma más fácil de instalar cualquier módulo de python es usar 'pip ' o 'fácil_instalación ‘.
easy_install pyparsing
Pero ya sabes, a veces compilar e instalar el módulo solo funcionará. En tales casos, puede descargar la última versión de pyparsing aquí.
[root@gcontroller pyparsing-2.0.1]# python setup.py build running build running build_py creating build creating build/lib copying pyparsing.py -> build/lib [root@gcontroller pyparsing-2.0.1]# python setup.py install running install running build running build_py running install_lib copying build/lib/pyparsing.py -> /usr/lib/python2.6/site-packages byte-compiling /usr/lib/python2.6/site-packages/pyparsing.py to pyparsing.pyc running install_egg_info Writing /usr/lib/python2.6/site-packages/pyparsing-2.0.1-py2.6.egg-info
Error:INFO nova.wsgi [-] Deteniendo el servidor WSGI | INFO nova.openstack.common.service [-] Atrapado SIGTERM, saliendo | [Errno 111] Conexión rechazada
Recibí el error anterior cuando ejecuté uno de los comandos nova.
[root@gcontroller]# nova net-list ERROR: [Errno 111] Connection refused
Los archivos de registro en /var/log/nova reveló el error anterior.
INFO nova.wsgi [-] Stopping WSGI server. INFO nova.wsgi [-] WSGI server has stopped. INFO nova.wsgi [-] WSGI server has stopped. INFO nova.wsgi [-] WSGI server has stopped. INFO nova.openstack.common.service [-] Caught SIGTERM, exiting
Siempre que vea el error "Conexión rechazada", está claro que uno de los servicios necesarios no se está ejecutando correctamente. Después de la depuración, entendí que cuando inicio ‘openstack-nova-metadata-api ', mata a 'openstack-nova-api ' Servicio. La razón fue que openstack-nova-api ya estaba ejecutando "metadata-api" junto con él y cuando inicio "openstack-nova-metadata-api" por separado, eliminó el otro servicio.
Para solucionar el problema,
- $vi /etc/nova/nova.conf
- Busque 'enabled_apis ‘ y su valor ‘ec2,osapi_compute,metadata ‘
- Eliminar 'metadatos' de 'enabled_apis'
- Ahora, está listo para comenzar tanto 'openstack-nova-api ' y 'openstack-nova-metadata-api '. Ambos servicios se ejecutarán individualmente.
En caso de que desee iniciar 'metadata-api' junto con 'openstack-nova-api', deje 'enabled_apis' con valores como 'ec2,osapi_compute,metadata' y detenga 'openstack-nova-metadata-api ' de iniciarse durante el arranque del sistema. Para hacerlo, puede ejecutar los siguientes comandos:
$ chkconfig openstack-nova-metadata-api off $ chkconfig openstack-nova-api on
Error:iptables-restore v1.4.6:dirección IP incorrecta "gcompute"
Lo anterior ocurrió cuando intenté iniciar nova-network en mi nodo de cómputo. Los archivos de registro en /var/log/nova reveló el mensaje anterior.
- Abra /etc/nova/nova.conf y busque 'my_ip ‘ atributo.
- Asegúrese de que 'my_ip ‘ contiene dirección IP como valor y no como nombre de host, FQDN o host local . En mi caso, fue FQDN del nodo de cómputo. Lo cambié a la dirección IP.
- Ahora reinicie openstack-nova-network servicio y debería funcionar como se esperaba.
ERROR:Cuota excedida para instancias:Solicitó 1, pero ya usó 10 de 10 instancias (HTTP 413)
Bueno, debería cambiar el límite de cuota predeterminado para iniciar la nueva instancia. Para ver los límites de cuota predeterminados, ejecute el siguiente comando.
[root@gcontroller]# nova quota-defaults +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 10 | | cores | 20 | | ram | 51200 | | floating_ips | 10 | | fixed_ips | -1 | | metadata_items | 128 | | injected_files | 5 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 100 | | security_groups | 10 | | security_group_rules | 20 | +-----------------------------+-------+
El siguiente comando le permitirá establecer un nuevo límite de cuota.
[root@gcontroller]# nova quota-class-update --instances 35 default [root@gcontroller]# nova quota-defaults +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 35 | | cores | 20 | | ram | 51200 | | floating_ips | 10 | | fixed_ips | -1 | | metadata_items | 128 | | injected_files | 5 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 100 | | security_groups | 10 | | security_group_rules | 20 | +-----------------------------+-------+
Cirros Image está arrancado y activo, pero ¿Cuál es el nombre de usuario y la contraseña para iniciar sesión en la terminal?
Si ha arrancado una instancia usando la imagen de Cirros (que es la más fácil para probar su configuración) y desea acceder a la terminal de la nueva instancia, entonces use el nombre de usuario como 'cirros' y la contraseña como 'cubswin:)'.
#ssh [email protected]
No se puede iniciar sesión en el panel de control de Openstack
¿Ves "Algo salió mal! Ha ocurrido un error inesperado. Intenta actualizar la página" cuando se acceda al panel de OpenStack?
Compruebe si ha establecido los valores adecuados para los siguientes atributos en '/etc/openstack-dashboard/local_settings ‘
OPENSTACK_HOST = "gcontroller.org.in" OPENSTACK_KEYSTONE_URL = "http://%s:5000/v2.0" % OPENSTACK_HOST OPENSTACK_KEYSTONE_DEFAULT_ROLE = "admin"
En mi caso, tuve que cambiar ‘OPENSTACK_KEYSTONE_DEFAULT_ROLE =“_member_ “ ' a 'OPENSTACK_KEYSTONE_DEFAULT_ROLE ="administrador “ ‘
[error] SuspiciousOperation:encabezado HTTP_HOST no válido (es posible que deba configurar ALLOWED_HOSTS)
Debe configurar ALLOWED_HOSTS atributo en ‘/etc/openstack-dashboard/local_settings '. El valor de ALLOWED_HOSTS también debe contener la dirección IP del nodo del controlador (el nodo que ejecuta el servicio del tablero).
ALLOWED_HOSTS = ['10.180.5.50', '10.180.5.49', '10.180.10.132']