← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1781573] Re: Document "Install and configure controller node for Ubuntu in nova" has an incorrect command in section "Install and configure components", step 7

 

Reviewed:  https://review.openstack.org/583115
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=e0546870cd667bc54e41cb3c603d6b176a68b56c
Submitter: Zuul
Branch:    master

commit e0546870cd667bc54e41cb3c603d6b176a68b56c
Author: jichenjc <jichenjc@xxxxxxxxxx>
Date:   Tue Jul 17 02:22:32 2018 -0400

    Enhance doc to guide user to use nova user
    
    The document doesn't follow previous pattern to guide use
    in using nova user to execute command and lead to issue
    
    Change-Id: I795706a8f78ab4154bd39ce6259901800b34890e
    Closes-Bug: 1781573


** Changed in: nova
       Status: In Progress => Fix Released

-- 
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):
  Fix Released

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


References