)]}'
{"specs/liberty/approved/flavor-cell-api.rst":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4b06d18db7846f0566291da8554c153c1a249a4b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"Project Priority"},{"line_number":40,"context_line":"-----------------"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Nova Cell v2 is a project priority in liberty."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_6e2c1999","line":42,"range":{"start_line":42,"start_character":5,"end_line":42,"end_character":12},"updated":"2015-06-10 15:10:53.000000000","message":"This should be \"cellsv2\" for consistency","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},"change_message_id":"c4a14aa3d13b8014e267bb3f78a6a17eaac4f410","unresolved":false,"context_lines":[{"line_number":39,"context_line":"Project Priority"},{"line_number":40,"context_line":"-----------------"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Nova Cell v2 is a project priority in liberty."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_a01a32c4","line":42,"in_reply_to":"3afb71cf_6e2c1999","updated":"2015-06-18 17:33:53.000000000","message":"Done","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4b06d18db7846f0566291da8554c153c1a249a4b","unresolved":false,"context_lines":[{"line_number":55,"context_line":"flavors tables in Cellsv2 have the same model as in Cellv1. Any change in the"},{"line_number":56,"context_line":"tables should be applied in both databases."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Migration of data to the new tables will be handled in a different spec."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_0e6c85cc","line":58,"updated":"2015-06-10 15:10:53.000000000","message":"Migration needs to be a fundamental part of this I think. Why does it need to be separate?\n\nI think we\u0027ll need to land a tool to do the migration before the data is required. I\u0027m not sure an online migration between the two makes sense here, given that an object would need to talk to multiple databases at the same time. Maybe the API could ask both the API and cell databases for a list of flavors, merge the two lists, giving priority to the api-level ones if there are conflicts?","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"08d7ad7bb55ddab04a62397d92f4fa2a237961ee","unresolved":false,"context_lines":[{"line_number":55,"context_line":"flavors tables in Cellsv2 have the same model as in Cellv1. Any change in the"},{"line_number":56,"context_line":"tables should be applied in both databases."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Migration of data to the new tables will be handled in a different spec."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_373ce992","line":58,"in_reply_to":"1af86dd1_15c1f2e4","updated":"2015-06-12 13:25:05.000000000","message":"There will need to be at least a nova-manage command.  I could see this being done online too, but given that there shouldn\u0027t be a huge number of flavors and it wouldn\u0027t take long to do via nova-manage I would lean towards keeping it simple and just doing it that way.","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":2033,"name":"Belmiro Moreira","email":"moreira.belmiro.email.lists@gmail.com","username":"moreira-belmiro-email-lists"},"change_message_id":"7dcced436d22ee7f03eeaa4b3c5ff453807a7aac","unresolved":false,"context_lines":[{"line_number":55,"context_line":"flavors tables in Cellsv2 have the same model as in Cellv1. Any change in the"},{"line_number":56,"context_line":"tables should be applied in both databases."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Migration of data to the new tables will be handled in a different spec."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_d4223c01","line":58,"in_reply_to":"1af86dd1_373ce992","updated":"2015-06-15 20:32:15.000000000","message":"Yes, migration should be mention as well. Since is a small data migration I don\u0027t see any advantage in have it outside nova-manage. I think that only data in the current API cell (for existing cells deployments) should be considered.","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"13790f67c1be67db98342d4a0f5465b321de943e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"flavors tables in Cellsv2 have the same model as in Cellv1. Any change in the"},{"line_number":56,"context_line":"tables should be applied in both databases."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Migration of data to the new tables will be handled in a different spec."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_15c1f2e4","line":58,"in_reply_to":"1af86dd1_40032f10","updated":"2015-06-12 08:30:16.000000000","message":"Agreed with Dan, do you plan the data migration on the fly using the Flavor and Instance objects or using nova-manage ?","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},"change_message_id":"0925f3eb2fb8ffab60e017b71fbccfd0d7a42fa1","unresolved":false,"context_lines":[{"line_number":55,"context_line":"flavors tables in Cellsv2 have the same model as in Cellv1. Any change in the"},{"line_number":56,"context_line":"tables should be applied in both databases."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Migration of data to the new tables will be handled in a different spec."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_40032f10","line":58,"in_reply_to":"3afb71cf_0e6c85cc","updated":"2015-06-12 06:06:06.000000000","message":"Okay. We are working on the migration part.\n\nFlavors in cells (not present in parent) anyways won\u0027t be accessible by nova-api. So, should the migrate use those flavors as well?","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"13790f67c1be67db98342d4a0f5465b321de943e","unresolved":false,"context_lines":[{"line_number":71,"context_line":"corresponding schema is also detailed below each,"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* \u0027instance_types\u0027:::"},{"line_number":74,"context_line":"    CREATE TABLE `instance_types` ("},{"line_number":75,"context_line":"        `created_at` datetime DEFAULT NULL,"},{"line_number":76,"context_line":"        `updated_at` datetime DEFAULT NULL,"},{"line_number":77,"context_line":"        `deleted_at` datetime DEFAULT NULL,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_1568d2f4","line":74,"updated":"2015-06-12 08:30:16.000000000","message":"Did we agreed to use the word \u0027flavor\u0027 for describing now the concept, or are we still happy with instance_type (open question) ?","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},"change_message_id":"c4a14aa3d13b8014e267bb3f78a6a17eaac4f410","unresolved":false,"context_lines":[{"line_number":71,"context_line":"corresponding schema is also detailed below each,"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* \u0027instance_types\u0027:::"},{"line_number":74,"context_line":"    CREATE TABLE `instance_types` ("},{"line_number":75,"context_line":"        `created_at` datetime DEFAULT NULL,"},{"line_number":76,"context_line":"        `updated_at` datetime DEFAULT NULL,"},{"line_number":77,"context_line":"        `deleted_at` datetime DEFAULT NULL,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_0082fec7","line":74,"in_reply_to":"1af86dd1_1568d2f4","updated":"2015-06-18 17:33:53.000000000","message":"Done","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"08d7ad7bb55ddab04a62397d92f4fa2a237961ee","unresolved":false,"context_lines":[{"line_number":71,"context_line":"corresponding schema is also detailed below each,"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* \u0027instance_types\u0027:::"},{"line_number":74,"context_line":"    CREATE TABLE `instance_types` ("},{"line_number":75,"context_line":"        `created_at` datetime DEFAULT NULL,"},{"line_number":76,"context_line":"        `updated_at` datetime DEFAULT NULL,"},{"line_number":77,"context_line":"        `deleted_at` datetime DEFAULT NULL,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_9755ddc7","line":74,"in_reply_to":"1af86dd1_1568d2f4","updated":"2015-06-12 13:25:05.000000000","message":"Good point here.  We use flavor everywhere except the table name because it wasn\u0027t worth the effort to change it.  This is a great time to do that.","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":2033,"name":"Belmiro Moreira","email":"moreira.belmiro.email.lists@gmail.com","username":"moreira-belmiro-email-lists"},"change_message_id":"7dcced436d22ee7f03eeaa4b3c5ff453807a7aac","unresolved":false,"context_lines":[{"line_number":71,"context_line":"corresponding schema is also detailed below each,"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* \u0027instance_types\u0027:::"},{"line_number":74,"context_line":"    CREATE TABLE `instance_types` ("},{"line_number":75,"context_line":"        `created_at` datetime DEFAULT NULL,"},{"line_number":76,"context_line":"        `updated_at` datetime DEFAULT NULL,"},{"line_number":77,"context_line":"        `deleted_at` datetime DEFAULT NULL,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa32b979_34a288af","line":74,"in_reply_to":"1af86dd1_9755ddc7","updated":"2015-06-15 20:32:15.000000000","message":"Agreed.","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"13790f67c1be67db98342d4a0f5465b321de943e","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    This table will have a unique constraint on (instance_type_id, project_id,"},{"line_number":123,"context_line":"    deleted) attribute"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"REST API impact"},{"line_number":127,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_7581468f","line":124,"updated":"2015-06-12 08:30:16.000000000","message":"I would be interested in checking the mapping with the Flavor object and how you plan to .save() it","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4b06d18db7846f0566291da8554c153c1a249a4b","unresolved":false,"context_lines":[{"line_number":146,"context_line":"Performance Impact"},{"line_number":147,"context_line":"------------------"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"None"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Other deployer impact"},{"line_number":152,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_4e7b9d7b","line":149,"updated":"2015-06-10 15:10:53.000000000","message":"There will certainly be some performance impact early on because of migration overhead and bridging the gap.","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4b06d18db7846f0566291da8554c153c1a249a4b","unresolved":false,"context_lines":[{"line_number":151,"context_line":"Other deployer impact"},{"line_number":152,"context_line":"---------------------"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"None"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Developer impact"},{"line_number":157,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3afb71cf_8ed3d55f","line":154,"updated":"2015-06-10 15:10:53.000000000","message":"The migration bit will require manual operator intervention.","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"13790f67c1be67db98342d4a0f5465b321de943e","unresolved":false,"context_lines":[{"line_number":151,"context_line":"Other deployer impact"},{"line_number":152,"context_line":"---------------------"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"None"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Developer impact"},{"line_number":157,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1af86dd1_b55e9e43","line":154,"in_reply_to":"3afb71cf_8ed3d55f","updated":"2015-06-12 08:30:16.000000000","message":"+1","commit_id":"7d651ae11cd82df55e8b08ee228a362278a0cf0d"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"ed1eaaf9554bf35ce1a3304f25fb32f18e0e06e9","unresolved":false,"context_lines":[{"line_number":58,"context_line":"The flavor object will be modified to interact with the tables in the API"},{"line_number":59,"context_line":"database. The create() and save() method will be updated to use the API DB"},{"line_number":60,"context_line":"tables. The get_by_*() methods will be modified so that they lookup the API DB"},{"line_number":61,"context_line":"first and then fall-back to old nova DB while loading flavors. The destroy()"},{"line_number":62,"context_line":"method will remove flavors from both the databases. This will ensure that all"},{"line_number":63,"context_line":"flavor related operations are done on the new table and older flavors are also"},{"line_number":64,"context_line":"actively migrated to the new table as they are used. The existing flavor"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba3cc151_524900b6","line":61,"updated":"2015-07-01 21:32:12.000000000","message":"I think it would be good to have just a little more detail on how flavor_get_all db method will work.  It will need to query both databases and merge the results.","commit_id":"07c8aee708dc007fd720bd29bfc7963d4b7854b9"},{"author":{"_account_id":13530,"name":"Vineet Menon","email":"mvineetmenon@gmail.com","username":"vmenon"},"change_message_id":"60c6219537e3aa217ccc2cd2102e964cde64f00b","unresolved":false,"context_lines":[{"line_number":58,"context_line":"The flavor object will be modified to interact with the tables in the API"},{"line_number":59,"context_line":"database. The create() and save() method will be updated to use the API DB"},{"line_number":60,"context_line":"tables. The get_by_*() methods will be modified so that they lookup the API DB"},{"line_number":61,"context_line":"first and then fall-back to old nova DB while loading flavors. The destroy()"},{"line_number":62,"context_line":"method will remove flavors from both the databases. This will ensure that all"},{"line_number":63,"context_line":"flavor related operations are done on the new table and older flavors are also"},{"line_number":64,"context_line":"actively migrated to the new table as they are used. The existing flavor"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba3cc151_a827aac8","line":61,"in_reply_to":"ba3cc151_524900b6","updated":"2015-07-02 10:16:53.000000000","message":"Done","commit_id":"07c8aee708dc007fd720bd29bfc7963d4b7854b9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a559b6ce4e4f5c0376f3bc3114e017ff552b1f4c","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        `ephemeral_gb` int(11) DEFAULT NULL,"},{"line_number":109,"context_line":"        `disabled` tinyint(1) DEFAULT NULL,"},{"line_number":110,"context_line":"        `is_public` tinyint(1) DEFAULT NULL,"},{"line_number":111,"context_line":"        `deleted` int(11) DEFAULT NULL)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    This table will have unique constraints on (name, deleted) and (flavorid,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba3cc151_907b198c","line":111,"updated":"2015-07-01 14:29:38.000000000","message":"Do we want to remove flavor soft-delete as part of this move?","commit_id":"07c8aee708dc007fd720bd29bfc7963d4b7854b9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"0863f916b6b4e1d0207b3f0a93bfdc975fedaf09","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        `ephemeral_gb` int(11) DEFAULT NULL,"},{"line_number":109,"context_line":"        `disabled` tinyint(1) DEFAULT NULL,"},{"line_number":110,"context_line":"        `is_public` tinyint(1) DEFAULT NULL,"},{"line_number":111,"context_line":"        `deleted` int(11) DEFAULT NULL)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    This table will have unique constraints on (name, deleted) and (flavorid,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba3cc151_d7e50c38","line":111,"in_reply_to":"ba3cc151_907b198c","updated":"2015-07-01 17:17:18.000000000","message":"Yeah, I think it\u0027s OK for removing the field, but I don\u0027t really want to have this spec being dependent on blueprint soft-delete \n\nTo be clear, we agreed on not having tis field on the implementation, that\u0027s fair but just an implementation detail. Please, reviewers, don\u0027t do yakshaving for that.","commit_id":"07c8aee708dc007fd720bd29bfc7963d4b7854b9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"872ce991a9a58d92d3dcbee066ac3d9e2805aabb","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        `ephemeral_gb` int(11) DEFAULT NULL,"},{"line_number":109,"context_line":"        `disabled` tinyint(1) DEFAULT NULL,"},{"line_number":110,"context_line":"        `is_public` tinyint(1) DEFAULT NULL,"},{"line_number":111,"context_line":"        `deleted` int(11) DEFAULT NULL)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    This table will have unique constraints on (name, deleted) and (flavorid,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba3cc151_0498cf1a","line":111,"in_reply_to":"ba3cc151_b2796c84","updated":"2015-07-03 08:45:26.000000000","message":"yeah, thats probably the correct call","commit_id":"07c8aee708dc007fd720bd29bfc7963d4b7854b9"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"ed1eaaf9554bf35ce1a3304f25fb32f18e0e06e9","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        `ephemeral_gb` int(11) DEFAULT NULL,"},{"line_number":109,"context_line":"        `disabled` tinyint(1) DEFAULT NULL,"},{"line_number":110,"context_line":"        `is_public` tinyint(1) DEFAULT NULL,"},{"line_number":111,"context_line":"        `deleted` int(11) DEFAULT NULL)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    This table will have unique constraints on (name, deleted) and (flavorid,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ba3cc151_b2796c84","line":111,"in_reply_to":"ba3cc151_d7e50c38","updated":"2015-07-01 21:32:12.000000000","message":"I\u0027m not sure what the latest status is on determining what needs to stay around in a soft-deleted state and what doesn\u0027t.  Rather than risking an issue during the migration if it turns out that flavors need to be soft-deleted for some reason I would like to decouple the migration here from the removal of soft-delete.","commit_id":"07c8aee708dc007fd720bd29bfc7963d4b7854b9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"82e4c305db61ab0f516b87a1e0962e85115413cf","unresolved":false,"context_lines":[{"line_number":65,"context_line":"API DB and nova DB. It will query the API DB and then query the nova DB to"},{"line_number":66,"context_line":"get the flavors not yet present in API DB."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"The destroy() method will remove flavors from both the databases. This will"},{"line_number":70,"context_line":"ensure that all flavor related operations are done on the new table and older"},{"line_number":71,"context_line":"flavors are also actively migrated to the new table as they are used. The"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba3cc151_24c2b3e9","line":68,"updated":"2015-07-03 08:48:09.000000000","message":"nit: extra line, but no big deal","commit_id":"52cce0c7512b290369238c6e6cc4781aa280a255"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"82e4c305db61ab0f516b87a1e0962e85115413cf","unresolved":false,"context_lines":[{"line_number":83,"context_line":"This command will copy flavor entries from top-level cell DB to the new API DB."},{"line_number":84,"context_line":"It will take no parameters and on execution read the data from flavor tables"},{"line_number":85,"context_line":"(instance_types, instance_type_extra_specs and instance_type_projects) and put"},{"line_number":86,"context_line":"it into the corresponsing tables in API DB if it doesn\u0027t already exist."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Alternatives"},{"line_number":89,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ba3cc151_e46e0bff","line":86,"updated":"2015-07-03 08:48:09.000000000","message":"Honestly, not sure we need such detail in this section, lots of this just comes out in the code review I suspect. But I am cool with that.","commit_id":"52cce0c7512b290369238c6e6cc4781aa280a255"}]}
