)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"620f728bdc9f02ec9d85459fa1bec9c28495980d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Support configuration of multiple pci_alias within an array"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In Kilo (and earlier), the pci_alias is a json docstring that encodes a"},{"line_number":10,"context_line":"dictionnary. This patch adds the list support to pci_alias, and both list and"},{"line_number":11,"context_line":"dict are now supported."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The pci_alias configuration is now aligned with packstack"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba8a016a_fb13bf5a","line":10,"updated":"2015-11-16 20:53:58.000000000","message":"\"dictionnary\" should only have one \"n\".  I think the next sentence would be clearer as \"This patch adds list support to pci_alias, both list-of-dict and dict are now supported.\"","commit_id":"87dbbda180c7d492eba1869b9dacd713733caad5"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"359723fdf73fa6922a2aca67ed2ebe2eebe2522f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Support configuration of multiple pci_alias within an array"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In Kilo (and earlier), the pci_alias is a json docstring that encodes a"},{"line_number":10,"context_line":"dictionnary. This patch adds the list support to pci_alias, and both list and"},{"line_number":11,"context_line":"dict are now supported."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The pci_alias configuration is now aligned with packstack"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba8a016a_29bb3e74","line":10,"in_reply_to":"ba8a016a_fb13bf5a","updated":"2015-11-16 22:52:32.000000000","message":"Done","commit_id":"87dbbda180c7d492eba1869b9dacd713733caad5"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"a55438a42fc7227844ce11a0a1d3cc45b0c37200","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The pci_alias configuration is now aligned with packstack"},{"line_number":14,"context_line":"(see manifests/api.pp)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I21683daa4fa53d901a9e7dc6dbe366ebcc57bcd5"},{"line_number":17,"context_line":"Closes-Bug: #1513513"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba8a016a_80baedbe","line":15,"updated":"2015-11-18 08:33:02.000000000","message":"I don\u0027t recall that you can configure pci_alias or  pci_passthrough \nin packstack.  I know you that you need this patch \nhttps://review.openstack.org/#/c/214302/ to enable it and it is not merge.\ncan you point me to the manifests/api.pp?","commit_id":"87dbbda180c7d492eba1869b9dacd713733caad5"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"05296d55157512f46659024ab6cbd6eaed243b56","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The pci_alias configuration is now aligned with packstack"},{"line_number":14,"context_line":"(see manifests/api.pp)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I21683daa4fa53d901a9e7dc6dbe366ebcc57bcd5"},{"line_number":17,"context_line":"Closes-Bug: #1513513"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba8a016a_bd5388e1","line":15,"in_reply_to":"ba8a016a_80baedbe","updated":"2015-11-18 13:53:24.000000000","message":"See https://github.com/openstack/puppet-nova/blob/master/manifests/api.pp#L125\n\nI\u0027ll clarify my commit message.","commit_id":"87dbbda180c7d492eba1869b9dacd713733caad5"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"6351f535417e06d85ff17a81f18ae8f6781bea67","unresolved":false,"context_lines":[{"line_number":11,"context_line":"dict are now supported."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The pci_alias configuration is now aligned with packstack"},{"line_number":14,"context_line":"(see manifests/api.pp in puppet-nova)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I21683daa4fa53d901a9e7dc6dbe366ebcc57bcd5"},{"line_number":17,"context_line":"Closes-Bug: #1513513"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba8a016a_fb8ef8ce","line":14,"updated":"2015-11-18 13:59:08.000000000","message":"so to be more accurate is to be aligned with puppet-nova.\npackstack is using puppet to configure openstack, but  there are also other deployment tools that use it as well.","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"e2d4698d0a5a6eb245fc40e66cc755f0b62a299a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"dict are now supported."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The pci_alias configuration is now aligned with packstack"},{"line_number":14,"context_line":"(see manifests/api.pp in puppet-nova)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I21683daa4fa53d901a9e7dc6dbe366ebcc57bcd5"},{"line_number":17,"context_line":"Closes-Bug: #1513513"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a740942_b9434dae","line":14,"in_reply_to":"7a740942_3d80b8f4","updated":"2015-12-08 17:46:18.000000000","message":"Done","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"e34e69a161db4133d86024e00b58f24e39d0fb78","unresolved":false,"context_lines":[{"line_number":11,"context_line":"dict are now supported."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The pci_alias configuration is now aligned with packstack"},{"line_number":14,"context_line":"(see manifests/api.pp in puppet-nova)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I21683daa4fa53d901a9e7dc6dbe366ebcc57bcd5"},{"line_number":17,"context_line":"Closes-Bug: #1513513"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a740942_3d80b8f4","line":14,"in_reply_to":"ba8a016a_fb8ef8ce","updated":"2015-12-08 13:58:21.000000000","message":"We don\u0027t necessarily need to rely on this, if anything it should be the other way around.\n\nThe proposed change here is a nice backward compatible improvement so I don\u0027t think we need this other than maybe as a note.","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fced73722e54563bcac8325d174b95fc415be66b","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The pci_alias configuration is now aligned with packstack"},{"line_number":14,"context_line":"(see manifests/api.pp in puppet-nova)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I21683daa4fa53d901a9e7dc6dbe366ebcc57bcd5"},{"line_number":17,"context_line":"Closes-Bug: #1513513"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a740942_19fdc16d","line":15,"updated":"2015-12-08 17:49:00.000000000","message":"We should have DocImpact here I think.","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"566213509cf6449e12e25dcecbd1662339676a3a","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The pci_alias configuration is now aligned with packstack"},{"line_number":14,"context_line":"(see manifests/api.pp in puppet-nova)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I21683daa4fa53d901a9e7dc6dbe366ebcc57bcd5"},{"line_number":17,"context_line":"Closes-Bug: #1513513"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a740942_cbc75c62","line":15,"in_reply_to":"7a740942_19fdc16d","updated":"2015-12-08 18:18:43.000000000","message":"Done","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"}],"nova/pci/request.py":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"620f728bdc9f02ec9d85459fa1bec9c28495980d","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif not isinstance(specs, list):"},{"line_number":126,"context_line":"                raise exception.PciInvalidAlias("},{"line_number":127,"context_line":"                          reason\u003d_(\"Invalid entry: \u0027%s\u0027; \""},{"line_number":128,"context_line":"                                   \"Expecting list or dict\") % jsonspecs)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"            for spec in specs:"},{"line_number":131,"context_line":"                jsonschema.validate(spec, _ALIAS_SCHEMA)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_3b6e27ca","line":128,"updated":"2015-11-16 20:53:58.000000000","message":"would be clearer as \"Expecting dict or list-of-dict\"","commit_id":"87dbbda180c7d492eba1869b9dacd713733caad5"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"359723fdf73fa6922a2aca67ed2ebe2eebe2522f","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            elif not isinstance(specs, list):"},{"line_number":126,"context_line":"                raise exception.PciInvalidAlias("},{"line_number":127,"context_line":"                          reason\u003d_(\"Invalid entry: \u0027%s\u0027; \""},{"line_number":128,"context_line":"                                   \"Expecting list or dict\") % jsonspecs)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"            for spec in specs:"},{"line_number":131,"context_line":"                jsonschema.validate(spec, _ALIAS_SCHEMA)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_09b67a8a","line":128,"in_reply_to":"ba8a016a_3b6e27ca","updated":"2015-11-16 22:52:32.000000000","message":"Done","commit_id":"87dbbda180c7d492eba1869b9dacd713733caad5"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"a55438a42fc7227844ce11a0a1d3cc45b0c37200","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                    if aliases[name][0][\"device_type\"] \u003d\u003d spec[\"device_type\"]:"},{"line_number":137,"context_line":"                        aliases[name].append(spec)"},{"line_number":138,"context_line":"                    else:"},{"line_number":139,"context_line":"                        reason \u003d \"Device type mismatch for alias \u0027%s\u0027\" % name"},{"line_number":140,"context_line":"                        raise exception.PciInvalidAlias(reason\u003dreason)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    except exception.PciInvalidAlias:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_7186b966","line":139,"updated":"2015-11-18 08:33:02.000000000","message":"you are missing translation\nshould be reason \u003d _(\"Device type mismatch for alias \u0027%s\u0027\") % name","commit_id":"87dbbda180c7d492eba1869b9dacd713733caad5"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"05296d55157512f46659024ab6cbd6eaed243b56","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                    if aliases[name][0][\"device_type\"] \u003d\u003d spec[\"device_type\"]:"},{"line_number":137,"context_line":"                        aliases[name].append(spec)"},{"line_number":138,"context_line":"                    else:"},{"line_number":139,"context_line":"                        reason \u003d \"Device type mismatch for alias \u0027%s\u0027\" % name"},{"line_number":140,"context_line":"                        raise exception.PciInvalidAlias(reason\u003dreason)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    except exception.PciInvalidAlias:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_bd18681f","line":139,"in_reply_to":"ba8a016a_7186b966","updated":"2015-11-18 13:53:24.000000000","message":"Done","commit_id":"87dbbda180c7d492eba1869b9dacd713733caad5"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fced73722e54563bcac8325d174b95fc415be66b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                          \u0027  \"product_id\": \"0443\", \u0027"},{"line_number":62,"context_line":"                          \u0027  \"vendor_id\": \"8086\", \u0027"},{"line_number":63,"context_line":"                          \u0027  \"device_type\": \"ACCEL\" \u0027"},{"line_number":64,"context_line":"                          \u0027} \u0027"},{"line_number":65,"context_line":"                        \u0027defines an alias for the Intel QuickAssist card. \u0027"},{"line_number":66,"context_line":"                        \u0027(multi valued)\u0027"},{"line_number":67,"context_line":"                   )"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_b9d58de5","line":64,"updated":"2015-12-08 17:49:00.000000000","message":"Don\u0027t we need to update this configuration documentation?","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"566213509cf6449e12e25dcecbd1662339676a3a","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                          \u0027  \"product_id\": \"0443\", \u0027"},{"line_number":62,"context_line":"                          \u0027  \"vendor_id\": \"8086\", \u0027"},{"line_number":63,"context_line":"                          \u0027  \"device_type\": \"ACCEL\" \u0027"},{"line_number":64,"context_line":"                          \u0027} \u0027"},{"line_number":65,"context_line":"                        \u0027defines an alias for the Intel QuickAssist card. \u0027"},{"line_number":66,"context_line":"                        \u0027(multi valued)\u0027"},{"line_number":67,"context_line":"                   )"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_ab8e902b","line":64,"in_reply_to":"7a740942_b9d58de5","updated":"2015-12-08 18:18:43.000000000","message":"John, I think we should support both format in order to be consistent with pci_passthrough_whitelist.  \n\nSo, support both these:\npci_alias\u003d\"{...1...}\" pci_alias\u003d\"{...2...}\"\nand\npci_alias\u003d\"[{...1...},{...2...}]\"","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"1dc5f9ec893e44c6a6299e5d936ed4d72bb75d6b","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    aliases \u003d {}  # map alias name to alias spec list"},{"line_number":114,"context_line":"    try:"},{"line_number":115,"context_line":"        for jsonspecs in jaliases:"},{"line_number":116,"context_line":"            # Align with packstack and pci_passthrough_whitelist.  Support"},{"line_number":117,"context_line":"            # list of pci_alias."},{"line_number":118,"context_line":"            try:"},{"line_number":119,"context_line":"                specs \u003d jsonutils.loads(jsonspecs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_1fa2b3fd","line":116,"updated":"2015-11-18 19:28:22.000000000","message":"Nit: Not sure why packstack should be mentioned here.","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"e2d4698d0a5a6eb245fc40e66cc755f0b62a299a","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    aliases \u003d {}  # map alias name to alias spec list"},{"line_number":114,"context_line":"    try:"},{"line_number":115,"context_line":"        for jsonspecs in jaliases:"},{"line_number":116,"context_line":"            # Align with packstack and pci_passthrough_whitelist.  Support"},{"line_number":117,"context_line":"            # list of pci_alias."},{"line_number":118,"context_line":"            try:"},{"line_number":119,"context_line":"                specs \u003d jsonutils.loads(jsonspecs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_fe0a1b25","line":116,"in_reply_to":"7a740942_bdbd88d9","updated":"2015-12-08 17:46:18.000000000","message":"Done","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"4d019d1f82dbb4224c38d226f9e9af6d2b79b675","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    aliases \u003d {}  # map alias name to alias spec list"},{"line_number":114,"context_line":"    try:"},{"line_number":115,"context_line":"        for jsonspecs in jaliases:"},{"line_number":116,"context_line":"            # Align with packstack and pci_passthrough_whitelist.  Support"},{"line_number":117,"context_line":"            # list of pci_alias."},{"line_number":118,"context_line":"            try:"},{"line_number":119,"context_line":"                specs \u003d jsonutils.loads(jsonspecs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_996b18b9","line":116,"in_reply_to":"ba8a016a_1fa2b3fd","updated":"2015-11-18 23:22:30.000000000","message":"I think it would make sense to mention puppet or puppet-nova though.","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"e34e69a161db4133d86024e00b58f24e39d0fb78","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    aliases \u003d {}  # map alias name to alias spec list"},{"line_number":114,"context_line":"    try:"},{"line_number":115,"context_line":"        for jsonspecs in jaliases:"},{"line_number":116,"context_line":"            # Align with packstack and pci_passthrough_whitelist.  Support"},{"line_number":117,"context_line":"            # list of pci_alias."},{"line_number":118,"context_line":"            try:"},{"line_number":119,"context_line":"                specs \u003d jsonutils.loads(jsonspecs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_bdbd88d9","line":116,"in_reply_to":"ba8a016a_996b18b9","updated":"2015-12-08 13:58:21.000000000","message":"Yeah I\u0027d drop any mention of that","commit_id":"8b87623e4deade466ceb394263fdd32a79871d84"}]}
