GNU/Linux >> Linux Esercitazione >  >> Linux

Errore db_sync OpenStack Neutron – Impossibile aggiungere una colonna NOT NULL con valore predefinito NULL [Risolto]

Se sei bloccato con un errore Impossibile aggiungere una colonna NOT NULL con valore predefinito NULL durante la compilazione o la sincronizzazione del database dei neutroni, ecco come puoi risolverlo. Prima di vedere la soluzione, dai un'occhiata all'istantanea dell'errore:

# 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']

L'errore è strano perché la mia installazione di OpenStack utilizza il database MySQL, ma l'errore dice SQLite.

Soluzione:

Poiché la mia installazione doveva utilizzare il database MySQL, ho verificato rapidamente neutron.conf per vedere se la variabile di connessione è stata impostata correttamente. Sorprendentemente, c'era una variabile di connessione aggiuntiva che puntava a SQLite e questo era il colpevole nel mio 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

Quindi la soluzione era commentare la variabile di connessione che punta a sqlite.

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

Questo è tutto! Se sei interessato a sapere perché sqlite non è stato in grado di aggiungere una colonna address_scopes con un vincolo come NOT NULL su una tabella esistente, ecco il motivo.

Secondo SQLite ALTER TABLE doc, se viene specificato il vincolo NOT NULL, la colonna deve avere un valore predefinito diverso da NULL.


Linux
  1. Errore di installazione APC – sh:phpize:comando non trovato [Risolto]

  2. Come risolvere l'errore di configurazione:impossibile trovare la directory macro 'm4' [Risolto]

  3. Impossibile aprire XEN VM Console – Errore Virt-viewer:impossibile aprire il display [Risolto]

  4. Errore di installazione di ConfigParser – python setup.py egg_info non riuscito con codice di errore 1 [Risolto]

  5. Errore OpenStack – Dimensioni della colonna dell'indice troppo grandi. La dimensione massima della colonna è 767 byte [Risolto]

[Risolto] Impossibile accedere al file di archiviazione, autorizzazione negata Errore in KVM Libvirt

Errore di calcolo OpenStack – Nessun record del nodo di calcolo per l'host [Risolto]

Errore di avvio della VM OpenStack – Ultima eccezione:associazione non riuscita per la porta [Risolto]

Come risolvere l'errore OpenStack - Impossibile eliminare la rete? [Risolto]

Errore di controllo SSL M2Crypto:il certificato peer subjectAltName non corrisponde a [Risolto]

Utilizzo di AWK per selezionare righe con un valore specifico in una colonna specifica