Утилита миграции базы данных¶
Примечание
Все указанные в разделе команды выполняются только на контроллере.
Описание утилиты¶
openstack aos db migrate
- консольная утилита обновления баз данных модулей. При запуске утилита производит проверку и автоматически обновляет базу данных до последней версии.
Параметр | Описание |
---|---|
-h , --help |
Вывод справки. Необязательный параметр. |
-l , --list |
Вывод перечня всех модулей, поддерживающих миграцию базы данных. Необязательный параметр. |
-n , --names MODULE_NAMES |
Вывод результата по конкретному модулю. Наименование задается параметром MODULE_NAMES . При нескольких наименованиях параметр разделяется пробелом. Необязательный параметр. |
--migration MIGRATION_VERSION |
Версия для миграции базы данных. Номер версии задается параметром MIGRATION_VERSION . Необязательный параметр. |
-v , --verbose |
Флаг для вывода детализированного сообщения об ошибке миграции базы данных. Необязательный параметр. |
Примеры использования¶
Получение списка доступных для миграции модулей¶
Команда:
openstack aos db migrate --list
Пример вывода перечня модулей, для которых доступна миграция базы данных:
Available modules:
cloud_manager
clouds
dashboard
journal
monitor
scheduler
rs_server
Запуск миграции базы данных для одного модуля¶
Запуск миграции базы данных для Dashboard:
openstack aos db migrate --names dashboard
Пример ответа:
Running db migrate for: dashboard
================
DB migrate table
================
+---+------------------+--------+------------+
| N | Module name | Status | Result |
+---+------------------+--------+------------+
| 1 | Dashboard | OK | 9 -> 10 |
+---+------------------+--------+------------+
Запуск миграции баз данных для нескольких модулей¶
Запуск миграции баз данных для Dashboard и CloudManager:
openstack aos db migrate --names dashboard cloud_manager
Пример ответа:
Running db migrate for: dashboard, cloud_manager
================
DB migrate table
================
+---+--------------------+--------+------------+
| N | Module name | Status | Result |
+---+--------------------+--------+------------+
| 1 | Dashboard | OK | No changes |
+---+--------------------+--------+------------+
| 2 | CloudManager | OK | 25 -> 28 |
+---+--------------------+--------+------------+
Запуск миграции баз данных для всех модулей¶
Запуск миграции базы данных для всех модулей:
openstack aos db migrate
Пример ответа:
Running db migrate for: cloud_manager, clouds, dashboard, monitor, rs_server, scheduler
================
DB migrate table
================
+---+---------------------+--------+----------------+
| N | Module name | Status | Result |
+---+---------------------+--------+----------------+
| 1 | CloudManager | OK | No changes |
+---+---------------------+--------+----------------+
| 2 | Clouds | OK | No changes |
+---+---------------------+--------+----------------+
| 3 | Dashboard | OK | 10 -> 11 |
+---+---------------------+--------+----------------+
| 4 | Journal | OK | No changes |
+---+---------------------+--------+----------------+
| 5 | Monitor | OK | No changes |
+---+---------------------+--------+----------------+
| 6 | RSserver | OK | 10 -> 11 |
+---+---------------------+--------+----------------+
| 7 | Scheduler | OK | No changes |
+---+---------------------+--------+----------------+
Неудачная миграция базы данных¶
Команда:
openstack aos db migrate
Пример неудачной миграции базы данных:
Running db migrate for: cloud_manager, clouds, dashboard, monitor, rs_server, scheduler
================
DB migrate table
================
+---+---------------------+--------+------------------------------------------------------+
| N | Module name | Status | Result |
+---+---------------------+--------+------------------------------------------------------+
| 1 | CloudManager | FAIL | Unknown DB Error. Please contact your administrator. |
+---+---------------------+--------+------------------------------------------------------+
| 2 | Clouds | FAIL | Unknown DB Error. Please contact your administrator. |
+---+---------------------+--------+------------------------------------------------------+
| 3 | Dashboard | FAIL | Unknown DB Error. Please contact your administrator. |
+---+---------------------+--------+------------------------------------------------------+
| 4 | Journal | FAIL | Unknown DB Error. Please contact your administrator. |
+---+---------------------+--------+------------------------------------------------------+
| 5 | Monitor | FAIL | Unknown DB Error. Please contact your administrator. |
+---+---------------------+--------+------------------------------------------------------+
| 6 | RSserver | FAIL | Unknown DB Error. Please contact your administrator. |
+---+---------------------+--------+------------------------------------------------------+
| 7 | Scheduler | FAIL | Unknown DB Error. Please contact your administrator. |
+---+---------------------+--------+------------------------------------------------------+
Для вывода детализированного сообщения об ошибке базы данных повторите команду с флагом --verbose
:
openstack aos db migrate --names dashboard cloud_manager --verbose
Пример ответа:
Running db migrate for: cloud_manager, dashboard
================
DB migrate table
================
+---+---------------------+--------+------------------------------------------------------+
| N | Module name | Status | Result |
+---+---------------------+--------+------------------------------------------------------+
| 1 | CloudManager | FAIL | Error while getting migrate versions: Unable to get |
| | | | database engine from engine facade |
+---+---------------------+--------+------------------------------------------------------+
| 2 | Dashboard | FAIL | Error while getting migrate versions: |
| | | | (_mysql_exceptions.OperationalError) (2003, 'Can\'t |
| | | | connect to MySQL server on \'controller\'') |
+---+---------------------+--------+------------------------------------------------------+
Откат обновления базы данных¶
Важно
Невозможен сразу для нескольких модулей.
Откат базы данных CloudManager с 27 на 26 версию:
openstack aos db migrate -n cloud_manager --migration 26
Пример ответа:
Running db migrate for: cloud_manager
================
DB migrate table
================
+---+--------------------+--------+------------+
| N | Module name | Status | Result |
+---+--------------------+--------+------------+
| 1 | CloudManager | OK | 27 -> 26 |
+---+--------------------+--------+------------+
Описание таблицы результатов¶
Наименование поля | Описание |
---|---|
N | Порядковый номер модуля. |
Module name | Наименование модуля. |
Status | Статус выполнения миграции. Возможные значения:
|
Result | Результаты выполнения обновления. Возможные значения:
|