)]}'
{"tempest/api_schema/compute/services.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3b8c271a3bc116676289890bb00afd14e57c9334","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                        \u0027binary\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":33,"context_line":"                        \u0027status\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":34,"context_line":"                        \u0027updated_at\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"                        \u0027disabled_reason\u0027: {\u0027type\u0027: [\u0027string\u0027, \u0027null\u0027]},"},{"line_number":36,"context_line":"                    },"},{"line_number":37,"context_line":"                    \u0027required\u0027: [\u0027id\u0027, \u0027zone\u0027, \u0027host\u0027, \u0027state\u0027, \u0027binary\u0027,"},{"line_number":38,"context_line":"                                 \u0027status\u0027, \u0027updated_at\u0027, \u0027disabled_reason\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2Fu0o%3D","line":35,"updated":"2014-03-14 06:15:44.000000000","message":"just nit. It will be nice if we do not put trailing comma for last element of {}.","commit_id":"7f473e0f9d1c84cd2b2a4c3fb1dc1b6da14d5b01"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"87f3e01120870b659257586edc6a6ff07dc8d606","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                        \u0027binary\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":33,"context_line":"                        \u0027status\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":34,"context_line":"                        \u0027updated_at\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"                        \u0027disabled_reason\u0027: {\u0027type\u0027: [\u0027string\u0027, \u0027null\u0027]},"},{"line_number":36,"context_line":"                    },"},{"line_number":37,"context_line":"                    \u0027required\u0027: [\u0027id\u0027, \u0027zone\u0027, \u0027host\u0027, \u0027state\u0027, \u0027binary\u0027,"},{"line_number":38,"context_line":"                                 \u0027status\u0027, \u0027updated_at\u0027, \u0027disabled_reason\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2Fuyc%3D","line":35,"in_reply_to":"AAAAWH%2F%2Fu0o%3D","updated":"2014-03-14 06:25:28.000000000","message":"thanks, done","commit_id":"7f473e0f9d1c84cd2b2a4c3fb1dc1b6da14d5b01"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3b8c271a3bc116676289890bb00afd14e57c9334","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                        \u0027disabled_reason\u0027: {\u0027type\u0027: [\u0027string\u0027, \u0027null\u0027]},"},{"line_number":36,"context_line":"                    },"},{"line_number":37,"context_line":"                    \u0027required\u0027: [\u0027id\u0027, \u0027zone\u0027, \u0027host\u0027, \u0027state\u0027, \u0027binary\u0027,"},{"line_number":38,"context_line":"                                 \u0027status\u0027, \u0027updated_at\u0027, \u0027disabled_reason\u0027],"},{"line_number":39,"context_line":"                }"},{"line_number":40,"context_line":"            }"},{"line_number":41,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2Fu1A%3D","line":38,"updated":"2014-03-14 06:15:44.000000000","message":"same as above","commit_id":"7f473e0f9d1c84cd2b2a4c3fb1dc1b6da14d5b01"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"87f3e01120870b659257586edc6a6ff07dc8d606","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                        \u0027disabled_reason\u0027: {\u0027type\u0027: [\u0027string\u0027, \u0027null\u0027]},"},{"line_number":36,"context_line":"                    },"},{"line_number":37,"context_line":"                    \u0027required\u0027: [\u0027id\u0027, \u0027zone\u0027, \u0027host\u0027, \u0027state\u0027, \u0027binary\u0027,"},{"line_number":38,"context_line":"                                 \u0027status\u0027, \u0027updated_at\u0027, \u0027disabled_reason\u0027],"},{"line_number":39,"context_line":"                }"},{"line_number":40,"context_line":"            }"},{"line_number":41,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FuyY%3D","line":38,"in_reply_to":"AAAAWH%2F%2Fu1A%3D","updated":"2014-03-14 06:25:28.000000000","message":"Done","commit_id":"7f473e0f9d1c84cd2b2a4c3fb1dc1b6da14d5b01"}],"tempest/api_schema/compute/v2/volumes.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3b8c271a3bc116676289890bb00afd14e57c9334","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                                \u0027id\u0027: {\u0027type\u0027: [\u0027integer\u0027, \u0027string\u0027]},"},{"line_number":42,"context_line":"                                \u0027device\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":43,"context_line":"                                \u0027volumeId\u0027: {\u0027type\u0027: [\u0027integer\u0027, \u0027string\u0027]},"},{"line_number":44,"context_line":"                                \u0027serverId\u0027: {\u0027type\u0027: [\u0027integer\u0027, \u0027string\u0027]},"},{"line_number":45,"context_line":"                            },"},{"line_number":46,"context_line":"                        },"},{"line_number":47,"context_line":"                    },"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2Fu0g%3D","line":44,"updated":"2014-03-14 06:15:44.000000000","message":"just nit. It will be nice if we do not put trailing comma for last element of {}.\n\nSame for below places also.","commit_id":"7f473e0f9d1c84cd2b2a4c3fb1dc1b6da14d5b01"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"87f3e01120870b659257586edc6a6ff07dc8d606","unresolved":false,"context_lines":[{"line_number":41,"context_line":"                                \u0027id\u0027: {\u0027type\u0027: [\u0027integer\u0027, \u0027string\u0027]},"},{"line_number":42,"context_line":"                                \u0027device\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":43,"context_line":"                                \u0027volumeId\u0027: {\u0027type\u0027: [\u0027integer\u0027, \u0027string\u0027]},"},{"line_number":44,"context_line":"                                \u0027serverId\u0027: {\u0027type\u0027: [\u0027integer\u0027, \u0027string\u0027]},"},{"line_number":45,"context_line":"                            },"},{"line_number":46,"context_line":"                        },"},{"line_number":47,"context_line":"                    },"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2Fuyg%3D","line":44,"in_reply_to":"AAAAWH%2F%2Fu0g%3D","updated":"2014-03-14 06:25:28.000000000","message":"Thanks, done.","commit_id":"7f473e0f9d1c84cd2b2a4c3fb1dc1b6da14d5b01"}],"tempest/common/rest_client.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"44aead47b1bbdc2440bc0712725039f96c1e6082","unresolved":false,"context_lines":[{"line_number":511,"context_line":"        # code if it exists is something that we expect. This is explicitly"},{"line_number":512,"context_line":"        # declared in the V3 API and so we should be able to export this in"},{"line_number":513,"context_line":"        # the response schema. For now we\u0027ll ignore it."},{"line_number":514,"context_line":"        if str(resp.status).startswith(\u00272\u0027):"},{"line_number":515,"context_line":"            response_code \u003d schema[\u0027status_code\u0027]"},{"line_number":516,"context_line":"            if resp.status not in response_code:"},{"line_number":517,"context_line":"                msg \u003d (\"The status code(%s) is different than the expected \""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2FwHg%3D","line":514,"updated":"2014-03-14 01:46:56.000000000","message":"How about\n\n if resp.status in HTTP_SUCCESS:\n\n?","commit_id":"c476deff3ea861e165d4fd3011d1278d8a1a17e1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0e179cfb5299b8931d95c5e884e034ba5a4b1b86","unresolved":false,"context_lines":[{"line_number":511,"context_line":"        # code if it exists is something that we expect. This is explicitly"},{"line_number":512,"context_line":"        # declared in the V3 API and so we should be able to export this in"},{"line_number":513,"context_line":"        # the response schema. For now we\u0027ll ignore it."},{"line_number":514,"context_line":"        if str(resp.status).startswith(\u00272\u0027):"},{"line_number":515,"context_line":"            response_code \u003d schema[\u0027status_code\u0027]"},{"line_number":516,"context_line":"            if resp.status not in response_code:"},{"line_number":517,"context_line":"                msg \u003d (\"The status code(%s) is different than the expected \""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2FvbU%3D","line":514,"in_reply_to":"AAAAWH%2F%2FwHg%3D","updated":"2014-03-14 04:56:42.000000000","message":"Done","commit_id":"c476deff3ea861e165d4fd3011d1278d8a1a17e1"}],"tempest/services/compute/json/services_client.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"89da355500a64425beda8c81574cead2bbd638dc","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import urllib"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.api.compute.api_schema import services as schema"},{"line_number":21,"context_line":"from tempest.common import rest_client"},{"line_number":22,"context_line":"from tempest import config"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2FwC0%3D","line":21,"updated":"2014-03-14 01:58:36.000000000","message":"As discussed in IRC meeting, can you please modify the schema file structure to ./tempest/api_schema. It will be good to move this in this patch so that all parent patch can get the base directory.","commit_id":"c476deff3ea861e165d4fd3011d1278d8a1a17e1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0e179cfb5299b8931d95c5e884e034ba5a4b1b86","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import urllib"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.api.compute.api_schema import services as schema"},{"line_number":21,"context_line":"from tempest.common import rest_client"},{"line_number":22,"context_line":"from tempest import config"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2FvZI%3D","line":21,"in_reply_to":"AAAAWH%2F%2Fvws%3D","updated":"2014-03-14 04:56:42.000000000","message":"Done","commit_id":"c476deff3ea861e165d4fd3011d1278d8a1a17e1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"244d095d6a971b340d4f1b06d23893bec5f36a1e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import urllib"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.api.compute.api_schema import services as schema"},{"line_number":21,"context_line":"from tempest.common import rest_client"},{"line_number":22,"context_line":"from tempest import config"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2Fvws%3D","line":21,"in_reply_to":"AAAAWH%2F%2FwC0%3D","updated":"2014-03-14 02:58:17.000000000","message":"We can have something like - \"./tempest/api_schema/compute/\". So that if in future we perform the schema validation for other component, those also can go in their respective directory under \"./tempest/api_schema/\"","commit_id":"c476deff3ea861e165d4fd3011d1278d8a1a17e1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"44aead47b1bbdc2440bc0712725039f96c1e6082","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":39,"context_line":"        body \u003d json.loads(body)"},{"line_number":40,"context_line":"        self.validate_response(schema.list_services, resp, body[\u0027services\u0027])"},{"line_number":41,"context_line":"        return resp, body[\u0027services\u0027]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def enable_service(self, host_name, binary):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2FwIA%3D","line":40,"updated":"2014-03-14 01:46:56.000000000","message":"For API documentation also in the future, it is better to include the first keyword(\u0027services\u0027, etc) in each API response schema.","commit_id":"c476deff3ea861e165d4fd3011d1278d8a1a17e1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"0e179cfb5299b8931d95c5e884e034ba5a4b1b86","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":39,"context_line":"        body \u003d json.loads(body)"},{"line_number":40,"context_line":"        self.validate_response(schema.list_services, resp, body[\u0027services\u0027])"},{"line_number":41,"context_line":"        return resp, body[\u0027services\u0027]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    def enable_service(self, host_name, binary):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F%2FvZM%3D","line":40,"in_reply_to":"AAAAWH%2F%2FwIA%3D","updated":"2014-03-14 04:56:42.000000000","message":"Done","commit_id":"c476deff3ea861e165d4fd3011d1278d8a1a17e1"}]}
