** Changed in: nova Status: In Progress => Invalid -- 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/1793423
Title: Should not read config options while update cells Status in OpenStack Compute (nova): Invalid Bug description: When perform ``nova-manage cell_v2 update_cell`` command, we read the ``database_connection`` and ``transport_url`` from configuration file if the caller don't provide this info: http://git.openstack.org/cgit/openstack/nova/tree/nova/cmd/manage.py?h=stable/rocky#n1631 and they are latter saved with cell_mapping.save() this is problematic because: 1.If I did not pass config file with --config-file, it will use the file from default route and most probably it will be cell0 file, when I did not pass ``transport_url`` and/or ``database_connection`` this will lead to that those file will be overridden by the value in the conf, which will fail in the latter uniqueness check as we already have the cell_0 db mapped. 2.If I pass the nova-cell1.conf with --config-file, the command will probably unable to run because I do not have api_database connection in the config file as I should not perform upcall. 3. It seems not appropriate at all that I have to always provide the config file for the cell I want to update when I call update cell, as I'm only updating a record in the API_DB. example: root@ubuntu:/opt/stack/nova# nova-manage cell_v2 list_cells +-------+--------------------------------------+---------------------------------------------------------+-------------------------------------------------------------+----------+ | Name | UUID | Transport URL | Database Connection | Disabled | +-------+--------------------------------------+---------------------------------------------------------+-------------------------------------------------------------+----------+ | cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://root:****@127.0.0.1/nova_cell0?charset=utf8 | False | | cell1 | 8eea3d64-2624-4d55-aa81-996fc8017402 | rabbit://stackrabbit:****@10.76.150.197:5672/nova_cell1 | mysql+pymysql://root:****@127.0.0.1/nova_cell1?charset=utf8 | False | +-------+--------------------------------------+---------------------------------------------------------+-------------------------------------------------------------+----------+ for case 1: root@ubuntu:/opt/stack/nova# nova-manage --config-file /etc/nova/nova.conf cell_v2 update_cell --cell_uuid 8eea3d64-2624-4d55-aa81-996fc8017402 --disable transport_url and/or database_connection combination already exists for another cell with uuid 00000000-0000-0000-0000-000000000000. for case2: root@ubuntu:/opt/stack/nova# nova-manage --config-file /etc/nova/nova_cell1.conf cell_v2 update_cell --cell_uuid 8eea3d64-2624-4d55-aa81-996fc8017402 --disable An error has occurred: Traceback (most recent call last): File "/opt/stack/nova/nova/cmd/manage.py", line 2323, in main ret = fn(*fn_args, **fn_kwargs) File "/opt/stack/nova/nova/cmd/manage.py", line 1629, in update_cell cell_mapping = objects.CellMapping.get_by_uuid(ctxt, cell_uuid) File "/usr/local/lib/python2.7/dist-packages/oslo_versionedobjects/base.py", line 184, in wrapper result = fn(cls, context, *args, **kwargs) File "/opt/stack/nova/nova/objects/cell_mapping.py", line 182, in get_by_uuid db_mapping = cls._get_by_uuid_from_db(context, uuid) File "/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 992, in wrapper with self._transaction_scope(context): File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__ return self.gen.next() File "/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 1042, in _transaction_scope context=context) as resource: File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__ return self.gen.next() File "/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 645, in _session bind=self.connection, mode=self.mode) File "/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 409, in _create_session self._start() File "/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 496, in _start engine_args, maker_args) File "/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 518, in _setup_for_connection "No sql_connection parameter is established") CantStartEngineError: No sql_connection parameter is established To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1793423/+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