)]}'
{
  "log": [
    {
      "commit": "87f04ca2cd8253fd49d8beff2388fd3410572b5f",
      "tree": "1567b771d19d2c980ba81143a84997c1421de327",
      "parents": [
        "05e911cb0c436ec6ee4bc33c6a663829a2dad62a"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Apr 18 23:08:20 2016 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Tue Apr 19 11:20:31 2016 +0000"
      },
      "message": "Mark remaining negative subnetpool tests with \u0027negative\u0027 tag\n\nOther tests in the class are \u0027negative\u0027, so let\u0027s not break the pattern.\n\nChange-Id: Ic88b8462c35d2914e21e0b0de3eeff92692de018\n"
    },
    {
      "commit": "05e911cb0c436ec6ee4bc33c6a663829a2dad62a",
      "tree": "951757ad5b2589151168ab710d0133178c98bffc",
      "parents": [
        "a282f486f38c51d424d3cdd4075e8d51ca30c22e"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Apr 18 22:54:23 2016 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Tue Apr 19 13:20:05 2016 +0200"
      },
      "message": "Removed smoke tags from all -api job tests\n\nMost of the smoke tests now in the Neutron tree were inherited from Tempest\nand are in the process of being reconciled back. Since [1], Neutron tests\ncan be run via a Tempest plugin, therefore there is a chance that these\nare picked up unwillingly by some CI systems (like the one of Puppet\nsub-project).\n\nWe should purge the tags for now, complete the de-fork and consider which\nones are worth the tag again.\n\n[1] Ia233aa162746845f6ae08a8157dcd242dcd58eab\n[2] https://etherpad.openstack.org/p/neutron-tempest-defork-patches-since-initial-sync\n\nChange-Id: Id0bbfef2058363c22dc042c8d0793a1df7bac3aa\n"
    },
    {
      "commit": "a282f486f38c51d424d3cdd4075e8d51ca30c22e",
      "tree": "1b9fb634a86f1b6f94bc48fdb036d8c11dc72140",
      "parents": [
        "65cc2d22adf3624d7824c4ee540e64a732c261f1",
        "3c0aeab1fbf2f9106a2d6b9cda5dba8082540e3b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Apr 14 18:10:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Apr 14 18:10:14 2016 +0000"
      },
      "message": "Merge \"Use tempest plugin interface\""
    },
    {
      "commit": "3c0aeab1fbf2f9106a2d6b9cda5dba8082540e3b",
      "tree": "1b9fb634a86f1b6f94bc48fdb036d8c11dc72140",
      "parents": [
        "65cc2d22adf3624d7824c4ee540e64a732c261f1"
      ],
      "author": {
        "name": "Daniel Mellado",
        "email": "dmellado@redhat.com",
        "time": "Fri Jan 29 11:30:25 2016 +0000"
      },
      "committer": {
        "name": "Daniel Mellado",
        "email": "dmellado@redhat.com",
        "time": "Thu Apr 14 15:19:14 2016 +0200"
      },
      "message": "Use tempest plugin interface\n\nMake use of the Tempest plugin interface instead of copying Neutron\nfiles into Tempest. This will remove the burden to port Neutron\ntests onto Tempest master recurrently.\n\nIt uses neutron/tests/tempest/ as new top folder for all Tempest\ntests. It follows the model of Heat [1].\n\n[1]: https://github.com/openstack/heat/tree/master/heat_integrationtests\n\nPartially implements bp external-plugin-interface\n\nChange-Id: Ia233aa162746845f6ae08a8157dcd242dcd58eab\n"
    },
    {
      "commit": "65cc2d22adf3624d7824c4ee540e64a732c261f1",
      "tree": "2e0ca4000ca4272656ecc5ec4e21d4e542da5958",
      "parents": [
        "3bd90bbd1e8c8c3836e6f44db26afee3433de83b"
      ],
      "author": {
        "name": "Assaf Muller",
        "email": "amuller@redhat.com",
        "time": "Thu Apr 07 17:56:03 2016 -0400"
      },
      "committer": {
        "name": "Assaf Muller",
        "email": "amuller@redhat.com",
        "time": "Tue Apr 12 16:47:21 2016 -0400"
      },
      "message": "Fix broken Tempest conf options in API tests\n\nTempest commit ed6e586b9f8f0ada10af7711f297afa01b2b7754\nchanged configuration options defined in Tempest from\ntenant to project. Currently we use Tempest from PyPI,\nand since there hasn\u0027t yet been a Tempest release with\nthe change that breaks us, we\u0027re still safe, however the\nnext release will break us, so let\u0027s be ready for it.\n\nLong term I think the correct thing to do would be to\ndefine new options used exclusively in the Neutron tree.\n\nChange-Id: I054b94a43d900e42872a9cb28d33a3ed45e14779\n"
    },
    {
      "commit": "3bd90bbd1e8c8c3836e6f44db26afee3433de83b",
      "tree": "9e2602149af2c4faec63ab2db0cac8ee0b8ef1c6",
      "parents": [
        "1f2c1e7bdc455614e7f8cb128fd392926eb0324d",
        "0a782725ed812cd165e4812959f2afabb49c94cb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 18 12:41:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 18 12:41:11 2016 +0000"
      },
      "message": "Merge \"DSCP QoS rule implementation\""
    },
    {
      "commit": "0a782725ed812cd165e4812959f2afabb49c94cb",
      "tree": "9e2602149af2c4faec63ab2db0cac8ee0b8ef1c6",
      "parents": [
        "1f2c1e7bdc455614e7f8cb128fd392926eb0324d"
      ],
      "author": {
        "name": "David Shaughnessy",
        "email": "david.shaughnessy@intel.com",
        "time": "Tue Mar 01 18:55:56 2016 +0000"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Fri Mar 18 10:07:24 2016 +0100"
      },
      "message": "DSCP QoS rule implementation\n\nThis patch adds the front end and back end implementation of QoS DSCP.\n\nAssociated patches that are dependent on this one:\n\n* python-neutronclient: https://review.openstack.org/#/c/254280\n* openstack-manuals: https://review.openstack.org/#/c/273638\n* API Guide: https://review.openstack.org/#/c/275253\n* Heat:\n  * Spec: https://review.openstack.org/#/c/272173\n  * QoSDscpMarkingRule resource: https://review.openstack.org/#/c/277567\n* Fullstack tests: https://review.openstack.org/#/c/288392/\n\nAPIImpact - The API now supports marking traffic egressing from a VM\u0027s\n            dscp field with a valid dscp value.\n\nCo-Authored-By: Nate Johnston \u003cnate_johnston@cable.comcast.com\u003e\nCo-Authored-By: Victor Howard \u003cvictor.r.howard@gmail.com\u003e\nCo-Authored-By: Margaret Frances \u003cmargaret_frances@cable.comcast.com\u003e\nCo-Authored-By: James Reeves \u003cjames.reeves5546@gmail.com\u003e\nCo-Authored-By: John Schwarz \u003cjschwarz@redhat.com\u003e\nNeeded-By: I25ad60c1b9a66e568276a772b8c496987d9f8299\nNeeded-By: I881b8f5bc9024c20275bc56062de72a1c70c8321\nNeeded-By: I48ead4b459183db795337ab729830a1b3c0022da\nNeeded-By: Ib92b172dce48276b90ec75ee5880ddd69040d7c8\nNeeded-By: I4eb21495e84feea46880caf3360759263e1e8f95\nNeeded-By: I0ab6a1a0d1430c5791fea1d5b54106c6cc93b937\nPartial-Bug: #1468353\n\nChange-Id: Ic3baefe176df05f049a2e06529c58fd65fe6b419\n"
    },
    {
      "commit": "1f2c1e7bdc455614e7f8cb128fd392926eb0324d",
      "tree": "709e24169ad2dfefb38ee94273e997e0710c74c3",
      "parents": [
        "f6e02fb0fddd32d4b507813bd2343112418db6b6",
        "e3d7636658b77bd14d419ea69b741f3a99442f0b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Mar 10 14:09:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Mar 10 14:09:50 2016 +0000"
      },
      "message": "Merge \"Copy tempest.common.tempest_fixtures in to Neutron\""
    },
    {
      "commit": "e3d7636658b77bd14d419ea69b741f3a99442f0b",
      "tree": "709e24169ad2dfefb38ee94273e997e0710c74c3",
      "parents": [
        "f6e02fb0fddd32d4b507813bd2343112418db6b6"
      ],
      "author": {
        "name": "Assaf Muller",
        "email": "amuller@redhat.com",
        "time": "Wed Mar 09 18:59:20 2016 -0500"
      },
      "committer": {
        "name": "Assaf Muller",
        "email": "amuller@redhat.com",
        "time": "Wed Mar 09 19:01:35 2016 -0500"
      },
      "message": "Copy tempest.common.tempest_fixtures in to Neutron\n\ntempest_fixtures is used exclusively in Tempest and Neutron,\ntherefor I don\u0027t think it makes sense to move it in to tempest.lib.\nI\u0027d rather copy it in to the Neutron repo.\n\nChange-Id: Ibb52e2cae3f1af1569a04123c43ebc4d125e326d\nRelated-bug: #1555356\n"
    },
    {
      "commit": "f6e02fb0fddd32d4b507813bd2343112418db6b6",
      "tree": "ce933ea123aeb463d63b91224b4e14411017676f",
      "parents": [
        "df57a6ac8b51a8ef75cb905947b19553a9f764d4"
      ],
      "author": {
        "name": "Kevin Benton",
        "email": "kevin@benton.pub",
        "time": "Sun Mar 06 14:16:34 2016 -0800"
      },
      "committer": {
        "name": "Kevin Benton",
        "email": "kevin@benton.pub",
        "time": "Sun Mar 06 14:16:34 2016 -0800"
      },
      "message": "Fix tempest lib import in API tests\n\nChange Ic2d4cea4f11222fc7b45eb378cfc32974c1be9b6\nremoved the service_client module and replaced it\nwith rest_client. This updates our code to reflect\nthat.\n\nChange-Id: I5f6b0de632703eac6b6f05ae48c44d511f1fda5e\nCloses-Bug: #1554362\n"
    },
    {
      "commit": "df57a6ac8b51a8ef75cb905947b19553a9f764d4",
      "tree": "a6f5a8107852b83251ef516e17df1887b64f7209",
      "parents": [
        "84fc4bded618793e75a4fcd2cf24cefa03865b88",
        "4a58b5ee312b7335b7d9d7a75dee5f87e1c602d6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Mar 06 04:56:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Mar 06 04:56:54 2016 +0000"
      },
      "message": "Merge \"Add a description field to all standard resources\""
    },
    {
      "commit": "84fc4bded618793e75a4fcd2cf24cefa03865b88",
      "tree": "915b44b89ed5d0e8e168e9fb2d3f2023a564613f",
      "parents": [
        "c6121562f62e2bd70670a3690928672f64bbb416",
        "5d41c48413946093c632768fd61a6fd2010f67c2"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Mar 05 22:49:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Mar 05 22:49:58 2016 +0000"
      },
      "message": "Merge \"Continue the fwaas decoupling and cleanup\""
    },
    {
      "commit": "4a58b5ee312b7335b7d9d7a75dee5f87e1c602d6",
      "tree": "7c61727c420a031c8fea9b06e2a3e29bc5826cac",
      "parents": [
        "c6121562f62e2bd70670a3690928672f64bbb416"
      ],
      "author": {
        "name": "Kevin Benton",
        "email": "kevin@benton.pub",
        "time": "Wed Feb 10 17:00:21 2016 -0800"
      },
      "committer": {
        "name": "Kevin Benton",
        "email": "kevin@benton.pub",
        "time": "Sat Mar 05 02:29:35 2016 +0000"
      },
      "message": "Add a description field to all standard resources\n\nIn order to give users and operators more flexibility in\nannotating the purpose of various Neutron resources, this patch\nadds a description field limited to 255 chars to all of the\nNeutron resources that reference the standard attribute table.\nThe resource that reference the table are the following:\nsecurity_group_rules, security_groups, ports, subnets,\nnetworks, routers, floatingips, subnetpools\n\nThis patch adds a description table related to standard attributes\nand migrates over the existing security group description to the new\ntable as well.\n\nCo-Authored-By: James Dempsey \u003cjamesd@catalyst.net.nz\u003e\n\nAPIImpact\nDocImpact: Adds a description field to all resources outline in\n           commit message.\nCloses-Bug: #1483480\nChange-Id: I6e1ef53d7aae7d04a5485810cc1db0a8eb125953\n"
    },
    {
      "commit": "5d41c48413946093c632768fd61a6fd2010f67c2",
      "tree": "915b44b89ed5d0e8e168e9fb2d3f2023a564613f",
      "parents": [
        "c6121562f62e2bd70670a3690928672f64bbb416"
      ],
      "author": {
        "name": "Armando Migliaccio",
        "email": "armamig@gmail.com",
        "time": "Thu Mar 03 23:08:35 2016 -0800"
      },
      "committer": {
        "name": "Armando Migliaccio",
        "email": "armamig@gmail.com",
        "time": "Sat Mar 05 00:22:25 2016 +0000"
      },
      "message": "Continue the fwaas decoupling and cleanup\n\nRemove some stale code. FWaaS has its own tempest plugin now.\n\nCloses-Bug: #1506760\n\nChange-Id: Ifd49d6b2b68fe31f27ae3eb26e272167683075c6\n"
    },
    {
      "commit": "c6121562f62e2bd70670a3690928672f64bbb416",
      "tree": "d9cd6f4acd1e714e11d525734e20d22a93d2a00a",
      "parents": [
        "023d7f8acc0a7535c94559fbbdbe15759d4564b6",
        "86f6d41b864d8581c94d0ccf3a838a8277009976"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 04 01:58:58 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 04 01:58:59 2016 +0000"
      },
      "message": "Merge \"Add Queries For BGP Route Lookups\""
    },
    {
      "commit": "86f6d41b864d8581c94d0ccf3a838a8277009976",
      "tree": "d9cd6f4acd1e714e11d525734e20d22a93d2a00a",
      "parents": [
        "023d7f8acc0a7535c94559fbbdbe15759d4564b6"
      ],
      "author": {
        "name": "Ryan Tidwell",
        "email": "ryan.tidwell@hpe.com",
        "time": "Sun Jan 03 20:30:08 2016 +0530"
      },
      "committer": {
        "name": "Ryan Tidwell",
        "email": "ryan.tidwell@hpe.com",
        "time": "Wed Mar 02 11:03:02 2016 -0800"
      },
      "message": "Add Queries For BGP Route Lookups\n\nThis patch contains code for looking in the Neutron DB and identifying\nnext-hops for tenant networks and floating IP\u0027s. These queries use the\ncentralized router as the next-hop and ignore host routes attached to\na distributed router.\n\nPartially-Implements: blueprint bgp-dynamic-routing\nCo-Authored-By: vikram.choudhary \u003cvikram.choudhary@huawei.com\u003e\nChange-Id: If08d6595d9bc657a7ecfb487e8df40860837d200\n"
    },
    {
      "commit": "023d7f8acc0a7535c94559fbbdbe15759d4564b6",
      "tree": "9d8187f3e4af6fd5178565e3a6a467221842384f",
      "parents": [
        "673c248d5e6ebf0a26faf94ccc9ea841a88383e7"
      ],
      "author": {
        "name": "Armando Migliaccio",
        "email": "armamig@gmail.com",
        "time": "Thu Feb 25 12:21:24 2016 -0800"
      },
      "committer": {
        "name": "Armando Migliaccio",
        "email": "armamig@gmail.com",
        "time": "Fri Feb 26 14:00:11 2016 +0000"
      },
      "message": "Switch to using in-tree tempest lib\n\nAs a result of change db9672e3473cd, tempest_lib is no\nlonger a thing we should be using.\n\nChange-Id: I47f368fdce477d7419cc8fc23eb17264df42932d\n"
    },
    {
      "commit": "673c248d5e6ebf0a26faf94ccc9ea841a88383e7",
      "tree": "f49c25bbf53459ad39e934882e40c9d1f68e57d9",
      "parents": [
        "4dbc70d77707e0f098e6a1ac7ba1d33a34742e51",
        "5951cab2eb256c064bc64f54e0e2643e7e4385b3"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 24 05:18:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 24 05:18:54 2016 +0000"
      },
      "message": "Merge \"API test for get-me-network\""
    },
    {
      "commit": "5951cab2eb256c064bc64f54e0e2643e7e4385b3",
      "tree": "f49c25bbf53459ad39e934882e40c9d1f68e57d9",
      "parents": [
        "4dbc70d77707e0f098e6a1ac7ba1d33a34742e51"
      ],
      "author": {
        "name": "Henry Gessau",
        "email": "gessau@gmail.com",
        "time": "Mon Feb 08 00:51:52 2016 -0500"
      },
      "committer": {
        "name": "Henry Gessau",
        "email": "gessau@gmail.com",
        "time": "Tue Feb 23 17:25:58 2016 -0500"
      },
      "message": "API test for get-me-network\n\nPartially-implements: blueprint get-me-a-network\n\nChange-Id: I43b2172edd666a23c41f9000197834858e6137dc\n"
    },
    {
      "commit": "4dbc70d77707e0f098e6a1ac7ba1d33a34742e51",
      "tree": "2db1b12eda7a6e78036bd22f25c588781930e601",
      "parents": [
        "1c49a8091e1f08e59b32421925a678132e232b23",
        "f0edec4c72fa11a3c5785e011c09ead4fde90d7b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 12 21:34:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 12 21:34:54 2016 +0000"
      },
      "message": "Merge \"Remove vpnaas tests from the Neutron API tree\""
    },
    {
      "commit": "1c49a8091e1f08e59b32421925a678132e232b23",
      "tree": "a33199cf29f7683d1bd186996202bb9a70c057ec",
      "parents": [
        "f09c0c428724e1249749123e1eee15e53ee9eb59",
        "b3a89aa0e9cc99259cd56b96f06f62d2e7a79f89"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 12 05:38:50 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 12 05:38:51 2016 +0000"
      },
      "message": "Merge \"Add BGP Dynamic Routing DB Model and Basic CRUD\""
    },
    {
      "commit": "b3a89aa0e9cc99259cd56b96f06f62d2e7a79f89",
      "tree": "a33199cf29f7683d1bd186996202bb9a70c057ec",
      "parents": [
        "f09c0c428724e1249749123e1eee15e53ee9eb59"
      ],
      "author": {
        "name": "Ryan Tidwell",
        "email": "ryan.tidwell@hpe.com",
        "time": "Fri Feb 05 14:31:03 2016 -0800"
      },
      "committer": {
        "name": "Carl Baldwin",
        "email": "carl.baldwin@hpe.com",
        "time": "Thu Feb 11 14:43:35 2016 -0700"
      },
      "message": "Add BGP Dynamic Routing DB Model and Basic CRUD\n\nThis patch enables basic CRUD on BGP dynamic routing\nentities bgp_speaker and bgp_peer, as well as\nbgp_speaker-bgp_peer and bgp_speaker-network\nbindings.\n\nAn admin user can create BgpSpeakers and configure\npeering entities (BgpPeers) for BgpSpeakers. BgpSpeaker\nto BgpPeer association is n-to-n. An admin user can\nalso associate networks with BgpSpeakers. Relationship\nbetween BgpSpeaker and Network is 1-to-n.\n\nThis patch provides BGP-related functionality only to\nthe admin users.\n\nPartially-Implements: blueprint bgp-dynamic-routing\nCo-Authored-By: Ryan Tidwell \u003cryan.tidwell@hpe.com\u003e\nCo-Authored-By: Jaume Devesa \u003cdevvesa@gmail.com\u003e\nCo-Authored-By: vikram.choudhary \u003cvikram.choudhary@huawei.com\u003e\nChange-Id: I2412c1689683da9d7ec884a4cea506d4eed99453\n"
    },
    {
      "commit": "f0edec4c72fa11a3c5785e011c09ead4fde90d7b",
      "tree": "d98849df26daabd9205c02af120a4c7966a5c5c2",
      "parents": [
        "f09c0c428724e1249749123e1eee15e53ee9eb59"
      ],
      "author": {
        "name": "armando-migliaccio",
        "email": "armamig@gmail.com",
        "time": "Wed Feb 10 12:20:50 2016 -0800"
      },
      "committer": {
        "name": "Henry Gessau",
        "email": "gessau@gmail.com",
        "time": "Thu Feb 11 09:17:51 2016 -0500"
      },
      "message": "Remove vpnaas tests from the Neutron API tree\n\nIt is important to remove these tests as changes to the\nneutron_vpnaas repo can unexpectedly break Neutron,\nforcing us to co-gate on vpnaas fix to solve the empasse.\n\nThe VPNaaS team should pursue a decoupled testing\nstrategy, where these types of tests are used to gate\non the vpnaass repo itself. As a temporary measure a\nco-gate to neutron would be acceptable (like lbaas)\nuntil neutron-lib takes proper life.\n\nChange-Id: I7deda7170d0e4e47b78a2b328b7eb853cbd94553\n"
    },
    {
      "commit": "f09c0c428724e1249749123e1eee15e53ee9eb59",
      "tree": "77997cdec7ed0a9e5abe03a0b3b92930933d1cb3",
      "parents": [
        "ab5461c0a182e03528c4453f4b6a9b30e3065c51",
        "ca20d31c1ee8008bb2c8f2c394dc139b16250a22"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Feb 09 22:21:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Feb 09 22:21:25 2016 +0000"
      },
      "message": "Merge \"Test helpers to facilitate testing BGP dynamic routing.\""
    },
    {
      "commit": "ca20d31c1ee8008bb2c8f2c394dc139b16250a22",
      "tree": "77997cdec7ed0a9e5abe03a0b3b92930933d1cb3",
      "parents": [
        "ab5461c0a182e03528c4453f4b6a9b30e3065c51"
      ],
      "author": {
        "name": "Ryan Tidwell",
        "email": "ryan.tidwell@hpe.com",
        "time": "Fri Feb 05 14:25:35 2016 -0800"
      },
      "committer": {
        "name": "Ryan Tidwell",
        "email": "ryan.tidwell@hpe.com",
        "time": "Mon Feb 08 17:09:53 2016 -0800"
      },
      "message": "Test helpers to facilitate testing BGP dynamic routing.\n\nThis patch includes changes that facilitate creation of subnetpools\nand address scopes, as well as changes that make it easier to allocate\nsubnets from a subnetpool inside unit and API tests. These fixtures\nare needed for testing BGP features, but have general utility in\nin developing Neutron tests in the future.\n\nChange-Id: I65749dac516e3ff23db50cbb7b832aa3039394e6\nPartially-Implements: blueprint bgp-dynamic-routing\n"
    },
    {
      "commit": "ab5461c0a182e03528c4453f4b6a9b30e3065c51",
      "tree": "0171439f176e476968719b12116aff952d3e5adf",
      "parents": [
        "41d066309e94dfe3bf534f340b03d675bbcc88fb",
        "d22ca2eb758e4b9d7a54d5af13b8ca864d80c34a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jan 29 19:07:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jan 29 19:07:57 2016 +0000"
      },
      "message": "Merge \"Delete Tempest fork, import from tempest and tempest_lib\""
    },
    {
      "commit": "d22ca2eb758e4b9d7a54d5af13b8ca864d80c34a",
      "tree": "0171439f176e476968719b12116aff952d3e5adf",
      "parents": [
        "41d066309e94dfe3bf534f340b03d675bbcc88fb"
      ],
      "author": {
        "name": "Assaf Muller",
        "email": "amuller@redhat.com",
        "time": "Tue Jan 19 11:47:14 2016 -0500"
      },
      "committer": {
        "name": "Assaf Muller",
        "email": "amuller@redhat.com",
        "time": "Fri Jan 29 11:31:27 2016 -0500"
      },
      "message": "Delete Tempest fork, import from tempest and tempest_lib\n\nA while ago we copied Tempest networking API tests in to the\nNeutron repo, and along came thousands of lines of code of Tempest\ntesting infrastructure (neutron.tests.tempest). For a while we\nperiodically refreshed our fork via:\ntools/copy_api_tests_from_tempest.sh\n\nI think it\u0027s time we move away from that model by eliminating\nthe fork. We do this by deleting unused code and importing the\nrest from tempest_lib. There\u0027s some Tempest code still not\nmoved from Tempest to tempest_lib in tempest.common. I think\nit\u0027s preferable to import that code than to copy it, and Tempest\ncores mostly agree. Manila and Ironic also do the same.\nTo be able to import from tempest I added it as a requirement:\nSince Tempest is not on PyPi, I had to get it from git. Only the api\ntests environment needs Tempest, so instead of adding it to\ntest-requirements, I added it specifically to the api and\napi-constraints venvs.\n\nneutron.tests.tempest.test and neutron.tests.tempest.common.*\nstill remain. These are tighly coupled with one another, and\nsadly since Neutron forked Tempest code, Tempest has made significant\nchanges to those files that also require changes to the test files.\nI aim to get rid of the Neutron fork of these files in a follow up\nchange.\n\nAlso fixed import grouping in test files so that it\u0027s std libs,\n3rd party libs, and then Neutron code.\n\n* Removed neutron.tests.tempest.config:\n  - We only added one option after the fork. I created a new group\n    called \u0027neutron_plugin_options\u0027 and moved the new option to that\n    group. This is in preperation for the Tempest plugin architecture,\n    where you\u0027re supposed to add new config options to a new group\n    and not to existing configuration groups. Note that this is\n    obviously a backward incompatible change, but it\u0027s to an option\n    added in the same cycle.\n* Removed neutron.tests.tempest.test and neutron.tests.tempest.common.\n  - This introduced an API change to the way we access Keystone,\n    which required mechanical changes to a few tests (create_tenant\n    calls need a different client now).\n  - The way Tempest manages primary, admin and alternative tenant\n    credentials was changed after we forked, which required another\n    mechanical change to a few tests.\n* Cut all of the Keystone clients we don\u0027t need. We only need\n  to create/delete tenants, the other clients were used in Tempest by\n  actual Keystone tests.\n* Changed neutron.tests.api.base.BaseNetworkTest:\n  - Re-implemented get_client_manager so that it returns the Neutron\n    clients manager and not the one in the Tempest repo.\n  - Updated it from the Tempest repo so that it uses the new way\n    to manage credentials (Since it now uses the Tempest test base\n    class and not our out of date forked copy).\n\nChange-Id: I4f9193dfe26f2d36985cb480a98709ec182a2f7b\n"
    },
    {
      "commit": "41d066309e94dfe3bf534f340b03d675bbcc88fb",
      "tree": "e224834404fe2e1d37d7a4cff3a8db8203e1b6b2",
      "parents": [
        "d551fe4d935b6820d4a208e2527f7abc01b7de66",
        "ffe049af7acd6fefd01925b6f923a3bcfcc24184"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Jan 09 07:49:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Jan 09 07:49:54 2016 +0000"
      },
      "message": "Merge \"LBaaS tests code removal\""
    },
    {
      "commit": "d551fe4d935b6820d4a208e2527f7abc01b7de66",
      "tree": "5c28a423e9cfcea668ef35c419f2fc1f84b39a90",
      "parents": [
        "1a2ddb69f2f5b7cbd62ce38c368184c755958ddc",
        "7ede1e63db8e80e2918e6377134250b2addf791b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Jan 09 04:22:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Jan 09 04:22:55 2016 +0000"
      },
      "message": "Merge \"Refactor the subnetpools API tests\""
    },
    {
      "commit": "ffe049af7acd6fefd01925b6f923a3bcfcc24184",
      "tree": "8d6db0b86352f8662f235938b67888d42536e18c",
      "parents": [
        "1a2ddb69f2f5b7cbd62ce38c368184c755958ddc"
      ],
      "author": {
        "name": "Assaf Muller",
        "email": "amuller@redhat.com",
        "time": "Fri Jan 08 14:39:43 2016 -0500"
      },
      "committer": {
        "name": "Assaf Muller",
        "email": "amuller@redhat.com",
        "time": "Fri Jan 08 16:15:15 2016 -0500"
      },
      "message": "LBaaS tests code removal\n\nSince the API tests have been moved to the neutron_lbaas\ntree, left over cruft may now be removed.\n\nChange-Id: I7e3c3bd51c3621f6b1cc695838c618aee2130066\n"
    },
    {
      "commit": "1a2ddb69f2f5b7cbd62ce38c368184c755958ddc",
      "tree": "9ee8d452cbdda5d25bbec1e81e0094298768486e",
      "parents": [
        "45b665116f0e1bd0f261c4854c5da96b2be2cb7f",
        "95369f53d2bba9c47fca93e6d56710459498edce"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jan 08 12:17:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jan 08 12:17:45 2016 +0000"
      },
      "message": "Merge \"Keep py3.X compatibility for urllib\""
    },
    {
      "commit": "45b665116f0e1bd0f261c4854c5da96b2be2cb7f",
      "tree": "5fdd75030068ca1746eb2d9752b4b36f88882244",
      "parents": [
        "95716a0fbb6416f2c1ba6cb327a46f72396ef106",
        "1257b573ada5f452094057a659c8749433d870b0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 06 20:45:05 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 06 20:45:05 2016 +0000"
      },
      "message": "Merge \"Introduce an API test for specified floating ip address\""
    },
    {
      "commit": "95716a0fbb6416f2c1ba6cb327a46f72396ef106",
      "tree": "6c7ba140582520eadb4e6f886ae99be8466a2f7c",
      "parents": [
        "d06ca1c26e7a1ee3e789ffb9417103d096717ab4"
      ],
      "author": {
        "name": "Assaf Muller",
        "email": "amuller@redhat.com",
        "time": "Mon Jan 04 20:30:43 2016 -0500"
      },
      "committer": {
        "name": "Akihiro Motoki",
        "email": "amotoki@gmail.com",
        "time": "Tue Jan 05 10:41:44 2016 +0000"
      },
      "message": "Fix API tests\n\nPatch https://review.openstack.org/#/c/256164/\nbroke the Neutron API job by unsetting Tempest configuration\nvalues that were unused by Tempest, but used by Neutron\u0027s fork\nof Tempest. This patch copies credentials from the \u0027auth\u0027 section\nto the \u0027identity\u0027 section.\n\nThe longer term plan is detailed here:\nhttps://etherpad.openstack.org/p/neutron-tempest-defork\nTL;DR: Removed overlap of tests between the Tempest and Neutron\nrepos, then use Tempest\u0027s plugin architecture for the tests that\nwill remain in the Neutron repo.\n\nChange-Id: Ieb396cfd17f9cb66776ead11e7f760c1c26a0b08\n"
    },
    {
      "commit": "95369f53d2bba9c47fca93e6d56710459498edce",
      "tree": "552b458efbd92b71d5eec8f540e6de868681d79d",
      "parents": [
        "d06ca1c26e7a1ee3e789ffb9417103d096717ab4"
      ],
      "author": {
        "name": "Swapnil Kulkarni (coolsvap)",
        "email": "me@coolsvap.net",
        "time": "Thu Dec 24 12:14:44 2015 +0530"
      },
      "committer": {
        "name": "Swapnil Kulkarni (coolsvap)",
        "email": "me@coolsvap.net",
        "time": "Mon Jan 04 15:17:05 2016 +0530"
      },
      "message": "Keep py3.X compatibility for urllib\n\nChange-Id: I463d00865b8f384d22798be4dd86b62f821af67c\nPartial-Bug:#1280105\n"
    },
    {
      "commit": "d06ca1c26e7a1ee3e789ffb9417103d096717ab4",
      "tree": "5ecc37316cc4de02bb285f102a6be060de186922",
      "parents": [
        "620384cda19a8ac90e41055f9f8063d3dfa0fcc8"
      ],
      "author": {
        "name": "ChangBo Guo(gcb)",
        "email": "eric.guo@easystack.cn",
        "time": "Sat Dec 26 11:10:41 2015 +0800"
      },
      "committer": {
        "name": "ChangBo Guo(gcb)",
        "email": "eric.guo@easystack.cn",
        "time": "Sat Dec 26 12:49:56 2015 +0800"
      },
      "message": "Trival: Remove unused logging import\n\nChange-Id: I13298e642f25c9f70dcff9b1e056b418edf0a461\n"
    },
    {
      "commit": "7ede1e63db8e80e2918e6377134250b2addf791b",
      "tree": "706be3ef4c85bc074bf09fe6dda2c98e5a2c5fa7",
      "parents": [
        "620384cda19a8ac90e41055f9f8063d3dfa0fcc8"
      ],
      "author": {
        "name": "Numan Siddique",
        "email": "nusiddiq@redhat.com",
        "time": "Thu Jul 16 13:05:06 2015 +0530"
      },
      "committer": {
        "name": "Numan Siddique",
        "email": "nusiddiq@redhat.com",
        "time": "Thu Dec 17 21:51:40 2015 +0530"
      },
      "message": "Refactor the subnetpools API tests\n\ntest_create_dual_stack_subnets_from_subnetpools\nwas not cleaning the created subnetpool.\nIn order to address this issue, this patch\n  - adds the cleanup of subnetpools in base.resource_cleanup\n  - and removes the calls to the function addCleanup in the\n    subnetpools tests.\n\nThis patch also removes the CRUD subnetpools functions\nfrom network_client.py as it is not required.\n\nChange-Id: I7ad902dbb303ab9e5d01caceb59cc16f7902aaf9\nCloses-bug: #1475176\n"
    },
    {
      "commit": "620384cda19a8ac90e41055f9f8063d3dfa0fcc8",
      "tree": "249dbb5295d56a2f7476fae0eba18ed7b72588a7",
      "parents": [
        "edfefab83e55cb9fe3ae210e27309f54cf0379c4",
        "6be90cc08dc955b39ce8f8bd9b127be1efe52666"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Dec 02 14:30:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Dec 02 14:30:33 2015 +0000"
      },
      "message": "Merge \"Optimize \"open\" method with context manager\""
    },
    {
      "commit": "6be90cc08dc955b39ce8f8bd9b127be1efe52666",
      "tree": "249dbb5295d56a2f7476fae0eba18ed7b72588a7",
      "parents": [
        "edfefab83e55cb9fe3ae210e27309f54cf0379c4"
      ],
      "author": {
        "name": "xiexs",
        "email": "xiexs@cn.fujitsu.com",
        "time": "Fri Nov 27 03:41:52 2015 -0500"
      },
      "committer": {
        "name": "xiexs",
        "email": "xiexs@cn.fujitsu.com",
        "time": "Wed Dec 02 11:10:31 2015 +0000"
      },
      "message": "Optimize \"open\" method with context manager\n\nReplace the classic open() method with opening context\nmanager to open file so that the file will be closed\neven if an exception occurs.\n\nChange-Id: I0d53b7a38fee6a2ef8ce74496d220adc954afb98\n"
    },
    {
      "commit": "edfefab83e55cb9fe3ae210e27309f54cf0379c4",
      "tree": "f65e44781a2e6751b3496cf7414f2434f8740c3c",
      "parents": [
        "30d365cd5b76f2e749799dafe0494c43d993d4ae",
        "416c2797385ae313cbea9c6d7fe1f92d62730ca4"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Nov 05 19:37:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Nov 05 19:37:19 2015 +0000"
      },
      "message": "Merge \"Remove default\u003dNone for configuration bindings\""
    },
    {
      "commit": "416c2797385ae313cbea9c6d7fe1f92d62730ca4",
      "tree": "f65e44781a2e6751b3496cf7414f2434f8740c3c",
      "parents": [
        "30d365cd5b76f2e749799dafe0494c43d993d4ae"
      ],
      "author": {
        "name": "Gary Kotton",
        "email": "gkotton@vmware.com",
        "time": "Mon Nov 02 00:41:29 2015 -0800"
      },
      "committer": {
        "name": "garyk",
        "email": "gkotton@vmware.com",
        "time": "Thu Nov 05 10:29:02 2015 +0000"
      },
      "message": "Remove default\u003dNone for configuration bindings\n\nThe default value for a configuration variable is None. There is\nno need to specifically set these as None.\n\nThe line where this is done is:\nhttps://github.com/openstack/oslo.config/blob/master/oslo_config/cfg.py#L684\n\nTrivialFix\n\nChange-Id: Iedf29b13d69ea9f2eb4d5aa746d7c1da8d83bafc\n"
    },
    {
      "commit": "30d365cd5b76f2e749799dafe0494c43d993d4ae",
      "tree": "e9602c780f18e0df60f670be566cc4ed509a5da8",
      "parents": [
        "ca25c9864ae52cade219c84cc11fb8d691fb59cf",
        "b1ee0673779c629eca59eef738939ad272bd0353"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Oct 31 23:34:05 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Oct 31 23:34:05 2015 +0000"
      },
      "message": "Merge \"Fixed a bunch of typos throughout Neutron\""
    },
    {
      "commit": "b1ee0673779c629eca59eef738939ad272bd0353",
      "tree": "e9602c780f18e0df60f670be566cc4ed509a5da8",
      "parents": [
        "ca25c9864ae52cade219c84cc11fb8d691fb59cf"
      ],
      "author": {
        "name": "Brandon Palm",
        "email": "bapalm@us.ibm.com",
        "time": "Wed Oct 28 14:51:25 2015 -0500"
      },
      "committer": {
        "name": "Brandon Palm",
        "email": "bapalm@us.ibm.com",
        "time": "Fri Oct 30 08:54:41 2015 -0500"
      },
      "message": "Fixed a bunch of typos throughout Neutron\n\nWent through all of the docstrings in Neutron and did\nsome cleanup.  I\u0027m sure there are bunch more that I have missed.\n\nChange-Id: Ib29d2de1c580880c89ed4fd069e1515d0977a3e7\n"
    },
    {
      "commit": "1257b573ada5f452094057a659c8749433d870b0",
      "tree": "7309fa91ae44c1202cc0987dc074fd8fef0b1ac4",
      "parents": [
        "ca25c9864ae52cade219c84cc11fb8d691fb59cf"
      ],
      "author": {
        "name": "Yuuichi Fujioka",
        "email": "fujioka.yuuichi@gmail.com",
        "time": "Wed Jun 10 17:18:12 2015 +0900"
      },
      "committer": {
        "name": "Yuuichi Fujioka",
        "email": "fujioka.yuuichi@gmail.com",
        "time": "Wed Oct 21 23:34:08 2015 +0000"
      },
      "message": "Introduce an API test for specified floating ip address\n\nThe test case checks whether admin can set floating IP address when\ncreates a floating IP.\nImplements: blueprint allow-specific-floating-ip-address[1]\n\n[1] https://blueprints.launchpad.net/neutron/+spec/allow-specific-floating-ip-address\n\nChange-Id: I036da37402b826c1a73698e0ae21894a3ce676ab\n"
    },
    {
      "commit": "ca25c9864ae52cade219c84cc11fb8d691fb59cf",
      "tree": "654df00b0543529a5385b61bf44d8c0d10cd8efd",
      "parents": [
        "62fe1f381182e8efa4535f75c02d2da6c199cf47",
        "58abc34d57a5a1520de26ea21f664e45a9bf4c44"
      ],
      "author": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Sat Sep 19 14:44:06 2015 +0000"
      },
      "committer": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Sat Sep 19 14:45:05 2015 +0000"
      },
      "message": "Merge remote-tracking branch \u0027origin/feature/pecan\u0027 into merge-branch\n\nChange-Id: I1c0b6a9837273f6a5a24f537d75c1ff43ff599f8\n"
    },
    {
      "commit": "58abc34d57a5a1520de26ea21f664e45a9bf4c44",
      "tree": "654df00b0543529a5385b61bf44d8c0d10cd8efd",
      "parents": [
        "ab6fcadc98ed2d6a68be38486d6ec9028e231b07",
        "62fe1f381182e8efa4535f75c02d2da6c199cf47"
      ],
      "author": {
        "name": "armando-migliaccio",
        "email": "armamig@gmail.com",
        "time": "Wed Sep 16 17:07:19 2015 -0700"
      },
      "committer": {
        "name": "armando-migliaccio",
        "email": "armamig@gmail.com",
        "time": "Wed Sep 16 17:07:52 2015 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into walnut\n\nChange-Id: Ic6314ef9c1db6524fbb0ed8b1bacdc2b081c4775\n"
    },
    {
      "commit": "62fe1f381182e8efa4535f75c02d2da6c199cf47",
      "tree": "654df00b0543529a5385b61bf44d8c0d10cd8efd",
      "parents": [
        "be6187d1e2920cf9d76d01cfa14698ed708ed1b3",
        "060eb8988b342a60da3f6bf04ec3e640cdd6eef3"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Sep 16 20:25:41 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Sep 16 20:25:41 2015 +0000"
      },
      "message": "Merge \"Use tempest-lib\u0027s token_client\""
    },
    {
      "commit": "060eb8988b342a60da3f6bf04ec3e640cdd6eef3",
      "tree": "654df00b0543529a5385b61bf44d8c0d10cd8efd",
      "parents": [
        "be6187d1e2920cf9d76d01cfa14698ed708ed1b3"
      ],
      "author": {
        "name": "Ken\u0027ichi Ohmichi",
        "email": "ken-oomichi@wx.jp.nec.com",
        "time": "Wed Sep 16 10:04:32 2015 +0000"
      },
      "committer": {
        "name": "Ken\u0027ichi Ohmichi",
        "email": "ken-oomichi@wx.jp.nec.com",
        "time": "Wed Sep 16 10:08:50 2015 +0000"
      },
      "message": "Use tempest-lib\u0027s token_client\n\nNow tempest-lib provides token_client modules as library and the\ninterface is stable. So neutron repogitory doesn\u0027t need to contain\nthese modules.\nThis patch makes neutron use tempest-lib\u0027s token_client and removes\nthe own modules for the maintenance.\n\nChange-Id: Ieff7eb003f6e8257d83368dbc80e332aa66a156c\n"
    },
    {
      "commit": "be6187d1e2920cf9d76d01cfa14698ed708ed1b3",
      "tree": "8a91c2942695479af10d0bf76ef9cd6ea74fc92d",
      "parents": [
        "cc2041fbf27032b6329ade058895994aefc57f02"
      ],
      "author": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Sat Sep 12 21:55:01 2015 +0300"
      },
      "committer": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Sat Sep 12 22:12:50 2015 +0300"
      },
      "message": "Fix missing value types for log message\n\nThis patch add missing value types for some log message of exception.\n\nChange-Id: Ie9f512bc804f0cd70df991b1910c975a2f9d6fcf\nCloses-Bug: #1494574\n"
    },
    {
      "commit": "ab6fcadc98ed2d6a68be38486d6ec9028e231b07",
      "tree": "adabfec15b7f3f8d0a23b76fe52ef760a03f6a7b",
      "parents": [
        "7470b37625c55d852fee400095e5ddf3689b5070",
        "cc2041fbf27032b6329ade058895994aefc57f02"
      ],
      "author": {
        "name": "Doug Wiegley",
        "email": "dougw@a10networks.com",
        "time": "Sun Aug 30 21:23:46 2015 -0600"
      },
      "committer": {
        "name": "Doug Wiegley",
        "email": "dougw@a10networks.com",
        "time": "Sun Aug 30 21:23:59 2015 -0600"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into merge-branch\n\nChange-Id: I9c29ad9564671ae5a2db35835bc4a30e75482cb2\n"
    },
    {
      "commit": "cc2041fbf27032b6329ade058895994aefc57f02",
      "tree": "adabfec15b7f3f8d0a23b76fe52ef760a03f6a7b",
      "parents": [
        "ee9ca7c9d05f6b5a99303cbdd7a714c2dfddb558",
        "e539518708ebcca0544fe28fc3a291a70addcd72"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Aug 22 17:42:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Aug 22 17:42:36 2015 +0000"
      },
      "message": "Merge \"Neutron RBAC API and network support\""
    },
    {
      "commit": "e539518708ebcca0544fe28fc3a291a70addcd72",
      "tree": "adabfec15b7f3f8d0a23b76fe52ef760a03f6a7b",
      "parents": [
        "ee9ca7c9d05f6b5a99303cbdd7a714c2dfddb558"
      ],
      "author": {
        "name": "Kevin Benton",
        "email": "blak111@gmail.com",
        "time": "Tue Jun 16 23:43:59 2015 -0700"
      },
      "committer": {
        "name": "Kevin Benton",
        "email": "blak111@gmail.com",
        "time": "Thu Aug 20 20:00:17 2015 -0700"
      },
      "message": "Neutron RBAC API and network support\n\nThis adds the new API endpoint to create, update, and delete\nrole-based access control entries. These entries enable tenants\nto grant access to other tenants to perform an action on an object\nthey do not own.\n\nThis was previously done using a single \u0027shared\u0027 flag; however, this\nwas too coarse because an object would either be private to a tenant\nor it would be shared with every tenant.\n\nIn addition to introducing the API, this patch also adds support to\nfor the new entries in Neutron networks. This means tenants can now\nshare their networks with specific tenants as long as they know the\ntenant ID.\n\nThis feature is backwards-compatible with the previous \u0027shared\u0027\nattribute in the API. So if a deployer doesn\u0027t want this new feature\nenabled, all of the RBAC operations can be blocked in policy.json and\nnetworks can still be globally shared in the legacy manner.\n\nEven though this feature is referred to as role-based access control,\nthis first version only supports sharing networks with specific\ntenant IDs because Neutron currently doesn\u0027t have integration with\nKeystone to handle changes in a tenant\u0027s roles/groups/etc.\n\nDocImpact\nAPIImpact\n\nChange-Id: Ib90e2a931df068f417faf26e9c3780dc3c468867\nPartially-Implements: blueprint rbac-networks\n"
    },
    {
      "commit": "ee9ca7c9d05f6b5a99303cbdd7a714c2dfddb558",
      "tree": "1a0c261dd69e5dfda6840c53d18270fbd8e53ccc",
      "parents": [
        "c454f6bc9a087e688719fa170fa63dcf4a1ca9ae",
        "fcc481d77896b741d41509d7c7d554b95a166bc6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Aug 17 18:49:56 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Aug 17 18:49:56 2015 +0000"
      },
      "message": "Merge \"Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\""
    },
    {
      "commit": "fcc481d77896b741d41509d7c7d554b95a166bc6",
      "tree": "1a0c261dd69e5dfda6840c53d18270fbd8e53ccc",
      "parents": [
        "c454f6bc9a087e688719fa170fa63dcf4a1ca9ae",
        "1bedafa9c4850cd8e8be0614c4e46f3b3a088843"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Aug 17 13:05:32 2015 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Aug 17 15:16:55 2015 +0200"
      },
      "message": "Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\n\nNote to reviewers: gerrit diff for merge patches is very limited, and\nleaving comments in global section won\u0027t scale, so please comment here:\n\nhttps://etherpad.openstack.org/p/qos-merge-back-review\n\nThis merge commit introduces QoS feature into Liberty release of\nNeutron.\n\nThe feature is documented in: doc/source/devref/quality_of_service.rst\nincluded with the merge patch.\n\nIt includes:\n\n- QoS API service plugin with QoS policy and QoS bandwidth limit\n  (egress) rule support;\n- core plugin mechanism to determine supported rule types, with its ML2\n  implementation;\n- new agent extension manager;\n- QoS agent extension with pluggable backend QoS drivers (Open vSwitch\n  and SR-IOV support is included).\n\nTo extend network and port core resources with qos_policy_id attribute,\na new ML2 extension driver (qos) was introduced that relies on the QoS\ncore resource extension (the idea is that eventually we\u0027ll get a core\nresource extension manager that can be directly reused by core plugins).\n\nAgent-server interaction is based on:\n\n- get_device_details() method that is extended with qos_policy_id;\n- a new push/pull mechanism that allows agents and servers to\n  communicate using oslo.versionedobjects based objects sent on the\n  wire.\n\nThe merge includes the following types of test coverage:\n\n- unit tests;\n- functional tests for OVS agent, QoS agent extension, and low level\n  ovs_lib changes;\n- API tests to cover port/network qos_policy_id attribute and new QoS\n  resources.\n\nThe client changes can be found at:\n\n* https://review.openstack.org/189655\n* https://review.openstack.org/198277\n\nThe team also prepared fullstack test but it needs to wait for client\nmerge before it can pass in the gate:\n\n* https://review.openstack.org/202492\n\nGerrit does not show diff for merge changes that did not result in any\nconflict, so to facilitate review, rely on the following steps:\n\n- fetch the patch locally\n- git fetch origin\n- git diff origin/master...\n\nThis merge also disables qos extension API tests until the service is\nenabled in master gate.\n\nLocal changes apart from conflicts:\n- updated down_revision for qos migration to reflect master expand head;\n- disabled qos API tests with gate_hook.sh until we have it enabled in\n  master gate;\n- bumped oslo.versionedobjects requirement to reflect what is in\n  openstack/requirements\u0027 global-requirements.txt\n\nDocImpact\nAPIImpact\nPartially-Implements: blueprint quantum-qos-api\nPartially-Implements: blueprint ml2-qos\nPartially-Implements: blueprint ml2-qos-ovs-bwlimiting\nPartially-Implements: blueprint ml2-sriov-qos-with-bwlimiting\nChange-Id: I92916d0e391791187e9a25ff172fb4b3504857b1\n"
    },
    {
      "commit": "c454f6bc9a087e688719fa170fa63dcf4a1ca9ae",
      "tree": "5148edc34385e3650190b7788661f00d2bac3965",
      "parents": [
        "4c63990cfb75ae072fef39a4afe0af05995963d5",
        "041c620dda06d2cd004de036dfbfcefaaa8368b1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Aug 12 16:05:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Aug 12 16:05:57 2015 +0000"
      },
      "message": "Merge \"Replace \u0027import json\u0027 with oslo_serialization\""
    },
    {
      "commit": "4c63990cfb75ae072fef39a4afe0af05995963d5",
      "tree": "aee9b810814745b043aa7a43561a020d8272877d",
      "parents": [
        "1eedd9ac1c185dbcab2ae48cc3d60f2f309f232e",
        "8bf2b7931654101c79afea62b588ff79c3afbe6a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Aug 11 19:46:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Aug 11 19:46:34 2015 +0000"
      },
      "message": "Merge \"Use oslo.log library instead of system logging module\""
    },
    {
      "commit": "041c620dda06d2cd004de036dfbfcefaaa8368b1",
      "tree": "3708a7d7233a63b41dcf2a5a7d6e2c03bab61763",
      "parents": [
        "1eedd9ac1c185dbcab2ae48cc3d60f2f309f232e"
      ],
      "author": {
        "name": "Kevin Benton",
        "email": "blak111@gmail.com",
        "time": "Tue Aug 11 06:01:25 2015 -0700"
      },
      "committer": {
        "name": "Kevin Benton",
        "email": "blak111@gmail.com",
        "time": "Tue Aug 11 06:05:37 2015 -0700"
      },
      "message": "Replace \u0027import json\u0027 with oslo_serialization\n\nReplace remaining occurences of \u0027import json\u0027 with\n\u0027from oslo_serialization import jsonutils as json\u0027\nso pylint doesn\u0027t complain every time someone happens\nto make a change to one of the modules that still\nuses it.\n\nChange-Id: Ife9f0fc54ad36887bdb939028f8903be16e590d6\n"
    },
    {
      "commit": "7470b37625c55d852fee400095e5ddf3689b5070",
      "tree": "b976a3cec92ba6d214d0838f4103b33f7f05ff78",
      "parents": [
        "b8a5814fd9d357a52eb0d4f2d5f973db518becb8",
        "1eedd9ac1c185dbcab2ae48cc3d60f2f309f232e"
      ],
      "author": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Tue Aug 11 10:39:07 2015 +0000"
      },
      "committer": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Tue Aug 11 10:39:40 2015 +0000"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into merge-branch\n\nChange-Id: Ic237c09131f6579f3df1a3a10ba1e5f7a3d42bde\n"
    },
    {
      "commit": "8bf2b7931654101c79afea62b588ff79c3afbe6a",
      "tree": "aee9b810814745b043aa7a43561a020d8272877d",
      "parents": [
        "1eedd9ac1c185dbcab2ae48cc3d60f2f309f232e"
      ],
      "author": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Mon Aug 10 15:46:27 2015 +0300"
      },
      "committer": {
        "name": "Sergey Vilgelm",
        "email": "sergey@vilgelm.info",
        "time": "Mon Aug 10 15:52:26 2015 +0300"
      },
      "message": "Use oslo.log library instead of system logging module\n\nThe constants of log levels were added in the 1.8 version of\nthe oslo.log library. So we can replace all usage of system\nlogging module with log module from oslo.log.\n\nChange-Id: I2992df0bec6337aefa8a75d4853b132bd134fa42\nCloses-Bug: 1481370\n"
    },
    {
      "commit": "1bedafa9c4850cd8e8be0614c4e46f3b3a088843",
      "tree": "019d8013183f36cd240bce61d509348b14620e83",
      "parents": [
        "7bb5a9c49593c33d6487bdc866cc40756edcb284"
      ],
      "author": {
        "name": "Nir Magnezi",
        "email": "nmagnezi@redhat.com",
        "time": "Sun Aug 02 08:56:56 2015 -0400"
      },
      "committer": {
        "name": "John Schwarz",
        "email": "jschwarz@redhat.com",
        "time": "Sun Aug 09 14:57:52 2015 +0300"
      },
      "message": "Fix get_objects to allow filtering\n\nAt the moment, an attempt to retrieve a list of objects (like qos\npolicy) and filter by name fails, because get_objects does not use\nfilters and therefore, upon query by object name, the server replies\nwith a list of all created objects (instead of a partial list).\n\nChange-Id: I9df9981129b8f3b82e867c8423986f5e0150186b\nPartially-Implements: blueprint quantum-qos-api\n"
    },
    {
      "commit": "7bb5a9c49593c33d6487bdc866cc40756edcb284",
      "tree": "30400ca41fa8d850c9a30678593876c1d280a893",
      "parents": [
        "1eedd9ac1c185dbcab2ae48cc3d60f2f309f232e",
        "d5b5ad0cf3088911937b56306a945439c0dd7c07"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Aug 06 15:23:40 2015 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Aug 06 15:29:26 2015 +0200"
      },
      "message": "Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\n\nChange-Id: I7a78ea4a8b3a03ef2013d41f9788e554f73c990b\n"
    },
    {
      "commit": "d5b5ad0cf3088911937b56306a945439c0dd7c07",
      "tree": "30400ca41fa8d850c9a30678593876c1d280a893",
      "parents": [
        "1eedd9ac1c185dbcab2ae48cc3d60f2f309f232e",
        "bdebc6413796fefab454bbefd1f8ea3487b81062"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Wed Aug 05 17:15:40 2015 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Wed Aug 05 17:15:40 2015 +0200"
      },
      "message": "Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\n\nChange-Id: I683102e617202e0ffc953a0d3cc179879f8faf82\n"
    },
    {
      "commit": "bdebc6413796fefab454bbefd1f8ea3487b81062",
      "tree": "854c01f7221d1601140d5dcc1a72c3d990d55960",
      "parents": [
        "f79ce0ea363a086b740f90d116448d226e340a0d",
        "80ca2d74465f7b1902c288eacae0238129744cbb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Aug 04 17:41:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Aug 04 17:41:22 2015 +0000"
      },
      "message": "Merge \"Cleaned up some TODO comments for feature/qos that do not apply anymore\" into feature/qos"
    },
    {
      "commit": "f79ce0ea363a086b740f90d116448d226e340a0d",
      "tree": "37c75538b2495d4386fe4af8e0eec49d4ea68f70",
      "parents": [
        "127b920770f5270a624598e9c6e63d20169ec8fe",
        "8460b8cf8146ec6600ff2364f9033017a5d56322"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Aug 04 06:38:57 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Aug 04 06:38:57 2015 +0000"
      },
      "message": "Merge \"Add API tests for non-accessible policies\" into feature/qos"
    },
    {
      "commit": "8460b8cf8146ec6600ff2364f9033017a5d56322",
      "tree": "37c75538b2495d4386fe4af8e0eec49d4ea68f70",
      "parents": [
        "127b920770f5270a624598e9c6e63d20169ec8fe"
      ],
      "author": {
        "name": "John Schwarz",
        "email": "jschwarz@redhat.com",
        "time": "Mon Aug 03 15:49:13 2015 +0300"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Aug 03 21:48:33 2015 +0200"
      },
      "message": "Add API tests for non-accessible policies\n\nTests which dealt with creating a rule for a policy that the tenant has\nno access to, or for a policy which does not even exist, were missing.\nThis patch adds them.\n\nPartially-Implements: quantum-qos-api\nChange-Id: I0a2679fa1ccfb7bae6083df9a71c6cb5205a21d9\n"
    },
    {
      "commit": "1eedd9ac1c185dbcab2ae48cc3d60f2f309f232e",
      "tree": "b976a3cec92ba6d214d0838f4103b33f7f05ff78",
      "parents": [
        "83350346d1d7bdd5df283754e93ef244456d9dc6",
        "0584d56ec181e7086e9d5c4443dc8aa779ad181c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Aug 03 18:29:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Aug 03 18:29:54 2015 +0000"
      },
      "message": "Merge \"Replaces reduce with six.moves.reduce for py 2/3 compatibility\""
    },
    {
      "commit": "0584d56ec181e7086e9d5c4443dc8aa779ad181c",
      "tree": "b976a3cec92ba6d214d0838f4103b33f7f05ff78",
      "parents": [
        "83350346d1d7bdd5df283754e93ef244456d9dc6"
      ],
      "author": {
        "name": "sonu.kumar",
        "email": "sonu.kumar@nectechnologies.in",
        "time": "Mon Aug 03 17:15:52 2015 +0530"
      },
      "committer": {
        "name": "sonu.kumar",
        "email": "sonu.kumar@nectechnologies.in",
        "time": "Mon Aug 03 17:23:20 2015 +0530"
      },
      "message": "Replaces reduce with six.moves.reduce for py 2/3 compatibility\n\nThis patch replaces \"reduce\" with \"six.moves.reduce\" to comply with\nthe newer python version i.e. python3.\n\nPartially-Implements: Blueprint neutron-python3\n\nChange-Id: Iddb52d86665123ade5920bc09f7802e29440e7dd\n"
    },
    {
      "commit": "80ca2d74465f7b1902c288eacae0238129744cbb",
      "tree": "5293127f203f4db3e25f32ce40c64caaadf986e1",
      "parents": [
        "127b920770f5270a624598e9c6e63d20169ec8fe"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Sun Aug 02 22:40:40 2015 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Sun Aug 02 22:42:48 2015 +0000"
      },
      "message": "Cleaned up some TODO comments for feature/qos that do not apply anymore\n\n1. Removed comment to add tests for invalid input for attach/detach\nmethods for QosPolicy. Those tests are already implemented in the test\nclass, so the TODO became obsolete.\n\n2. Removed TODO to use a constant for rule \u0027type\u0027 field. There is no\n\u0027type\u0027 field in rules anymore, so it does not apply any more.\n\nChange-Id: I205cbc2d9a2eeee1a0a9fb5794efc063de6f326d\nPartially-Implements: blueprint quantum-qos-api\n"
    },
    {
      "commit": "127b920770f5270a624598e9c6e63d20169ec8fe",
      "tree": "f3f1e39ed147795420a62410beb801220ce1e6fe",
      "parents": [
        "b1b38ec7d6240a95ded956bb16020dffb042007e",
        "97f0fddf1a4bdac4a20a968885796e5c548c5f20"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Aug 02 09:29:32 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Aug 02 09:29:32 2015 +0000"
      },
      "message": "Merge \"Fix accessing shared policies, add assoc tests\" into feature/qos"
    },
    {
      "commit": "97f0fddf1a4bdac4a20a968885796e5c548c5f20",
      "tree": "f3f1e39ed147795420a62410beb801220ce1e6fe",
      "parents": [
        "b1b38ec7d6240a95ded956bb16020dffb042007e"
      ],
      "author": {
        "name": "John Schwarz",
        "email": "jschwarz@redhat.com",
        "time": "Sun Jul 26 16:00:12 2015 +0300"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Sat Aug 01 19:03:44 2015 +0200"
      },
      "message": "Fix accessing shared policies, add assoc tests\n\nThis patch is two-fold:\n1. Previously, policies that were created using the \u0027shared\u003dTrue\u0027 flag\n   were not accessible to other tenants, since the context used to\n   search the policies was not elevated. This patch elevates the context\n   prior to retrieving the policy, and if a match was found, makes sure\n   that the user has permissions to access it (either the policy is\n   shared or it\u0027s from the same tenant id).\n2. Tests for both associations and disassociations of policies to both\n   networks and ports are added in this patch, to make sure coverage is\n   good and that the problem is fixed.\n\nChange-Id: Idec13ff4ec575b6d0c0a455c1b3bd9d9700ff7fb\n"
    },
    {
      "commit": "b8a5814fd9d357a52eb0d4f2d5f973db518becb8",
      "tree": "c238becda849d8a8e2891862d6634376ddbd1e93",
      "parents": [
        "9e7b4c5fc072b50ba61682d3b8bc8a8d016ec967",
        "83350346d1d7bdd5df283754e93ef244456d9dc6"
      ],
      "author": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Fri Jul 31 13:41:15 2015 +0000"
      },
      "committer": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Fri Jul 31 13:41:50 2015 +0000"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into merge-branch\n\nChange-Id: I42fb51c428c5ddf39501b9dc1792add62206f4d6\n"
    },
    {
      "commit": "b1b38ec7d6240a95ded956bb16020dffb042007e",
      "tree": "1a934644aef1f13e3adac4cdbd9145f43a859c4a",
      "parents": [
        "e2fc121bca1b7d39165bbd99d0b69b19f3b32eee",
        "0ff43c9f340681b813bb18458a9fa9e6166bfbb0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jul 29 23:03:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jul 29 23:03:00 2015 +0000"
      },
      "message": "Merge \"Add update tests for policies and rules\" into feature/qos"
    },
    {
      "commit": "e2fc121bca1b7d39165bbd99d0b69b19f3b32eee",
      "tree": "10827087c078792c6bdc8c0099ee741494f40e23",
      "parents": [
        "fc248bcf19a7a9c86f6eaca14d2a967b401eb94e",
        "b2bd9317162a1cb1d8ab722a05301d12dfc7c443"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jul 28 16:47:17 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jul 28 16:47:17 2015 +0000"
      },
      "message": "Merge \"Introduce mechanism to determine supported qos rule types for a plugin\" into feature/qos"
    },
    {
      "commit": "0ff43c9f340681b813bb18458a9fa9e6166bfbb0",
      "tree": "1a934644aef1f13e3adac4cdbd9145f43a859c4a",
      "parents": [
        "b2bd9317162a1cb1d8ab722a05301d12dfc7c443"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Jul 27 14:43:56 2015 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Jul 27 21:20:13 2015 +0200"
      },
      "message": "Add update tests for policies and rules\n\nThis patch adds tests for \u0027update\u0027 for both policies and rules. This\ncompletes the CRUD tests and leaves the association/disassociation for\na later patch. Note that deleting a rule isn\u0027t tested explicitly\nbecause of a bug with the rule delete logic on the server side. Once\nthat code is fixed, the test should be added.\n\nto_dict() for policies should also convert any rules inside rule lists\nto dicts too, otherwise API layer receives rule object __repr__ strings\ninstead of actual dicts. This patch introduces a fix to the existing\nto_dict() code to properly support policies.\n\nThis patch also modifies the base infra to create policies and rules for\nadmins and not for tenant.\n\nPartially-Implements: blueprint quantum-qos-api\nChange-Id: I13870680d7756be9dd020135bc8e91d1c12f728d\nCo-Authored-By: Ihar Hrachyshka \u003cihrachys@redhat.com\u003e\n"
    },
    {
      "commit": "b2bd9317162a1cb1d8ab722a05301d12dfc7c443",
      "tree": "10827087c078792c6bdc8c0099ee741494f40e23",
      "parents": [
        "fc248bcf19a7a9c86f6eaca14d2a967b401eb94e"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Jun 11 08:11:08 2015 +0200"
      },
      "committer": {
        "name": "John Schwarz",
        "email": "jschwarz@redhat.com",
        "time": "Mon Jul 27 16:48:48 2015 +0300"
      },
      "message": "Introduce mechanism to determine supported qos rule types for a plugin\n\nEvery plugin that supports some of QoS rules will define a property\ncalled supported_qos_rule_types of list type.\n\nFor ml2, determine supported qos rule types as a subset of rule types\nsupported by all drivers. (In the future, we may expand the list to\ninclude all types supported by at least one of enabled drivers. This\nwould require synchronized work with nova scheduler though.)\n\nFor ml2, tests are limited, and should be expanded to check that common\nsubset of qos rules is calculated properly when intersection !\u003d the list\nof each plugins. For now, it\u0027s enough since we don\u0027t have more than one\nrule type planned for Liberty.\n\nAdded API test for the resource.\n\nPartially-Implements: blueprint ml2-qos\nCo-Authored-By: Irena Berezovsky \u003cirenab.dev@gmail.com\u003e\nCo-Authored-By: John Schwarz \u003cjschwarz@redhat.com\u003e\nChange-Id: I0d18ae256877a129e203110003fcadd1d63590b4\n"
    },
    {
      "commit": "fc248bcf19a7a9c86f6eaca14d2a967b401eb94e",
      "tree": "9deefdc11f24a98357e4174b23a2c10979db4030",
      "parents": [
        "ebf6a133e58b1d20c476bae3a00b1b690ddd0bae",
        "ba4d4f648dcc5f9e220ac360ae1cbe77324725c7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Jul 25 21:04:09 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Jul 25 21:04:09 2015 +0000"
      },
      "message": "Merge \"QoS: Remove type attribute from QoS rules\" into feature/qos"
    },
    {
      "commit": "ebf6a133e58b1d20c476bae3a00b1b690ddd0bae",
      "tree": "ea5b717a60f63841fec7c29fe16e9328a82fa709",
      "parents": [
        "d6c4e800a597f04b81ab1c0ae58a6b4e8b5962f6",
        "82cabc00d9758ff5be3c7e5e07ecb869038a5469"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Jul 25 17:46:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Jul 25 17:46:20 2015 +0000"
      },
      "message": "Merge \"Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\" into feature/qos"
    },
    {
      "commit": "ba4d4f648dcc5f9e220ac360ae1cbe77324725c7",
      "tree": "9deefdc11f24a98357e4174b23a2c10979db4030",
      "parents": [
        "d6c4e800a597f04b81ab1c0ae58a6b4e8b5962f6"
      ],
      "author": {
        "name": "Jakub Libosvar",
        "email": "libosvar@redhat.com",
        "time": "Tue Jul 21 11:17:18 2015 +0000"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Sat Jul 25 15:50:31 2015 +0200"
      },
      "message": "QoS: Remove type attribute from QoS rules\n\nThe type is given by object itself. We don\u0027t specify type when creating\nresource cause it\u0027s a part of uri. This patch allows a\nbandwidth_limit_rule to be created in given policy.\n\nPartially-Implements: blueprint quantum-qos-api\nChange-Id: Ica4626083054200e3b82bef23984462e7c596e1e\n"
    },
    {
      "commit": "82cabc00d9758ff5be3c7e5e07ecb869038a5469",
      "tree": "ea5b717a60f63841fec7c29fe16e9328a82fa709",
      "parents": [
        "83350346d1d7bdd5df283754e93ef244456d9dc6",
        "d6c4e800a597f04b81ab1c0ae58a6b4e8b5962f6"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Fri Jul 24 14:24:10 2015 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Fri Jul 24 14:24:10 2015 +0200"
      },
      "message": "Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\n\nChange-Id: I1c1fd593235fda1cdd053980f50eff21ca9011b6\n"
    },
    {
      "commit": "d6c4e800a597f04b81ab1c0ae58a6b4e8b5962f6",
      "tree": "ea5b717a60f63841fec7c29fe16e9328a82fa709",
      "parents": [
        "45ca380b5439c58b06073a2800d58841c937934c",
        "4cdc27ba7ed7558e47977ca613e2447a389ff277"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jul 24 06:41:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jul 24 06:41:03 2015 +0000"
      },
      "message": "Merge \"Base infrastructure for QoS API tests\" into feature/qos"
    },
    {
      "commit": "4cdc27ba7ed7558e47977ca613e2447a389ff277",
      "tree": "ea5b717a60f63841fec7c29fe16e9328a82fa709",
      "parents": [
        "45ca380b5439c58b06073a2800d58841c937934c"
      ],
      "author": {
        "name": "John Schwarz",
        "email": "jschwarz@redhat.com",
        "time": "Tue Jun 30 17:57:19 2015 +0300"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Jul 23 13:46:51 2015 +0200"
      },
      "message": "Base infrastructure for QoS API tests\n\nThis introduces the basic methods in the tempest client, that allow the\ntesting of the QoS plugin. This also contains 2 (very) simple tests\nwhich test creation and deletion of both policies and bandwidth rules,\nas well as list/show for both resources. While creation is done\nexplicitly, deletion is done implicitly (all resources are deleted after\nthe test, during tearDown)\n\nMinor fixes to the QoS plugin are included as well.\n\nChange-Id: I0f34ed8464857859bcd519e301a49b0b067593b0\n"
    },
    {
      "commit": "45ca380b5439c58b06073a2800d58841c937934c",
      "tree": "c238becda849d8a8e2891862d6634376ddbd1e93",
      "parents": [
        "83350346d1d7bdd5df283754e93ef244456d9dc6",
        "04a37c9ce5855b29656941966919470f87748ecb"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Jul 23 10:32:53 2015 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Jul 23 11:48:57 2015 +0200"
      },
      "message": "Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\n\nAlso applied the following fixes:\n\n\u003d\u003d\u003d\n\n1. cleaned up some pylint failures that were not spotted before:\n\nModule neutron.objects.qos.policy: Metaclass class method __new__ should\nhave \u0027mcs\u0027 as first argument\n\nModule neutron.objects.qos.rule: Lambda may not be necessary\n\n\u003d\u003d\u003d\n\n2. Revert \"Introduce the AFTER_READ callback for ports and networks\"\n\nThis reverts commit e3dba1424114575581c153e02227282e036ad0a2.\n\nWe don\u0027t use callbacks to extend resources anymore, instead relying on\nml2 extension drivers. No need for the patch to achieve QoS, and it also\nbreaks test_delete_subnet_with_callback that was added in master\nrecently.\n\n\u003d\u003d\u003d\n\n3. updated requirements.txt and test-requirements.txt based on:\n\nhttps://review.openstack.org/#/c/204398/\n\nto avoid requirements gate checks failing due to incompatible\nrequirements comparing to global-requirements.txt\n\nChange-Id: I744ab2d8327a428a5467f2d07d073a5f8c333520\n"
    },
    {
      "commit": "83350346d1d7bdd5df283754e93ef244456d9dc6",
      "tree": "c238becda849d8a8e2891862d6634376ddbd1e93",
      "parents": [
        "15e4e72310445b8a6e4beb62e02859e77392253b",
        "d510a634864a78dfa3cfd32446490d7c6ba5255b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jul 17 03:24:20 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jul 17 03:24:20 2015 +0000"
      },
      "message": "Merge \"Flavor Framework implementation\""
    },
    {
      "commit": "d510a634864a78dfa3cfd32446490d7c6ba5255b",
      "tree": "c238becda849d8a8e2891862d6634376ddbd1e93",
      "parents": [
        "15e4e72310445b8a6e4beb62e02859e77392253b"
      ],
      "author": {
        "name": "Eugene Nikanorov",
        "email": "enikanorov@mirantis.com",
        "time": "Thu Jul 17 14:23:49 2014 +0400"
      },
      "committer": {
        "name": "madhusudhan-kandadai",
        "email": "madhusudhan.openstack@gmail.com",
        "time": "Thu Jul 16 09:07:41 2015 -0700"
      },
      "message": "Flavor Framework implementation\n\nThis patch introduces API and DB plugin for flavor framework.\nAPI adds Flavors and Service Profiles which are resources\navailable only for admins to operate.\n\nThis framework then should be leveraged by advanced services.\n\nIncluded tempest API tests in neutron tree\n\nImplements: blueprint neutron-flavor-framework\nChange-Id: I99ba0ce520ae3d8696eca5c994777c7d5ba3d4b1\nCo-Authored-By: Doug Wiegley \u003cdougw@a10networks.com\u003e\nCo-Authored-By: Madhusudhan Kandadai \u003cmadhusudhan.kandadai@hp.com\u003e\n"
    },
    {
      "commit": "04a37c9ce5855b29656941966919470f87748ecb",
      "tree": "7dca120fce2f48d1313f0f729acb5b60ab623ab8",
      "parents": [
        "a36eaf076ddeebfebdcc72189327981ce5967281",
        "862620b5f844e10e61d40bede6c875d1324712de"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jul 13 20:29:03 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jul 13 20:29:03 2015 +0000"
      },
      "message": "Merge \"Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\" into feature/qos"
    },
    {
      "commit": "862620b5f844e10e61d40bede6c875d1324712de",
      "tree": "7dca120fce2f48d1313f0f729acb5b60ab623ab8",
      "parents": [
        "15e4e72310445b8a6e4beb62e02859e77392253b",
        "a36eaf076ddeebfebdcc72189327981ce5967281"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Jul 13 12:13:28 2015 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Jul 13 12:13:33 2015 +0200"
      },
      "message": "Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\n\nChange-Id: I7777c827f754e3269d69f6a5331325a76c5e57b2\n"
    },
    {
      "commit": "a36eaf076ddeebfebdcc72189327981ce5967281",
      "tree": "7dca120fce2f48d1313f0f729acb5b60ab623ab8",
      "parents": [
        "15e4e72310445b8a6e4beb62e02859e77392253b",
        "1a0fe9fa190751ced5b0fbc2ce16f052c8a2f15a"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Fri Jul 10 16:33:56 2015 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Fri Jul 10 16:34:02 2015 +0200"
      },
      "message": "Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\n\nChange-Id: Ie2617cb5e502b49e8c33bb47ad295c80e53b769a\n"
    },
    {
      "commit": "9e7b4c5fc072b50ba61682d3b8bc8a8d016ec967",
      "tree": "7dca120fce2f48d1313f0f729acb5b60ab623ab8",
      "parents": [
        "43fd6027549c54f0a213c0b84ebc591e4f6d403c",
        "15e4e72310445b8a6e4beb62e02859e77392253b"
      ],
      "author": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Thu Jul 09 15:54:04 2015 +0000"
      },
      "committer": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Thu Jul 09 15:54:28 2015 +0000"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into merge-branch\n\nChange-Id: I9c3cb40fd12c3e404aa1e585f76970e2ee49f4d8\n"
    },
    {
      "commit": "1a0fe9fa190751ced5b0fbc2ce16f052c8a2f15a",
      "tree": "7dca120fce2f48d1313f0f729acb5b60ab623ab8",
      "parents": [
        "acdac3494018c20946b1d48af9b9c5776a909c69",
        "1d13e6ae509a6691e49140d4d1603ee944e95e38"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jul 07 21:57:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jul 07 21:57:29 2015 +0000"
      },
      "message": "Merge \"Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\" into feature/qos"
    },
    {
      "commit": "1d13e6ae509a6691e49140d4d1603ee944e95e38",
      "tree": "7dca120fce2f48d1313f0f729acb5b60ab623ab8",
      "parents": [
        "15e4e72310445b8a6e4beb62e02859e77392253b",
        "acdac3494018c20946b1d48af9b9c5776a909c69"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Tue Jul 07 15:37:58 2015 +0200"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Tue Jul 07 16:01:17 2015 +0200"
      },
      "message": "Merge remote-tracking branch \u0027origin/feature/qos\u0027 into merge-branch\n\nChange-Id: I7f2342d62634f5b4af3a083cc1aaff46efe28519\n"
    },
    {
      "commit": "15e4e72310445b8a6e4beb62e02859e77392253b",
      "tree": "7dca120fce2f48d1313f0f729acb5b60ab623ab8",
      "parents": [
        "b896e73fecf34465cc0bf4b61c586d98bf59b4f3",
        "d8409e027daf93dbf4ea8df195824cab225cdf7d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jul 03 08:35:43 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jul 03 08:35:43 2015 +0000"
      },
      "message": "Merge \"Python3: do not use urllib.urlencode\""
    },
    {
      "commit": "d8409e027daf93dbf4ea8df195824cab225cdf7d",
      "tree": "7dca120fce2f48d1313f0f729acb5b60ab623ab8",
      "parents": [
        "b896e73fecf34465cc0bf4b61c586d98bf59b4f3"
      ],
      "author": {
        "name": "Cyril Roelandt",
        "email": "cyril@redhat.com",
        "time": "Wed Jul 01 19:16:43 2015 +0000"
      },
      "committer": {
        "name": "Cyril Roelandt",
        "email": "cyril@redhat.com",
        "time": "Thu Jul 02 16:32:46 2015 +0200"
      },
      "message": "Python3: do not use urllib.urlencode\n\nIt has been moved in Python3. Use six.moves to have code that works with both\nPython 2 and 3.\n\nChange-Id: I5f286b1f784b3b7bb37852b00169a6c1227eb74b\nBlueprint: neutron-python3\n"
    },
    {
      "commit": "43fd6027549c54f0a213c0b84ebc591e4f6d403c",
      "tree": "681fc5523c30995f0f2e2b49e0d558c9e1b31b59",
      "parents": [
        "97510dce6953e9026dad336f7b2852227e906597",
        "b896e73fecf34465cc0bf4b61c586d98bf59b4f3"
      ],
      "author": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Tue Jun 30 00:35:32 2015 +0000"
      },
      "committer": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Tue Jun 30 00:36:11 2015 +0000"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into merge-branch\n\nChange-Id: Ib8c70c6aec4e320c84546c8ab52e29b97c62d401\n"
    },
    {
      "commit": "acdac3494018c20946b1d48af9b9c5776a909c69",
      "tree": "681fc5523c30995f0f2e2b49e0d558c9e1b31b59",
      "parents": [
        "9f4885205b0c8ab605912ff140255df1a21186f0",
        "b896e73fecf34465cc0bf4b61c586d98bf59b4f3"
      ],
      "author": {
        "name": "Doug Wiegley",
        "email": "dougw@a10networks.com",
        "time": "Fri Jun 26 09:11:07 2015 -0600"
      },
      "committer": {
        "name": "Doug Wiegley",
        "email": "dougw@a10networks.com",
        "time": "Fri Jun 26 09:11:22 2015 -0600"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into merge-qos\n\nChange-Id: I373e1bf2d9b0efc9b1aff01695405f7a70ca6bef\n"
    },
    {
      "commit": "b896e73fecf34465cc0bf4b61c586d98bf59b4f3",
      "tree": "681fc5523c30995f0f2e2b49e0d558c9e1b31b59",
      "parents": [
        "e0944b430a0f7d79b6dbbaabf0487e9b9f41a4a0",
        "ef10445b8c81d8c3c644f25c9a672babce96a2df"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jun 24 19:54:18 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jun 24 19:54:18 2015 +0000"
      },
      "message": "Merge \"Use string exception casting everywhere\""
    },
    {
      "commit": "ef10445b8c81d8c3c644f25c9a672babce96a2df",
      "tree": "681fc5523c30995f0f2e2b49e0d558c9e1b31b59",
      "parents": [
        "e0944b430a0f7d79b6dbbaabf0487e9b9f41a4a0"
      ],
      "author": {
        "name": "Martin Roy",
        "email": "mroy@iweb.com",
        "time": "Thu Jun 18 13:45:02 2015 -0400"
      },
      "committer": {
        "name": "Martin Roy",
        "email": "mroy@iweb.com",
        "time": "Mon Jun 22 09:13:56 2015 -0400"
      },
      "message": "Use string exception casting everywhere\n\nInstead of the deprecated \"message\" member access,\ncasting to a string invokes the __str__ method of the exception\nthat is wired to return the message\n\nAdded a test of the failure cases of IpRouteCommand::delete_gateway\nbecause they were missing\n\nRunning unit and functional tests locally no longer shows the warning\nreported in the bug.\n\nChange-Id: Ia79f526aa973ece1145615d65349f860aa3fd465\nCloses-Bug: #1466542\n"
    },
    {
      "commit": "e0944b430a0f7d79b6dbbaabf0487e9b9f41a4a0",
      "tree": "7178d5463b82a263732ff2be040e6d14de694ec5",
      "parents": [
        "9ed7cf307130f9feae082b1f4895faaf827ad642",
        "5e1d579bc1e82a5b31355a351ab3bbb348aaec97"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jun 16 08:52:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jun 16 08:52:50 2015 +0000"
      },
      "message": "Merge \"Python 3: use dict.values instead of dict.itervalues\""
    },
    {
      "commit": "5e1d579bc1e82a5b31355a351ab3bbb348aaec97",
      "tree": "7178d5463b82a263732ff2be040e6d14de694ec5",
      "parents": [
        "9ed7cf307130f9feae082b1f4895faaf827ad642"
      ],
      "author": {
        "name": "Cyril Roelandt",
        "email": "cyril@redhat.com",
        "time": "Mon Jun 15 15:07:28 2015 +0000"
      },
      "committer": {
        "name": "Cyril Roelandt",
        "email": "cyril@redhat.com",
        "time": "Mon Jun 15 17:08:44 2015 +0200"
      },
      "message": "Python 3: use dict.values instead of dict.itervalues\n\nThis works with both Python 2 and 3, and should not have any performance\nimpact.\n\nChange-Id: I2a14945c60de513b91c6f022ff5dcc503ce2a8ad\nBlueprint: neutron-python3\n"
    },
    {
      "commit": "9ed7cf307130f9feae082b1f4895faaf827ad642",
      "tree": "77fe497ae53775c0d0a1711caf5947eb1ddfc03b",
      "parents": [
        "9f4885205b0c8ab605912ff140255df1a21186f0",
        "5ab09168047ea8c07ba4383db497bdac27898088"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jun 10 09:13:55 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jun 10 09:13:55 2015 +0000"
      },
      "message": "Merge \"Python 3: use next() instead of iterator.next()\""
    },
    {
      "commit": "5ab09168047ea8c07ba4383db497bdac27898088",
      "tree": "77fe497ae53775c0d0a1711caf5947eb1ddfc03b",
      "parents": [
        "9f4885205b0c8ab605912ff140255df1a21186f0"
      ],
      "author": {
        "name": "Cyril Roelandt",
        "email": "cyril@redhat.com",
        "time": "Mon Jun 08 16:09:49 2015 +0000"
      },
      "committer": {
        "name": "Cyril Roelandt",
        "email": "cyril@redhat.com",
        "time": "Tue Jun 09 20:26:09 2015 +0200"
      },
      "message": "Python 3: use next() instead of iterator.next()\n\nThe latter only works in Python 2.\n\nAlso define a __next__ method in the classes that define a next method.\n\nChange-Id: Iaa1a1e500facab50d8bcdffda39ccad3f2e4e9bb\nBlueprint: neutron-python3\n"
    },
    {
      "commit": "9f4885205b0c8ab605912ff140255df1a21186f0",
      "tree": "bedcf23048b1e287edc877cfa42ad6663b72a5c4",
      "parents": [
        "97510dce6953e9026dad336f7b2852227e906597",
        "ca1c293d1d9729e6e205e5506491839cac3187da"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jun 03 15:17:08 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jun 03 15:17:08 2015 +0000"
      },
      "message": "Merge \"Python3: use six.iteritems() instead of dict.iteritems()\""
    }
  ],
  "next": "ca1c293d1d9729e6e205e5506491839cac3187da"
}
