)]}'
{"doc/ext/support_matrix.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ac55fd9304333c715fe08a4dbcc384bd7b1f5a38","unresolved":false,"context_lines":[{"line_number":460,"context_line":"        content.append(notes)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"        NOTES \u003d ["},{"line_number":463,"context_line":"                \"Virtuozzo was formerly named Parallels in this document\""},{"line_number":464,"context_line":"                ]"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"        for note in NOTES:"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_b933ac12","line":463,"range":{"start_line":463,"start_character":16,"end_line":463,"end_character":73},"updated":"2016-05-13 16:17:15.000000000","message":"unrelated to identity","commit_id":"75cc9c22632d5abfefa5c6c9302a5551583648f7"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ca28fd2842f69405e96e7502ad1de6272fe17c9a","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        NOTES \u003d ["},{"line_number":460,"context_line":"            \"Virtuozzo was formerly named Parallels in this document\""},{"line_number":461,"context_line":"        ]"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"        for note in NOTES:"},{"line_number":464,"context_line":"            item \u003d nodes.list_item()"}],"source_content_type":"text/x-python","patch_set":8,"id":"bacf61ea_c11a336e","line":461,"updated":"2016-07-27 21:45:05.000000000","message":"I know the comments on this patch say that it\u0027s intentional that this be copied unmodified from Nova, but this part ends up getting rendered in the html doc. Are you sure you want that?","commit_id":"4c4310625f2b2c37308fcb7c8338852b5c4d7107"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"93949f128a4c6ae3d4adf59ced291d78c6447b6a","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        NOTES \u003d ["},{"line_number":460,"context_line":"            \"Virtuozzo was formerly named Parallels in this document\""},{"line_number":461,"context_line":"        ]"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"        for note in NOTES:"},{"line_number":464,"context_line":"            item \u003d nodes.list_item()"}],"source_content_type":"text/x-python","patch_set":8,"id":"bacf61ea_df077f7f","line":461,"in_reply_to":"bacf61ea_0dae3585","updated":"2016-07-28 17:08:37.000000000","message":"Yeah, I\u0027m trying to at least *not* fork it, so that when all this moves into oslo we can easily switch over.","commit_id":"4c4310625f2b2c37308fcb7c8338852b5c4d7107"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"386042788cdd47cb76fefbcc3d0ff93dbd75b400","unresolved":false,"context_lines":[{"line_number":458,"context_line":""},{"line_number":459,"context_line":"        NOTES \u003d ["},{"line_number":460,"context_line":"            \"Virtuozzo was formerly named Parallels in this document\""},{"line_number":461,"context_line":"        ]"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"        for note in NOTES:"},{"line_number":464,"context_line":"            item \u003d nodes.list_item()"}],"source_content_type":"text/x-python","patch_set":8,"id":"bacf61ea_0dae3585","line":461,"in_reply_to":"bacf61ea_c11a336e","updated":"2016-07-28 04:34:00.000000000","message":"ha, i caught this in ps2 and forgot about it: https://review.openstack.org/#/c/316118/2/doc/ext/support_matrix.py@463","commit_id":"4c4310625f2b2c37308fcb7c8338852b5c4d7107"}],"doc/source/conf.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"c84c60a168eb28dac5af694e8efdf6e9af9cc61e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"# If extensions (or modules to document with autodoc) are in another directory,"},{"line_number":36,"context_line":"# add these directories to sys.path here. If the directory is relative to the"},{"line_number":37,"context_line":"# documentation root, use os.path.abspath to make it absolute, like shown here."},{"line_number":38,"context_line":"sys.path.insert(0, os.path.abspath(\u0027../../\u0027))"},{"line_number":39,"context_line":"sys.path.insert(0, os.path.abspath(\u0027../\u0027))"},{"line_number":40,"context_line":"sys.path.insert(0, os.path.abspath(\u0027./\u0027))"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bacf61ea_91ca5e19","line":38,"updated":"2016-08-02 13:04:29.000000000","message":"Do we really need all these paths?","commit_id":"927b08bbf74ac18bc3c92b0afc507a54b8218520"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"56c4efc82e375c8035a0c9b844492131ce7471d5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"# If extensions (or modules to document with autodoc) are in another directory,"},{"line_number":36,"context_line":"# add these directories to sys.path here. If the directory is relative to the"},{"line_number":37,"context_line":"# documentation root, use os.path.abspath to make it absolute, like shown here."},{"line_number":38,"context_line":"sys.path.insert(0, os.path.abspath(\u0027../../\u0027))"},{"line_number":39,"context_line":"sys.path.insert(0, os.path.abspath(\u0027../\u0027))"},{"line_number":40,"context_line":"sys.path.insert(0, os.path.abspath(\u0027./\u0027))"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"bacf61ea_da9f8a5d","line":38,"in_reply_to":"bacf61ea_91ca5e19","updated":"2016-08-03 14:45:50.000000000","message":"No, we really just need one ,but I just copied nova on this one :-/","commit_id":"927b08bbf74ac18bc3c92b0afc507a54b8218520"}],"doc/source/support-matrix.ini":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ac55fd9304333c715fe08a4dbcc384bd7b1f5a38","unresolved":false,"context_lines":[{"line_number":100,"context_line":"driver-impl-identity-federation-oidc\u003dmissing"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"[operation.user-group-membership]"},{"line_number":103,"context_line":"title\u003dAssign a role directly to a user on a project"},{"line_number":104,"context_line":"status\u003doptional"},{"line_number":105,"context_line":"notes\u003dUser-group membership is a method for managing the authorization between"},{"line_number":106,"context_line":"  groups of end users and multitenancy in OpenStack."}],"source_content_type":"text/x-properties","patch_set":2,"id":"dab17558_992fc8a0","line":103,"range":{"start_line":103,"start_character":34,"end_line":103,"end_character":38},"updated":"2016-05-13 16:17:15.000000000","message":"group*","commit_id":"75cc9c22632d5abfefa5c6c9302a5551583648f7"}],"doc/source/token-support-matrix.ini":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"eefc40c4016ec8cc3c376336ef297c26798b053e","unresolved":false,"context_lines":[{"line_number":135,"context_line":"  Horizon. Under certain circumstances, it\u0027s acceptable for more than just a"},{"line_number":136,"context_line":"  single token may be revoked as a result of this operation (such as when the"},{"line_number":137,"context_line":"  revoked token was previously used to create additional tokens)."},{"line_number":138,"context_line":"cli\u003dopenstack token revoke"},{"line_number":139,"context_line":"driver-impl-uuid\u003dcomplete"},{"line_number":140,"context_line":"driver-impl-pki\u003dcomplete"},{"line_number":141,"context_line":"driver-impl-pkiz\u003dcomplete"}],"source_content_type":"text/x-properties","patch_set":7,"id":"bacf61ea_1793fea4","line":138,"range":{"start_line":138,"start_character":4,"end_line":138,"end_character":26},"updated":"2016-07-27 15:15:02.000000000","message":"missing token to revoke here","commit_id":"851ef595a37fbb94fa97e4f2cf9cd142bf209e02"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"5b5c6706ad84c1405abfab1b4ccc7a80db16542f","unresolved":false,"context_lines":[{"line_number":135,"context_line":"  Horizon. Under certain circumstances, it\u0027s acceptable for more than just a"},{"line_number":136,"context_line":"  single token may be revoked as a result of this operation (such as when the"},{"line_number":137,"context_line":"  revoked token was previously used to create additional tokens)."},{"line_number":138,"context_line":"cli\u003dopenstack token revoke"},{"line_number":139,"context_line":"driver-impl-uuid\u003dcomplete"},{"line_number":140,"context_line":"driver-impl-pki\u003dcomplete"},{"line_number":141,"context_line":"driver-impl-pkiz\u003dcomplete"}],"source_content_type":"text/x-properties","patch_set":7,"id":"bacf61ea_02b45ef0","line":138,"in_reply_to":"bacf61ea_1793fea4","updated":"2016-07-27 15:33:24.000000000","message":"The nova examples don\u0027t include any of the parameters. I included it only for the auth options because there\u0027s not really a specific noun-verb command to reference besides \"token issue\" over and over.","commit_id":"851ef595a37fbb94fa97e4f2cf9cd142bf209e02"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"eefc40c4016ec8cc3c376336ef297c26798b053e","unresolved":false,"context_lines":[{"line_number":159,"context_line":"  themselves, rather than calling back to keystone, in order to improve"},{"line_number":160,"context_line":"  performance and scalability."},{"line_number":161,"context_line":"cli\u003d"},{"line_number":162,"context_line":"driver-impl-uuid\u003dmissing"},{"line_number":163,"context_line":"driver-impl-pki\u003dcomplete"},{"line_number":164,"context_line":"driver-impl-pkiz\u003dcomplete"},{"line_number":165,"context_line":"driver-impl-fernet\u003dmissing"}],"source_content_type":"text/x-properties","patch_set":7,"id":"bacf61ea_771a3a19","line":162,"range":{"start_line":162,"start_character":17,"end_line":162,"end_character":24},"updated":"2016-07-27 15:15:02.000000000","message":"this sounds like we\u0027re encouraging someone to possibly develop this feature. can we be a bit more firm with our language and state that we do not intend to implement offline validation for uuid and possibly fernet","commit_id":"851ef595a37fbb94fa97e4f2cf9cd142bf209e02"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"0294373041c5a14ae88301dba7b61b987ebd3d8f","unresolved":false,"context_lines":[{"line_number":159,"context_line":"  themselves, rather than calling back to keystone, in order to improve"},{"line_number":160,"context_line":"  performance and scalability."},{"line_number":161,"context_line":"cli\u003d"},{"line_number":162,"context_line":"driver-impl-uuid\u003dmissing"},{"line_number":163,"context_line":"driver-impl-pki\u003dcomplete"},{"line_number":164,"context_line":"driver-impl-pkiz\u003dcomplete"},{"line_number":165,"context_line":"driver-impl-fernet\u003dmissing"}],"source_content_type":"text/x-properties","patch_set":7,"id":"bacf61ea_12ddc942","line":162,"in_reply_to":"bacf61ea_0f82c600","updated":"2016-07-27 16:22:40.000000000","message":"if it\u0027s rendered as a big red X i\u0027m OK with that","commit_id":"851ef595a37fbb94fa97e4f2cf9cd142bf209e02"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"5b5c6706ad84c1405abfab1b4ccc7a80db16542f","unresolved":false,"context_lines":[{"line_number":159,"context_line":"  themselves, rather than calling back to keystone, in order to improve"},{"line_number":160,"context_line":"  performance and scalability."},{"line_number":161,"context_line":"cli\u003d"},{"line_number":162,"context_line":"driver-impl-uuid\u003dmissing"},{"line_number":163,"context_line":"driver-impl-pki\u003dcomplete"},{"line_number":164,"context_line":"driver-impl-pkiz\u003dcomplete"},{"line_number":165,"context_line":"driver-impl-fernet\u003dmissing"}],"source_content_type":"text/x-properties","patch_set":7,"id":"bacf61ea_c22a46e7","line":162,"in_reply_to":"bacf61ea_771a3a19","updated":"2016-07-27 15:33:24.000000000","message":"I agree that \"missing\" is a poor choice of words, but it\u0027s one of only 3 options supported by the support matrix extension as implemented in nova (complete, partial, missing). While it looks funky in the INI file, it just renders as a big red X, which I think conveys it just fine. Perhaps we should use a solid black circle, half-filled circle, and empty circle as our icons instead?","commit_id":"851ef595a37fbb94fa97e4f2cf9cd142bf209e02"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"1f095d605e2a6a5f9317b1c8d95fb777f782e5c6","unresolved":false,"context_lines":[{"line_number":159,"context_line":"  themselves, rather than calling back to keystone, in order to improve"},{"line_number":160,"context_line":"  performance and scalability."},{"line_number":161,"context_line":"cli\u003d"},{"line_number":162,"context_line":"driver-impl-uuid\u003dmissing"},{"line_number":163,"context_line":"driver-impl-pki\u003dcomplete"},{"line_number":164,"context_line":"driver-impl-pkiz\u003dcomplete"},{"line_number":165,"context_line":"driver-impl-fernet\u003dmissing"}],"source_content_type":"text/x-properties","patch_set":7,"id":"bacf61ea_0f82c600","line":162,"in_reply_to":"bacf61ea_c22a46e7","updated":"2016-07-27 16:04:42.000000000","message":"Terrible example: http://i.imgur.com/4xBR7hl.png","commit_id":"851ef595a37fbb94fa97e4f2cf9cd142bf209e02"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ca28fd2842f69405e96e7502ad1de6272fe17c9a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"status\u003dmandatory"},{"line_number":78,"context_line":"notes\u003dAll token providers must be capable of issuing project-scoped tokens."},{"line_number":79,"context_line":"cli\u003dopenstack --os-username\u003d\u003cusername\u003e --os-user-domain-name\u003d\u003cdomain\u003e"},{"line_number":80,"context_line":"  --os-password\u003d\u003cpassword\u003e --os-project-name\u003d\u003cproject\u003e token issue"},{"line_number":81,"context_line":"driver-impl-uuid\u003dcomplete"},{"line_number":82,"context_line":"driver-impl-pki\u003dcomplete"},{"line_number":83,"context_line":"driver-impl-pkiz\u003dcomplete"}],"source_content_type":"text/x-properties","patch_set":8,"id":"bacf61ea_afb9eb30","line":80,"updated":"2016-07-27 21:45:05.000000000","message":"I am pretty sure this typically requires --os-project-domain-name\u003d\u003cdomain\u003e when using the project name and not id","commit_id":"4c4310625f2b2c37308fcb7c8338852b5c4d7107"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"93949f128a4c6ae3d4adf59ced291d78c6447b6a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"status\u003dmandatory"},{"line_number":78,"context_line":"notes\u003dAll token providers must be capable of issuing project-scoped tokens."},{"line_number":79,"context_line":"cli\u003dopenstack --os-username\u003d\u003cusername\u003e --os-user-domain-name\u003d\u003cdomain\u003e"},{"line_number":80,"context_line":"  --os-password\u003d\u003cpassword\u003e --os-project-name\u003d\u003cproject\u003e token issue"},{"line_number":81,"context_line":"driver-impl-uuid\u003dcomplete"},{"line_number":82,"context_line":"driver-impl-pki\u003dcomplete"},{"line_number":83,"context_line":"driver-impl-pkiz\u003dcomplete"}],"source_content_type":"text/x-properties","patch_set":8,"id":"bacf61ea_ff636318","line":80,"in_reply_to":"bacf61ea_afb9eb30","updated":"2016-07-28 17:08:37.000000000","message":"++ good catch","commit_id":"4c4310625f2b2c37308fcb7c8338852b5c4d7107"}]}
