GNU/Linux >> Tutoriales Linux >  >> Linux

Error OpenStack Neutron db_sync:no se puede agregar una columna NOT NULL con valor predeterminado NULL [resuelto]

Si tiene un error No se puede agregar una columna NOT NULL con valor predeterminado NULL mientras rellena o sincroniza la base de datos de neutrones, así es como puede solucionarlo. Antes de que veamos la solución, echa un vistazo a la instantánea del error:

# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
 sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) Cannot add a NOT NULL column with default value NULL [SQL: u'ALTER TABLE address_scopes ADD COLUMN ip_version INTEGER NOT NULL']

El error es extraño porque mi instalación de OpenStack usa la base de datos MySQL, pero el error dice SQLite.

Solución:

Como se suponía que mi instalación usaba la base de datos MySQL, verifiqué rápidamente neutron.conf para ver si la variable de conexión se configuró correctamente. Sorprendentemente, había una variable de conexión adicional que apuntaba a SQLite y ese fue el culpable en mi caso.

# vim /etc/neutron/neutron.conf
[database]
 connection = mysql+pymysql://neutron:osneutron@controller/neutron
 The SQLAlchemy connection string to use to connect to the database. (string
 # value)
 # Deprecated group/name - [DEFAULT]/sql_connection
 # Deprecated group/name - [DATABASE]/sql_connection
 # Deprecated group/name - [sql]/connection
 connection = sqlite:////var/lib/neutron/neutron.sqlite

Entonces, la solución fue comentar la variable de conexión que apunta a sqlite.

# connection = sqlite:////var/lib/neutron/neutron.sqlite

¡Eso es todo! Si está interesado en saber por qué sqlite no pudo agregar una columna address_scopes con una restricción NOT NULL a una tabla existente, esta es la razón.

De acuerdo con el documento ALTER TABLE de SQLite, si se especifica la restricción NOT NULL, la columna debe tener un valor predeterminado que no sea NULL.


Linux
  1. Git Remote Add con otro puerto SSH (no 22)

  2. Error de instalación de APC – sh:phpize:comando no encontrado [Resuelto]

  3. Cómo solucionar el error de configuración:no se puede encontrar el directorio de macros 'm4' [Resuelto]

  4. No se puede abrir la consola XEN VM – Error de visor virtual:no se puede abrir la pantalla [Resuelto]

  5. Error de instalación de ConfigParser:python setup.py egg_info falló con el código de error 1 [Resuelto]

[Resuelto] No se puede acceder al archivo de almacenamiento, Permiso denegado Error en KVM Libvirt

Error de comprobación de M2Crypto SSL:el asunto del certificado de pares no coincide [Resuelto]

No se puede encontrar una baseurl válida:error de YumRepo [resuelto]

¿No se puede agregar el usuario de error de Ppa o el equipo no existe?

El sistema de reparación no se ha iniciado con systemd como error de sistema de inicio

Uso de AWK para seleccionar filas con un valor específico en una columna específica