)]}'
{
  "log": [
    {
      "commit": "10bff0e9968d7a9c59ea7f09f49775973f8b5008",
      "tree": "0ed49e979f5fca545c32c297cbf6616fb5844225",
      "parents": [
        "1f7631dce6252f32c182176b5e11b1f8eaa8b399"
      ],
      "author": {
        "name": "Martin Hickey",
        "email": "martin.hickey@ie.ibm.com",
        "time": "Thu Dec 03 15:18:10 2015 +0000"
      },
      "committer": {
        "name": "Martin Hickey",
        "email": "martin.hickey@ie.ibm.com",
        "time": "Thu Dec 10 16:55:07 2015 +0000"
      },
      "message": "Neutron LBaaS: Use generated configuration files if available\n\nGenerate the Neutron LBaaS sample config files by using the oslo\ngenerator. The files are generated with a .sample extension and\nreplace the static example configuration files.\n\nOnce the generation code is delivered, the static config files\nwill be removed.\n\nChange-Id: Iae1e581ec2bea9c0ced700229effcc716d53fe4e\nRelated-blueprint: autogen-neutron-conf-file\nPartial-bug: #1199963\nDepends-On: I25507f3bc6e995580aa91a912c2cf4110757df15\n"
    },
    {
      "commit": "523f48803609b35350b624244fa73b1030c1d5fa",
      "tree": "17f99ab223f42eec58523fa89a49f243efba754b",
      "parents": [
        "307730acd9d271bc4c3d44f2dfed0eab67e1657d"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Oct 13 11:03:03 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Nov 27 15:36:04 2015 +1100"
      },
      "message": "Namespace XTRACE commands\n\nI noticed this when debugging some grenade issues failures.\n\nAn include of grenade/functions stores the current value of XTRACE\n(on) and disables xtrace for the rest of the import.\n\nWe then include devstack\u0027s \"functions\" library, which now overwrites\nthe stored value of XTRACE the current state; i.e. disabled.\n\nWhen it finishes it restores the prior state (disabled), and then\ngrenade restores the same value of XTRACE (disabled).\n\nThe result is that xtrace is incorrectly disabled until the next time\nit just happens to be turned on.\n\nThe solution is to name-space the store of the current-value of xtrace\nso when we finish sourcing a file, we always restore the tracing value\nto what it was when we entered.\n\nSome files had already discovered this.  In general there is\ninconsistency around the setting of the variable, and a lot of obvious\ncopy-paste.  This brings consistency across all files by using\n_XTRACE_* prefixes for the sotre/restore of tracing values.\n\nChange-Id: Iba7739eada5711d9c269cb4127fa712e9f961695\n"
    },
    {
      "commit": "5cdee8dd3311e501302993cd8c81b39cb6b45090",
      "tree": "665bbd6ec1aab84f2b3a910cd13a6db1fe935469",
      "parents": [
        "a692810ef05304856e5fd12ec786f3445ecca576"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Oct 19 14:17:18 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Oct 29 11:30:20 2015 +1100"
      },
      "message": "Update to bashate 0.3.2\n\nBashate 0.3.2 has a few new checks -- firstly make sure some of the\nplugins have #!/bin/bash, and fix up a couple of \"local\" changes that\nwere missed by I9c8912a8fd596535589b207d7fc553b9d951d3fe\n\nChange-Id: I9e4b1c0dc9e0f709d8e76f9c9bf1c9478b2605ed\n"
    },
    {
      "commit": "f750a6fedbb34399e1ee4dd540c13028d53c0e13",
      "tree": "839fca32e62cc71af1cb47d21c0ed4c91fcd7aad",
      "parents": [
        "85a1c488dfda0094238f899ea0bf693106021ce5"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Jul 01 12:17:35 2015 +0200"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Jul 01 12:17:35 2015 +0200"
      },
      "message": "Already dead process tolerance in unstack.sh\n\nThe gate/updown.sh calls the unstack.sh with\n-ex option. Normally we do not use -e with unstack.sh.\n\nThe unstack.sh can fail if the service already stopped,\nand it also can have flaky failures on the gate.\n\nFor example the stop_swift function tries to kill swift in two\ndifferent ways, and if the first one succeeds before the 2th attempt\nthe pkill fails the whole unstack.sh.\n\nThis change accepts kill failure.\nNormally the kill can fail if the process does not exits,\nor when you do not have permission to the kill operation.\n\nSince the permission issue is very unlikely in our case,\nthis change does not tries to distinguish the two operation.\n\nThe behavior of the unstack.sh wen you are not using -ex should\nnot be changed by this change.\n\nChange-Id: I64bf3cbe1b60c96f5b271dcfb620c3d4b50de26b\n"
    },
    {
      "commit": "93e682c558f954fa35a00d7cc6a6903e8ed59178",
      "tree": "c7f057b6d3d110e01d2da4e4a4f46dc077cac2a3",
      "parents": [
        "aff8fb9be8b48d6f05f4e00561f714346befc846"
      ],
      "author": {
        "name": "Doug Wiegley",
        "email": "dougw@a10networks.com",
        "time": "Tue Mar 03 10:31:30 2015 -0700"
      },
      "committer": {
        "name": "Doug Wiegley",
        "email": "dougw@a10networks.com",
        "time": "Tue Mar 03 10:31:30 2015 -0700"
      },
      "message": "Revert change to remove lbaas from devstack; it breaks grenade.\n\nChange-Id: Ie2adaeb7f27d6d646ca2e6e575fb430b9b74b276\n"
    },
    {
      "commit": "b124f4d595cc41b4f20bf935ffd0848448b3713c",
      "tree": "bd9675f86318038a0bd2a57a057ca7cb68ef3a16",
      "parents": [
        "172fae6a3ebf867663525048947c797c9209f3eb"
      ],
      "author": {
        "name": "Al Miller",
        "email": "al.miller@hp.com",
        "time": "Tue Feb 03 20:18:42 2015 -0800"
      },
      "committer": {
        "name": "Al Miller",
        "email": "al.miller@ajmiller.net",
        "time": "Fri Feb 27 16:36:51 2015 +0000"
      },
      "message": "Remove LBaaS support from devstack\n\nDevstack support for LBaaS is being migrated to an external\nplugin in the neutron-lbaas repository.  The only LBaaS-\nspecific code that remains in devstack is a hook to support\nexisting configs that enable q-lbaas.  In that case, load\nthe external plugin if necessary.\n\nChange-Id: I592f64407ccf1e722b8d9788917879d0236acf0b\nDepends-On: I64a94aeeabe6357b5ea7796e34c9306c55c9ae67\n"
    },
    {
      "commit": "5893cc7c5f14ecf645a010b930577eaaa01a3eb8",
      "tree": "55706cccbef94ff6566a273fa0acd8bab9ba82de",
      "parents": [
        "5c0a3cfb71ef8c8faca92c19e4eee4968eb309e3"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Dec 22 11:49:42 2014 +0100"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Mon Jan 12 10:48:08 2015 +0100"
      },
      "message": "neutron: use config files from neutron-*aas repos\n\nNow that we split the neutron repository and have service configuration\nfiles maintained in their own repos, start using them.\n\nThe old files are going to be cleaned up from the Neutron tree.\n\nChange-Id: Iaeff0b9de88e9bcca87da1092cc888c4cc1bedfd\n"
    },
    {
      "commit": "20b839fd51ff0ccecbc67f3d29578ce042c8b3c3",
      "tree": "feb0db7d4db0395424ae93e7315c328e6224a3b4",
      "parents": [
        "099dd6ce8a17561aaced0568992baddc2abdb1c4"
      ],
      "author": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Mon Dec 08 06:17:27 2014 +0000"
      },
      "committer": {
        "name": "Kyle Mestery",
        "email": "mestery@mestery.com",
        "time": "Mon Dec 08 11:06:43 2014 +0000"
      },
      "message": "Update devstack to work with new split neutron services repos\n\nThis commit udpates devstack to work with the latest neutron services, which\nare now in their own repositories. This will also unblock third party CI for\nservices testing. This also allows devstack users to run neutron with\nservices again.\n\nChange-Id: I9cdd51f09edaccf218988240b48ce733d5771a65\n"
    },
    {
      "commit": "cbd892b4363716be3d900ba753c81c06639fa97d",
      "tree": "2c9c15eccea0ab16c2d9b303a9a18b4ab37cf33b",
      "parents": [
        "8fe3f70efd6c74479d2f17b789976fb3dfb8efd2"
      ],
      "author": {
        "name": "Thomas Bechtold",
        "email": "tbechtold@suse.com",
        "time": "Wed Sep 24 14:50:45 2014 +0200"
      },
      "committer": {
        "name": "Thomas Bechtold",
        "email": "tbechtold@suse.com",
        "time": "Wed Sep 24 14:53:30 2014 +0200"
      },
      "message": "Install haproxy on SUSE distros\n\nhaproxy package is available for SUSE distros, so install it.\n\nChange-Id: If363dbf439dbea9aafd265c2c665ff4c2b733738\n"
    },
    {
      "commit": "e3a9160c0d6c7802141fb147339ab12f76482c85",
      "tree": "87c1c831cf248211a583676bff47d612283d917a",
      "parents": [
        "4c0e728780d49bfca80b147676ad1b96d16e24e4"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 28 12:40:56 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 28 12:40:59 2014 -0500"
      },
      "message": "Fix Neutron plugin XTRACE handling\n\nThe various Neutron plugin files need to have unique variables for the\nxtrace state as they are sometimes nested more than two levels deep\nand MY_XTRACE is getting stomped.  This gives each of the neutron_plugin\nand neutron_thirdparty include files a unique XTRACE state variable.\n\nI don\u0027t think this is a problem with any of the other plugin include\nfiles (yet) so this just handles Neutron for now.\n\nChange-Id: I7c272a48e7974edecaff5f431ff7443dd6622588\n"
    },
    {
      "commit": "dad6e4114d07978ade5ab5594d4b5b19e998bdb5",
      "tree": "9c867402960f933ca6384a2b87d75ec954f9eba8",
      "parents": [
        "4b76faa32b21964dc72a055f65172199618edeee",
        "aee18c749b0e3a1a3a6907a33db76ae83b8d41d9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 28 06:32:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 28 06:32:20 2014 +0000"
      },
      "message": "Merge \"Enforce function declaration format in bash8\""
    },
    {
      "commit": "aee18c749b0e3a1a3a6907a33db76ae83b8d41d9",
      "tree": "01a8ab5abb9867986f3e848918abd9e749b691cd",
      "parents": [
        "0ed4af02da0bd4a0f757dd8c2156913e6c7a724c"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 21 15:35:08 2014 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 28 07:59:03 2014 +1100"
      },
      "message": "Enforce function declaration format in bash8\n\nCheck that function calls look like ^function foo {$ in bash8, and fix\nall existing failures of that check.  Add a note to HACKING.rst\n\nChange-Id: Ic19eecb39e0b20273d1bcd551a42fe400d54e938\n"
    },
    {
      "commit": "f2ca87a8d8ded80384b2cafb46ef2ca4cf19a986",
      "tree": "97dd06b2fd87163723398b444e9dc683f318fe65",
      "parents": [
        "5d920e02e30f375253ff9a5f6fef010c95c2fb4b"
      ],
      "author": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Fri Feb 21 20:08:28 2014 +0530"
      },
      "committer": {
        "name": "Rabi Mishra",
        "email": "ramishra@redhat.com",
        "time": "Fri Feb 21 20:51:20 2014 +0530"
      },
      "message": "Implements fix to run lbaas service on fedora with devstack\n\nchanges \u0027user_group \u003d nobody\u0027 in \u0027haproxy\u0027 section of lbaas_agent.ini\n\nChange-Id: I801fec5a11d8abd97cb6f5cdff35fabb9eaf9000\nCloses-Bug: 1283064\n"
    },
    {
      "commit": "15d2526db91ed34bff85280d482d5a6303db5756",
      "tree": "af30815520ca8ddc9e737ac1144cf0786be2e2c9",
      "parents": [
        "62c0cfa5d99b0c4f8d2d069e0edbccd37933bdf2",
        "9e136b4adee6ce33fdbf01e0a8614c186c5f20b7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 01 13:28:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 01 13:28:32 2014 +0000"
      },
      "message": "Merge \"Neutron: Define a utility function to add neutron service class\""
    },
    {
      "commit": "9e136b4adee6ce33fdbf01e0a8614c186c5f20b7",
      "tree": "23a950f194246b40102be753990208cd968ea75e",
      "parents": [
        "ba3c63640469e86a7a30032f76de455fc211fca7"
      ],
      "author": {
        "name": "Isaku Yamahata",
        "email": "isaku.yamahata@intel.com",
        "time": "Mon Dec 16 15:52:03 2013 +0900"
      },
      "committer": {
        "name": "Isaku Yamahata",
        "email": "isaku.yamahata@intel.com",
        "time": "Thu Dec 19 17:37:35 2013 +0900"
      },
      "message": "Neutron: Define a utility function to add neutron service class\n\nWhen enabling neutron service (i.e. enable_service q-xxx), related code\nunconditionally adds a necessary plugin class to Q_SERVICE_PLUGIN_CLASSES.\nWhich may cause duplication in Q_SERVICE_PLUGIN_CLASSES when\nQ_SERVICE_PLUGIN_CLASSES is explicitly specified in localrc.\nAs a result, neutron server fails to start.\n\nThis patch introduces a utility function to add service class,\nand check duplication.\n\nCloses-Bug: #1261291\nChange-Id: Id2880c7647babfccc3e8d9fc60dd93c4b3997ed9\n"
    },
    {
      "commit": "edddb1fddf6b571286d85057abe8aa1cd21e67a6",
      "tree": "8b406a21c9cba0f7347e2e011138b1feb76e48a5",
      "parents": [
        "ec16d0ffd5e780eefe69848134fb7b402bb2707d"
      ],
      "author": {
        "name": "Akihiro Motoki",
        "email": "motoki@da.jp.nec.com",
        "time": "Mon Dec 09 20:21:06 2013 +0900"
      },
      "committer": {
        "name": "Akihiro Motoki",
        "email": "motoki@da.jp.nec.com",
        "time": "Mon Dec 16 17:23:40 2013 +0900"
      },
      "message": "Stop Neutron advanced service external processes\n\nSome of Neutron advanced services (LBaaS, VPNaaS, ....) creates\nexternal processes and they should be stopped in unstack.\nThis commit defines neutron_\u003cXaaS\u003e_stop functions for all services\nand implements the cleanup logics if necessary.\n\nAlso cleanup_neutron removes netns used by LBaaS haproxy.\n\nChange-Id: Ied3a2c374ffcb6b59ecaf1027fb6e6083eded2ae\n"
    },
    {
      "commit": "ea66acb131645650b12de05ea96a5db6ce6df7dd",
      "tree": "7a2600b916d3472d0373138312cd839560e7d21a",
      "parents": [
        "0352f584abe0e88f372b9b8898b10e2ac25842f0"
      ],
      "author": {
        "name": "Eugene Nikanorov",
        "email": "enikanorov@mirantis.com",
        "time": "Wed Jul 24 20:59:49 2013 +0400"
      },
      "committer": {
        "name": "Eugene Nikanorov",
        "email": "enikanorov@mirantis.com",
        "time": "Wed Jul 24 21:04:43 2013 +0400"
      },
      "message": "Remove unused parameter from lbaas_agent.ini\n\nThat makes devstack installation script consistent with latest\nchange in neutron lbaas_agent\n\nChange-Id: I7946301a7fb4adddb5911575cbdfaf6b024132e3\n"
    },
    {
      "commit": "b05c876994183b6a1d53dfbdcea2ca4a7743035f",
      "tree": "e5361481fe1ea3f96da5c9139034530bb35706a7",
      "parents": [
        "0a03806e281d1f197e54d48318e4a7bba3eab77c"
      ],
      "author": {
        "name": "Mark McClain",
        "email": "mark.mcclain@dreamhost.com",
        "time": "Sat Jul 06 23:29:39 2013 -0400"
      },
      "committer": {
        "name": "Mark McClain",
        "email": "mark.mcclain@dreamhost.com",
        "time": "Sun Jul 07 00:15:11 2013 -0400"
      },
      "message": "update for name change to Neutron\n\nNote: Nova and Horizon are not updated until those projects have\nmigrated.\n\nChange-Id: I256ef20e7caadd9c96e6dd908c5d8b69ca5c4aeb\n"
    },
    {
      "commit": "b7196174ddc0205c6b15325b957df2f393ca4861",
      "tree": "2ef77c7f0f299acd314724ba1357766469f918ba",
      "parents": [
        "ad31e1cb95b48480474257f69737bf964585a070"
      ],
      "author": {
        "name": "Eugene Nikanorov",
        "email": "enikanorov@mirantis.com",
        "time": "Thu Jun 13 22:11:42 2013 +0400"
      },
      "committer": {
        "name": "Eugene Nikanorov",
        "email": "enikanorov@mirantis.com",
        "time": "Thu Jun 13 23:41:09 2013 +0400"
      },
      "message": "Change path to loadbalancer plugin\n\nLoadbalancerPlugin path needs to be changed to reflect renaming\nagent_loadbalancer to loadbalancer and moving services directory\none level up.\n\nChange-Id: Ib2ece411b5fb84575673a66421eb474888dd8f43\n"
    },
    {
      "commit": "d7150e9bbce54479028c5c744d5648ae530925ea",
      "tree": "c07757200b478475fc576dd6746c927d828ac029",
      "parents": [
        "cd30ad90b849546659a5f815338559b6d723702e"
      ],
      "author": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Tue Apr 23 06:16:11 2013 +0000"
      },
      "committer": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Tue Apr 30 05:57:25 2013 +0000"
      },
      "message": "Add configurable use of veths with Quantum+OVS.\n\n * This patch adds the ability to configure use of veths with\n   OVS via the Q_OVS_USE_VETH variable.  The use of veths with OVS\n   is required to support namespaces on RHEL.\n * Supports bug 1171727\n\nChange-Id: I5f557d659684ead99a3e5e2b4df787699d9d3f05\n"
    },
    {
      "commit": "c07112a203aa9a25d2abaf497a740abd908e5919",
      "tree": "56deadcbfc0621549e473dd9faff2cd89b101141",
      "parents": [
        "9cb8e57482c6751e1c1c3d752e006828a3d49a67"
      ],
      "author": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Fri Mar 22 16:35:38 2013 +0900"
      },
      "committer": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Fri Mar 29 16:14:45 2013 +0900"
      },
      "message": "Allow a plugin specific interface_driver config in q-lbaas\n\nPreviously interface_driver for q-lbaas is hardcoded and q-lbaas does\nnot work when quantum plugin requires additional configuration (like\novs_use_veth\u003dTrue). This commit set up interface_driver using\nquantum_plugin_setup_interface_driver function.\n\nThis commit also moves a script related Quantum service plugin to\nlib/quantum_plugins/services/\n\nChange-Id: Iad11c1b31071dfb580843be18be78c83feb91f10\n"
    },
    {
      "commit": "3f34d9af711af1b0f5cc77180ae2791a532fb291",
      "tree": "4ba1650c63b06144e22e27596a08d4b1fe7aeafd",
      "parents": [
        "87387596631602b5f676eae65823b4f0c5c71e66"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Mar 12 17:57:36 2013 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Mar 12 18:02:55 2013 +0100"
      },
      "message": "Make openSUSE port up-to-date\n\nSeveral changes didn\u0027t properly deal with openSUSE, so fix this.\n\nChange-Id: Icc9c894031a8a693d9c41e2ec5717bd76f618342\n"
    },
    {
      "commit": "b7d8284271170041a3134fcf99e14e46703d6546",
      "tree": "9ea3a954aa2e0b4c2014e0331936c2351c04a00e",
      "parents": [
        "0d71d1ec56f6063b88e2f11ed057aefe6d7311d2"
      ],
      "author": {
        "name": "Eugene Nikanorov",
        "email": "enikanorov@mirantis.com",
        "time": "Wed Mar 06 16:28:33 2013 +0400"
      },
      "committer": {
        "name": "Eugene Nikanorov",
        "email": "enikanorov@mirantis.com",
        "time": "Wed Mar 06 18:05:23 2013 +0400"
      },
      "message": "Implements blueprint quantum-lbaas-plugin-support\n\nAdd support for quantum lbaas plugin.\nConfigure service_plugins and lbaas agent\nin case q-lbaas service is enabled in localrc\n\nChange-Id: Iebaa1ed6a7209175504230faf802a94dc841392f\n"
    }
  ]
}
