Merge lp:~jaypipes/glance/bug704038 into lp:~hudson-openstack/glance/trunk

Proposed by Jay Pipes
Status: Merged
Approved by: Jay Pipes
Approved revision: 39
Merged at revision: 40
Proposed branch: lp:~jaypipes/glance/bug704038
Merge into: lp:~hudson-openstack/glance/trunk
Diff against target: 147 lines (+84/-12)
3 files modified
bin/glance-registry (+0/-4)
doc/source/registries.rst (+67/-2)
glance/registry/__init__.py (+17/-6)
To merge this branch: bzr merge lp:~jaypipes/glance/bug704038
Reviewer Review Type Date Requested Status
Rick Harris (community) Approve
Devin Carlen (community) Approve
Review via email: mp+46694@code.launchpad.net

Commit message

Fix Bug #704038: Unable to start or connect to register server on anything other than 0.0.0.0:9191

Description of the change

Fix Bug #704038: Unable to start or connect to register server on anything other than 0.0.0.0:9191

Adds more documentation for registries stuff as well.

To post a comment you must log in.
Revision history for this message
Devin Carlen (devcamcar) wrote :

lgtm

review: Approve
Revision history for this message
Rick Harris (rconradharris) wrote :

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'bin/glance-registry'
--- bin/glance-registry 2011-01-02 02:47:59 +0000
+++ bin/glance-registry 2011-01-18 22:01:22 +0000
@@ -33,10 +33,6 @@
3333
3434
35FLAGS = flags.FLAGS35FLAGS = flags.FLAGS
36flags.DEFINE_string('registry_host', '0.0.0.0',
37 'Registry server lives at this address')
38flags.DEFINE_integer('registry_port', 9191,
39 'Registry server listens on this port')
4036
4137
42def main(_args):38def main(_args):
4339
=== modified file 'doc/source/registries.rst'
--- doc/source/registries.rst 2010-12-22 17:38:54 +0000
+++ doc/source/registries.rst 2011-01-18 22:01:22 +0000
@@ -18,5 +18,70 @@
18================18================
1919
20Image metadata made available through Glance can be stored in image20Image metadata made available through Glance can be stored in image
21*registries*. Image registries are any web service that adheres to the21`registries`. Image registries are any web service that adheres to the
22Glance RESTful API for image metadata.22Glance REST-like API for image metadata.
23
24Glance comes with a server program ``bin/glance-registry`` that acts
25as a reference implementation of a Glance Registry.
26
27Using ``bin/glance-registry``
28-----------------------------
29
30As mentioned above, ``bin/glance-registry`` is the reference registry
31server implementation that ships with Glance. It uses a SQL database
32to store information about an image, and publishes this information
33via an HTTP/REST-like interface.
34
35Starting the server
36*******************
37
38Starting the Glance registry server is trivial. Simply call the program
39from the command line, as the following example shows::
40
41 jpipes@serialcoder:~/repos/glance/trunk$ ./bin/glance-registry
42 (5588) wsgi starting up on http://0.0.0.0:9191/
43
44Configuring the server
45**********************
46
47There are a few options that can be supplied to the registry server when
48starting it up:
49
50* ``verbose``
51
52 Show more verbose/debugging output
53
54* ``sql_connection``
55
56 A proper SQLAlchemy connection string as described `here <http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html?highlight=engine#sqlalchemy.create_engine>`_
57
58* ``registry_host``
59
60 Address of the host the registry runs on. Defaults to 0.0.0.0.
61
62* ``registry_port``
63
64 Port the registry server listens on. Defaults to 9191.
65
66Glance Registry API
67-------------------
68
69Any web service that publishes an API that conforms to the following
70REST-like API specification can be used by Glance as a registry.
71
72API in Summary
73**************
74
75The following is a brief description of the Glance API::
76
77 GET /images Return brief information about public images
78 GET /images/detail Return detailed information about public images
79 GET /images/<ID> Return metadata about an image in HTTP headers
80 POST /images Register metadata about a new image
81 PUT /images/<ID> Update metadata about an existing image
82 DELETE /images/<ID> Remove an image's metadata from the registry
83
84Examples
85********
86
87.. todo:: Complete examples for Glance registry API
2388
=== modified file 'glance/registry/__init__.py'
--- glance/registry/__init__.py 2010-12-27 20:03:03 +0000
+++ glance/registry/__init__.py 2011-01-18 22:01:22 +0000
@@ -20,34 +20,45 @@
20Registry API20Registry API
21"""21"""
2222
23from glance.common import flags
23from glance.registry import client24from glance.registry import client
2425
26FLAGS = flags.FLAGS
27
28# TODO(jaypipes): Separate server flags from client flags
29# and allow a list of client host/port
30# combinations
31flags.DEFINE_string('registry_host', '0.0.0.0',
32 'Registry server lives at this address')
33flags.DEFINE_integer('registry_port', 9191,
34 'Registry server listens on this port')
35
2536
26def get_images_list():37def get_images_list():
27 c = client.RegistryClient("0.0.0.0")38 c = client.RegistryClient(FLAGS.registry_host, FLAGS.registry_port)
28 return c.get_images()39 return c.get_images()
2940
3041
31def get_images_detail():42def get_images_detail():
32 c = client.RegistryClient("0.0.0.0")43 c = client.RegistryClient(FLAGS.registry_host, FLAGS.registry_port)
33 return c.get_images_detailed()44 return c.get_images_detailed()
3445
3546
36def get_image_metadata(image_id):47def get_image_metadata(image_id):
37 c = client.RegistryClient("0.0.0.0")48 c = client.RegistryClient(FLAGS.registry_host, FLAGS.registry_port)
38 return c.get_image(image_id)49 return c.get_image(image_id)
3950
4051
41def add_image_metadata(image_data):52def add_image_metadata(image_data):
42 c = client.RegistryClient("0.0.0.0")53 c = client.RegistryClient(FLAGS.registry_host, FLAGS.registry_port)
43 return c.add_image(image_data)54 return c.add_image(image_data)
4455
4556
46def update_image_metadata(image_id, image_data):57def update_image_metadata(image_id, image_data):
47 c = client.RegistryClient("0.0.0.0")58 c = client.RegistryClient(FLAGS.registry_host, FLAGS.registry_port)
48 return c.update_image(image_id, image_data)59 return c.update_image(image_id, image_data)
4960
5061
51def delete_image_metadata(image_id):62def delete_image_metadata(image_id):
52 c = client.RegistryClient("0.0.0.0")63 c = client.RegistryClient(FLAGS.registry_host, FLAGS.registry_port)
53 return c.delete_image(image_id)64 return c.delete_image(image_id)

Subscribers

People subscribed via source and target branches