)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7eb9b6c88986dcd102511f7d9a4f8f470f811a66","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     John Garbutt \u003cjohn.garbutt@rackspace.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-08-21 18:44:44 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"docs: add the concept of Feature Classifcation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Write up the concept of feature classification,"},{"line_number":10,"context_line":"in the hope this can spark some ideas."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da20952f_3fabeb76","line":7,"updated":"2015-08-30 11:30:23.000000000","message":"Classifcation \u003d\u003e Classification","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"77c6511179e75ece45dd255a9e33a02c82af6e5f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     John Garbutt \u003cjohn.garbutt@rackspace.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-08-21 18:44:44 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"docs: add the concept of Feature Classifcation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Write up the concept of feature classification,"},{"line_number":10,"context_line":"in the hope this can spark some ideas."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da20952f_623188a1","line":7,"in_reply_to":"da20952f_3fabeb76","updated":"2015-09-07 13:52:03.000000000","message":"Done","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"}],"doc/source/feature_classification.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9859f64fec63e4c288205b6be307d1d195e5e6d4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Tell our users what features are completed, well documented, and are kept"},{"line_number":18,"context_line":"  stable by good tests. They should get a good experience if they stick to"},{"line_number":19,"context_line":"  these sets of features."},{"line_number":20,"context_line":"  "},{"line_number":21,"context_line":"* Get help for the features that are not in the above state, and warn our"},{"line_number":22,"context_line":"  users about the risks of using those features before they are ready."},{"line_number":23,"context_line":"  It should make it much clearer how to help improve the feature."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa1b9901_f4869815","line":20,"updated":"2015-08-21 17:48:00.000000000","message":"whitespace!!!","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"77c6511179e75ece45dd255a9e33a02c82af6e5f","unresolved":false,"context_lines":[{"line_number":17,"context_line":"* Tell our users what features are completed, well documented, and are kept"},{"line_number":18,"context_line":"  stable by good tests. They should get a good experience if they stick to"},{"line_number":19,"context_line":"  these sets of features."},{"line_number":20,"context_line":"  "},{"line_number":21,"context_line":"* Get help for the features that are not in the above state, and warn our"},{"line_number":22,"context_line":"  users about the risks of using those features before they are ready."},{"line_number":23,"context_line":"  It should make it much clearer how to help improve the feature."}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_c222d451","line":20,"in_reply_to":"fa1b9901_f4869815","updated":"2015-09-07 13:52:03.000000000","message":"Done","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7eb9b6c88986dcd102511f7d9a4f8f470f811a66","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* application developer: creates and deletes servers"},{"line_number":36,"context_line":"* cloud operator: administers the cloud"},{"line_number":37,"context_line":"* self service administrator: both runs and users the cloud"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Now in reality the picture is way more complex. Specifically, there are"},{"line_number":40,"context_line":"likely to be different roles for observer, creator and admin roles for"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_5fbfbfa9","line":37,"updated":"2015-08-30 11:30:23.000000000","message":"users  \u003d\u003e uses ?","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"77c6511179e75ece45dd255a9e33a02c82af6e5f","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* application developer: creates and deletes servers"},{"line_number":36,"context_line":"* cloud operator: administers the cloud"},{"line_number":37,"context_line":"* self service administrator: both runs and users the cloud"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Now in reality the picture is way more complex. Specifically, there are"},{"line_number":40,"context_line":"likely to be different roles for observer, creator and admin roles for"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_c24174aa","line":37,"in_reply_to":"da20952f_5fbfbfa9","updated":"2015-09-07 13:52:03.000000000","message":"Done","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7eb9b6c88986dcd102511f7d9a4f8f470f811a66","unresolved":false,"context_lines":[{"line_number":75,"context_line":"* Experimental"},{"line_number":76,"context_line":"* Complete"},{"line_number":77,"context_line":"* Required"},{"line_number":78,"context_line":"* Deprecated (scheduled to be removed in the next release)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Experimental features should be used with extreme caution. Firstly, they are"},{"line_number":81,"context_line":"unlikely to have enough functionality to satisfy real world use cases, and"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_5fd6dff1","line":78,"updated":"2015-08-30 11:30:23.000000000","message":"I really think that you need to add Incomplete here. With the current state of affirs in nova it takes on average about 3 months for a trivial fix to land and in some cases over 6 months for features to land. In some cases cross project features are broken - I can off hand mention at least 4 that I am aware of.\nThis is extremely frustrating for users, developers and guys testing this stuff. We have got to stage when it is just unbearable.\nToday people need to cherry pick patches to get cross project features to work","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":6772,"name":"Stephen Gordon","email":"sgordon@redhat.com","username":"sgordon"},"change_message_id":"bbb1c12b2220b14bc450311462adc0cd6d88c45a","unresolved":false,"context_lines":[{"line_number":99,"context_line":"would be allowed in upstream Nova."},{"line_number":100,"context_line":"Please note that this list is technically completed unrelated to the DefCore"},{"line_number":101,"context_line":"effort, despite there being obvious parallels that could be drawn."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Deployment Rating for a Feature Group"},{"line_number":104,"context_line":"--------------------------------------"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa1b9901_8854caca","line":102,"updated":"2015-08-22 11:57:06.000000000","message":"Seems like an explanation of required (redundant as that may seem) and explanation of how deprecation would be highlighted to the community (or link to a document outlining the process) would fit here? The bulleted list that kicks off this section kind of asks the question but then the section only covers experimental and complete.","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"77c6511179e75ece45dd255a9e33a02c82af6e5f","unresolved":false,"context_lines":[{"line_number":99,"context_line":"would be allowed in upstream Nova."},{"line_number":100,"context_line":"Please note that this list is technically completed unrelated to the DefCore"},{"line_number":101,"context_line":"effort, despite there being obvious parallels that could be drawn."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Deployment Rating for a Feature Group"},{"line_number":104,"context_line":"--------------------------------------"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_c2ddf4e0","line":102,"in_reply_to":"fa1b9901_8854caca","updated":"2015-09-07 13:52:03.000000000","message":"for completeness, that totally makes sense.","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":6772,"name":"Stephen Gordon","email":"sgordon@redhat.com","username":"sgordon"},"change_message_id":"b4f6789362c3e75fa42faf6ab63bafed1228efb8","unresolved":false,"context_lines":[{"line_number":163,"context_line":"Ability to pause your instance, and either save  RAM state to disk (suspend),"},{"line_number":164,"context_line":"or leave the RAM in memory, with the opposite."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Attaching additional Stroage using Volumes"},{"line_number":167,"context_line":"-------------------------------------------"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Status: Required"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa1b9901_88bdaa04","line":166,"updated":"2015-08-22 11:43:27.000000000","message":"Storage","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"77c6511179e75ece45dd255a9e33a02c82af6e5f","unresolved":false,"context_lines":[{"line_number":163,"context_line":"Ability to pause your instance, and either save  RAM state to disk (suspend),"},{"line_number":164,"context_line":"or leave the RAM in memory, with the opposite."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Attaching additional Stroage using Volumes"},{"line_number":167,"context_line":"-------------------------------------------"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Status: Required"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_2245d06d","line":166,"in_reply_to":"fa1b9901_88bdaa04","updated":"2015-09-07 13:52:03.000000000","message":"Done","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":6772,"name":"Stephen Gordon","email":"sgordon@redhat.com","username":"sgordon"},"change_message_id":"bbb1c12b2220b14bc450311462adc0cd6d88c45a","unresolved":false,"context_lines":[{"line_number":233,"context_line":"--------------------------------"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"A specific instance of QoS, where workload processing is very time sensitive."},{"line_number":236,"context_line":"This is particularly relevant to NFV (Network Function Virtualization)."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"Hypervisor Specific Performance Tuning"},{"line_number":239,"context_line":"--------------------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa1b9901_c8716279","line":236,"updated":"2015-08-22 11:57:06.000000000","message":"We might want to make this a little more generic, as a group, than just real-time. I see this item and performance tuning below as kind of blurred. Real-time workloads certainly have special needs but they would typically also build on other perf features like pinning, huge pages, etc. - i see all of these as inter-related depending on exactly what types of high perf workloads you are running. I guess the only thing is that while even fairly generic workloads can benefit from e.g. pinning real-time typically requires a workload specifically designed with it in mind to provide benefit.","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c584d2c00de840a41fb6fe275aeea927e8dc8239","unresolved":false,"context_lines":[{"line_number":233,"context_line":"--------------------------------"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"A specific instance of QoS, where workload processing is very time sensitive."},{"line_number":236,"context_line":"This is particularly relevant to NFV (Network Function Virtualization)."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"Hypervisor Specific Performance Tuning"},{"line_number":239,"context_line":"--------------------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_d654d9fe","line":236,"in_reply_to":"fa1b9901_c8716279","updated":"2015-09-07 13:55:12.000000000","message":"yes, this needs a lot more work.\n\nTo me the split is workload (image) specific vs hardware/setup specific.\n\nI.e. what features need to be exposed to the end user or not.\n\nNow I don\u0027t think real-time really cuts it, its just a starting idea really.","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":6772,"name":"Stephen Gordon","email":"sgordon@redhat.com","username":"sgordon"},"change_message_id":"bbb1c12b2220b14bc450311462adc0cd6d88c45a","unresolved":false,"context_lines":[{"line_number":284,"context_line":"----------------------"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Status: Deprecated?"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"Feature Classification Matrix"},{"line_number":289,"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"},{"line_number":290,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa1b9901_680936dd","line":287,"updated":"2015-08-22 11:57:06.000000000","message":"What about multi-site slash cloud segregation features? Cells v1/v2 being the most topical now but also regions, AZs, aggregates, etc. I realize the list was seeded based on the hypervisor matrix but these are things users ask about a lot.","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c584d2c00de840a41fb6fe275aeea927e8dc8239","unresolved":false,"context_lines":[{"line_number":284,"context_line":"----------------------"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"Status: Deprecated?"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"Feature Classification Matrix"},{"line_number":289,"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"},{"line_number":290,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_36a0b5f3","line":287,"in_reply_to":"fa1b9901_680936dd","updated":"2015-09-07 13:55:12.000000000","message":"These would be good additions.\n\nI really just added the ones above as a starting point, its not intended to be complete.","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":17714,"name":"Augustina Ragwitz","email":"auggy@cpan.org","username":"mmmpork"},"change_message_id":"dbf24f2a7877ba883ed10660499320a7799a3b2e","unresolved":false,"context_lines":[{"line_number":86,"context_line":"They are likely to have little or no upstream testing."},{"line_number":87,"context_line":"With little testing there are likely to be many unknown bugs."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"For a feature to be considered complete, we must have:"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"* Complete API docs (concept and REST call definition)"},{"line_number":92,"context_line":"* Complete Adminstrator docs"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da85f559_78801e47","line":89,"updated":"2015-11-13 19:56:44.000000000","message":"Thank you for clearly defining what \"complete\" means (and including docs and tests in that definition)!!","commit_id":"250a0c77b7bedcd76ba3a60783fd12700bc5e9c3"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"8c14e886e2291cf531339f81105aa0d1a44f9fc4","unresolved":false,"context_lines":[{"line_number":164,"context_line":"* link from hypervisor support matrix into feature group maturity ratings"},{"line_number":165,"context_line":"* add links to API docs in feature group descriptions"},{"line_number":166,"context_line":"* replace tick and cross in support matrix with \"deployment ratings\""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Observing Servers"},{"line_number":169,"context_line":"------------------"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_ce832455","line":167,"updated":"2015-12-02 18:09:19.000000000","message":"From this point forwards I think we should be using a formal document schema to record the data as we do with support-matrix.ini. It would not be hard to adapt the existing tool to record \u0026 present the data you\u0027re presenting here.\n\nThe other thing that I think you\u0027re missing is justification for the suggested \u0027status\u0027 values. The support-matrix doc aims to provide an explanation for why a particular status was picked for each feature, which I think is important, otherwise these status just come across as arbitrary.","commit_id":"a447ff0e27d16204295ccbfee3831d86fe81e50c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"732c119374490784d0047fc2934d2b809432dd12","unresolved":false,"context_lines":[{"line_number":164,"context_line":"* link from hypervisor support matrix into feature group maturity ratings"},{"line_number":165,"context_line":"* add links to API docs in feature group descriptions"},{"line_number":166,"context_line":"* replace tick and cross in support matrix with \"deployment ratings\""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Observing Servers"},{"line_number":169,"context_line":"------------------"},{"line_number":170,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_8eb19c03","line":167,"in_reply_to":"9a8ffd7b_ce832455","updated":"2015-12-02 18:12:44.000000000","message":"Yeah, I should do that.","commit_id":"a447ff0e27d16204295ccbfee3831d86fe81e50c"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"8c14e886e2291cf531339f81105aa0d1a44f9fc4","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Status: Required"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"Attach and detach volume to a running server."},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Attaching volumes when creating a server"},{"line_number":206,"context_line":"-----------------------------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_2efe70ae","line":203,"updated":"2015-12-02 18:09:19.000000000","message":"Why ?\n\nIMHO Nova is perfectly usable if you merely attach volumes at time of initial instance boot. Attaching/detach to running server are just nice to have enhancements. In addition with Manilla support, I don\u0027t think volume storage is compelling as a required feature at all. It is valid to chose file system shares as your data persistence mechanism. Finally it is valid to run completely stateless nodes from Nova\u0027s POV as the user can be providing their own persistence services from other VMs they own.  This is an example of why I think we need clear justification / explanation against each feature status.","commit_id":"a447ff0e27d16204295ccbfee3831d86fe81e50c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"732c119374490784d0047fc2934d2b809432dd12","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"Status: Required"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"Attach and detach volume to a running server."},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Attaching volumes when creating a server"},{"line_number":206,"context_line":"-----------------------------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_0e74cc33","line":203,"in_reply_to":"9a8ffd7b_2efe70ae","updated":"2015-12-02 18:12:44.000000000","message":"I think that was meant to be my complete example, oops.","commit_id":"a447ff0e27d16204295ccbfee3831d86fe81e50c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e67033afbef64148a8b3e08ceffb107b7863a8ee","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This document aims to define how we describe features listed in the"},{"line_number":19,"context_line":":doc:`support_matrix`."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Aims"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_114c5141","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":21},"updated":"2015-12-04 14:39:15.000000000","message":"the link is broken because of the named document, see http://docs-draft.openstack.org/64/215664/9/check/gate-nova-docs/a5e21a8//doc/build/html/feature_classification.html","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4a50e0dafb53f4c6796a29cfe17765ce3d6cce4f","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This document aims to define how we describe features listed in the"},{"line_number":19,"context_line":":doc:`support_matrix`."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Aims"},{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_dc6ae0ec","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":21},"in_reply_to":"7a740942_114c5141","updated":"2015-12-08 13:16:36.000000000","message":"I think its called support-matrix, oops.","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Our users want the features they rely on to be reliable and always continue"},{"line_number":25,"context_line":"to solve for their use case."},{"line_number":26,"context_line":"When this breaks down, user request that we solve their issues quickly."},{"line_number":27,"context_line":"It would be even better if we never created those issues in the first place."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_0638929f","line":25,"range":{"start_line":25,"start_character":19,"end_line":25,"end_character":27},"updated":"2015-12-04 15:23:15.000000000","message":"s/use case/needs\n\nKISS","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4a50e0dafb53f4c6796a29cfe17765ce3d6cce4f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"\u003d\u003d\u003d\u003d"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Our users want the features they rely on to be reliable and always continue"},{"line_number":25,"context_line":"to solve for their use case."},{"line_number":26,"context_line":"When this breaks down, user request that we solve their issues quickly."},{"line_number":27,"context_line":"It would be even better if we never created those issues in the first place."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_7c7c0cb5","line":25,"range":{"start_line":25,"start_character":19,"end_line":25,"end_character":27},"in_reply_to":"7a740942_0638929f","updated":"2015-12-08 13:16:36.000000000","message":"hmm, I do think use case is the best fit here.","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Our users want the features they rely on to be reliable and always continue"},{"line_number":25,"context_line":"to solve for their use case."},{"line_number":26,"context_line":"When this breaks down, user request that we solve their issues quickly."},{"line_number":27,"context_line":"It would be even better if we never created those issues in the first place."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We are taking a two pronged approach:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_8642423d","line":26,"updated":"2015-12-04 15:23:15.000000000","message":"s/user/users","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e67033afbef64148a8b3e08ceffb107b7863a8ee","unresolved":false,"context_lines":[{"line_number":26,"context_line":"When this breaks down, user request that we solve their issues quickly."},{"line_number":27,"context_line":"It would be even better if we never created those issues in the first place."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We are taking a two pronged approach:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Tell our users what features are completed, well documented, and are kept"},{"line_number":32,"context_line":"  stable by good tests. They should get a good experience if they stick to"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_51ddf940","line":29,"range":{"start_line":29,"start_character":16,"end_line":29,"end_character":27},"updated":"2015-12-04 14:39:15.000000000","message":"possible nit : should it be said \u0027two-pronged\u0027 with a dash ?","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"When this breaks down, user request that we solve their issues quickly."},{"line_number":27,"context_line":"It would be even better if we never created those issues in the first place."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We are taking a two pronged approach:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Tell our users what features are completed, well documented, and are kept"},{"line_number":32,"context_line":"  stable by good tests. They should get a good experience if they stick to"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_8c182686","line":29,"range":{"start_line":29,"start_character":16,"end_line":29,"end_character":27},"in_reply_to":"7a740942_51ddf940","updated":"2015-12-04 15:23:15.000000000","message":"Grammar nazi says that Sylvain is correct. :)","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We are taking a two pronged approach:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Tell our users what features are completed, well documented, and are kept"},{"line_number":32,"context_line":"  stable by good tests. They should get a good experience if they stick to"},{"line_number":33,"context_line":"  these sets of features."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_c6f36a09","line":31,"updated":"2015-12-04 15:23:15.000000000","message":"s/completed/complete\n\nAlso, it should be \u0027well-documented\u0027.","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"8d78fe6eecbb50f2b577acb06f67064522ec9955","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Tell our users what features are completed, well documented, and are kept"},{"line_number":32,"context_line":"  stable by good tests. They should get a good experience if they stick to"},{"line_number":33,"context_line":"  these sets of features."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Get help for the features that are not in the above state, and warn our"},{"line_number":36,"context_line":"  users about the risks of using those features before they are ready."}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_a1e15d9c","line":33,"updated":"2015-12-04 19:09:43.000000000","message":"It\u0027s not enough to just talk about features.  It\u0027s really a combination of feature and environment.  Unless I\u0027m misunderstanding.  But I\u0027m thinking of things like resize or live-migrate that can get problematic based on the storage used.  Perhaps we just classify those as not stable for that reason, but ideally I think we\u0027d say that they\u0027re stable in setup A and not stable/tested in setup B.","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"245cbd7d8131892d5ad3fda706e1e0f79dcd8e0a","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Tell our users what features are completed, well documented, and are kept"},{"line_number":32,"context_line":"  stable by good tests. They should get a good experience if they stick to"},{"line_number":33,"context_line":"  these sets of features."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Get help for the features that are not in the above state, and warn our"},{"line_number":36,"context_line":"  users about the risks of using those features before they are ready."}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_b802c409","line":33,"in_reply_to":"7a740942_a1e15d9c","updated":"2015-12-07 10:37:48.000000000","message":"Please see later where it talks about \"Deployment Rating for a Feature Group\" that tries to cover that.\n\nI guess I should make that clearer in the aims though.","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4a50e0dafb53f4c6796a29cfe17765ce3d6cce4f","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Tell our users what features are completed, well documented, and are kept"},{"line_number":32,"context_line":"  stable by good tests. They should get a good experience if they stick to"},{"line_number":33,"context_line":"  these sets of features."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Get help for the features that are not in the above state, and warn our"},{"line_number":36,"context_line":"  users about the risks of using those features before they are ready."}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_dc0f4037","line":33,"in_reply_to":"7a740942_a93ed8d7","updated":"2015-12-08 13:16:36.000000000","message":"Done","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"44f4e2de86dd2071ea4db870de7eb434f658c6bb","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Tell our users what features are completed, well documented, and are kept"},{"line_number":32,"context_line":"  stable by good tests. They should get a good experience if they stick to"},{"line_number":33,"context_line":"  these sets of features."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Get help for the features that are not in the above state, and warn our"},{"line_number":36,"context_line":"  users about the risks of using those features before they are ready."}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_a93ed8d7","line":33,"in_reply_to":"7a740942_b802c409","updated":"2015-12-07 19:35:21.000000000","message":"Yeah, I think it would be good to explain it here as well since this is what will be read first.","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e67033afbef64148a8b3e08ceffb107b7863a8ee","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Users"},{"line_number":45,"context_line":"-----"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There are three main users we will talk about in this document:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* application deployer: creates/deletes servers, directly or indirect via API"},{"line_number":50,"context_line":"* application developer: creates images and apps that run on the cloud"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_719ef557","line":47,"range":{"start_line":47,"start_character":10,"end_line":47,"end_character":15},"updated":"2015-12-04 14:39:15.000000000","message":"well, I can see 4 bullet points ;)","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":44,"context_line":"Users"},{"line_number":45,"context_line":"-----"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"There are three main users we will talk about in this document:"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"* application deployer: creates/deletes servers, directly or indirect via API"},{"line_number":50,"context_line":"* application developer: creates images and apps that run on the cloud"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_26c02ee0","line":47,"range":{"start_line":47,"start_character":10,"end_line":47,"end_character":15},"in_reply_to":"7a740942_719ef557","updated":"2015-12-04 15:23:15.000000000","message":"Ha!\n\nWell, in John\u0027s defense, #4 is a mix of the other three...","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e67033afbef64148a8b3e08ceffb107b7863a8ee","unresolved":false,"context_lines":[{"line_number":69,"context_line":"of scenarios, tests. Typically, this means a set of tempest tests."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"This list should focus on thinks like attach volumes, rather than deployment"},{"line_number":72,"context_line":"focused things like, attach iSCSI volumes."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Deployment"},{"line_number":75,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_510c1994","line":72,"updated":"2015-12-04 14:39:15.000000000","message":"so I guess it\u0027s hypervisor-agnostic, right?\n\nSomething seems missing from that document, how can we have the current list of virt drivers saying for each feature if it\u0027s implemented or not.\n\nWhat I\u0027m trying to explain is that I got the idea, I just don\u0027t see here a concept of backend plugin (virt or whatever else) which would lead to different levels of implementation and testing (support) for each.\n\nDid I miss something ?","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4a50e0dafb53f4c6796a29cfe17765ce3d6cce4f","unresolved":false,"context_lines":[{"line_number":69,"context_line":"of scenarios, tests. Typically, this means a set of tempest tests."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"This list should focus on thinks like attach volumes, rather than deployment"},{"line_number":72,"context_line":"focused things like, attach iSCSI volumes."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Deployment"},{"line_number":75,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_b605b011","line":72,"in_reply_to":"7a740942_510c1994","updated":"2015-12-08 13:16:36.000000000","message":"Let me clarify, this is talking about the API concepts.","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5f56d311bb96abdefccd4ad14377efeefcf1f694","unresolved":false,"context_lines":[{"line_number":150,"context_line":"The eventual goal is to automate this list from some third party CI reporting"},{"line_number":151,"context_line":"system, but so we can make progress, this will be a manual inspection that is"},{"line_number":152,"context_line":"documented by an hand written ini file. Ideally, this will be reviewed every"},{"line_number":153,"context_line":"milestone."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Feature Group Definitions"},{"line_number":156,"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"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a7e1126_8edbe24e","line":153,"updated":"2015-12-18 21:39:11.000000000","message":"OK, I think I see your idea - it\u0027s more API focused but still based on what virt driver you use.\n\nI think it\u0027s okay to land that now, but I\u0027ll love any patch for really updating the feature classification","commit_id":"2f0b8df9bf095e5832e1db1bb0b2dd39b4f902b6"}],"doc/source/index.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9859f64fec63e4c288205b6be307d1d195e5e6d4","unresolved":false,"context_lines":[{"line_number":85,"context_line":"volume and networking driver can also influence what features are available."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Our first attempt to communicate this is the hypervisor support matrix."},{"line_number":88,"context_line":"This document currently contains the best information on what features"},{"line_number":89,"context_line":"we require hypervisor drivers to implement,"},{"line_number":90,"context_line":"as well as the level of support for optional features that we currently have."},{"line_number":91,"context_line":"The feature classification effort is still a work in progress, but aims to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa1b9901_54c4245e","line":88,"updated":"2015-08-21 17:48:00.000000000","message":"s/This document/That document/","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9859f64fec63e4c288205b6be307d1d195e5e6d4","unresolved":false,"context_lines":[{"line_number":89,"context_line":"we require hypervisor drivers to implement,"},{"line_number":90,"context_line":"as well as the level of support for optional features that we currently have."},{"line_number":91,"context_line":"The feature classification effort is still a work in progress, but aims to"},{"line_number":92,"context_line":"have a broader view of if a feature is experimental or ready for production,"},{"line_number":93,"context_line":"and what deployments support those features."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. toctree::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa1b9901_b4b26005","line":92,"updated":"2015-08-21 17:48:00.000000000","message":"s/if/whether/","commit_id":"ad9a9ea0b3a064fa7e2ca92f148d63a66eff7407"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"021af68b15157a9dbe496eed4266230fd1d55012","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Also, your choice of technology currently can affects the list of features"},{"line_number":83,"context_line":"that are ready for production."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Our first attempt to communicate this is the hypervisor support matrix."},{"line_number":86,"context_line":"Over time we hope to evolve that to include a classification of each feature\u0027s"},{"line_number":87,"context_line":"maturity and exactly what technology combinations are covered by current"},{"line_number":88,"context_line":"integration testing efforts."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_958a00be","line":85,"range":{"start_line":85,"start_character":45,"end_line":85,"end_character":55},"updated":"2015-12-02 21:24:41.000000000","message":"This still says \"hypervisor\" (I assume it should say feature support matrix because that\u0027s what it says in support-matrix.rst)","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"931b813e1fd33fd05f72677b28c08f7b0e0559c1","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Also, your choice of technology currently can affects the list of features"},{"line_number":83,"context_line":"that are ready for production."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Our first attempt to communicate this is the hypervisor support matrix."},{"line_number":86,"context_line":"Over time we hope to evolve that to include a classification of each feature\u0027s"},{"line_number":87,"context_line":"maturity and exactly what technology combinations are covered by current"},{"line_number":88,"context_line":"integration testing efforts."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_76e661b1","line":85,"range":{"start_line":85,"start_character":45,"end_line":85,"end_character":55},"in_reply_to":"9a8ffd7b_958a00be","updated":"2015-12-03 12:16:04.000000000","message":"oops, yes.","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Nova aims to have a single compute API that works the same across"},{"line_number":79,"context_line":"all deployments of Nova."},{"line_number":80,"context_line":"While many features are well tested, well documented, support live upgrade,"},{"line_number":81,"context_line":"and are generally ready for production, some features are not."},{"line_number":82,"context_line":"Also, your choice of technology currently can affects the list of features"},{"line_number":83,"context_line":"that are ready for production."},{"line_number":84,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_064bb288","line":81,"range":{"start_line":80,"start_character":0,"end_line":81,"end_character":62},"updated":"2015-12-04 15:23:15.000000000","message":"\"Most features are well-tested, well-documented, support live upgrade, and are ready for production, some are not.\"","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":79,"context_line":"all deployments of Nova."},{"line_number":80,"context_line":"While many features are well tested, well documented, support live upgrade,"},{"line_number":81,"context_line":"and are generally ready for production, some features are not."},{"line_number":82,"context_line":"Also, your choice of technology currently can affects the list of features"},{"line_number":83,"context_line":"that are ready for production."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Our first attempt to communicate this is the feature support matrix"},{"line_number":86,"context_line":"(previously called the hypervisor support matrix)."}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_860d6240","line":83,"range":{"start_line":82,"start_character":0,"end_line":83,"end_character":30},"updated":"2015-12-04 15:23:15.000000000","message":"\"The underlying technology choices of each cloud will determine which of these features will be available.\"","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"}],"doc/source/support-matrix.rst":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"8c14e886e2291cf531339f81105aa0d1a44f9fc4","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Please note, while this document is still being maintained, this is slowly"},{"line_number":6,"context_line":"being updated to re-group and classify features using the definitions"},{"line_number":7,"context_line":"described in here: :doc:`feature_classification`"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When considering which capabilities should be marked as mandatory the"},{"line_number":10,"context_line":"following general guiding principles were applied"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_4e43b442","line":7,"updated":"2015-12-02 18:09:19.000000000","message":"While I\u0027m fine with the idea of improving our feature classification, and/or grouping I think it is a step backends to do so in an unstructured text document.\n\nI really want to see us maintain the formally structured document with unambiguous machine parsable syntax, so that it can be consumed \u0026 processed in a flexible manner, not merely human targetted text.","commit_id":"a447ff0e27d16204295ccbfee3831d86fe81e50c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8d1b37a0d244ab10f50b1fe54640cef1232937ab","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Please note, while this document is still being maintained, this is slowly"},{"line_number":6,"context_line":"being updated to re-group and classify features using the definitions"},{"line_number":7,"context_line":"described in here: :doc:`feature_classification`"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When considering which capabilities should be marked as mandatory the"},{"line_number":10,"context_line":"following general guiding principles were applied"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_ee3708fd","line":7,"in_reply_to":"9a8ffd7b_4e43b442","updated":"2015-12-02 18:18:29.000000000","message":"I am not trying to suggest we go to an unstructured text document, let me clarify.","commit_id":"a447ff0e27d16204295ccbfee3831d86fe81e50c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e67033afbef64148a8b3e08ceffb107b7863a8ee","unresolved":false,"context_lines":[{"line_number":1,"context_line":""},{"line_number":2,"context_line":"Feaure Support Matrix"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Please note, while this document is still being maintained, this is slowly"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_56b08fdd","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":6},"updated":"2015-12-04 14:39:15.000000000","message":"nanonit: Fea*t*ure","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e67033afbef64148a8b3e08ceffb107b7863a8ee","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Feaure Support Matrix"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Please note, while this document is still being maintained, this is slowly"},{"line_number":6,"context_line":"being updated to re-group and classify features using the definitions"},{"line_number":7,"context_line":"described in here: :doc:`feature_classification`"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When considering which capabilities should be marked as mandatory the"},{"line_number":10,"context_line":"following general guiding principles were applied"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_962b57eb","line":7,"range":{"start_line":5,"start_character":0,"end_line":7,"end_character":48},"updated":"2015-12-04 14:39:15.000000000","message":"you could include that in either a note or a warning section, like\n\n  .. warning::\n\nBecause if not, that\u0027s a bit difficult to note that the below is a bit deprecated, see http://docs-draft.openstack.org/64/215664/9/check/gate-nova-docs/a5e21a8//doc/build/html/support-matrix.html","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4a50e0dafb53f4c6796a29cfe17765ce3d6cce4f","unresolved":false,"context_lines":[{"line_number":2,"context_line":"Feaure Support Matrix"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Please note, while this document is still being maintained, this is slowly"},{"line_number":6,"context_line":"being updated to re-group and classify features using the definitions"},{"line_number":7,"context_line":"described in here: :doc:`feature_classification`"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When considering which capabilities should be marked as mandatory the"},{"line_number":10,"context_line":"following general guiding principles were applied"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_a5f1f06c","line":7,"range":{"start_line":5,"start_character":0,"end_line":7,"end_character":48},"in_reply_to":"7a740942_962b57eb","updated":"2015-12-08 13:16:36.000000000","message":"Done","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"}],"doc/source/test_strategy.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"441516924c972c5cc53c03b4debb64d2054d7373","unresolved":false,"context_lines":[{"line_number":38,"context_line":"On every review in gerrit, check tests are run on very patch set, and are"},{"line_number":39,"context_line":"able to report a +1 or -1 vote."},{"line_number":40,"context_line":"Before merging any code, there is an integrate gate test queue, where a"},{"line_number":41,"context_line":"different set of tests much pass for the code to merge."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"For more detail, please see:"},{"line_number":44,"context_line":"http://docs.openstack.org/infra/manual/developers.html#automated-testing"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_1304f515","line":41,"updated":"2015-12-02 18:11:27.000000000","message":"They are actually the same tests.  http://docs.openstack.org/infra/zuul/gating.html is a nice doc on gating.","commit_id":"a447ff0e27d16204295ccbfee3831d86fe81e50c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a40707848fd4408bc954b220e5b03f0618f99c6c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"On every review in gerrit, check tests are run on very patch set, and are"},{"line_number":39,"context_line":"able to report a +1 or -1 vote."},{"line_number":40,"context_line":"Before merging any code, there is an integrate gate test queue, where a"},{"line_number":41,"context_line":"different set of tests much pass for the code to merge."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"For more detail, please see:"},{"line_number":44,"context_line":"http://docs.openstack.org/infra/manual/developers.html#automated-testing"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_ceb7a4d6","line":41,"in_reply_to":"9a8ffd7b_1304f515","updated":"2015-12-02 18:14:44.000000000","message":"Right, but its technically a different set of tests.\n\nBut my wording is very miss leading, I can link to that doc.","commit_id":"a447ff0e27d16204295ccbfee3831d86fe81e50c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c8170e5de27339123c91986dfebbf3f537c1940","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Ad-hoc testing"},{"line_number":60,"context_line":"--------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"It is particular common for people to run ad-hoc tests on released milestone,"},{"line_number":63,"context_line":"such as RC1, to stop regressions."},{"line_number":64,"context_line":"While these efforts can help stabilize the release, as a community we have a"},{"line_number":65,"context_line":"much stronger preference for continuous integration testing. Partly, this is"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_298bca69","line":62,"updated":"2015-12-02 18:29:37.000000000","message":"s/particular/particularly/","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c8170e5de27339123c91986dfebbf3f537c1940","unresolved":false,"context_lines":[{"line_number":64,"context_line":"While these efforts can help stabilize the release, as a community we have a"},{"line_number":65,"context_line":"much stronger preference for continuous integration testing. Partly, this is"},{"line_number":66,"context_line":"because we encourage users to deploy master, and we generally have to assume"},{"line_number":67,"context_line":"that any upstream commit may already be deployed in production."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Types of tests"},{"line_number":70,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_69dc7273","line":67,"updated":"2015-12-02 18:29:37.000000000","message":"s/be/been/","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c8170e5de27339123c91986dfebbf3f537c1940","unresolved":false,"context_lines":[{"line_number":77,"context_line":"codebase."},{"line_number":78,"context_line":"The correct level of unit test coverage is very subjective, and as such we are"},{"line_number":79,"context_line":"not aiming for a particular percentage of coverage, rather we are aiming for"},{"line_number":80,"context_line":"good coverage."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Integration tests"},{"line_number":83,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_c95f9ee3","line":80,"updated":"2015-12-02 18:29:37.000000000","message":"Maybe not necessary to state it here, but there are docs elsewhere that basically say as part of the hacking/contribution guidelines that each change should have a related test, at least for bugs and features.","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c8170e5de27339123c91986dfebbf3f537c1940","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Integration tests"},{"line_number":83,"context_line":"-----------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Today, our integration tests involved running the Tempest test suite on a"},{"line_number":86,"context_line":"variety of Nova deployment scenarios."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"In addition, we have third parties running the tests on their preferred Nova"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_096a8681","line":85,"updated":"2015-12-02 18:29:37.000000000","message":"s/involved/involve/","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c8170e5de27339123c91986dfebbf3f537c1940","unresolved":false,"context_lines":[{"line_number":92,"context_line":"----------------"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Nova has a set of in-tree functional tests that focus on things that are out"},{"line_number":95,"context_line":"of scope for tempest testing and unit testing."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Interoperability tests"},{"line_number":98,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_e995c232","line":95,"updated":"2015-12-02 18:29:37.000000000","message":"Could expand a bit to explain that the difference is tempest runs against a live openstack (devstack), unit tests typically stub out code, services, and the DB, and functional tests don\u0027t run an entire stack (isolated to nova code, so no reliance on external services), they do have a WSGI app, nova services, and a database (so minimal stubbing of nova internals).\n\nAnyway, up to you on that one.","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"931b813e1fd33fd05f72677b28c08f7b0e0559c1","unresolved":false,"context_lines":[{"line_number":92,"context_line":"----------------"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Nova has a set of in-tree functional tests that focus on things that are out"},{"line_number":95,"context_line":"of scope for tempest testing and unit testing."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Interoperability tests"},{"line_number":98,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_56755dc8","line":95,"in_reply_to":"9a8ffd7b_75719c0b","updated":"2015-12-03 12:16:04.000000000","message":"Yeah, I was hoping to get more details added later, but I can add some of that now.","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"021af68b15157a9dbe496eed4266230fd1d55012","unresolved":false,"context_lines":[{"line_number":92,"context_line":"----------------"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Nova has a set of in-tree functional tests that focus on things that are out"},{"line_number":95,"context_line":"of scope for tempest testing and unit testing."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Interoperability tests"},{"line_number":98,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_75719c0b","line":95,"in_reply_to":"9a8ffd7b_e995c232","updated":"2015-12-02 21:24:41.000000000","message":"+1, I think it would be helpful to have a bit more detail about the functional test environment. For example, I learned recently that it allows testing of paths that call across multiple nova services which isn\u0027t friendly to do in unit tests (have to stub out the points before any rpc calls).","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9c8170e5de27339123c91986dfebbf3f537c1940","unresolved":false,"context_lines":[{"line_number":97,"context_line":"Interoperability tests"},{"line_number":98,"context_line":"-----------------------"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"The DefCore committee maintain a list that contains a subset of Tempest tests."},{"line_number":101,"context_line":"These are used to verify if a particular Nova deployment\u0027s API responds as"},{"line_number":102,"context_line":"expected."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_49a5ee9f","line":100,"updated":"2015-12-02 18:29:37.000000000","message":"s/maintain/maintains/","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"021af68b15157a9dbe496eed4266230fd1d55012","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"The DefCore committee maintain a list that contains a subset of Tempest tests."},{"line_number":101,"context_line":"These are used to verify if a particular Nova deployment\u0027s API responds as"},{"line_number":102,"context_line":"expected."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_95dc40e5","line":102,"updated":"2015-12-02 21:24:41.000000000","message":"Nice to have, we could have a link to the defcore list here maybe","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"931b813e1fd33fd05f72677b28c08f7b0e0559c1","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"The DefCore committee maintain a list that contains a subset of Tempest tests."},{"line_number":101,"context_line":"These are used to verify if a particular Nova deployment\u0027s API responds as"},{"line_number":102,"context_line":"expected."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a8ffd7b_16527535","line":102,"in_reply_to":"9a8ffd7b_95dc40e5","updated":"2015-12-03 12:16:04.000000000","message":"good call.","commit_id":"e133c1a24849b8186276ace8ea0a136fa4d3190f"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Test Strategy"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"A key part of the \"four opens\" is ensuring the OpenStack delivers well tested"},{"line_number":19,"context_line":"and usable software. For more details see:"},{"line_number":20,"context_line":"http://docs.openstack.org/project-team-guide/introduction.html#the-four-opens"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_a90f112d","line":18,"range":{"start_line":18,"start_character":70,"end_line":18,"end_character":71},"updated":"2015-12-04 15:23:15.000000000","message":"need a hyphen","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"and usable software. For more details see:"},{"line_number":20,"context_line":"http://docs.openstack.org/project-team-guide/introduction.html#the-four-opens"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Experience has shown, that due to the velocity of changes upstream, that any"},{"line_number":23,"context_line":"untested feature quickly break, and are not stable. As we aim to ensure we"},{"line_number":24,"context_line":"keep all features working across upgrades, we must aim to test all features."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Reporting Test Coverage"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_698cc97f","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":50},"updated":"2015-12-04 15:23:15.000000000","message":"Experience has shown that untested features are not stable, due to the velocity of upstream changes.","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Infra vs Third-Party"},{"line_number":49,"context_line":"--------------------"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Tests that use fully open source components, are generally run by the"},{"line_number":52,"context_line":"OpenStack Infra teams. Tests setups that use non-open technology must"},{"line_number":53,"context_line":"be run outside of that infrastructure, but should still report their"},{"line_number":54,"context_line":"results upstream."}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_090665ce","line":51,"range":{"start_line":51,"start_character":43,"end_line":51,"end_character":44},"updated":"2015-12-04 15:23:15.000000000","message":"unnecessary comma","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"--------------------"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Tests that use fully open source components, are generally run by the"},{"line_number":52,"context_line":"OpenStack Infra teams. Tests setups that use non-open technology must"},{"line_number":53,"context_line":"be run outside of that infrastructure, but should still report their"},{"line_number":54,"context_line":"results upstream."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_89fa55bc","line":52,"range":{"start_line":52,"start_character":23,"end_line":52,"end_character":28},"updated":"2015-12-04 15:23:15.000000000","message":"Test","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Ad-hoc testing"},{"line_number":60,"context_line":"--------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"It is particularly common for people to run ad-hoc tests on released milestone,"},{"line_number":63,"context_line":"such as RC1, to stop regressions."},{"line_number":64,"context_line":"While these efforts can help stabilize the release, as a community we have a"},{"line_number":65,"context_line":"much stronger preference for continuous integration testing. Partly, this is"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_49f22dd4","line":62,"range":{"start_line":62,"start_character":57,"end_line":62,"end_character":78},"updated":"2015-12-04 15:23:15.000000000","message":"on each released milestone","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2aeb47ab30098e81d128fa483ff8f1d39fdca07e","unresolved":false,"context_lines":[{"line_number":62,"context_line":"It is particularly common for people to run ad-hoc tests on released milestone,"},{"line_number":63,"context_line":"such as RC1, to stop regressions."},{"line_number":64,"context_line":"While these efforts can help stabilize the release, as a community we have a"},{"line_number":65,"context_line":"much stronger preference for continuous integration testing. Partly, this is"},{"line_number":66,"context_line":"because we encourage users to deploy master, and we generally have to assume"},{"line_number":67,"context_line":"that any upstream commit may already been deployed in production."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_29bec1d4","line":65,"range":{"start_line":65,"start_character":67,"end_line":65,"end_character":68},"updated":"2015-12-04 15:23:15.000000000","message":"unnecessary comma","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e67033afbef64148a8b3e08ceffb107b7863a8ee","unresolved":false,"context_lines":[{"line_number":100,"context_line":"unit of code in isolation."},{"line_number":101,"context_line":"Functional tests don\u0027t run an entire stack, they are isolated to nova code,"},{"line_number":102,"context_line":"and have no reliance on external services. They do have a WSGI app, nova"},{"line_number":103,"context_line":"services and a database, with minimal stubbing of nova internals."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Interoperability tests"},{"line_number":106,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_715cb525","line":103,"updated":"2015-12-04 14:39:15.000000000","message":"we could perhaps explain the behavioural difference between a Tempest scenario and a functional test by the fact that in general, if we only want to check a REST resource by CRUD operations, we can just provide that in-tree with the functional tests, while Tempest suite is better for cross-project and multiple calls (like create, then get, then delete) scenarios.","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4a50e0dafb53f4c6796a29cfe17765ce3d6cce4f","unresolved":false,"context_lines":[{"line_number":100,"context_line":"unit of code in isolation."},{"line_number":101,"context_line":"Functional tests don\u0027t run an entire stack, they are isolated to nova code,"},{"line_number":102,"context_line":"and have no reliance on external services. They do have a WSGI app, nova"},{"line_number":103,"context_line":"services and a database, with minimal stubbing of nova internals."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Interoperability tests"},{"line_number":106,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7a740942_306c60cd","line":103,"in_reply_to":"7a740942_715cb525","updated":"2015-12-08 13:16:36.000000000","message":"I don\u0027t want to get too deep into the details here. I want something that just covers the main points to start with, that we can refine over time.","commit_id":"7c5256552dfc610ae506616ab0ac7668f6242aac"}]}
