Public bug reported: Unlike in nova-manage create_cell, in nova-manage update_cell the check for the same combination of transport-url and database_connection does not exist. Hence it allows a user to update a cell's transport-url and database_connection to another existing cell's configuration which can create inconsistency (if a user accidentally does do it) and should not be allowed IMO.
Steps to Reproduce : -> nova-manage cell_v2 list_cells +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ | Name | UUID | Transport URL | Database Connection | +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ | cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://root:****@127.0.0.1/nova_cell0?charset=utf8 | | cell1 | 20f9fd43-7295-4f67-8f0c-7828b12f5e4f | rabbit://stackrabbit:****@188.185.83.1:5672/nova_cell1 | mysql+pymysql://root:****@188.185.83.1/nova_cell1?charset=utf8 | | cell2 | 7acaf644-d181-420b-ac80-486b83793bd2 | rabbit://stackrabbit:****@188.185.83.2:5672/nova_cell1 | mysql+pymysql://root:****@188.185.83.2/nova_cell1?charset=utf8 | +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ -> nova-manage cell_v2 update_cell --cell-uuid 7acaf644-d181-420b- ac80-486b83793bd2 --transport-url rabbit://stackrabbit:****@188.185.83.1:5672/nova_cell1 --database_connection mysql+pymysql://root:****@188.185.83.1/nova_cell1?charset=utf8 Expected result =============== "Cell with the specified transport_url and database_connection combination already exists" Actual result ============= -> nova-manage cell_v2 list_cells +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ | Name | UUID | Transport URL | Database Connection | +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ | cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://root:****@127.0.0.1/nova_cell0?charset=utf8 | | cell1 | 20f9fd43-7295-4f67-8f0c-7828b12f5e4f | rabbit://stackrabbit:****@188.185.83.1:5672/nova_cell1 | mysql+pymysql://root:****@188.185.83.1/nova_cell1?charset=utf8 | | cell2 | 7acaf644-d181-420b-ac80-486b83793bd2 | rabbit://stackrabbit:****@188.185.83.1:5672/nova_cell1 | mysql+pymysql://root:****@188.185.83.1/nova_cell1?charset=utf8 | +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ Solution : The same kind of check in nova-manage create_cell needs to be done in nova-manage update_cell as well. ** Affects: nova Importance: Undecided Assignee: Surya Seetharaman (tssurya) Status: New ** Tags: cells nova-manage -- 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/1729806 Title: nova-manage update_cell does not check if the same combination of transport_url and database_connection already exists Status in OpenStack Compute (nova): New Bug description: Unlike in nova-manage create_cell, in nova-manage update_cell the check for the same combination of transport-url and database_connection does not exist. Hence it allows a user to update a cell's transport-url and database_connection to another existing cell's configuration which can create inconsistency (if a user accidentally does do it) and should not be allowed IMO. Steps to Reproduce : -> nova-manage cell_v2 list_cells +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ | Name | UUID | Transport URL | Database Connection | +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ | cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://root:****@127.0.0.1/nova_cell0?charset=utf8 | | cell1 | 20f9fd43-7295-4f67-8f0c-7828b12f5e4f | rabbit://stackrabbit:****@188.185.83.1:5672/nova_cell1 | mysql+pymysql://root:****@188.185.83.1/nova_cell1?charset=utf8 | | cell2 | 7acaf644-d181-420b-ac80-486b83793bd2 | rabbit://stackrabbit:****@188.185.83.2:5672/nova_cell1 | mysql+pymysql://root:****@188.185.83.2/nova_cell1?charset=utf8 | +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ -> nova-manage cell_v2 update_cell --cell-uuid 7acaf644-d181-420b- ac80-486b83793bd2 --transport-url rabbit://stackrabbit:****@188.185.83.1:5672/nova_cell1 --database_connection mysql+pymysql://root:****@188.185.83.1/nova_cell1?charset=utf8 Expected result =============== "Cell with the specified transport_url and database_connection combination already exists" Actual result ============= -> nova-manage cell_v2 list_cells +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ | Name | UUID | Transport URL | Database Connection | +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ | cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://root:****@127.0.0.1/nova_cell0?charset=utf8 | | cell1 | 20f9fd43-7295-4f67-8f0c-7828b12f5e4f | rabbit://stackrabbit:****@188.185.83.1:5672/nova_cell1 | mysql+pymysql://root:****@188.185.83.1/nova_cell1?charset=utf8 | | cell2 | 7acaf644-d181-420b-ac80-486b83793bd2 | rabbit://stackrabbit:****@188.185.83.1:5672/nova_cell1 | mysql+pymysql://root:****@188.185.83.1/nova_cell1?charset=utf8 | +-------+--------------------------------------+-----------------------------------------------------------+--------------------------------------------------------------------+ Solution : The same kind of check in nova-manage create_cell needs to be done in nova-manage update_cell as well. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1729806/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp