Python bindings to the OpenStack Glance API
This is a client for the OpenStack Glance API. There's a Python API (the
glanceclient module), and a command-line script (
Glance 2.0 API is still a moving target, so this module will remain in
"Beta" status until the API is finalized and fully implemented.
This code a fork of `Rackspace's python-novaclient`__ which is in turn a fork of `Jacobian's python-cloudservers`__. The python-glanceclient is licensed under the Apache License like the rest of OpenStack.
By way of a quick-start:
# use v2.0 auth with http://example.com:5000/v2.0") >>> from glanceclient.v2_0 import client >>> glance = client.Client(username=USERNAME, password=PASSWORD, tenant_name=TENANT, auth_url=KEYSTONE_URL) >>> glance.images.list() >>> image = glance.images.create(name="My Test Image") >>> print image.status 'queued' >>> image.upload(open('/tmp/myimage.iso', 'rb')) >>> print image.status 'active' >>> image_file = image.image_file >>> with open('/tmp/copyimage.iso', 'wb') as f: for chunk in image_file: f.write(chunk) >>> image.delete()
Installing this package gets you a command-line tool,
glance, that you
can use to interact with Glance's Identity API.
You'll need to provide your OpenStack tenant, username and password. You can do this
--password params, but it's
easier to just set them as environment variables:
export OS_TENANT_NAME=project export OS_USERNAME=user export OS_PASSWORD=pass
You will also need to define the authentication url with
--auth_url and the
version of the API with
--identity_api_version. Or set them as an environment
variables as well:
export OS_AUTH_URL=http://example.com:5000/v2.0 export OS_IDENTITY_API_VERSION=2.0
Since the Identity service that Glance uses can return multiple regional image
endpoints in the Service Catalog, you can specify the one you want with
It defaults to the first in the list returned.
You'll find complete documentation on the shell by running
usage: glance [--username USERNAME] [--password PASSWORD] [--tenant_name TENANT_NAME | --tenant_id TENANT_ID] [--auth_url AUTH_URL] [--region_name REGION_NAME] [--identity_api_version IDENTITY_API_VERSION] <subcommand> ... Command-line interface to the OpenStack Identity API. Positional arguments: <subcommand> catalog List all image services in service catalog image-create Create new image image-delete Delete image image-list List images image-update Update image's name and other properties image-upload Upload an image file image-download Download an image file help Display help about this program or one of its subcommands. Optional arguments: --username USERNAME Defaults to env[OS_USERNAME] --password PASSWORD Defaults to env[OS_PASSWORD] --tenant_name TENANT_NAME Defaults to env[OS_TENANT_NAME] --tenant_id TENANT_ID Defaults to env[OS_TENANT_ID] --auth_url AUTH_URL Defaults to env[OS_AUTH_URL] --region_name REGION_NAME Defaults to env[OS_REGION_NAME] --identity_api_version IDENTITY_API_VERSION Defaults to env[OS_IDENTITY_API_VERSION] or 2.0
See "glance help COMMAND" for help on a specific command.