ironic/doc/source/cmds/ironic-dbsync.rst
Jim Rollenhagen ae216f58e4 Remove verbose option
This was deprecated in Liberty in oslo.log, and was recently removed.
Remove it here so we're not completely broken when this releases.

http://git.openstack.org/cgit/openstack/oslo.log/commit/?id=7c671ea77f4d7701d0def9a9e17b6c49310ca438

Change-Id: I8143cc1dfc52decef245b8b23740766dcf3456ad
2016-05-17 07:44:44 -04:00

4.6 KiB

ironic-dbsync

The ironic-dbsync utility is used to create the database schema tables that the ironic services will use for storage. It can also be used to upgrade existing database tables when migrating between different versions of ironic.

The Alembic library is used to perform the database migrations.

Options

This is a partial list of the most useful options. To see the full list, run the following:

ironic-dbsync --help

ironic-dbsync

-h, --help

Show help message and exit.

--config-dir <DIR>

Path to a config directory with configuration files.

--config-file <PATH>

Path to a configuration file to use.

-d, --debug

Print debugging output.

--version

Show the program's version number and exit.

upgrade, stamp, revision, version, create_schema

The command <dbsync_cmds> to run.

Usage

Options for the various commands <dbsync_cmds> for ironic-dbsync are listed when the -h or --help option is used after the command.

For example:

ironic-dbsync create_schema --help

Information about the database is read from the ironic configuration file used by the API server and conductor services. This file must be specified with the --config-file option:

ironic-dbsync --config-file /path/to/ironic.conf create_schema

The configuration file defines the database backend to use with the connection database option:

[database]
connection=mysql+pymysql://root@localhost/ironic

If no configuration file is specified with the --config-file option, ironic-dbsync assumes an SQLite database.

Command Options

ironic-dbsync is given a command that tells the utility what actions to perform. These commands can take arguments. Several commands are available:

create_schema

create_schema

-h, --help

Show help for create_schema and exit.

This command will create database tables based on the most current version. It assumes that there are no existing tables.

An example of creating database tables with the most recent version:

ironic-dbsync --config-file=/etc/ironic/ironic.conf create_schema

revision

revision

-h, --help

Show help for revision and exit.

-m <MESSAGE>, --message <MESSAGE>

The message to use with the revision file.

--autogenerate

Compares table metadata in the application with the status of the database and generates migrations based on this comparison.

This command will create a new revision file. You can use the --message option to comment the revision.

This is really only useful for ironic developers making changes that require database changes. This revision file is used during database migration and will specify the changes that need to be made to the database tables. Further discussion is beyond the scope of this document.

stamp

stamp

-h, --help

Show help for stamp and exit.

--revision <REVISION>

The revision number.

This command will 'stamp' the revision table with the version specified with the --revision option. It will not run any migrations.

upgrade

upgrade

-h, --help

Show help for upgrade and exit.

--revision <REVISION>

The revision number to upgrade to.

This command will upgrade existing database tables to the most recent version, or to the version specified with the --revision option.

If there are no existing tables, then new tables are created, beginning with the oldest known version, and successively upgraded using all of the database migration files, until they are at the specified version. Note that this behavior is different from the create_schema command that creates the tables based on the most recent version.

An example of upgrading to the most recent table versions:

ironic-dbsync --config-file=/etc/ironic/ironic.conf upgrade

Note

This command is the default if no command is given to ironic-dbsync.

Warning

The upgrade command is not compatible with SQLite databases since it uses ALTER TABLE commands to upgrade the database tables. SQLite supports only a limited subset of ALTER TABLE.

version

version

-h, --help

Show help for version and exit.

This command will output the current database version.