J'ai installé OpenStack Wallaby en utilisant Guide d'installation OpenStack , toutes les commandes et la configuration sont sur mon GitHub . Ce laboratoire fonctionne sur VirtualBox et j'ai un autre laboratoire avec la même configuration et la même version de la même configuration sur ESXI sans aucun problème.
À ce stade , un contrôleur avec deux noeuds de calcul .
Les bases de données sont créées correctement:
user@controller001:~$ Sudo mysql
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| glance |
| information_schema |
| keystone |
| mysql |
| nova |
| nova_api |
| nova_cell0 |
| performance_schema |
| placement |
+--------------------+
Accorder toutes les autorisations pour ces bases de données :
MariaDB [(none)]> SHOW GRANTS FOR nova;
+-----------------------------------------------------------------------------------------------------+
| Grants for nova@% |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `nova`@`%` IDENTIFIED BY PASSWORD '*3A4A03AC22526F6B591010973A741D59A71D728E' |
| GRANT ALL PRIVILEGES ON `nova`.* TO `nova`@`%` |
| GRANT ALL PRIVILEGES ON `nova_cell0`.* TO `nova`@`%` |
| GRANT ALL PRIVILEGES ON `nova_api`.* TO `nova`@`%` |
+-----------------------------------------------------------------------------------------------------+
avoir accès à des bases de données à distance de noeud de calcul:
user@compute001:~$ mysql -unova -popenstack -h controller001
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| nova |
| nova_api |
| nova_cell0 |
+--------------------+
user@controller001:~$ Sudo systemctl restart nova-*
user@controller001:~$ Sudo tail -f /var/log/mysql/error.log
2021-10-02 12:52:12 112 [Warning] Aborted connection 112 to db: 'nova' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 118 [Warning] Aborted connection 118 to db: 'nova_api' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 116 [Warning] Aborted connection 116 to db: 'nova' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 119 [Warning] Aborted connection 119 to db: 'nova_api' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 115 [Warning] Aborted connection 115 to db: 'nova' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 113 [Warning] Aborted connection 113 to db: 'nova' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 114 [Warning] Aborted connection 114 to db: 'nova' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 117 [Warning] Aborted connection 117 to db: 'nova' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 109 [Warning] Aborted connection 109 to db: 'nova' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 110 [Warning] Aborted connection 110 to db: 'nova' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 111 [Warning] Aborted connection 111 to db: 'nova' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 108 [Warning] Aborted connection 108 to db: 'nova_cell0' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 103 [Warning] Aborted connection 103 to db: 'nova_api' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 102 [Warning] Aborted connection 102 to db: 'nova_api' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:12 105 [Warning] Aborted connection 105 to db: 'nova_cell0' user: 'nova' Host: 'controller001' (Got an error reading communication packets)
2021-10-02 12:52:16 141 [Warning] Access denied for user 'nova'@'controller001' (using password: YES)
2021-10-02 12:52:16 142 [Warning] Access denied for user 'nova'@'controller001' (using password: YES)
2021-10-02 12:52:17 147 [Warning] Access denied for user 'nova'@'controller001' (using password: YES)
ICI Quelques suggestions pour résoudre cette erreur:
SET GLOBAL max_allowed_packet = 1024 * 1024 * 256;
set @@global.max_connections = 400;
SET GLOBAL interactive_timeout=6000;
SET GLOBAL innodb_buffer_pool_size = 1024 * 1024 * 2;
user@controller001:~$ Sudo su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
....
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user 'nova'@'controller001' (using password: YES)")
(Background on this error at: http://sqlalche.me/e/13/e3q8)
user@controller001:~$ os hypervisor list
Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
<class 'sqlalchemy.exc.OperationalError'> (HTTP 500) (Request-ID: req-d6edcfa3-ccf2-4eb8-80f8-041cb55e772d)
user@controller001:~$ . admin-openrc
user@controller001:~$ os endpoint list
+----------------------------------+-----------+--------------+--------------+---------+-----------+--------------------------------+
| ID | Region | Service Name | Service Type | Enabled | Interface | URL |
+----------------------------------+-----------+--------------+--------------+---------+-----------+--------------------------------+
| 1e2f0fc829f84a53a337bbb70e7679af | RegionOne | nova | compute | True | internal | http://controller001:8774/v2.1 |
| 38e967a4c87f4464ba6ac965c889f6a4 | RegionOne | placement | placement | True | admin | http://controller001:8778 |
| 398d51ab439f4afc8fb7c71adc1bf3a9 | RegionOne | keystone | identity | True | internal | http://controller001:5000/v3/ |
| 4aaf9ac0ccec41978e541a0de0e55ed4 | RegionOne | nova | compute | True | public | http://controller001:8774/v2.1 |
| 52ba2047ed864b9aa6ad352ba2fe59dc | RegionOne | nova | compute | True | admin | http://controller001:8774/v2.1 |
| 659ed7ae84074b30a6a4941648b994c3 | RegionOne | placement | placement | True | internal | http://controller001:8778 |
| 9cd126c1f07e4b13946edcdc80f9f215 | RegionOne | placement | placement | True | public | http://controller001:8778 |
| aec5b18b834b4a9cad8a4efb83b1b1d7 | RegionOne | glance | image | True | internal | http://controller001:9292 |
| b1a13f51438c40b8b74ec25b89efebab | RegionOne | glance | image | True | public | http://controller001:9292 |
| c35c703090f3478aa7d960293fde1bf0 | RegionOne | keystone | identity | True | admin | http://controller001:5000/v3/ |
| ca231e48c3ad406c8ec757c765b651a6 | RegionOne | glance | image | True | admin | http://controller001:9292 |
| ff927678f6634475bd80bdba7effc3fc | RegionOne | keystone | identity | True | public | http://controller001:5000/v3/ |
+----------------------------------+-----------+--------------+--------------+---------+-----------+--------------------------------+
user@controller001:~$ Sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
+-------+--------------------------------------+---------------------------------------------+----------------------------------------------------+----------+
| Name | UUID | Transport URL | Database Connection | Disabled |
+-------+--------------------------------------+---------------------------------------------+----------------------------------------------------+----------+
| cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://nova:****@controller001/nova_cell0 | False |
| cell1 | e62ffdc8-5f28-43ef-9bcb-404812faaeae | rabbit://openstack:****@controller001:5672/ | mysql+pymysql://nova:****@controller001/nova | False |
+-------+--------------------------------------+---------------------------------------------+----------------------------------------------------+----------+
user@controller001:~$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 controller001
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.16.50.41 controller001
172.16.50.42 compute011
Cela n'a pas été lié aux autorisations de Mariadb ou URL de bases de données.
Problème résolu en utilisant ceci Discordage de bug et il y a ne autre solution qui ne fonctionne pas pour moi. Créer des cellules exactement comme Nova Installation a guilé a fonctionné pour moi et ajout de Transport-URL et Connexion de la base de données à Nova-gale Commande était de ma faute bien que cela travaillait pour moi dans le passé.
"Si vous ne spécifiez pas --DataBase_Connection, Nova-Gérer utilisera la valeur [Database]/Connection de votre fichier de configuration et manglez le nom de la base de données pour avoir un suffixe _Cell0."
Et:
"Si vos bases de données sont sur des hôtes distincts, vous devez spécifier - database_connection ou assurez-vous que la nova.conf étant utilisée a la valeur [Database]/Connexion pointant sur le même utilisateur/mot de passe/hôte qui fonctionnera pour la base de données CELL0. Si le mappage cellulaire a été créé de manière incorrecte, il peut être supprimé à l'aide de la commande Nova-Manage Cell_V2 Delete_Cell, puis exécutez MAP_CELL0 à nouveau avec la valeur de connexion de base de données appropriée. "
Donc, je pense que ce qui s'est probablement arrivé est que lorsque vous avez exécuté map_cell0, il a créé un enregistrement NOVA_CELL0, il a créé un enregistrement NOVA_API.Cell_Mappings avec la mauvaise URL de connexion de base de données, car désormais la synchronisation de DB, qui s'appuie sur l'enregistrement de la table Cell_mappings à vous connecter à la base de données Cell0, n'est pas en échec car Il cherche nova_api_cell0 mais vous avez nova_cell0.
Ceci est le code exact qui crée l'URL de connexion Cell0 par défaut si vous n'avez pas spécifié --Database-connexion lors de l'exécution de map_cell0:
Donc, je pense que vous voulez probablement juste (1) supprimer le mappage de cellules (2) Exécuter map_cell0 à nouveau et vous assurer qu'il crée une entrée de cellule de cellule avec l'URL de connexion de base de données correcte, puis (3) Exécutez à nouveau la synchronisation de DB Nova-gérer DB.
Sudo su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
Sudo su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --transport-url rabbit://openstack:****@controller001:5672/ --database_connection mysql+pymysql://nova:****@controller001/nova --verbose" nova
user@controller001:~$ Sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
+-------+--------------------------------------+-------------------------------------------+--------------------------------------------------+----------+
| Name | UUID | Transport URL | Database Connection | Disabled |
+-------+--------------------------------------+-------------------------------------------+--------------------------------------------------+----------+
| cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://nova:****@controller001/nova_cell0 | False |
| cell1 | 553970ef-335a-4cf1-90fb-8268c49d5fad | rabbit://openstack:****@controller001:5672/ | mysql+pymysql://nova:****@controller001/nova | False |
+-------+--------------------------------------+-------------------------------------------+--------------------------------------------------+----------+
user@controller001:~$ Sudo su -s /bin/sh -c "nova-manage cell_v2 delete_cell --cell_uuid 00000000-0000-0000-0000-000000000000" nova
user@controller001:~$ Sudo su -s /bin/sh -c "nova-manage cell_v2 delete_cell --cell_uuid 553970ef-335a-4cf1-90fb-8268c49d5fad" nova
user@controller001:~$ Sudo su -s /bin/sh -c "nova-manage api_db sync" nova
user@controller001:~$ Sudo su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
user@controller001:~$ Sudo su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
--transport-url not provided in the command line, using the value [DEFAULT]/transport_url from the configuration file
--database_connection not provided in the command line, using the value [database]/connection from the configuration file
d448f914-53fa-410c-8f89-407e33c96c3f
user@controller001:~$ Sudo su -s /bin/sh -c "nova-manage db sync" nova
user@controller001:~$ Sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
+-------+--------------------------------------+-------------------------------------------+--------------------------------------------------+----------+
| Name | UUID | Transport URL | Database Connection | Disabled |
+-------+--------------------------------------+-------------------------------------------+--------------------------------------------------+----------+
| cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://nova:****@controller001/nova_cell0 | False |
| cell1 | d448f914-53fa-410c-8f89-407e33c96c3f | rabbit://openstack:****@controller001:5672/ | mysql+pymysql://nova:****@controller001/nova | False |
+-------+--------------------------------------+-------------------------------------------+--------------------------------------------------+----------+
user@controller001:~$ openstack compute service list --service nova-compute
+----+--------------+-----------+------+---------+-------+----------------------------+
| ID | Binary | Host | Zone | Status | State | Updated At |
+----+--------------+-----------+------+---------+-------+----------------------------+
| 5 | nova-compute | compute21 | nova | enabled | up | 2021-10-09T13:59:32.000000 |
+----+--------------+-----------+------+---------+-------+----------------------------+