A quick hack. If you want to call various OpenStack Nova APIs outside the context of a service like
nova-compute, there’s a good chance you’ll need some
configuration. If you have deployment, you’ll likely have a configuration file with all the necessary details. DevStack places its Nova configuration files at
/etc/nova. Nova provides APIs, which are tiny wrappers around oslo.db functionality, for loading these.
>>> import nova.conf >>> from nova import config >>> config.parse_args('foo --config-file /etc/nova/nova.conf'.split()) >>> CONF = nova.conf.CONF
With you configuration, you can now do things that require this configuration. For example, let’s look at our databases using SQLAlchemy.
>>> from nova.db.main import api >>> engine = api.get_engine() >>> import sqlalchemy >>> sqlalchemy.inspect(engine).has_table('alembic_version') True >>> sqlalchemy.inspect(engine).has_table('migrate_version') False
This can be handy to get you out of a hole, or to hack on stuff in a development environment.