← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1983044] [NEW] cell conductor attempts to connect to cell0 in all-cells min version check

 

Public bug reported:

The `get_minimum_version_all_cells" function currently checks cell0 too.
This will fail on a cell conductor when using templated cell uris as it
will attempt to connect to the wrong database server.

For example set cell0 db uri as follows:
[nova@cell1-controller-0 /]$ nova-manage cell_v2 update_cell --cell_uuid 00000000-0000-0000-0000-000000000000 --database_connection='{scheme}://{username}:{password}@{hostname}/?{query}' --transport-url='none:///'

[nova@cell1-controller-0 /]$ nova-manage cell_v2 list_cells
+---------+--------------------------------------+-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+----------+
|   Name  |                 UUID                 |                                Transport URL                                |                                                         Database Connection                                                          | Disabled |
+---------+--------------------------------------+-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+----------+
|  cell0  | 00000000-0000-0000-0000-000000000000 |                                    none:/                                   |   mysql+pymysql://nova:****@cell1.internalapi.redhat.local/?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo   |  False   |
|  cell1  | 9f8cc7bb-08f2-4658-a7e8-ece2b84c5e5c | rabbit://guest:****@cell1-controller-0.internalapi.redhat.local:5672/?ssl=1 | mysql+pymysql://nova:****@cell1.internalapi.redhat.local/nova?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo |  False   |
| default | abb3a2d8-cdee-4e0e-a6c2-1cf3b9c098de | rabbit://guest:****@cell1-controller-0.internalapi.redhat.local:5672/?ssl=1 | mysql+pymysql://nova:****@cell1.internalapi.redhat.local/nova?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo |  False   |
+---------+--------------------------------------+-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+----------+

The resulting cell0 database uri is incorrect as it using the cell1
database hostname from the cell conductor nova.conf. This should be
nothing more than a cosmetic issue since the cell conductor should not
connect to cell0, however it currently does in the minimum version
check.

Can be reproduced by running an upgrade check on a cell specific nova-
conductor as this includes a min version check.

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: cells

** Attachment added: "upgrade_check.txt"
   https://bugs.launchpad.net/bugs/1983044/+attachment/5605773/+files/upgrade_check.txt

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1983044

Title:
  cell conductor attempts to connect to cell0 in all-cells min version
  check

Status in OpenStack Compute (nova):
  New

Bug description:
  The `get_minimum_version_all_cells" function currently checks cell0
  too. This will fail on a cell conductor when using templated cell uris
  as it will attempt to connect to the wrong database server.

  For example set cell0 db uri as follows:
  [nova@cell1-controller-0 /]$ nova-manage cell_v2 update_cell --cell_uuid 00000000-0000-0000-0000-000000000000 --database_connection='{scheme}://{username}:{password}@{hostname}/?{query}' --transport-url='none:///'

  [nova@cell1-controller-0 /]$ nova-manage cell_v2 list_cells
  +---------+--------------------------------------+-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+----------+
  |   Name  |                 UUID                 |                                Transport URL                                |                                                         Database Connection                                                          | Disabled |
  +---------+--------------------------------------+-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+----------+
  |  cell0  | 00000000-0000-0000-0000-000000000000 |                                    none:/                                   |   mysql+pymysql://nova:****@cell1.internalapi.redhat.local/?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo   |  False   |
  |  cell1  | 9f8cc7bb-08f2-4658-a7e8-ece2b84c5e5c | rabbit://guest:****@cell1-controller-0.internalapi.redhat.local:5672/?ssl=1 | mysql+pymysql://nova:****@cell1.internalapi.redhat.local/nova?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo |  False   |
  | default | abb3a2d8-cdee-4e0e-a6c2-1cf3b9c098de | rabbit://guest:****@cell1-controller-0.internalapi.redhat.local:5672/?ssl=1 | mysql+pymysql://nova:****@cell1.internalapi.redhat.local/nova?read_default_file=/etc/my.cnf.d/tripleo.cnf&read_default_group=tripleo |  False   |
  +---------+--------------------------------------+-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+----------+

  The resulting cell0 database uri is incorrect as it using the cell1
  database hostname from the cell conductor nova.conf. This should be
  nothing more than a cosmetic issue since the cell conductor should not
  connect to cell0, however it currently does in the minimum version
  check.

  Can be reproduced by running an upgrade check on a cell specific nova-
  conductor as this includes a min version check.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1983044/+subscriptions