)]}'
{"specs/kilo/metadata-multivalue-operators-support.rst":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ecd65722fec9f45e703602479ce141a2b494f2e3","unresolved":false,"context_lines":[{"line_number":50,"context_line":"\"cpu_info:vendor\": {"},{"line_number":51,"context_line":"    \"title\": \"Vendor\","},{"line_number":52,"context_line":"    \"description\": \"Specifies the CPU manufacturer.\","},{"line_number":53,"context_line":"    \"operator\": {"},{"line_number":54,"context_line":"        \"type\": \"string\","},{"line_number":55,"context_line":"        \"enum\": ["},{"line_number":56,"context_line":"            \"\u003cor\u003e\""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a961159_470911dc","line":53,"updated":"2015-01-15 11:18:52.000000000","message":"Couldn\u0027t we just use \"operator\": [\"\u003cor\u003e\"] here? Schema information are not necessary here I think. I think you should declare type of operator property in the schema of a metadefs_property (in model in glance/api/v2/model).","commit_id":"d1e8b1eee5888cfe47c78bbceb47b45091c11abc"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2586bdb8ae3a2963d49ab5a1cc1607b0baa79813","unresolved":false,"context_lines":[{"line_number":50,"context_line":"\"cpu_info:vendor\": {"},{"line_number":51,"context_line":"    \"title\": \"Vendor\","},{"line_number":52,"context_line":"    \"description\": \"Specifies the CPU manufacturer.\","},{"line_number":53,"context_line":"    \"operator\": {"},{"line_number":54,"context_line":"        \"type\": \"string\","},{"line_number":55,"context_line":"        \"enum\": ["},{"line_number":56,"context_line":"            \"\u003cor\u003e\""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a961159_65442173","line":53,"in_reply_to":"3a961159_470911dc","updated":"2015-01-16 09:20:05.000000000","message":"Reasonable, thanks!","commit_id":"d1e8b1eee5888cfe47c78bbceb47b45091c11abc"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ecd65722fec9f45e703602479ce141a2b494f2e3","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                \"prop1\": {"},{"line_number":98,"context_line":"                    \"title\": \"My Property\","},{"line_number":99,"context_line":"                    \"description\": \"More info here\","},{"line_number":100,"context_line":"                    \"operator\": {"},{"line_number":101,"context_line":"                        \"type\": \"string\","},{"line_number":102,"context_line":"                        \"enum\": ["},{"line_number":103,"context_line":"                            \"\u003call-in\u003e\""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a961159_e7c2fd52","line":100,"updated":"2015-01-15 11:18:52.000000000","message":"Same comment as line 53.","commit_id":"d1e8b1eee5888cfe47c78bbceb47b45091c11abc"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2586bdb8ae3a2963d49ab5a1cc1607b0baa79813","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                \"prop1\": {"},{"line_number":98,"context_line":"                    \"title\": \"My Property\","},{"line_number":99,"context_line":"                    \"description\": \"More info here\","},{"line_number":100,"context_line":"                    \"operator\": {"},{"line_number":101,"context_line":"                        \"type\": \"string\","},{"line_number":102,"context_line":"                        \"enum\": ["},{"line_number":103,"context_line":"                            \"\u003call-in\u003e\""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a961159_c08f83cb","line":100,"in_reply_to":"3a961159_e7c2fd52","updated":"2015-01-16 09:20:05.000000000","message":"Done","commit_id":"d1e8b1eee5888cfe47c78bbceb47b45091c11abc"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ecd65722fec9f45e703602479ce141a2b494f2e3","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    \"next\": \"/v2/metadefs/objects?marker\u003dobject1\u0026limit\u003d1\","},{"line_number":114,"context_line":"    \"schema\": \"/v2/schema/metadefs/objects\""},{"line_number":115,"context_line":"}"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Security impact"},{"line_number":118,"context_line":"---------------"},{"line_number":119,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a961159_0a15503c","line":116,"updated":"2015-01-15 11:18:52.000000000","message":"What about PUT and POST? Will changing new value work from glanceclient when you just update the model in the API (as client uses the schema pulled from the API)? As I\u0027m looking in the client code it probably will, but it would be good to be sure that no changes in the client code are needed.","commit_id":"d1e8b1eee5888cfe47c78bbceb47b45091c11abc"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2586bdb8ae3a2963d49ab5a1cc1607b0baa79813","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    \"next\": \"/v2/metadefs/objects?marker\u003dobject1\u0026limit\u003d1\","},{"line_number":114,"context_line":"    \"schema\": \"/v2/schema/metadefs/objects\""},{"line_number":115,"context_line":"}"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Security impact"},{"line_number":118,"context_line":"---------------"},{"line_number":119,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a961159_40b39399","line":116,"in_reply_to":"3a961159_0a15503c","updated":"2015-01-16 09:20:05.000000000","message":"Added example for POST/PUT. Client should not be affected, if I find something then I\u0027ll describe this under the \"Other end user impact\" section.","commit_id":"d1e8b1eee5888cfe47c78bbceb47b45091c11abc"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Support for multivalue operators in metadata catalog"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":"Metadata catalog provides data that user can pin to resources, e.g. flavors"},{"line_number":11,"context_line":"extra specs. These are used by scheduler to choose host that satisfies"},{"line_number":12,"context_line":"requirements provided in extra specs. Nova scheduler implements operators"},{"line_number":13,"context_line":"to combine multiple values under one key in extra specs: \u003cor\u003e and \u003call-in\u003e."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_e57d276f","line":10,"updated":"2015-01-19 22:38:10.000000000","message":"Editorial: \"The metadata catalog...\". Also when using \"e.g.\", a comma always follows.","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Support for multivalue operators in metadata catalog"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":"Metadata catalog provides data that user can pin to resources, e.g. flavors"},{"line_number":11,"context_line":"extra specs. These are used by scheduler to choose host that satisfies"},{"line_number":12,"context_line":"requirements provided in extra specs. Nova scheduler implements operators"},{"line_number":13,"context_line":"to combine multiple values under one key in extra specs: \u003cor\u003e and \u003call-in\u003e."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_ac2b0d2f","line":10,"in_reply_to":"3a961159_e57d276f","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Support for multivalue operators in metadata catalog"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":"Metadata catalog provides data that user can pin to resources, e.g. flavors"},{"line_number":11,"context_line":"extra specs. These are used by scheduler to choose host that satisfies"},{"line_number":12,"context_line":"requirements provided in extra specs. Nova scheduler implements operators"},{"line_number":13,"context_line":"to combine multiple values under one key in extra specs: \u003cor\u003e and \u003call-in\u003e."},{"line_number":14,"context_line":"Unfortunately catalog does not provide which operator is suitable for"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_85e54340","line":11,"updated":"2015-01-19 22:38:10.000000000","message":"Editorial: either \"to choose a host that satisfies the\" or \"to choose hosts that sastisfy the\"","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Support for multivalue operators in metadata catalog"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":"Metadata catalog provides data that user can pin to resources, e.g. flavors"},{"line_number":11,"context_line":"extra specs. These are used by scheduler to choose host that satisfies"},{"line_number":12,"context_line":"requirements provided in extra specs. Nova scheduler implements operators"},{"line_number":13,"context_line":"to combine multiple values under one key in extra specs: \u003cor\u003e and \u003call-in\u003e."},{"line_number":14,"context_line":"Unfortunately catalog does not provide which operator is suitable for"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_cc1f7908","line":11,"in_reply_to":"3a961159_85e54340","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":11,"context_line":"extra specs. These are used by scheduler to choose host that satisfies"},{"line_number":12,"context_line":"requirements provided in extra specs. Nova scheduler implements operators"},{"line_number":13,"context_line":"to combine multiple values under one key in extra specs: \u003cor\u003e and \u003call-in\u003e."},{"line_number":14,"context_line":"Unfortunately catalog does not provide which operator is suitable for"},{"line_number":15,"context_line":"a given property."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This blueprint aims at this problem by extending current jsons with suitable"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_05d95384","line":14,"updated":"2015-01-19 22:38:10.000000000","message":"Editorial: \"Unfortunately, the catalog ...\"","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"extra specs. These are used by scheduler to choose host that satisfies"},{"line_number":12,"context_line":"requirements provided in extra specs. Nova scheduler implements operators"},{"line_number":13,"context_line":"to combine multiple values under one key in extra specs: \u003cor\u003e and \u003call-in\u003e."},{"line_number":14,"context_line":"Unfortunately catalog does not provide which operator is suitable for"},{"line_number":15,"context_line":"a given property."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This blueprint aims at this problem by extending current jsons with suitable"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_ec1c3516","line":14,"in_reply_to":"3a961159_05d95384","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":15,"context_line":"a given property."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This blueprint aims at this problem by extending current jsons with suitable"},{"line_number":18,"context_line":"operators for each property."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_65e05727","line":18,"updated":"2015-01-19 22:38:10.000000000","message":"Speaking of blueprints, can you please include the link to the one you registered after the title of this?","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"a given property."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This blueprint aims at this problem by extending current jsons with suitable"},{"line_number":18,"context_line":"operators for each property."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_0c1a6117","line":18,"in_reply_to":"3a961159_65e05727","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Problem description"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":"There is work being done in Horizon to provide support for multiple values"},{"line_number":24,"context_line":"for single key in extra specs, however Glance currently does not provide"},{"line_number":25,"context_line":"information which operators are suitable for a given property. For example in"},{"line_number":26,"context_line":"compute-host-capabilities.json there is property called cpu_info:features."},{"line_number":27,"context_line":"For this property both operators can be used: \u003call-in\u003e and \u003cor\u003e."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_e5cb67a2","line":24,"updated":"2015-01-19 22:38:10.000000000","message":"Editorial: \"for a single key in extra specs, however,\"","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Problem description"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":"There is work being done in Horizon to provide support for multiple values"},{"line_number":24,"context_line":"for single key in extra specs, however Glance currently does not provide"},{"line_number":25,"context_line":"information which operators are suitable for a given property. For example in"},{"line_number":26,"context_line":"compute-host-capabilities.json there is property called cpu_info:features."},{"line_number":27,"context_line":"For this property both operators can be used: \u003call-in\u003e and \u003cor\u003e."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_2c171def","line":24,"in_reply_to":"3a961159_e5cb67a2","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":"There is work being done in Horizon to provide support for multiple values"},{"line_number":24,"context_line":"for single key in extra specs, however Glance currently does not provide"},{"line_number":25,"context_line":"information which operators are suitable for a given property. For example in"},{"line_number":26,"context_line":"compute-host-capabilities.json there is property called cpu_info:features."},{"line_number":27,"context_line":"For this property both operators can be used: \u003call-in\u003e and \u003cor\u003e."},{"line_number":28,"context_line":"On the other hand if we think of a cpu_info:model property, then only \u003cor\u003e"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_a5387fa0","line":25,"updated":"2015-01-19 22:38:10.000000000","message":"Editorial: \"about which operators\"\n\nLet\u0027s leave out \"For example\". The rest of this paragraph will read better without it.","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":"There is work being done in Horizon to provide support for multiple values"},{"line_number":24,"context_line":"for single key in extra specs, however Glance currently does not provide"},{"line_number":25,"context_line":"information which operators are suitable for a given property. For example in"},{"line_number":26,"context_line":"compute-host-capabilities.json there is property called cpu_info:features."},{"line_number":27,"context_line":"For this property both operators can be used: \u003call-in\u003e and \u003cor\u003e."},{"line_number":28,"context_line":"On the other hand if we think of a cpu_info:model property, then only \u003cor\u003e"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_4cd38938","line":25,"in_reply_to":"3a961159_a5387fa0","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":23,"context_line":"There is work being done in Horizon to provide support for multiple values"},{"line_number":24,"context_line":"for single key in extra specs, however Glance currently does not provide"},{"line_number":25,"context_line":"information which operators are suitable for a given property. For example in"},{"line_number":26,"context_line":"compute-host-capabilities.json there is property called cpu_info:features."},{"line_number":27,"context_line":"For this property both operators can be used: \u003call-in\u003e and \u003cor\u003e."},{"line_number":28,"context_line":"On the other hand if we think of a cpu_info:model property, then only \u003cor\u003e"},{"line_number":29,"context_line":"operator makes sense."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_654e973a","line":26,"updated":"2015-01-19 22:38:10.000000000","message":"Editorial, should probably do the following\n\n    ``compute-host-capabilities.json`` there is a property called ``cpu_info:features``","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"There is work being done in Horizon to provide support for multiple values"},{"line_number":24,"context_line":"for single key in extra specs, however Glance currently does not provide"},{"line_number":25,"context_line":"information which operators are suitable for a given property. For example in"},{"line_number":26,"context_line":"compute-host-capabilities.json there is property called cpu_info:features."},{"line_number":27,"context_line":"For this property both operators can be used: \u003call-in\u003e and \u003cor\u003e."},{"line_number":28,"context_line":"On the other hand if we think of a cpu_info:model property, then only \u003cor\u003e"},{"line_number":29,"context_line":"operator makes sense."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_6cd84554","line":26,"in_reply_to":"3a961159_654e973a","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":24,"context_line":"for single key in extra specs, however Glance currently does not provide"},{"line_number":25,"context_line":"information which operators are suitable for a given property. For example in"},{"line_number":26,"context_line":"compute-host-capabilities.json there is property called cpu_info:features."},{"line_number":27,"context_line":"For this property both operators can be used: \u003call-in\u003e and \u003cor\u003e."},{"line_number":28,"context_line":"On the other hand if we think of a cpu_info:model property, then only \u003cor\u003e"},{"line_number":29,"context_line":"operator makes sense."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_6565b7ae","line":27,"updated":"2015-01-19 22:38:10.000000000","message":"Editorial: \n\n    Both operators - ``\u003call-in\u003e`` or ``\u003cor\u003e`` can be used for this property.","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"for single key in extra specs, however Glance currently does not provide"},{"line_number":25,"context_line":"information which operators are suitable for a given property. For example in"},{"line_number":26,"context_line":"compute-host-capabilities.json there is property called cpu_info:features."},{"line_number":27,"context_line":"For this property both operators can be used: \u003call-in\u003e and \u003cor\u003e."},{"line_number":28,"context_line":"On the other hand if we think of a cpu_info:model property, then only \u003cor\u003e"},{"line_number":29,"context_line":"operator makes sense."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_8cdd7145","line":27,"in_reply_to":"3a961159_6565b7ae","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":25,"context_line":"information which operators are suitable for a given property. For example in"},{"line_number":26,"context_line":"compute-host-capabilities.json there is property called cpu_info:features."},{"line_number":27,"context_line":"For this property both operators can be used: \u003call-in\u003e and \u003cor\u003e."},{"line_number":28,"context_line":"On the other hand if we think of a cpu_info:model property, then only \u003cor\u003e"},{"line_number":29,"context_line":"operator makes sense."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_a52ddf47","line":28,"updated":"2015-01-19 22:38:10.000000000","message":"Editorial:\n\n    There are also properties like ``cpu_info:model`` where ``\u003cor\u003e`` is the only operator that should work.","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"information which operators are suitable for a given property. For example in"},{"line_number":26,"context_line":"compute-host-capabilities.json there is property called cpu_info:features."},{"line_number":27,"context_line":"For this property both operators can be used: \u003call-in\u003e and \u003cor\u003e."},{"line_number":28,"context_line":"On the other hand if we think of a cpu_info:model property, then only \u003cor\u003e"},{"line_number":29,"context_line":"operator makes sense."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_ace22d01","line":28,"in_reply_to":"3a961159_a52ddf47","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":35,"context_line":"property, this blueprint extends existing properties (and also properties"},{"line_number":36,"context_line":"inside objects) with a new section under key - \"operators\":"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"For example, current property::"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    \"cpu_info:vendor\": {"},{"line_number":41,"context_line":"        \"title\": \"Vendor\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_c5b02b00","line":38,"updated":"2015-01-19 22:38:10.000000000","message":"Editorial: \"Currently an example property would be structured like this::\"","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"property, this blueprint extends existing properties (and also properties"},{"line_number":36,"context_line":"inside objects) with a new section under key - \"operators\":"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"For example, current property::"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    \"cpu_info:vendor\": {"},{"line_number":41,"context_line":"        \"title\": \"Vendor\","}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_2cee3ded","line":38,"in_reply_to":"3a961159_c5b02b00","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"And after extension::"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    \"cpu_info:vendor\": {"},{"line_number":50,"context_line":"        \"title\": \"Vendor\","},{"line_number":51,"context_line":"        \"description\": \"Specifies the CPU manufacturer.\","},{"line_number":52,"context_line":"        \"operators\": ["}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_e5ac47a2","line":49,"updated":"2015-01-19 22:38:10.000000000","message":"If we use the .. code-block:: directive, we can tell it to highlight the  lines with the operators defined. Something like\n\n    .. code-block::\n        :highlight: 4-6\n\n        \"cpu_info:vendor\": {\n            ...\n        }","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \"\u003call-in\u003e\""},{"line_number":68,"context_line":"    ]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"This section will be optional, e.g. property that is integer does"},{"line_number":71,"context_line":"not need operator."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_8584630f","line":70,"updated":"2015-01-19 22:38:10.000000000","message":"This makes the upgrade process nice. I wonder if we should plan to transition, however, to it being an empty array by default.","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"aa85735910832d679841c452ded135f097bbe2b1","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \"\u003call-in\u003e\""},{"line_number":68,"context_line":"    ]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"This section will be optional, e.g. property that is integer does"},{"line_number":71,"context_line":"not need operator."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_105b4b55","line":70,"in_reply_to":"1a930d6b_4cd0e953","updated":"2015-01-21 15:25:56.000000000","message":"Please note that this is not planned and the reasoning why (beyond it not being convenient).","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \"\u003call-in\u003e\""},{"line_number":68,"context_line":"    ]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"This section will be optional, e.g. property that is integer does"},{"line_number":71,"context_line":"not need operator."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_4cd0e953","line":70,"in_reply_to":"3a961159_8584630f","updated":"2015-01-21 11:07:40.000000000","message":"We would need to extend json before validation against schema to be sure that it is correct, I don\u0027t think that we should do that.","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Data model impact"},{"line_number":78,"context_line":"-----------------"},{"line_number":79,"context_line":"This will not impact data model, because \"operators\" will be part"},{"line_number":80,"context_line":"of json schema which is under one column in database."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"REST API impact"},{"line_number":83,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_0578732b","line":80,"updated":"2015-01-19 22:38:10.000000000","message":"I think you mean something different regarding json schema.","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Data model impact"},{"line_number":78,"context_line":"-----------------"},{"line_number":79,"context_line":"This will not impact data model, because \"operators\" will be part"},{"line_number":80,"context_line":"of json schema which is under one column in database."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"REST API impact"},{"line_number":83,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_b10e0633","line":80,"in_reply_to":"3a961159_0578732b","updated":"2015-01-21 11:07:40.000000000","message":"\u0027json_schema\u0027 is name of a column in database. \u0027operators\u0027 will extend schema so there is no data model impact.","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Reviewers"},{"line_number":166,"context_line":"---------"},{"line_number":167,"context_line":"None"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Work Items"},{"line_number":170,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_65d4d7e9","line":167,"updated":"2015-01-19 22:38:10.000000000","message":"I think you need some cores here","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Testing"},{"line_number":185,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":186,"context_line":"Current unit tests and functional tests will be extended to make sure"},{"line_number":187,"context_line":"that the new section is returned and that it is correct."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_25f1ef96","line":186,"updated":"2015-01-19 22:38:10.000000000","message":"We also need to ensure that the operators part is optional.","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Testing"},{"line_number":185,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":186,"context_line":"Current unit tests and functional tests will be extended to make sure"},{"line_number":187,"context_line":"that the new section is returned and that it is correct."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_0c5501c6","line":186,"in_reply_to":"3a961159_25f1ef96","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"f8619d8a6fd12c4c2eac8ab09c26876e02d4ed81","unresolved":false,"context_lines":[{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Documentation Impact"},{"line_number":191,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":192,"context_line":"None"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_65ebf7a4","line":192,"updated":"2015-01-19 22:38:10.000000000","message":"This new attribute needs to be documented so there is documentation impact","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"1967ee9c43c348e467a45bdf247bcd258a4eb04a","unresolved":false,"context_lines":[{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Documentation Impact"},{"line_number":191,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":192,"context_line":"None"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a930d6b_2c52bddd","line":192,"in_reply_to":"3a961159_65ebf7a4","updated":"2015-01-21 11:07:40.000000000","message":"Done","commit_id":"f5d1c14b1fdaac6d2ba5b9a41ff1b52ecdf70079"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"55638f98547136a956915f55a28116eb4aa532e4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"This blueprint aims at this problem by extending current jsons with suitable"},{"line_number":18,"context_line":"operators for each property."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"https://blueprints.launchpad.net/glance/+spec/metadata-multivalue-operators-support"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a930d6b_5074f3fc","line":20,"updated":"2015-01-21 15:25:47.000000000","message":"Please move this up and place it beneath the line of \u003d\u0027s that underline the title of the spec.","commit_id":"de1247e14062a066a9f4d2411630428ba0563eda"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2a28ba45615dd82e99ba9150db209f6275c7277a","unresolved":false,"context_lines":[{"line_number":17,"context_line":"This blueprint aims at this problem by extending current jsons with suitable"},{"line_number":18,"context_line":"operators for each property."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"https://blueprints.launchpad.net/glance/+spec/metadata-multivalue-operators-support"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a930d6b_9bd3d237","line":20,"in_reply_to":"1a930d6b_5074f3fc","updated":"2015-01-21 19:43:42.000000000","message":"Done","commit_id":"de1247e14062a066a9f4d2411630428ba0563eda"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"55638f98547136a956915f55a28116eb4aa532e4","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        \"enum\": [\"Intel\", \"AMD\"]"},{"line_number":47,"context_line":"    }"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"And after extension::"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    \"cpu_info:vendor\": {"},{"line_number":52,"context_line":"        \"title\": \"Vendor\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a930d6b_10ffcb35","line":49,"updated":"2015-01-21 15:25:47.000000000","message":"Thoughts on using the code-block directive and having it highlight the added lines for extra emphasis? It seems far more reader-friendly.","commit_id":"de1247e14062a066a9f4d2411630428ba0563eda"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2a28ba45615dd82e99ba9150db209f6275c7277a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        \"enum\": [\"Intel\", \"AMD\"]"},{"line_number":47,"context_line":"    }"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"And after extension::"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    \"cpu_info:vendor\": {"},{"line_number":52,"context_line":"        \"title\": \"Vendor\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a930d6b_db0c7a97","line":49,"in_reply_to":"1a930d6b_10ffcb35","updated":"2015-01-21 19:43:42.000000000","message":"Haven\u0027t found anything that works and passes tests.","commit_id":"de1247e14062a066a9f4d2411630428ba0563eda"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"55638f98547136a956915f55a28116eb4aa532e4","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        \"\u003call-in\u003e\""},{"line_number":70,"context_line":"    ]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"This section will be optional, e.g. property that is integer does"},{"line_number":73,"context_line":"not need operator."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a930d6b_70bc8f6d","line":72,"updated":"2015-01-21 15:25:47.000000000","message":"Nit: Needs a , after \"e.g.\"\n\n    optional, e.g., property","commit_id":"de1247e14062a066a9f4d2411630428ba0563eda"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2a28ba45615dd82e99ba9150db209f6275c7277a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        \"\u003call-in\u003e\""},{"line_number":70,"context_line":"    ]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"This section will be optional, e.g. property that is integer does"},{"line_number":73,"context_line":"not need operator."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a930d6b_bbd88e54","line":72,"in_reply_to":"1a930d6b_70bc8f6d","updated":"2015-01-21 19:43:42.000000000","message":"Done","commit_id":"de1247e14062a066a9f4d2411630428ba0563eda"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"55638f98547136a956915f55a28116eb4aa532e4","unresolved":false,"context_lines":[{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"},{"line_number":81,"context_line":"This will not impact data model, because \"operators\" will be part"},{"line_number":82,"context_line":"of json schema which is under one column in database."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"REST API impact"},{"line_number":85,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a930d6b_10742bce","line":82,"updated":"2015-01-21 15:25:47.000000000","message":"Reword this to be more explicit please, e.g.,\n\n    because \"operators\" will be part of the blob stored in the ``json_schema`` column in the database table.","commit_id":"de1247e14062a066a9f4d2411630428ba0563eda"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2a28ba45615dd82e99ba9150db209f6275c7277a","unresolved":false,"context_lines":[{"line_number":79,"context_line":"Data model impact"},{"line_number":80,"context_line":"-----------------"},{"line_number":81,"context_line":"This will not impact data model, because \"operators\" will be part"},{"line_number":82,"context_line":"of json schema which is under one column in database."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"REST API impact"},{"line_number":85,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a930d6b_dbdd5a44","line":82,"in_reply_to":"1a930d6b_10742bce","updated":"2015-01-21 19:43:42.000000000","message":"Done","commit_id":"de1247e14062a066a9f4d2411630428ba0563eda"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"55638f98547136a956915f55a28116eb4aa532e4","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Reviewers"},{"line_number":168,"context_line":"---------"},{"line_number":169,"context_line":"None"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Work Items"},{"line_number":172,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a930d6b_7031ef0a","line":169,"updated":"2015-01-21 15:25:47.000000000","message":"You still need to add core-reviewers to this.","commit_id":"de1247e14062a066a9f4d2411630428ba0563eda"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2a28ba45615dd82e99ba9150db209f6275c7277a","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Reviewers"},{"line_number":168,"context_line":"---------"},{"line_number":169,"context_line":"None"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Work Items"},{"line_number":172,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1a930d6b_9bbaf2df","line":169,"in_reply_to":"1a930d6b_7031ef0a","updated":"2015-01-21 19:43:42.000000000","message":"I\u0027m aware of this.","commit_id":"de1247e14062a066a9f4d2411630428ba0563eda"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"cc1c03b75c4f92dd0dfb79e4df0db622bc937b29","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        \"description\": \"Specifies the CPU manufacturer.\","},{"line_number":54,"context_line":"        \"operators\": ["},{"line_number":55,"context_line":"            \"\u003cor\u003e\","},{"line_number":56,"context_line":"            \"\u003call-in\u003e\""},{"line_number":57,"context_line":"        ],"},{"line_number":58,"context_line":"        \"type\": \"string\","},{"line_number":59,"context_line":"        \"enum\": ["}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_16a642c1","line":56,"updated":"2015-02-19 05:54:21.000000000","message":"This example here is confused, I think all-in is not suitable for vendor, host cpu can\u0027t be manufactured by Intel and AMD. So to prevent confusion we can example cpu feaure instead, IMO.","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"36b5fa109e156c715c0d1e73820f40757cb28c9c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        \"description\": \"Specifies the CPU manufacturer.\","},{"line_number":54,"context_line":"        \"operators\": ["},{"line_number":55,"context_line":"            \"\u003cor\u003e\","},{"line_number":56,"context_line":"            \"\u003call-in\u003e\""},{"line_number":57,"context_line":"        ],"},{"line_number":58,"context_line":"        \"type\": \"string\","},{"line_number":59,"context_line":"        \"enum\": ["}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_639a5963","line":56,"in_reply_to":"da86d52c_16a642c1","updated":"2015-02-19 09:15:06.000000000","message":"Agree","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"cc1c03b75c4f92dd0dfb79e4df0db622bc937b29","unresolved":false,"context_lines":[{"line_number":120,"context_line":"                \"type\": \"string\","},{"line_number":121,"context_line":"                \"readonly\": false,"},{"line_number":122,"context_line":"                \"description\": \"The My Property\","},{"line_number":123,"context_line":"                \"operators\": [\"\u003cor\u003e\"],"},{"line_number":124,"context_line":"                \"enum\": [\"type1\", \"type2\"]"},{"line_number":125,"context_line":"            }"},{"line_number":126,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_b6aad66e","line":123,"updated":"2015-02-19 05:54:21.000000000","message":"Is this a required field ? What\u0027s the default value when request body missed the value? \u0027or\u0027, \u0027in\u0027 or \u0027Null\u0027?","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"36b5fa109e156c715c0d1e73820f40757cb28c9c","unresolved":false,"context_lines":[{"line_number":120,"context_line":"                \"type\": \"string\","},{"line_number":121,"context_line":"                \"readonly\": false,"},{"line_number":122,"context_line":"                \"description\": \"The My Property\","},{"line_number":123,"context_line":"                \"operators\": [\"\u003cor\u003e\"],"},{"line_number":124,"context_line":"                \"enum\": [\"type1\", \"type2\"]"},{"line_number":125,"context_line":"            }"},{"line_number":126,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_43ae3582","line":123,"in_reply_to":"da86d52c_765f7e41","updated":"2015-02-19 09:15:06.000000000","message":"This isn\u0027t required. I mentioned this in \u0027proposed changes\u0027. There is no default value.\n\nI wanted to keep consistency, e.g., \u0027readonly\u0027 field is not required and there\u0027s also no default value. We don\u0027t provide default value for any field that is stored inside json_schema column in DB.","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"2a2d86d108d4fc0b157095e969e618db4549ac00","unresolved":false,"context_lines":[{"line_number":120,"context_line":"                \"type\": \"string\","},{"line_number":121,"context_line":"                \"readonly\": false,"},{"line_number":122,"context_line":"                \"description\": \"The My Property\","},{"line_number":123,"context_line":"                \"operators\": [\"\u003cor\u003e\"],"},{"line_number":124,"context_line":"                \"enum\": [\"type1\", \"type2\"]"},{"line_number":125,"context_line":"            }"},{"line_number":126,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_765f7e41","line":123,"in_reply_to":"da86d52c_b6aad66e","updated":"2015-02-19 05:57:36.000000000","message":"Oops I mean \u0027None\u0027, these days I wrote some C code.","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"cc1c03b75c4f92dd0dfb79e4df0db622bc937b29","unresolved":false,"context_lines":[{"line_number":145,"context_line":"Other deployer impact"},{"line_number":146,"context_line":"---------------------"},{"line_number":147,"context_line":"Upgrade of jsons or database in existing OpenStack installation will not"},{"line_number":148,"context_line":"be needed. \"operators\" section will not be mandatory so the installation"},{"line_number":149,"context_line":"can keep running without upgrade."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_f6b7eed5","line":148,"updated":"2015-02-19 05:54:21.000000000","message":"A similar question, what\u0027s the GET api result if the value missed in existing db?","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"d49b97e574534ace70aea8d27759604d40dbf181","unresolved":false,"context_lines":[{"line_number":145,"context_line":"Other deployer impact"},{"line_number":146,"context_line":"---------------------"},{"line_number":147,"context_line":"Upgrade of jsons or database in existing OpenStack installation will not"},{"line_number":148,"context_line":"be needed. \"operators\" section will not be mandatory so the installation"},{"line_number":149,"context_line":"can keep running without upgrade."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba7be1f8_227a0624","line":148,"in_reply_to":"da86d52c_0cdc53e3","updated":"2015-02-26 08:17:02.000000000","message":"Done","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"04498a5d207ed084e6bfad54a1025242482763fe","unresolved":false,"context_lines":[{"line_number":145,"context_line":"Other deployer impact"},{"line_number":146,"context_line":"---------------------"},{"line_number":147,"context_line":"Upgrade of jsons or database in existing OpenStack installation will not"},{"line_number":148,"context_line":"be needed. \"operators\" section will not be mandatory so the installation"},{"line_number":149,"context_line":"can keep running without upgrade."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba7be1f8_5ddded13","line":148,"in_reply_to":"da86d52c_0cdc53e3","updated":"2015-02-20 09:47:01.000000000","message":"Sure, will do.","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"8fdb071f31e14f55416f6dbe6123038b1b6b6cd0","unresolved":false,"context_lines":[{"line_number":145,"context_line":"Other deployer impact"},{"line_number":146,"context_line":"---------------------"},{"line_number":147,"context_line":"Upgrade of jsons or database in existing OpenStack installation will not"},{"line_number":148,"context_line":"be needed. \"operators\" section will not be mandatory so the installation"},{"line_number":149,"context_line":"can keep running without upgrade."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_0cdc53e3","line":148,"in_reply_to":"da86d52c_83dcade5","updated":"2015-02-19 19:04:41.000000000","message":"OK, and according to above answer, so client side like Horizon will take care 1) provide proper operator value for the property, glance will not do any check on it; and 2) client needs to handle default value when expected operator field missed due to a property could miss the operator even the value has added in latest built-in metadef json template, the upgrade process don\u0027t update existing db.\n\nWould you mind to add this two points in the spec?","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"36b5fa109e156c715c0d1e73820f40757cb28c9c","unresolved":false,"context_lines":[{"line_number":145,"context_line":"Other deployer impact"},{"line_number":146,"context_line":"---------------------"},{"line_number":147,"context_line":"Upgrade of jsons or database in existing OpenStack installation will not"},{"line_number":148,"context_line":"be needed. \"operators\" section will not be mandatory so the installation"},{"line_number":149,"context_line":"can keep running without upgrade."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_83dcade5","line":148,"in_reply_to":"da86d52c_f6b7eed5","updated":"2015-02-19 09:15:06.000000000","message":"\u0027operators\u0027 field is not included.","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"8fdb071f31e14f55416f6dbe6123038b1b6b6cd0","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Reviewers"},{"line_number":168,"context_line":"---------"},{"line_number":169,"context_line":"None"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Work Items"},{"line_number":172,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_cc9cfb10","line":169,"updated":"2015-02-19 19:04:41.000000000","message":"Sure, you can list me at here.","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"d49b97e574534ace70aea8d27759604d40dbf181","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Reviewers"},{"line_number":168,"context_line":"---------"},{"line_number":169,"context_line":"None"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Work Items"},{"line_number":172,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba7be1f8_8292d249","line":169,"in_reply_to":"da86d52c_cc9cfb10","updated":"2015-02-26 08:17:02.000000000","message":"Done","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"cc1c03b75c4f92dd0dfb79e4df0db622bc937b29","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Documentation Impact"},{"line_number":194,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":195,"context_line":"The new attribute needs to be documented."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_d6d3cafe","line":195,"updated":"2015-02-19 05:54:21.000000000","message":"Btw, did you plan to use https://review.openstack.org/#/c/148213/ cover this doc work item or a separated one which I didn\u0027t know it yet?","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"6df9eb89e3599a708584aec02531732791d4a8d1","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Documentation Impact"},{"line_number":194,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":195,"context_line":"The new attribute needs to be documented."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_57e4183b","line":195,"in_reply_to":"da86d52c_2c1cb712","updated":"2015-02-19 19:17:04.000000000","message":"I checked https://github.com/openstack/glance/blob/master/doc/source/metadefs-concepts.rst , seems it\u0027s ok dut to the level of the information is too high to describe this kind of details. Double check probably is needed.","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"8fdb071f31e14f55416f6dbe6123038b1b6b6cd0","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Documentation Impact"},{"line_number":194,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":195,"context_line":"The new attribute needs to be documented."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_2c1cb712","line":195,"in_reply_to":"da86d52c_3ea6b8c1","updated":"2015-02-19 19:04:41.000000000","message":"OK. And I\u0027m not sure if glance in tree doc has related stuff need to be updated, probably need to check.","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"36b5fa109e156c715c0d1e73820f40757cb28c9c","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Documentation Impact"},{"line_number":194,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":195,"context_line":"The new attribute needs to be documented."},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da86d52c_3ea6b8c1","line":195,"in_reply_to":"da86d52c_d6d3cafe","updated":"2015-02-19 09:15:06.000000000","message":"DocImpact tag in review that you provided should generate bug in manuals (it should be covered in manuals I think).","commit_id":"8f71149af39eb8c02b4e8567aea01ff3b2c094d8"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"c9fb1484811a66963769049e254eb8349d0f400d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            \"enum\": ["},{"line_number":49,"context_line":"                \"aes\","},{"line_number":50,"context_line":"                \"vme\","},{"line_number":51,"context_line":"                \"de\""},{"line_number":52,"context_line":"        }"},{"line_number":53,"context_line":"    }"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba7be1f8_57d6c828","line":51,"updated":"2015-02-26 14:53:08.000000000","message":"silly nit, this isn\u0027t valid JSON, you\u0027re missing a closing ]","commit_id":"908d3db192ad51d22c3b8e848f03f1356390a86b"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"c9fb1484811a66963769049e254eb8349d0f400d","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            \"enum\": ["},{"line_number":68,"context_line":"                \"aes\","},{"line_number":69,"context_line":"                \"vme\","},{"line_number":70,"context_line":"                \"de\""},{"line_number":71,"context_line":"        }"},{"line_number":72,"context_line":"    }"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba7be1f8_77d90c56","line":70,"updated":"2015-02-26 14:53:08.000000000","message":"same as above","commit_id":"908d3db192ad51d22c3b8e848f03f1356390a86b"}]}
