)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "ca1c293d1d9729e6e205e5506491839cac3187da",
      "tree": "bedcf23048b1e287edc877cfa42ad6663b72a5c4",
      "parents": [
        "97510dce6953e9026dad336f7b2852227e906597"
      ],
      "author": {
        "name": "Cyril Roelandt",
        "email": "cyril@redhat.com",
        "time": "Mon Jun 01 20:53:46 2015 +0000"
      },
      "committer": {
        "name": "Cyril Roelandt",
        "email": "cyril.roelandt@enovance.com",
        "time": "Mon Jun 01 23:13:42 2015 +0200"
      },
      "message": "Python3: use six.iteritems() instead of dict.iteritems()\n\nThis also adds a check to neutron/hacking/checks.py that should catch this\nerror in the future.\n\nBlueprint: neutron-python3\nChange-Id: Ie7b833ffa173772d39b85ee3ecaddace18e1274f\n"
    },
    {
      "commit": "d7737b1d039ca15efe6fbaeb588854308d0a94bc",
      "tree": "53a84e0016df012f26d9e75192e64ea2845b26c7",
      "parents": [
        "d9ac53b2e238a32c250d31f01363352394d8bb15"
      ],
      "author": {
        "name": "Adrien Vergé",
        "email": "adrienverge@gmail.com",
        "time": "Tue May 19 11:05:27 2015 +0200"
      },
      "committer": {
        "name": "Adrien Vergé",
        "email": "adrienverge@gmail.com",
        "time": "Tue May 19 17:32:17 2015 +0200"
      },
      "message": "Python 3: Use six.moves.range\n\nThe function `xrange` was renamed to `range` in Python 3.\n\n* Remove `xrange` occurences so that Python 3 tests can pass. Use\n  `six.moves.range` instead to get the right function in both cases.\n* Generalize the use of the efficient `range` (ex-`xrange`) in\n  critical sections (when iterating over large lists).\n* Simplify code.\n* Add a hacking check to prevent future usage of `xrange`.\n\nChange-Id: I080acaaa1d4753619fbbb76dddba6d946d84e73f\nPartially implements: blueprint neutron-python3\n"
    },
    {
      "commit": "bde4a4bdd0848bab18d6d7d39f2482a1d63e942d",
      "tree": "85256f9dd699e9e833ace11bd06ab9aeae5ef86b",
      "parents": [
        "ab1ab82fe58d8a8acef322fa97901157de2296fe"
      ],
      "author": {
        "name": "Cyril Roelandt",
        "email": "cyril.roelandt@enovance.com",
        "time": "Thu May 07 13:00:38 2015 +0000"
      },
      "committer": {
        "name": "Cyril Roelandt",
        "email": "cyril.roelandt@enovance.com",
        "time": "Mon May 11 16:09:51 2015 +0200"
      },
      "message": "Allow users to run \u0027tox -epy34\u0027\n\nWith this commit, it is possible to successfully run \u0027tox -epy34\u0027, even though\nonly a small amount of tests will actually be run. This is a required step in\nmaking Neutron compatible with Python 3, as described in the \u0027Porting to Python\n3\u0027 specification.\n\nThis commit:\n- fixes some broken imports, while making sure they still work with Python 3;\n- updates a call to gettext.install;\n- adds a py34 target in tox.ini.\n\nChange-Id: I91cc7a992d05ea85f7004d1c5a45a1c02cbf1c85\nBlueprint: neutron-python3\n"
    },
    {
      "commit": "faea2039470d2c288552cef2fabe19c40ef83ff3",
      "tree": "f4887eaaace87d2608f4076af66d074120af2a79",
      "parents": [
        "ce9ef37a5884a59f622e53b1f1588614aafeaf72"
      ],
      "author": {
        "name": "armando-migliaccio",
        "email": "armamig@gmail.com",
        "time": "Wed Apr 01 17:52:01 2015 -0700"
      },
      "committer": {
        "name": "armando-migliaccio",
        "email": "armamig@gmail.com",
        "time": "Wed Apr 01 20:45:12 2015 -0700"
      },
      "message": "Move orphaned api test - deux\n\nAccording to changes [1,2], API tests\u0027 new home is under neutron/tests/api.\nChange 92d2054f8a slipped through the cracks. It seems also that wrong\nimports lead to tests silently dropped (i.e. not executed). This patch\nrectifies the issue.\n\n [1] https://review.openstack.org/#/c/169850/\n [2] https://review.openstack.org/#/c/167320/\n\nChange-Id: I64be376d7cff9512bd027720116dc039831e7955\n"
    },
    {
      "commit": "ce9ef37a5884a59f622e53b1f1588614aafeaf72",
      "tree": "1ea1ab063d62f40e2724574d0dcf55ef8f3f5497",
      "parents": [
        "f790218ffc32cdaaea03b45ea8923caa42051cf0",
        "792837cb3341a4fa6991efaf98784417a946593b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Apr 01 21:54:16 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Apr 01 21:54:16 2015 +0000"
      },
      "message": "Merge \"Add API tests for subnetpool allocation\""
    },
    {
      "commit": "8d1ed06b9a325d3a582a3341239d9fa968abdbd3",
      "tree": "c688c93d388a1f8be6addacccf8ca5fc27c84b2f",
      "parents": [
        "bdf621bc233aa10911683b003895f68099b2a004"
      ],
      "author": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Wed Apr 01 17:30:55 2015 +0000"
      },
      "committer": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Wed Apr 01 17:33:24 2015 +0000"
      },
      "message": "Move orphaned api test\n\nA recent change added a new api test to the old location that is no\nlonger used for discovery.  This change moves it to\nneutron/tests/api/admin to ensure that it can be discovered and run.\n\nChange-Id: Ifcada8f9b2178b3159151b0d1953fd841d82ffa6\n"
    },
    {
      "commit": "70cbd043a0877a81b5d03ea29d7446683154fcef",
      "tree": "ae5d9338a542b1940d7dc5a2402cce9168e7f610",
      "parents": [
        "95fb3d6a58297afe4cd985e2b8eb9f32354ac772"
      ],
      "author": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Tue Mar 24 16:21:57 2015 +0000"
      },
      "committer": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Tue Mar 31 23:05:07 2015 +0000"
      },
      "message": "Move API tests to neutron.test.api\n\nTo make api test development simpler, move the tests to\nneutron.tests.api.  The neutron.tests.tempest subtree will remain\nwhile work continues to transition the required functionality to\ntempest-lib.\n\nChange-Id: Ie90671fbfe2f633e851da82728e152482133fd87\n"
    },
    {
      "commit": "95fb3d6a58297afe4cd985e2b8eb9f32354ac772",
      "tree": "405cd1f9ef7b0223383a594e0777d376e236447b",
      "parents": [
        "1a6fa9012046392b24f88983bb145be2a1beea67",
        "ab3787f6c5712b81bc579b63706f7eb067d5bfa5"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Mar 31 23:00:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Mar 31 23:00:33 2015 +0000"
      },
      "message": "Merge \"Simplify retargetable test framework\""
    },
    {
      "commit": "ab3787f6c5712b81bc579b63706f7eb067d5bfa5",
      "tree": "e0db6bac3d86a70b12f0e82418da144750d3d6fd",
      "parents": [
        "45adb896bbc48a4e9337737e49b3a1da6a05ba0f"
      ],
      "author": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Tue Mar 24 01:30:11 2015 +0000"
      },
      "committer": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Tue Mar 31 20:13:04 2015 +0000"
      },
      "message": "Simplify retargetable test framework\n\nThe retargetable testing prototype previously relied on each test case\ndefining the \u0027scenarios\u0027 attribute used to parametize testing with\ntestscenarios.  Anticipating the requirement to retrofit the imported\ntempest api test cases, this change moves scenario definition to a\nbase class since scenarios are common across all api tests.\n\nThis change also sets the retargetable test to skip when invoked\nagainst rest.  Tempest uses class-level setup for auth and this needs\nto be broken out into fixtures before the retargetable testing will\nwork again.\n\nChange-Id: I70eb21db9b983d45e9bcc7ea90e36f202d3e3e45\n"
    },
    {
      "commit": "792837cb3341a4fa6991efaf98784417a946593b",
      "tree": "c5d4a8ae5b622dea11d91f02df3a8b24eed5eb12",
      "parents": [
        "45adb896bbc48a4e9337737e49b3a1da6a05ba0f"
      ],
      "author": {
        "name": "zengfagao",
        "email": "zengfa.gao@hp.com",
        "time": "Wed Mar 25 07:28:25 2015 -0700"
      },
      "committer": {
        "name": "zengfagao",
        "email": "zengfa.gao@hp.com",
        "time": "Tue Mar 31 07:41:19 2015 -0700"
      },
      "message": "Add API tests for subnetpool allocation\n\nAdd subnetpool creating, listing, updating and deleting\nvia REST API.\n\nChange-Id: I0be397e6739a651ce1562137f9b03d0ca8739697\nDepends-on: I88c6b15aab258069758f1a9423d6616ceb4a33c4\nPartially-Implements: blueprint subnet-allocation\n"
    },
    {
      "commit": "41b32c14808cccbc7fefe49a17c4a617ee27b949",
      "tree": "1c6a4135c1b4cd560bfb928daaf6e6ac0f669343",
      "parents": [
        "45adb896bbc48a4e9337737e49b3a1da6a05ba0f"
      ],
      "author": {
        "name": "abhishek60014726",
        "email": "abhishek.g-m@hp.com",
        "time": "Wed Mar 25 04:20:55 2015 -0700"
      },
      "committer": {
        "name": "abhishek60014726",
        "email": "abhishek.g-m@hp.com",
        "time": "Fri Mar 27 03:09:10 2015 -0700"
      },
      "message": "Test to verify  shared attribute of network\n\nAdd Funtion to create a shared network\nAdd function to create a shared network in bulk\nAdd a test to create and update a shared network\nAdd a test to create a port in a shared network using non admin tenant\nAdd test to create shared networks in bulk\nAdd function to list and show shared network\nAdd test to list and show the shared network by admin and non admin\n\nChange-Id: I1894d73977d6018306faeda1231bc8523d35f357\n"
    },
    {
      "commit": "150a2fad1a46b56a552de4b8abe42d1266ed2229",
      "tree": "e49498372b1d83714874029871f6589b85776563",
      "parents": [
        "0e08743bb467a083dc07e5dc43cb3a891913a9ce"
      ],
      "author": {
        "name": "Pradeep Kilambi",
        "email": "pkilambi@cisco.com",
        "time": "Tue Mar 17 13:03:03 2015 -0700"
      },
      "committer": {
        "name": "Pradeep Kilambi",
        "email": "pkilambi@cisco.com",
        "time": "Wed Mar 18 13:11:35 2015 +0000"
      },
      "message": "Api tests to cover network mtu attribute\n\nIncluding Api tests to check for network object\nto include new mtu attributes.\n\nChange-Id: Iaa295b03715c3df4585ae443ddd655df1f107dc5\n"
    },
    {
      "commit": "5690a35d64c166147daad0e7422cb100403cfbf1",
      "tree": "83961f15c56d3ec5deec1f867ad5f3373824fbb9",
      "parents": [
        "1b9aefd002df575dbc9210c680223345b8a56faf"
      ],
      "author": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Fri Mar 13 18:46:40 2015 +0000"
      },
      "committer": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Fri Mar 13 18:46:40 2015 +0000"
      },
      "message": "Update api tests from tempest\n\nThis change is the result of running tools/copy_api_tests_from_tempest.sh\n\nChange-Id: Ibcb6d11b3f7ed8b859c69d4c591bf785b0611416\n"
    },
    {
      "commit": "c695f9fadc200d2f3c210f66555c7875974f52b7",
      "tree": "86c4693bc4b2b599068bf8fd6f533e97653c3c8e",
      "parents": [
        "73364dc815b6781cb99a4002e6e0d2e828be467e"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Feb 26 23:26:41 2015 +0100"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Mar 12 11:22:56 2015 +0100"
      },
      "message": "Migrate to oslo.log\n\nIt\u0027s mostly a matter of changing imports to a new location.\n\nNon-obvious changes needed:\n* pass overwrite\u003d argument to oslo_context since oslo.log reads context\n  from its thread local store and not local.store from incubator\n* don\u0027t store context at local.store now that there is no code that\n  would consume it\n* LOG.deprecated() -\u003e versionutils.report_deprecated_feature()\n* dropped LOG.audit check from hacking rule since now the method does\n  not exist\n* WritableLogger is now located in oslo_log.loggers\n\nDropped log module from the tree. Also dropped local module that is now\nof no use (and obsolete, as per oslo team).\n\nAdded versionutils back to openstack-common.conf since now we use the\nmodule directly from neutron code and not just as a dependency of some\nother oslo-incubator module.\n\nNote: tempest tests are expected to be broken now, so instead of fixing\nall the oslo.log related issues for the subtree in this patch, I only\nadded TODOs with directions for later fix.\n\nCloses-Bug: #1425013\nChange-Id: I310e059a815377579de6bb2aa204de168e72571e\n"
    },
    {
      "commit": "b096d9f85db70568b51f0948190792c340d472fb",
      "tree": "01ad1be2e308ac9c827157a624d5ef5cc2176ca6",
      "parents": [
        "deb4631fa6800b0493fa67dcda2f6a6329745a3e"
      ],
      "author": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Mon Mar 09 18:54:54 2015 +0000"
      },
      "committer": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Mon Mar 09 21:24:55 2015 +0000"
      },
      "message": "Initial copy of api tests from tempest\n\nThis change is the result of running\ntools/copy_api_tests_from_tempest.sh.\n\nChange-Id: Ica02dbe1ed26f1bc9526ea9682756ebc5877cf4a\n"
    },
    {
      "commit": "deb4631fa6800b0493fa67dcda2f6a6329745a3e",
      "tree": "3fd3520255cf8a054cb04c5f9d85bcb913950079",
      "parents": [],
      "author": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Sat Feb 21 00:15:12 2015 +0000"
      },
      "committer": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Fri Mar 06 19:57:27 2015 +0000"
      },
      "message": "Add script to copy neutron api tests from tempest\n\nThis change adds a script to automate the copying of api tests from\ntempest in the style of oslo_incubator.  The target path will be\nneutron/tests/tempest and no manual modifications should be made to\nthis path until such time as neutron api test development is frozen in\ntempest and development can proceed in the neutron tree.  Until that\noccurs, a policy of manual once-daily synchronization is suggested.\n\nThe target path includes the name \u0027tempest\u0027 as a clear indication that\nthis is not part of neutron, and that once development is allowed to\nproceed, its contents should be rewritten and removed until there is\nnothing left.\n\nSo long as the tests exist in both the tempest and neutron trees,\ntesting effort will be duplicated.  The larger goal is to have the\ntests in question removed from tempest as per the qa guidelines [1],\nso this should be temporary.\n\n1: https://wiki.openstack.org/wiki/QA/Tempest-test-removal\n\nChange-Id: I3cd55983e610a1d61aae565f88fe5017edba1090\n"
    }
  ]
}
