OpenStack Image Management (Glance) Client
Go to file
Clark Boylan a8d7043266 Edit build_sphinx options.
To better facilitate the building and publishing of sphinx
documentation by Jenkins we are moving all openstack projects with
sphinx documentation to a common doc tree structure. Documentation
goes in project/doc/source and build results go in project/doc/build.

Change-Id: Idf3e4472f91a1f5ae36e64b339bef99d4d960b88
2012-06-08 15:23:58 -07:00
glanceclient Add 'explain' command to v2 that describes schemas 2012-06-07 14:43:00 -07:00
tests Add 'explain' command to v2 that describes schemas 2012-06-07 14:43:00 -07:00
tools Stick prettytable at v0.6 2012-06-07 14:41:14 -07:00
.gitignore Auto generate AUTHORS file for glanceclient component. 2012-06-02 00:04:12 -07:00
.gitreview Added gitreview file. 2012-04-03 20:50:44 -06:00
HACKING.rst Initial checkin for new CLI and client package 2012-02-29 16:42:26 -05:00
LICENSE Basic get/list operations work 2012-03-26 22:48:48 -07:00
MANIFEST.in Include ChangeLog in tarball 2012-05-29 08:32:19 -04:00
README.rst Further cleanup 2012-03-26 23:30:44 -07:00
openstack-common.conf Add importutils from openstack-common 2012-05-20 13:08:20 -07:00
run_tests.sh Use tox for running tests locally. 2012-04-27 23:45:38 +00:00
setup.cfg Edit build_sphinx options. 2012-06-08 15:23:58 -07:00
setup.py Auto generate AUTHORS file for glanceclient component. 2012-06-02 00:04:12 -07:00
tox.ini Minimize tox.ini 2012-06-07 14:51:29 -07:00

README.rst

Python bindings to the OpenStack Image API

This is a client for the Glance which uses the OpenStack Image API. There's a Python API (the glanceclient module), and a command-line script (glance).

Development takes place via the usual OpenStack processes as outlined in the OpenStack wiki. The master repository is on GitHub.

This code is based on OpenStack's python-keystoneclient which is based on 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.

Contents:

Python API

If you wish to use the internal python api directly, you must obtain an auth token and identify which endpoint you wish to speak to manually. Once you have done so, you can use the API:

>>> from glanceclient.v1 import client
>>> glance = client.Client(endpoint=OS_IMAGE_ENDPOINT, token=OS_AUTH_TOKEN)
>>> 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()

Command-line API

Installing this package gets you a command-line tool, glance, that you can use to interact with Glance through the OpenStack Image API.

You'll need to provide your OpenStack username, password, tenant, and auth endpoint. You can do this with the --os-tenant-id, --os-username, --os-password, and --os-auth-url params, but it's easier to just set them as environment variables:

export OS_USERNAME=user
export OS_PASSWORD=pass
export OS_TENANT_ID=b363706f891f48019483f8bd6503c54b
export OS_AUTH_URL=http://auth.example.com:5000/v2.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 --region_name (or export OS_REGION_NAME). It defaults to the first in the list returned.

If you already have an auth token and endpoint, you may manually pass them in to skip automatic authentication with your identity service. Either define them in command-line flags (--os-image-url and --os-auth-token) or in environment variables:

export OS_IMAGE_URL=http://glance.example.org:5000/v1
export OS_AUTH_TOKEN=3bcc3d3a03f44e3d8377f9247b0ad155

You'll find complete documentation on the shell by running glance help.