yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #73792
[Bug 1781573] [NEW] Document "Install and configure controller node for Ubuntu in nova" has an incorrect command in section "Install and configure components", step 7
Public bug reported:
Description
===========
Following the OpenStack installation procedure for a minimal install of
Queens on Bionic, one of the "nova-manage" commands is not run as the
nova user when attempting to verify the installation, causing an
exception traceback and the creation of a spurious sqlite database. In
addition, the sample output is missing fields compared to the actual
output (see "Suggested fix" below).
Steps to reproduce
==================
Following the steps in the document "Install and configure controller
node for Ubuntu" for nova, when you reach section "Install and configure
components" step 7 it says to verify the installation by running "nova-
manage cell_v2 list_cells" after configuring nova on the controller.
Expected behaviour
==================
Output is::
# nova-manage cell_v2 list_cells
+-------+--------------------------------------+
| Name | UUID |
+-------+--------------------------------------+
| cell1 | 109e1d4b-536a-40d0-83c6-5f121b82b650 |
| cell0 | 00000000-0000-0000-0000-000000000000 |
+-------+--------------------------------------+
Actual behaviour
================
Output is::
# nova-manage cell_v2 list_cells
An error has occurred:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/nova/cmd/manage.py", line 1644, in main
ret = fn(*fn_args, **fn_kwargs)
File "/usr/lib/python2.7/dist-packages/nova/cmd/manage.py", line 1367, in list_cells
context.get_admin_context())
File "/usr/lib/python2.7/dist-packages/oslo_versionedobjects/base.py", line 184, in wrapper
result = fn(cls, context, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/nova/objects/cell_mapping.py", line 137, in get_all
db_mappings = cls._get_all_from_db(context)
File "/usr/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 986, in wrapper
return fn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/nova/objects/cell_mapping.py", line 133, in _get_all_from_db
asc(api_models.CellMapping.id)).all()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2703, in all
return list(self)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2855, in __iter__
return self._execute_and_instances(context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2878, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 945, in execute
return meth(self, multiparams, params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1398, in _handle_dbapi_exception
util.raise_from_cause(newraise, exc_info)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 470, in do_execute
cursor.execute(statement, parameters)
DBNonExistentTable: (sqlite3.OperationalError) no such table: cell_mappings [SQL: u'SELECT cell_mappings.created_at AS cell_mappings_created_at, cell_mappings.updated_at AS cell_mappings_updated_at, cell_mappings.id AS cell_mappings_id, cell_mappings.uuid AS cell_mappings_uuid, cell_mappings.name AS cell_mappings_name, cell_mappings.transport_url AS cell_mappings_transport_url, cell_mappings.database_connection AS cell_mappings_database_connection \nFROM cell_mappings ORDER BY cell_mappings.id ASC']
In addition, a spurious empty sqlite database is created in /var/lib/nova::
# ls -l /var/lib/nova/*.sqlite
-rw------- 1 root root 0 Jul 13 11:27 /var/lib/nova/nova_api.sqlite
Suggested fix
=============
Amend the command to run as user "nova", as all the previous commands
are::
# su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
+-------+--------------------------------------+-----------------------------------------+------------------------------------------------------+
| Name | UUID | Transport URL | Database Connection |
+-------+--------------------------------------+-----------------------------------------+------------------------------------------------------+
| cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://nova:****@controller/nova_cell0 |
| cell1 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | rabbit://openstack:****@controller | mysql+pymysql://nova:****@controller/nova |
+-------+--------------------------------------+-----------------------------------------+------------------------------------------------------+
- [x] This doc is inaccurate in this way: Command in section "Install and configure components" step 7 is incorrect
- [ ] This is a doc addition request.
- [x] I have a fix to the document that I can paste below including example: input and output.
Replace:
nova-manage cell_v2 list_cells
With:
su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
-----------------------------------
Release: 17.0.6.dev47 on 2018-07-08 17:16
SHA: 7ae2dc840a0bccb868122bb4b77e8958a0e842a7
Source: https://git.openstack.org/cgit/openstack/nova/tree/doc/source/install/controller-install-ubuntu.rst
URL: https://docs.openstack.org/nova/queens/install/controller-install-ubuntu.html
** Affects: nova
Importance: Undecided
Status: New
--
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/1781573
Title:
Document "Install and configure controller node for Ubuntu in nova"
has an incorrect command in section "Install and configure
components", step 7
Status in OpenStack Compute (nova):
New
Bug description:
Description
===========
Following the OpenStack installation procedure for a minimal install
of Queens on Bionic, one of the "nova-manage" commands is not run as
the nova user when attempting to verify the installation, causing an
exception traceback and the creation of a spurious sqlite database. In
addition, the sample output is missing fields compared to the actual
output (see "Suggested fix" below).
Steps to reproduce
==================
Following the steps in the document "Install and configure controller
node for Ubuntu" for nova, when you reach section "Install and
configure components" step 7 it says to verify the installation by
running "nova-manage cell_v2 list_cells" after configuring nova on the
controller.
Expected behaviour
==================
Output is::
# nova-manage cell_v2 list_cells
+-------+--------------------------------------+
| Name | UUID |
+-------+--------------------------------------+
| cell1 | 109e1d4b-536a-40d0-83c6-5f121b82b650 |
| cell0 | 00000000-0000-0000-0000-000000000000 |
+-------+--------------------------------------+
Actual behaviour
================
Output is::
# nova-manage cell_v2 list_cells
An error has occurred:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/nova/cmd/manage.py", line 1644, in main
ret = fn(*fn_args, **fn_kwargs)
File "/usr/lib/python2.7/dist-packages/nova/cmd/manage.py", line 1367, in list_cells
context.get_admin_context())
File "/usr/lib/python2.7/dist-packages/oslo_versionedobjects/base.py", line 184, in wrapper
result = fn(cls, context, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/nova/objects/cell_mapping.py", line 137, in get_all
db_mappings = cls._get_all_from_db(context)
File "/usr/lib/python2.7/dist-packages/oslo_db/sqlalchemy/enginefacade.py", line 986, in wrapper
return fn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/nova/objects/cell_mapping.py", line 133, in _get_all_from_db
asc(api_models.CellMapping.id)).all()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2703, in all
return list(self)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2855, in __iter__
return self._execute_and_instances(context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2878, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 945, in execute
return meth(self, multiparams, params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 263, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1053, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1398, in _handle_dbapi_exception
util.raise_from_cause(newraise, exc_info)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
context)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 470, in do_execute
cursor.execute(statement, parameters)
DBNonExistentTable: (sqlite3.OperationalError) no such table: cell_mappings [SQL: u'SELECT cell_mappings.created_at AS cell_mappings_created_at, cell_mappings.updated_at AS cell_mappings_updated_at, cell_mappings.id AS cell_mappings_id, cell_mappings.uuid AS cell_mappings_uuid, cell_mappings.name AS cell_mappings_name, cell_mappings.transport_url AS cell_mappings_transport_url, cell_mappings.database_connection AS cell_mappings_database_connection \nFROM cell_mappings ORDER BY cell_mappings.id ASC']
In addition, a spurious empty sqlite database is created in /var/lib/nova::
# ls -l /var/lib/nova/*.sqlite
-rw------- 1 root root 0 Jul 13 11:27 /var/lib/nova/nova_api.sqlite
Suggested fix
=============
Amend the command to run as user "nova", as all the previous commands
are::
# su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
+-------+--------------------------------------+-----------------------------------------+------------------------------------------------------+
| Name | UUID | Transport URL | Database Connection |
+-------+--------------------------------------+-----------------------------------------+------------------------------------------------------+
| cell0 | 00000000-0000-0000-0000-000000000000 | none:/ | mysql+pymysql://nova:****@controller/nova_cell0 |
| cell1 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | rabbit://openstack:****@controller | mysql+pymysql://nova:****@controller/nova |
+-------+--------------------------------------+-----------------------------------------+------------------------------------------------------+
- [x] This doc is inaccurate in this way: Command in section "Install and configure components" step 7 is incorrect
- [ ] This is a doc addition request.
- [x] I have a fix to the document that I can paste below including example: input and output.
Replace:
nova-manage cell_v2 list_cells
With:
su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
-----------------------------------
Release: 17.0.6.dev47 on 2018-07-08 17:16
SHA: 7ae2dc840a0bccb868122bb4b77e8958a0e842a7
Source: https://git.openstack.org/cgit/openstack/nova/tree/doc/source/install/controller-install-ubuntu.rst
URL: https://docs.openstack.org/nova/queens/install/controller-install-ubuntu.html
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1781573/+subscriptions
Follow ups