)]}'
{"doc/source/database_architecture.rst":[{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"cb9c5647ebc9a621f3a821854021385615b2cbb8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"   the system, as well as additional request information;"},{"line_number":43,"context_line":" - ``image_id`` — a string value that corresponds to the image"},{"line_number":44,"context_line":"   identifier;"},{"line_number":45,"context_line":" - ``memb_id`` — a string value that corresponds to the member"},{"line_number":46,"context_line":"   identifier of the image;"},{"line_number":47,"context_line":" - ``session`` — optional attribute that corresponds to the instance"},{"line_number":48,"context_line":"   of *oslo_db.sqlalchemy.session.Session* class. It establishes"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_026b0d20","line":45,"updated":"2015-03-17 03:45:16.000000000","message":"I don\u0027t think we used memb_id in anywhere, would you mind using member_id?","commit_id":"344d05923c5dc84b804759103e1f1a79f3d6112a"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"42723656a817b41fafc2c0d7952980d93e46cf71","unresolved":false,"context_lines":[{"line_number":42,"context_line":"   the system, as well as additional request information;"},{"line_number":43,"context_line":" - ``image_id`` — a string value that corresponds to the image"},{"line_number":44,"context_line":"   identifier;"},{"line_number":45,"context_line":" - ``memb_id`` — a string value that corresponds to the member"},{"line_number":46,"context_line":"   identifier of the image;"},{"line_number":47,"context_line":" - ``session`` — optional attribute that corresponds to the instance"},{"line_number":48,"context_line":"   of *oslo_db.sqlalchemy.session.Session* class. It establishes"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_196ecac9","line":45,"in_reply_to":"9a80dd14_026b0d20","updated":"2015-03-18 16:11:07.000000000","message":"In the code it\u0027s called memb_id everywhere https://github.com/openstack/glance/blob/master/glance/db/sqlalchemy/api.py\n\nI agree, member_id is better, but they preferred to use the reduced version and we had to reflect it here.","commit_id":"344d05923c5dc84b804759103e1f1a79f3d6112a"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"cb9c5647ebc9a621f3a821854021385615b2cbb8","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"**Image processing methods:**"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"1. ``image_create(context, values)`` - creates a new image record"},{"line_number":59,"context_line":"   with parameters listed in the *values* dictionary. Returns a"},{"line_number":60,"context_line":"   dictionary representation of a newly created *glance.db.sqlalchemy."},{"line_number":61,"context_line":"   models.Image* object."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_c2cf3528","line":58,"updated":"2015-03-17 03:45:16.000000000","message":"I\u0027m thinking if we should manually maintain below content, since IMHO, they\u0027re docstring. And I would prefer to see them in an automated-generated api doc instead of here.","commit_id":"344d05923c5dc84b804759103e1f1a79f3d6112a"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"42723656a817b41fafc2c0d7952980d93e46cf71","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"**Image processing methods:**"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"1. ``image_create(context, values)`` - creates a new image record"},{"line_number":59,"context_line":"   with parameters listed in the *values* dictionary. Returns a"},{"line_number":60,"context_line":"   dictionary representation of a newly created *glance.db.sqlalchemy."},{"line_number":61,"context_line":"   models.Image* object."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_79fc2640","line":58,"in_reply_to":"9a80dd14_c2cf3528","updated":"2015-03-18 16:11:07.000000000","message":"There are 2 main purposes of this document:\n\n1. To standardize DB api. Because we have 3 backends (sqlalchemy, simple and registry), they must be in consistent state, and one change in any of them should be reflected in the others (and in the documentation). Moreover, if someone decides to implement another backend, he must strictly follow the current guidelines.\n\n2. To standardize doc strings for the methods. We have a big problem with that, because many doc strings are outdated and written with typos and mistakes. If this documentation is merged, next we will update all the doc strings in every backend. Also, I don\u0027t like to write the meaning of \u0027session\u0027 or \u0027image_id\u0027 params after every method here. So we decided to mention them only once in \u0027Common parameters for image methods\u0027 section which is impossible with automatic generation.","commit_id":"344d05923c5dc84b804759103e1f1a79f3d6112a"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"004604662101918db8d8a06a2da9ff102b642d73","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"**Image processing methods:**"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"1. ``image_create(context, values)`` - creates a new image record"},{"line_number":59,"context_line":"   with parameters listed in the *values* dictionary. Returns a"},{"line_number":60,"context_line":"   dictionary representation of a newly created *glance.db.sqlalchemy."},{"line_number":61,"context_line":"   models.Image* object."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_3971cea8","line":58,"in_reply_to":"9a80dd14_c2cf3528","updated":"2015-03-18 15:38:31.000000000","message":"You mean something like:\n\n    .. autofunction:: glance.db.sqlalchemy.api.image_create","commit_id":"344d05923c5dc84b804759103e1f1a79f3d6112a"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"eeb9c42489bb41fc846ab093ef550033f7af45d1","unresolved":false,"context_lines":[{"line_number":200,"context_line":".. figure:: /images/glance_db.png"},{"line_number":201,"context_line":"   :figwidth: 100%"},{"line_number":202,"context_line":"   :align: center"},{"line_number":203,"context_line":"   :alt: Glance images DB schema"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":".. centered:: Image 1. Glance images DB schema"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_7104de17","line":203,"updated":"2015-03-14 18:07:43.000000000","message":"So I didn\u0027t pick up on this before, but we probably need much better alt text for people using a screen reader. Blind and visually impaired developers do exist and while this image is great, it will be useless to them unless the importance of the image is described below in text.\n\nThis isn\u0027t a nit for here, but I\u0027ll be creating a launchpad bug to track it (since it affects the last change of the over all Glance architecture as well).","commit_id":"344d05923c5dc84b804759103e1f1a79f3d6112a"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"bb6d1c5239097f6e2fab3d02f2a7cf4941168e2c","unresolved":false,"context_lines":[{"line_number":200,"context_line":".. figure:: /images/glance_db.png"},{"line_number":201,"context_line":"   :figwidth: 100%"},{"line_number":202,"context_line":"   :align: center"},{"line_number":203,"context_line":"   :alt: Glance images DB schema"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":".. centered:: Image 1. Glance images DB schema"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_c6fcb742","line":203,"in_reply_to":"9a80dd14_7104de17","updated":"2015-03-16 20:28:21.000000000","message":"+1","commit_id":"344d05923c5dc84b804759103e1f1a79f3d6112a"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"42723656a817b41fafc2c0d7952980d93e46cf71","unresolved":false,"context_lines":[{"line_number":200,"context_line":".. figure:: /images/glance_db.png"},{"line_number":201,"context_line":"   :figwidth: 100%"},{"line_number":202,"context_line":"   :align: center"},{"line_number":203,"context_line":"   :alt: Glance images DB schema"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":".. centered:: Image 1. Glance images DB schema"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a80dd14_7d2ed1a6","line":203,"in_reply_to":"9a80dd14_7104de17","updated":"2015-03-18 16:11:07.000000000","message":"Good thought! I will think how to do it in the future.","commit_id":"344d05923c5dc84b804759103e1f1a79f3d6112a"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"93e23e203e1e9d63d02c6a8272c578c91e60e01f","unresolved":false,"context_lines":[{"line_number":70,"context_line":"       properties not listed in the *values[‘properties’]* should be"},{"line_number":71,"context_line":"       deleted;"},{"line_number":72,"context_line":"     - ``from_state`` - a string filter indicating that the updated"},{"line_number":73,"context_line":"       image must be in the specified state. Returns a dictionary"},{"line_number":74,"context_line":"       representation of a newly created *glance.db.sqlalchemy.models.Image*"},{"line_number":75,"context_line":"       object."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa041b7_d3222b01","line":73,"updated":"2015-04-03 09:15:48.000000000","message":"Shouldn\u0027t the \"Returns\" start from the new line? Right now it looks like that this sentence is strictly related to the \u0027from_state\u0027 parameter instead of the \u0027image_update\u0027 method.","commit_id":"8225135779d017fb747bcfbfb453236564b75829"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"6c2717b88f52a0977d0df6b645e16f4cdc20203c","unresolved":false,"context_lines":[{"line_number":70,"context_line":"       properties not listed in the *values[‘properties’]* should be"},{"line_number":71,"context_line":"       deleted;"},{"line_number":72,"context_line":"     - ``from_state`` - a string filter indicating that the updated"},{"line_number":73,"context_line":"       image must be in the specified state. Returns a dictionary"},{"line_number":74,"context_line":"       representation of a newly created *glance.db.sqlalchemy.models.Image*"},{"line_number":75,"context_line":"       object."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ab451fb_bad31d38","line":73,"in_reply_to":"baa041b7_d3222b01","updated":"2015-04-17 16:46:29.000000000","message":"Thanks much Kamil! \u003d)\nYour comments were addressed.","commit_id":"8225135779d017fb747bcfbfb453236564b75829"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"93e23e203e1e9d63d02c6a8272c578c91e60e01f","unresolved":false,"context_lines":[{"line_number":114,"context_line":"   adds a new location to an image with an identifier image_id. This"},{"line_number":115,"context_line":"   location contains values listed in the dictionary *location*. It"},{"line_number":116,"context_line":"   returns a dictionary representation of a newly created"},{"line_number":117,"context_line":"   *glance.db.sqlalchemy.models.ImageLocation* object."},{"line_number":118,"context_line":"2. ``image_location_update(context, image_id, location, session\u003dNone)``"},{"line_number":119,"context_line":"   - updates an existing location with an identifier *location[‘id’]*"},{"line_number":120,"context_line":"   for an image with an identifier *image_id* with values listed in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa041b7_73323f12","line":117,"updated":"2015-04-03 09:15:48.000000000","message":"As I can see this method doesn\u0027t return anything.\n\nhttps://github.com/openstack/glance/blob/master/glance/db/sqlalchemy/api.py#L801","commit_id":"8225135779d017fb747bcfbfb453236564b75829"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"6c2717b88f52a0977d0df6b645e16f4cdc20203c","unresolved":false,"context_lines":[{"line_number":114,"context_line":"   adds a new location to an image with an identifier image_id. This"},{"line_number":115,"context_line":"   location contains values listed in the dictionary *location*. It"},{"line_number":116,"context_line":"   returns a dictionary representation of a newly created"},{"line_number":117,"context_line":"   *glance.db.sqlalchemy.models.ImageLocation* object."},{"line_number":118,"context_line":"2. ``image_location_update(context, image_id, location, session\u003dNone)``"},{"line_number":119,"context_line":"   - updates an existing location with an identifier *location[‘id’]*"},{"line_number":120,"context_line":"   for an image with an identifier *image_id* with values listed in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ab451fb_9abbc1c4","line":117,"in_reply_to":"baa041b7_73323f12","updated":"2015-04-17 16:46:29.000000000","message":"Done","commit_id":"8225135779d017fb747bcfbfb453236564b75829"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"93e23e203e1e9d63d02c6a8272c578c91e60e01f","unresolved":false,"context_lines":[{"line_number":119,"context_line":"   - updates an existing location with an identifier *location[‘id’]*"},{"line_number":120,"context_line":"   for an image with an identifier *image_id* with values listed in"},{"line_number":121,"context_line":"   the dictionary *location*. Returns a dictionary representation of a"},{"line_number":122,"context_line":"   newly created *glance.db.sqlalchemy.models.ImageLocation* object."},{"line_number":123,"context_line":"3. ``image_location_delete(context, image_id, location_id, status,"},{"line_number":124,"context_line":"   delete_time\u003dNone, session\u003dNone)`` - sets a \u0027deleted\u0027 or \u0027pending_delete\u0027"},{"line_number":125,"context_line":"   *status* to an existing location record with an identifier *location_id*"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa041b7_133f73d7","line":122,"updated":"2015-04-03 09:15:48.000000000","message":"ditto","commit_id":"8225135779d017fb747bcfbfb453236564b75829"},{"author":{"_account_id":14962,"name":"ologvinova","email":"ologvinova@mirantis.com","username":"ologvinova"},"change_message_id":"6c2717b88f52a0977d0df6b645e16f4cdc20203c","unresolved":false,"context_lines":[{"line_number":119,"context_line":"   - updates an existing location with an identifier *location[‘id’]*"},{"line_number":120,"context_line":"   for an image with an identifier *image_id* with values listed in"},{"line_number":121,"context_line":"   the dictionary *location*. Returns a dictionary representation of a"},{"line_number":122,"context_line":"   newly created *glance.db.sqlalchemy.models.ImageLocation* object."},{"line_number":123,"context_line":"3. ``image_location_delete(context, image_id, location_id, status,"},{"line_number":124,"context_line":"   delete_time\u003dNone, session\u003dNone)`` - sets a \u0027deleted\u0027 or \u0027pending_delete\u0027"},{"line_number":125,"context_line":"   *status* to an existing location record with an identifier *location_id*"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ab451fb_7ab0f5dd","line":122,"in_reply_to":"baa041b7_133f73d7","updated":"2015-04-17 16:46:29.000000000","message":"Done","commit_id":"8225135779d017fb747bcfbfb453236564b75829"},{"author":{"_account_id":13161,"name":"Kamil Rykowski","email":"kamil.rykowski@gmail.com","username":"krykowski"},"change_message_id":"bb32e6f5a7a8a7f88925b34dae418c481abb6fc5","unresolved":false,"context_lines":[{"line_number":58,"context_line":"       image must be in the specified state."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"#. ``image_destroy(context, image_id)`` - deletes all the database"},{"line_number":61,"context_line":"   record of an image with an identifier *image_id*, like tags,"},{"line_number":62,"context_line":"   properties, and members, and sets a ‘deleted’ status to all the"},{"line_number":63,"context_line":"   image locations."},{"line_number":64,"context_line":"#. ``image_get(context, image_id, force_show_deleted\u003dFalse)`` -"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab921fb_f0006403","line":61,"updated":"2015-04-24 12:26:04.000000000","message":"s/record/records?","commit_id":"351e5f1ad74fa2dd468a9df11ccf0317af34b21d"}]}
