)]}'
{
  "log": [
    {
      "commit": "6523d6e09789076d0a430bf7b608511fcb1c406a",
      "tree": "d96213973217dd7ff0611091f6facdced64a31ce",
      "parents": [
        "73a3e2decd2e7d9fd652fb40c4e697794d9abd05",
        "afef8bf097356d7bb37c57d0daa44653c7905c17"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Mar 08 13:31:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Mar 08 13:31:57 2017 +0000"
      },
      "message": "Merge \"Make declared variables global\""
    },
    {
      "commit": "afef8bf097356d7bb37c57d0daa44653c7905c17",
      "tree": "0aa5c440428469fa0160285cab3ca6e5573135b2",
      "parents": [
        "6f23555c959ce2a121d57c27a7460815808ac2b6"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Mar 06 14:07:23 2017 -0500"
      },
      "committer": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Tue Mar 07 22:07:29 2017 -0800"
      },
      "message": "Make declared variables global\n\nWhen variables use the \u0027declare\u0027 directive, it is by default a local\nvariable. While other variables have global scope.\n\nFor example:\n   declare -A AN_ARRAY   # local in scope\n   foo\u003d1                 # global in scope\n\nThis causes errors to occur as some of the variables will be local only\nand others will be global.\n\nUpdate the code, as appropriate, so that variables using the \u0027declare\u0027\ndirective also include the \u0027-g\u0027 flag to have them also be global. Not\nevery instance of a declared variable has been updated.\n\nCloses-Bug: #1669509\nCo-Authored-By: John L. Villalovos \u003cjohn.l.villalovos@intel.com\u003e\nChange-Id: I2180b68fe861ad19c6d4ec0df0f9f8a528347862\n"
    },
    {
      "commit": "b9ed1ffc7d9165b906b5fe3a71ddc2a8f66e1ce0",
      "tree": "2c3f690b90b30b122a4cef45a3c6b64268fad2c4",
      "parents": [
        "06d6fcf8617e402bd8182f7decb8788403865e8d",
        "9d49ed983435cd0ff3791224dff47a4d51f0bf01"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 03 02:53:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 03 02:53:05 2017 +0000"
      },
      "message": "Merge \"Added printing exit code of component process if it failed to start\""
    },
    {
      "commit": "71640bfe39d6aec8894e05cf4efb52ae06e20eed",
      "tree": "50c72f37a21082687f5e9c7ab448b4d5b56f31a7",
      "parents": [
        "0072abbf11939a9ab4b5be9f5417b1f463dd4e3d",
        "ff10ac318ce4be49d8bceafb7fea92ae1655b497"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Feb 25 16:02:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Feb 25 16:02:50 2017 +0000"
      },
      "message": "Merge \"Remove distro support based on new libvirt minimum\""
    },
    {
      "commit": "ff10ac318ce4be49d8bceafb7fea92ae1655b497",
      "tree": "0c53e834d7a3b8854d51b0b6d56fb2783d8d9c3c",
      "parents": [
        "e0a37cf21e43fbb4ba3f9f8fa5321a0a0e1bedf1"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Mon Feb 13 12:44:24 2017 -0500"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Mon Feb 13 16:31:39 2017 -0500"
      },
      "message": "Remove distro support based on new libvirt minimum\n\nNova is going to increase the minimum required libvirt\nin Pike to 1.2.9 in change:\n\nI9a972e3fde2e4e552f6fc98350820c07873c3de3\n\nBased on the libvirt distro support matrix wiki [1] that\ndrops support for Ubuntu Trusty and Debian 7.0/Wheezy.\n\nTrusty has libvirt 1.2.2 and Wheezy has 0.9.12 (the Wheezy\nsupport should have been removed long ago apparently). The\n7.0 removed here is for Wheezy also based on commit\nb2ef890db3d78b24f9da2f4dd80502165c669ad0.\n\nThis does not undo the check for \"trusty\" with the\nEBTABLES_RACE_FIX in lib/nova_plugins/function-libvirt\nsince you can still force devstack to run on Trusty if\nyou specify the FORCE\u003dyes variable.\n\nNote that RHEL 7.1 has libvirt 1.2.8 so it won\u0027t technically\nwork with devstack and nova + pike + libvirt, but with the\nway os_RELEASE is calculated the minor version is dropped\nfor RHEL distros so we just get \"rhel7\".\n\nAlso note that this doesn\u0027t attempt to continue supporting\nTrusty or Wheezy if nova is not configured to use libvirt,\nsimply in order to start moving forward on devstack distro\nsupport in general and to keep some sanity and closeness\nto what we test with in the CI system.\n\nWhile we\u0027re in here, we also drop Fedora 23 and add\nUbuntu Zesty.\n\n[1] https://wiki.openstack.org/wiki/LibvirtDistroSupportMatrix\n\nDepends-On: I9a972e3fde2e4e552f6fc98350820c07873c3de3\nDepends-On: If69f99bd789e646b0261e27a8a061efde32436f7\n\nChange-Id: I6617283afd798af37e64913b7865cea3c8a62aba\n"
    },
    {
      "commit": "11eb2017ef70a758c54cc984e90e445205886e7e",
      "tree": "b7464d71ba85227fef12d21e58b874ef3451eca1",
      "parents": [
        "6bd3561e9db3175f07299818ddb46a8ac7c72a12"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Feb 13 16:16:59 2017 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Feb 13 16:16:59 2017 -0500"
      },
      "message": "simplify endpoints used in devstack\n\nThe proliferation of internal/admin endpoints is mostly legacy and\nbased on some specific deployment patterns. These are not used by\neveryone, and for the devstack case aren\u0027t really that useful. We\nshould simplify our service catalog down to the minimum we need for\ndevelopment.\n\nChange-Id: Ided7a65c81b3a0b56f0184847fc82e17c29a771e\n"
    },
    {
      "commit": "9d49ed983435cd0ff3791224dff47a4d51f0bf01",
      "tree": "348dd9b2cf5f567e4bbef44cbdeabc535f941b54",
      "parents": [
        "d89b175321ac293454ad15caaee13c0ae46b0bd6"
      ],
      "author": {
        "name": "Joanna Taryma",
        "email": "joanna.taryma@intel.com",
        "time": "Mon Feb 06 11:30:15 2017 -0800"
      },
      "committer": {
        "name": "Joanna Taryma",
        "email": "joanna.taryma@intel.com",
        "time": "Mon Feb 06 11:30:15 2017 -0800"
      },
      "message": "Added printing exit code of component process if it failed to start\n\nWhen command failed and component failed to start, original exit code\nwas overwritten due to original command being executed in background.\nThis commit adds information about command\u0027s exit code to echoed message\nabout component\u0027s start up failure.\n\nChange-Id: I8a3dd485b1b1f2d70d42c5610baac7c0c713f53a\nSigned-off-by: Joanna Taryma \u003cjoanna.taryma@intel.com\u003e\n"
    },
    {
      "commit": "51ecf0a869720ae5e8845b95fd2973b2760dcecf",
      "tree": "3893a7edd1ec93d561ca6e230c0f0dfbd4770dc6",
      "parents": [
        "281c5c22ce7f4e7d367f689488e15ad77695a183"
      ],
      "author": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Thu Jan 05 16:11:17 2017 -0500"
      },
      "committer": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Thu Jan 05 18:41:29 2017 -0500"
      },
      "message": "Introduce a PYTHON env var\n\n* $PYTHON will have the path to python runtime to be used\n* Use $PYTHON to run all the scripts\n\nChange-Id: Ib5ab7820fc18cae5e50ea47302b610494197ad47\n"
    },
    {
      "commit": "fefd3e9c460b9689a8febede2dc731ba12cb32d6",
      "tree": "ad807fe9580ddc70c86abaf829490f5ff29e465b",
      "parents": [
        "de7b435b144400567d2f91d57b955f913bdcab0f",
        "8b1bbd690c3aea36dea804542c1bc56274b2ad31"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 03 19:53:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 03 19:53:44 2017 +0000"
      },
      "message": "Merge \"Make deprecated() output to stderr\""
    },
    {
      "commit": "95ed7c6f0513debdc0c692e78b898c08b84eab99",
      "tree": "e66bc3451d61f1f70ff0b93aba4911998de6cc36",
      "parents": [
        "894cbd654591b0cb2ff66d99af3175fb4f39902c"
      ],
      "author": {
        "name": "Zane Bitter",
        "email": "zbitter@redhat.com",
        "time": "Tue Dec 20 17:29:14 2016 -0500"
      },
      "committer": {
        "name": "Zane Bitter",
        "email": "zbitter@redhat.com",
        "time": "Tue Dec 20 20:29:06 2016 -0500"
      },
      "message": "Don\u0027t buffer log output in sed\n\nServices that run inside Apache use tail -f on the corresponding log\nfile to display output in the screen session. However, they also use sed\nto replace some control characters, and this means that the output is\nbuffered. This results in debugging experiences that range from\n\"impossible\" (the log you want isn\u0027t shown) to \"Kafkaesque nightmare\"\n(the log you want isn\u0027t shown, except that sometimes it is, and\nsometimes it isn\u0027t even though you double-checked and you\u0027re completely\nsure that you must have output a log, but when you check back later you\nrealise it actually is and you wonder if history is actually not mutable\nafter all and begin to question what is real and what is not).\n\nThis adds the --unbuffered option to ensure streaming output.\n\nChange-Id: I665ff5f047156401d8152f478d834ac40ff31658\n"
    },
    {
      "commit": "8b1bbd690c3aea36dea804542c1bc56274b2ad31",
      "tree": "61853c0913ead35e0936efc73ac870b98ff3b72b",
      "parents": [
        "c74315e055a770ef3508276442816fffde07cfc6"
      ],
      "author": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@midokura.com",
        "time": "Thu Dec 01 22:29:12 2016 +0900"
      },
      "committer": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@midokura.com",
        "time": "Thu Dec 01 22:31:21 2016 +0900"
      },
      "message": "Make deprecated() output to stderr\n\nSo that it can be used by functions like _determine_config_server,\nwhich is used like RESULT\u003d$(_determine_config_server).\n\nChange-Id: Ia4e641c5529b95ada30ae662221f370bc7fa88a7\n"
    },
    {
      "commit": "9a69a1abfc05a0aab72185347a82d75576476a93",
      "tree": "6ead2ec1cd91c6d66e49214016633668669155a2",
      "parents": [
        "3dd0b2b7728611fcfbf69095b27b9cf28d53c0d4",
        "21d84c29b22fb69b00739ae40d69f80d5182a94e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Nov 29 23:45:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 29 23:45:09 2016 +0000"
      },
      "message": "Merge \"If plugin is enabled multiple times fail\""
    },
    {
      "commit": "f5e78b6fb64ec45b177c2b73468f0ffe04c774e0",
      "tree": "d2f09ce84c618c12a2a357a87a5374723025843a",
      "parents": [
        "e8f90d1e5b67b04db8372b69e52a6ae08f883608",
        "7938d83d3bd37ef63cfea60e188918848ea87858"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Nov 28 10:28:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 28 10:28:47 2016 +0000"
      },
      "message": "Merge \"Allow provider network to be used for ssh validation\""
    },
    {
      "commit": "4d61ed5c77809799179a48f13080b1ce49b612f7",
      "tree": "4e1b845ecfd91ee0e50ec0047e1b3967c5118a3c",
      "parents": [
        "9c5b3b110aeacd49ca48315f1bb1f28acc6ef282",
        "90742fc1be7b4ad77bf3fda110d5a9bda4eb2100"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Nov 28 10:06:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 28 10:06:24 2016 +0000"
      },
      "message": "Merge \"Pass branch parameter to git clone\""
    },
    {
      "commit": "bcaadd63d8739b528f0121775d6612aebd333a4f",
      "tree": "191532739118463166c0315ee22fb945b140bc08",
      "parents": [
        "a3bb131c138859367f4529720121fd3eb8e239fd"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Nov 23 12:43:02 2016 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Nov 23 13:20:33 2016 +0100"
      },
      "message": "Apache reload issue when it is stopped\n\nSince 4b49e409f853104dae021dfca1a9342ec9ac4709 devstack\nstarted to use reload instead of restart.\n\nUsing reload in devstack for a fresh install,\ndoes not makes too much sense unless multiple service\nplugin touches the same service configs.\n\nSystemd rejects to reload something,\nwhich was not loaded before.\n\n $ sudo /bin/systemctl reload httpd\n httpd.service is not active, cannot reload.\n\nWe will switch to `reload-or-restart` action instead of `reload`,\nit is more likely the action what the previous patch wanted.\n\nChange-Id: I70d597fbe4a8923d937ba8432e29edefb27d1058\n"
    },
    {
      "commit": "90742fc1be7b4ad77bf3fda110d5a9bda4eb2100",
      "tree": "a6728aeb90580398c3e6a8a5d5edb60b6492c72b",
      "parents": [
        "5dbb826a547195b3cc33ff4f30f6d79d0ae08045"
      ],
      "author": {
        "name": "Jakub Wachowski",
        "email": "jakub.wachowski@ts.fujitsu.com",
        "time": "Fri Nov 18 14:28:47 2016 +0100"
      },
      "committer": {
        "name": "Jakub Wachowski",
        "email": "jakub.wachowski@ts.fujitsu.com",
        "time": "Mon Nov 21 07:42:50 2016 +0000"
      },
      "message": "Pass branch parameter to git clone\n\nWithout this parameter, when we set GIT_DEPTH,\nit may happen that we clone only master and\nthen cannot checkout branch\n\nChange-Id: I39376914f8bfc286a308c99db6bc92cddab195b5\n"
    },
    {
      "commit": "7938d83d3bd37ef63cfea60e188918848ea87858",
      "tree": "e9d483a168b1bfe48937d501b40c91c3a0969996",
      "parents": [
        "7976f31fb956dcb1cbeea92906f5609f0b43acc4"
      ],
      "author": {
        "name": "Michael Turek",
        "email": "mjturek@linux.vnet.ibm.com",
        "time": "Tue Apr 12 14:55:21 2016 -0400"
      },
      "committer": {
        "name": "Michael Turek",
        "email": "mjturek@linux.vnet.ibm.com",
        "time": "Thu Nov 17 13:40:01 2016 -0500"
      },
      "message": "Allow provider network to be used for ssh validation\n\nCurrently devstack assumes that the network used for ssh\nvalidation is the private network. This patch adds a hook that\nsets the network used for ssh validation based on whether or not\nprovider networking is being used. It also moves the function\n\u0027is_provider_network\u0027 into functions-common as it will now be\nused by both tempest and neutron.\n\nChange-Id: I265c9e26c9bfb18b7e201f27d8912b8bec235872\n"
    },
    {
      "commit": "56b39126853ff47525c89c7ba3c02422a639ddc3",
      "tree": "df40d31bc2fad923c91c93567acfafed6844e1a6",
      "parents": [
        "7976f31fb956dcb1cbeea92906f5609f0b43acc4"
      ],
      "author": {
        "name": "Gary W. Smith",
        "email": "gary.smith@hpe.com",
        "time": "Wed Nov 16 22:03:43 2016 -0800"
      },
      "committer": {
        "name": "Gary W. Smith",
        "email": "gary.smith@hpe.com",
        "time": "Wed Nov 16 22:10:37 2016 -0800"
      },
      "message": "Use -y on zypper remove to avoid hanging\n\nWhen using zypper remove, include the -y option to avoid stack.sh from\nhanging waiting for user confirmation.  Due to output buffering, the\nscript could hang before giving the user the prompt to enter Y to\ncontinue, making it unclear why the script was hanging.\n\nChange-Id: I5ea761e5ae0829439953c385f8e7d0546acba886\nCloses-Bug: 1642736\n"
    },
    {
      "commit": "21d84c29b22fb69b00739ae40d69f80d5182a94e",
      "tree": "6e8896498ee283bde4c178d15e4da70b65091601",
      "parents": [
        "319abcaf85791961baaed0019fa67c79c26047e0"
      ],
      "author": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Fri Nov 11 15:26:11 2016 -0800"
      },
      "committer": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Wed Nov 16 08:55:40 2016 -0800"
      },
      "message": "If plugin is enabled multiple times fail\n\nWhen using the enable_plugin command and grenade jobs it can be\neasy to enable the same plugin twice, as the grenade job has a\nregistration section and the configuration in project-config can also\nenable it due to code-reuse in project-config.\n\nIf a plugin is enabled twice it will likely fail, though it won\u0027t be\nobvious that it was due to the plugin being enabled multiple times.\n\nThis change makes it so if it sees the same plugin name is enabled\nmore than once it will die and an error message outputted.\n\nChange-Id: I9f1d7e58b861b04473b6a57c9ad404203fb7277a\n"
    },
    {
      "commit": "ac65a5cac01aa6d66857fba08fc022c9bc1f413c",
      "tree": "c6c5ce4f495bb4f2427185a5c94fd33b8d8c620a",
      "parents": [
        "5ff21b3d632de4fcae9a59e495bcdde66ef32ec6",
        "a4705403aa6a4ba0f5ea8c67bff89a67d0be2070"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Nov 15 01:35:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 15 01:35:44 2016 +0000"
      },
      "message": "Merge \"yum_install: fix awk return code\""
    },
    {
      "commit": "c271b3ea1fe16561b7a46507fdf961668182b256",
      "tree": "8539f6e600b81515ac5c849cf0d4244e99cfaff5",
      "parents": [
        "563d3777823fa4ee113ac930c4066c3f8d5f8373"
      ],
      "author": {
        "name": "Mike Perez",
        "email": "thingee@gmail.com",
        "time": "Mon Oct 03 16:00:33 2016 -0700"
      },
      "committer": {
        "name": "Mike Perez",
        "email": "thingee@gmail.com",
        "time": "Mon Oct 03 16:50:27 2016 -0700"
      },
      "message": "Update OpenStackClient role list commands\n\nThis command is deprecated. The new command is role assignment list.\n\nChange-Id: I8dba0be21d5af6751bea13d8ff29cd4b7589ab3e\n"
    },
    {
      "commit": "69e3c0aac99981f17c76c22111e5c397824b8428",
      "tree": "5161ff84adf40accaccb94041a2a19a9869ec259",
      "parents": [
        "9cea4e8570f6a7e1d022bf9eae09223d3144c695"
      ],
      "author": {
        "name": "Ian Cordasco",
        "email": "graffatcolmingov@gmail.com",
        "time": "Mon Sep 26 12:53:14 2016 -0500"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Mon Sep 26 12:21:41 2016 -0700"
      },
      "message": "Update certificate creation for urllib3\n\nurllib3 1.18 was released today and contains new more correct hostname\nmatching that takes into account the ipAddress portion of a certificate\nand disallows matching an IP Address against a DNS hostname.\n\nChange-Id: I37d247b68911dc85f55adec6a7952ed321c1b1d8\n"
    },
    {
      "commit": "a4705403aa6a4ba0f5ea8c67bff89a67d0be2070",
      "tree": "a778e897380cbd2a58b3e7b1f2e5cd6073e41694",
      "parents": [
        "dec121114c3ea6f9e515a452700e5015d1e34704"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Sep 23 15:08:48 2016 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Sep 23 15:44:57 2016 +1000"
      },
      "message": "yum_install: fix awk return code\n\nTIL:\n\n  Similarly, all the END rules are merged, and executed when all the\n  input is exhausted (or when an exit statement is executed).\n\ni.e. matching YUM_FAILED calls \"exit\", which falls through to the END\nrules which calls \"exit result\" ... which is zero.  i.e. if the return\ncode is 1 then we actually hide that and return with zero.\n\nThis is rather annoying because errors that should halt to alert us of\na package install failure pass through, only for you to have to debug\nmuch later on seemingly unrelated problems.\n\nThis always sets \"result\" and thus should be returning the right\nthing.  I\u0027ve updated the documentation to hopefully make it clearer\nwhat\u0027s going on.\n\nChange-Id: Ia15b7dc55efb8d3e3e945241b67a468b8a914672\n"
    },
    {
      "commit": "4b49e409f853104dae021dfca1a9342ec9ac4709",
      "tree": "dc27f7ff83839baa55b459ca4aa2230c4ed19439",
      "parents": [
        "fb1e1cc7e3de4483de48661b03a4417e2d24957a"
      ],
      "author": {
        "name": "Gregory Haynes",
        "email": "greg@greghaynes.net",
        "time": "Wed Aug 31 18:19:51 2016 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Sep 20 08:14:11 2016 -0700"
      },
      "message": "Use apache for tls-proxy ssl termination\n\nStud is now abandonware (see https://github.com/bumptech/stud) and is\nnot packaged in xenial. Lets use Apache for SSL termination since its\nthere already.\n\nChange-Id: Ifcba410f5969521e8b3d30f02795541c1661f83a\n"
    },
    {
      "commit": "a270f5e242f2532389395abfe49eb6780b50a0db",
      "tree": "904719756e5e3ac5e0416964ebdce60fb812cc03",
      "parents": [
        "413cca397a457c1abfeeb4a83abbef799d4494cc",
        "c9f6327844c794789ea3c3905cc8e04523262f71"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Aug 31 20:14:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Aug 31 20:14:49 2016 +0000"
      },
      "message": "Merge \"Remove lib/ceph\""
    },
    {
      "commit": "a25ae6c03de2d87bca4f708ffc338c66164eec3b",
      "tree": "6e8345ce290b4e2d1d6b5918f8f9f46347c2f6ff",
      "parents": [
        "43ff27b7e8e9d209d8f1fc0483da717296be93bc"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Aug 31 08:56:37 2016 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Aug 31 08:56:37 2016 -0400"
      },
      "message": "convert apache logs to color for screen\n\nIf we left the ansi color codes in apache logs, we can run a sed\nscript to convert the escaped escapes back to ansi escapes which make\nthe logs colorized again.\n\nThere are 8 \\ because we need to end up with 2 in the final sed, and\nwe get interopolated twice. How much fun is escape interpolation? All\nthe fun.\n\nChange-Id: Id8531cf03ba80f0df62f20add02e757bd63d4f2d\n"
    },
    {
      "commit": "c9f6327844c794789ea3c3905cc8e04523262f71",
      "tree": "609a2f444005562d27a1c065140393b99565c26e",
      "parents": [
        "79722563a67d941a808b02aeccb3c6d4f1af0c41"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Tue Aug 30 17:21:30 2016 -0400"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Tue Aug 30 17:21:30 2016 -0400"
      },
      "message": "Remove lib/ceph\n\nAll jobs using ceph as a storage backend have been moved over\nto using the devstack-plugin-ceph repo in project-config so we\nshould be safe to remove the now unused lib/ceph file.\n\nThe files are left in place because the devstack plugin does not\ninstall xfsprogs but it\u0027s used by the create_disk function.\n\nAnd the ceph cinder backend file is left in place since the\ndevstack-plugin-ceph repo uses that by setting\nCINDER_ENABLED_BACKENDS\u003d${CINDER_ENABLED_BACKENDS:-ceph}.\n\nChange-Id: I3fb09fc92bc6ab614e86d701ea46d5741a76b7a8\n"
    },
    {
      "commit": "38245da0b8ab1a08ae192ef2c0d5755a8f88841a",
      "tree": "8e0ace15b5cce2c00c22d158d6bb189ba15d35fe",
      "parents": [
        "bc4b96b79425c8485929b8dd5c4e138a395099a3"
      ],
      "author": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Thu May 26 17:55:14 2016 -0400"
      },
      "committer": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Thu May 26 17:55:14 2016 -0400"
      },
      "message": "Fix typo in local variable name in time_stop\n\nThis didn\u0027t break functionality but it would use a global instead\nof a local variable so nested calls to time_* might have issues.\n\nChange-Id: If61ef07c4ce15f1a356975a0b0611fdf5e49109a\n"
    },
    {
      "commit": "247e44625cdd3b4bf251dabfeca0ca241d9109a8",
      "tree": "caf537e220e01258eecb87013e2a9def65716672",
      "parents": [
        "730703a83335d9d9704023ba17a241d3d506f1a4"
      ],
      "author": {
        "name": "Kashyap Chamarthy",
        "email": "kchamart@redhat.com",
        "time": "Fri May 20 13:34:41 2016 +0200"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue May 24 11:21:01 2016 -0400"
      },
      "message": "functions-common: Use `systemctl` when applicable\n\nWe live in a new systemd world, use the native commands to talk to it\nif available.\n\nChange-Id: Iccdc35f0c9da2997f9e672bc1d24ca15d3403d98\n"
    },
    {
      "commit": "1df67b9dd8433a37e21b8924c8fb2c55f69a1b4b",
      "tree": "b61d94cab875146fc77f91c156ca4a28fc12ebe6",
      "parents": [
        "a3715a2e1ac8dfcddf47302e147982a0bb726b76",
        "1da4e790eb26d1333d57c7673ba491ca9b6dbde8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri May 20 13:46:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri May 20 13:46:35 2016 +0000"
      },
      "message": "Merge \"Added RHEL rebuild ScientificLinux to supported distributions\""
    },
    {
      "commit": "7b3ae5332813c79b734c99fbba3ab876224aa73c",
      "tree": "d25c82f88912aa9e4f09fb0cf8d66ad40c923c40",
      "parents": [
        "ae4578bed986ebaaf3e09e1ecc9d4d7ae9f022ab"
      ],
      "author": {
        "name": "John Kasperski",
        "email": "jckasper@us.ibm.com",
        "time": "Sun Apr 24 22:56:04 2016 -0500"
      },
      "committer": {
        "name": "John Kasperski",
        "email": "jckasper@us.ibm.com",
        "time": "Wed Apr 27 12:13:16 2016 -0500"
      },
      "message": "Update is_service_enabled\n\nThe nova check in is_service_enabled() is loading the nova repo\nwhen ENABLED_SERVICES\u003dovn-northd.  Add a comma before each of the\nchecks to prevent this error with any of the other services.\n\nChange-Id: I9deee735812cde44ea5140b1ad76848f02576609\nCloses-Bug: #1574431\n"
    },
    {
      "commit": "1da4e790eb26d1333d57c7673ba491ca9b6dbde8",
      "tree": "f9aef3b96f075a82583c835a155bdf0cf804ae8d",
      "parents": [
        "96ffde28b6e2f55f95997464aec47ae2c6cf91d3"
      ],
      "author": {
        "name": "Mike Trimm",
        "email": "mitrimm@cisco.com",
        "time": "Wed Apr 27 11:40:19 2016 -0500"
      },
      "committer": {
        "name": "Mike Trimm",
        "email": "mitrimm@cisco.com",
        "time": "Wed Apr 27 11:40:25 2016 -0500"
      },
      "message": "Added RHEL rebuild ScientificLinux to supported distributions\n\nChange-Id: I8b3844bf28b11254e7cc9a96126bd66efbd1212e\n"
    },
    {
      "commit": "ae4578bed986ebaaf3e09e1ecc9d4d7ae9f022ab",
      "tree": "5923cce20d0850f32dec2cfaade146da72bad0e6",
      "parents": [
        "7d1ec430046256ac3f536f4920a43936e28ef0c4"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Sat Apr 23 01:45:40 2016 +0000"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Sat Apr 23 01:45:40 2016 +0000"
      },
      "message": "Revert \"Don\u0027t check for existing endpoints\"\n\nThis reverts commit 7d1ec430046256ac3f536f4920a43936e28ef0c4.\n\nThis broke the sahara and layer4 dsvm jobs. The layer4 job\nis voting on tempest changes so tempest is also broken.\n\nChange-Id: Ide69f10cd85bf7ff0d86bc8cba56dedd26850362\nPartial-Bug: #1573868\n"
    },
    {
      "commit": "7d1ec430046256ac3f536f4920a43936e28ef0c4",
      "tree": "bebc4c9bcc03a253c62b5958dbacb8a94035b836",
      "parents": [
        "54f331969f86d364fd62235e54a4419bdbbd8f00"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Apr 22 09:19:10 2016 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Apr 22 10:44:10 2016 -0400"
      },
      "message": "Don\u0027t check for existing endpoints\n\nWe really should only have code that create endpoints once, making all\nosc calls get_or_set adds 3 seconds per call for no really good\nreason.\n\nThis also stops creating the internal endpoints in the service\ncatalog. It\u0027s a pattern that we\u0027re trying not to propogate, so lets\nnot have it in devstack any more.\n\nChange-Id: Ia8cefe43753900d62117beae330db46deb6a9fc9\n"
    },
    {
      "commit": "54f331969f86d364fd62235e54a4419bdbbd8f00",
      "tree": "5923cce20d0850f32dec2cfaade146da72bad0e6",
      "parents": [
        "d57d52be4887004848b333ddc7f252e982c39361",
        "0b4a009e56d29e4fe51ae06132c5766d0da9be7d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Apr 21 20:01:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Apr 21 20:01:54 2016 +0000"
      },
      "message": "Merge \"remove clouds.yaml in clean.sh\""
    },
    {
      "commit": "cbcbd8f33c87904b2293e68ec9868be0b6e4393e",
      "tree": "1db9c7c8e519fd2c5991730a2ac47858b49be9b3",
      "parents": [
        "3d0981398a898b7ed5d4cbac4121b22963ffb32f"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@gmail.com",
        "time": "Thu Jan 21 16:08:14 2016 -0600"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@gmail.com",
        "time": "Mon Apr 18 09:59:52 2016 +1000"
      },
      "message": "Allow putting service users in a seperate domain\n\nMake it possible to construct the service users in their own seperate\ndomain. Changing this away from Default will not work for everyone yet,\nthough it does work for basic service interaction however enabling it\nwill allow us to start testing and hopefully gating that services aren\u0027t\nrelying on v2 only concepts.\n\nChange-Id: I7e73df5dd1caabf355783da2bc0f3007ade92fba\n"
    },
    {
      "commit": "0b4a009e56d29e4fe51ae06132c5766d0da9be7d",
      "tree": "f4f2b4370db3fd0c85765ddb643beee1844f98c0",
      "parents": [
        "a344608ca9c5a61bad60a478fe1bbb60ecc60681"
      ],
      "author": {
        "name": "ZhiQiang Fan",
        "email": "aji.zqfan@gmail.com",
        "time": "Tue Apr 12 20:26:33 2016 +0800"
      },
      "committer": {
        "name": "ZhiQiang Fan",
        "email": "aji.zqfan@gmail.com",
        "time": "Fri Apr 15 02:27:35 2016 +0800"
      },
      "message": "remove clouds.yaml in clean.sh\n\ndevstack failed to install because glance:\nCould not determine a suitable URL for the plugin\n\npatch I618ea8e27b49af360c905df85af06d9b1eef8407 tries\nto fix this problem, but with a wrong way because path is not\ncorrect, the clouds.yaml is not under /path/to/devstack/~/.config/openstack/\nbut ~/.config/openstack.\n\npatch I8af6bd465f74099c560dddba6b5221dd79cbc965 tries to\nfix this problem, but with a worng way to specify the path,\n~$STACK_USER/.config/openstack/clouds.yaml will not expand with\na variable, only const string can.\n\n$ whoami\nzqfan\n$ touch ~/.config/openstack/clouds.yaml\n$ export STACK_USER\u003dzqfan\n$ rm -rf ~$STACK_USER/.config/openstack/clouds.yaml\n$ ls ~/.config/openstack/\nclouds.yaml\n\nChange-Id: I549817d2f4638be615991c1726b39d270ba71357\nref: I618ea8e27b49af360c905df85af06d9b1eef8407\n"
    },
    {
      "commit": "4e6f8ca67047aef99ff1573bddc21b18aae1ce0b",
      "tree": "6d35f0f2794c58f4327492cc1f361240d306006b",
      "parents": [
        "9ce61fbd441c80b9833e802184aba75fbbb07866"
      ],
      "author": {
        "name": "Fernando Ribeiro",
        "email": "fernando.ribeiro@oracle.com",
        "time": "Tue Apr 12 23:34:03 2016 -0300"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Apr 14 07:14:04 2016 +1000"
      },
      "message": "Add installation support for Oracle Linux 7\n\nThis removes Oracle Linux 6 support (\"OracleLinux\") which, like RHEL6,\nis now unsupported.  \"OracleServer\" matches Oracle Linux 7.\n\nChange-Id: I35b1c7d0b103c509283dba0f6551453e7d8ac4cc\nCloses-Bug: #1568634\n"
    },
    {
      "commit": "908a3a952300ae5ff8a00392ee2b5577ea5c6e7d",
      "tree": "85b5fd747cc00b7535f975f25b7d980fae7930a1",
      "parents": [
        "8b416ae821d8487f22d3d564c30da44d6cb2826a"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Mar 29 14:47:09 2016 +1100"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 30 19:49:13 2016 +0000"
      },
      "message": "Add total timings\n\nPrinting the total makes it easier to compare runs at a glance.  Clean\nup the output a little, and use some consistent, name-spaced globals\nwhile we\u0027re there.\n\nNote the total runtime is at the top to avoid giving the impression\nthat it is the sum of the components below, since you can nest/overlap\ntimers (I made that mistake in a prior change :).  It might be a fun\nexercise in tree building to one day track the overlaps and present a\nnice nested breakdown.\n\nChange-Id: I878ce03813d21138df493b82bceff3aaa7f83064\n"
    },
    {
      "commit": "467dbf7703076803f14bca2e67a7125df83122ec",
      "tree": "1593fa0b0cba5e836e23f6196ae66eddc331502b",
      "parents": [
        "a4d67cd0337dd1002670189647a35c9f3520aadf",
        "78d3739dbec518bc81e635d5a9c19eb68530454c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 18 20:23:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 18 20:23:53 2016 +0000"
      },
      "message": "Merge \"Fix RHEL7 vendor detection\""
    },
    {
      "commit": "a4d67cd0337dd1002670189647a35c9f3520aadf",
      "tree": "b4305117c5790c26f89cc5e511cbf5929686ea4b",
      "parents": [
        "1dd875d48ea139e094442c00689a70c97488f270",
        "1b1cc8c1d491b1469c7082d28d3e4a3a8a4a4fd9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 18 20:22:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 18 20:22:59 2016 +0000"
      },
      "message": "Merge \"yum_install_package: fix errexit and retry\""
    },
    {
      "commit": "78d3739dbec518bc81e635d5a9c19eb68530454c",
      "tree": "07ceebd8d4bf784098bd3bbb88f83c9bacb9a470",
      "parents": [
        "04ed38b5d77276578f95184a9a9d009b12b57d43"
      ],
      "author": {
        "name": "tengqm",
        "email": "tengqim@cn.ibm.com",
        "time": "Tue Mar 15 23:08:00 2016 -0400"
      },
      "committer": {
        "name": "tengqm",
        "email": "tengqim@cn.ibm.com",
        "time": "Tue Mar 15 23:08:00 2016 -0400"
      },
      "message": "Fix RHEL7 vendor detection\n\nWhen detecting os_VENDOR, the lsb_release output may be different\nfrom what is expected today. This patch fixes the detection.\n\nChange-Id: I850ad1acbc2397c73e7cc85c1765cba6ba2f98d4\n"
    },
    {
      "commit": "082399ef18106bc3820848b6fc352604f0fcf97a",
      "tree": "81dbd2e96b75f9471f5f314134f5198b1c3fac37",
      "parents": [
        "3bee719ece55febaa70a7f57348c32af44739dbf",
        "9ba49cd82631ada84b8458b370ac535985d57725"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Mar 14 18:55:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Mar 14 18:55:23 2016 +0000"
      },
      "message": "Merge \"Remove rejoin-stack.sh\""
    },
    {
      "commit": "fa3cc77aeedbb94830e0384793765ce7ed6fe5b2",
      "tree": "d67f179e7b77f0874d933becc05dd8793a3643ee",
      "parents": [
        "73af0de40c953f813a10a90cb6b0d22cbefb48f7",
        "dab3901d9aa9d4485495d066c58a3e82c76e2261"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 11 00:55:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 11 00:55:25 2016 +0000"
      },
      "message": "Merge \"Use \"command -v\" instead of \"which\" to find path\""
    },
    {
      "commit": "73af0de40c953f813a10a90cb6b0d22cbefb48f7",
      "tree": "85284112b2203efe21947df4ca0623bce51fbba0",
      "parents": [
        "b57ec243c9c358b7b4dea15c323d8f323124b9c3",
        "c15d59157c4aab0147ab5d388642c6c08cae875a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 11 00:55:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 11 00:55:17 2016 +0000"
      },
      "message": "Merge \"Ignore errors when uninstalling a pkg with zypper\""
    },
    {
      "commit": "b57ec243c9c358b7b4dea15c323d8f323124b9c3",
      "tree": "479f9820ba9be7a60977fd87e6c97a2b7ea4ac28",
      "parents": [
        "b08914ade7392aaf78f81e83839f387eb731e840",
        "3c60168532b9202baa6d163d3501d8323239eb5b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 11 00:55:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 11 00:55:08 2016 +0000"
      },
      "message": "Merge \"Also detected failed packages in dnf/yum wrapper\""
    },
    {
      "commit": "9ba49cd82631ada84b8458b370ac535985d57725",
      "tree": "a1a2120293da6cc423df8442ce281827073b507f",
      "parents": [
        "0aea130107728ade1d525ecbed8039732836c85c"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Mar 10 15:45:40 2016 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Mar 10 15:48:13 2016 -0600"
      },
      "message": "Remove rejoin-stack.sh\n\nThis command has never completely worked to restart DevStack.\nIt periodically prompts attempts to work around this brokenness\nin ways that harm other functions.  Let\u0027s finally remove it.\n\nRequiring a complete re-run of DevStack after a reboot has always\nbeen intentional.\n\nTODO: follow-up cleaning all of the screen hackage if this merges.\n\nChange-Id: I2f61bb69cc110468a91dcaa4ee7653ede7048467\n"
    },
    {
      "commit": "61ba1b3353259ed059cdbdf39b89c6c7c8f7ca97",
      "tree": "c90257a0a3a9de267289242c08fc735434fce8cb",
      "parents": [
        "e15b07265d74dbc30371e19dd42c1d6ff36c6d0e",
        "ed92e43178b4f910adc038d1b0b6788e21513f32"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Mar 07 14:30:31 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Mar 07 14:30:31 2016 +0000"
      },
      "message": "Merge \"Add some notes on DISTRO setting\""
    },
    {
      "commit": "c72f8d318f1c204c74fb35e0d70d1b594a1649be",
      "tree": "032b858feb4e98e70c283c729c15f13677a7eb0a",
      "parents": [
        "3fc4472be47edd2f8a0750ed4b6afc8584d0ae25",
        "718512c4d247682372b7e159c6adfb1514ab25b8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Mar 07 14:09:03 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Mar 07 14:09:03 2016 +0000"
      },
      "message": "Merge \"Introduce Virtuozzo distribution\""
    },
    {
      "commit": "c15d59157c4aab0147ab5d388642c6c08cae875a",
      "tree": "a671b08add33eedc1fdc641d6a4a80e34cc4d87b",
      "parents": [
        "147a3647fe5595988fefaa1647153f0cb4fe2c39"
      ],
      "author": {
        "name": "Thomas Bechtold",
        "email": "tbechtold@suse.com",
        "time": "Fri Mar 04 16:06:24 2016 +0100"
      },
      "committer": {
        "name": "Thomas Bechtold",
        "email": "tbechtold@suse.com",
        "time": "Fri Mar 04 16:06:24 2016 +0100"
      },
      "message": "Ignore errors when uninstalling a pkg with zypper\n\nI.e. when trying to uninstall python-pip and it\u0027s not installed,\ndon\u0027t exit.\n\nChange-Id: I21ac715a0090ad01811af47f23c61823dfa65629\n"
    },
    {
      "commit": "dab3901d9aa9d4485495d066c58a3e82c76e2261",
      "tree": "ff0fdc2979a9fbf34d1d97db1a15fcfd04967ab1",
      "parents": [
        "899dfeef466914c6695e6f3baa1c6576e784da8f"
      ],
      "author": {
        "name": "Thomas Bechtold",
        "email": "tbechtold@suse.com",
        "time": "Thu Mar 03 12:11:15 2016 +0100"
      },
      "committer": {
        "name": "Thomas Bechtold",
        "email": "tbechtold@suse.com",
        "time": "Fri Mar 04 09:14:04 2016 +0100"
      },
      "message": "Use \"command -v\" instead of \"which\" to find path\n\nIf /usr/bin/which is not available, the current code\ndoesn\u0027t detect i.e. /usr/bin/zypper . Using \"command -v\" solved\nthe problem.\n\nChange-Id: I1c281c3184d69cd9dc2418295b6a392d8e5693e0\n"
    },
    {
      "commit": "ba71f0ead77fc7ecb75cada324b0ebc5b736e9a6",
      "tree": "0ffae32f2ae59ee3a5a2cdca592f7883ac58f3e1",
      "parents": [
        "b4758cb5ff9342830de5da5147f67b9f89a18c31",
        "37dddb73fd17308fa3fbb127f6e49c1bb06f89e7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 04 01:48:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 04 01:48:10 2016 +0000"
      },
      "message": "Merge \"Fix is_suse() check for openSUSE distros\""
    },
    {
      "commit": "718512c4d247682372b7e159c6adfb1514ab25b8",
      "tree": "ee0e6991c306e34000a2ff9c817a1dab13e6f58d",
      "parents": [
        "92116ecd669f917ded44f84719938e0205fab2d6"
      ],
      "author": {
        "name": "Evgeny Antyshev",
        "email": "eantyshev@virtuozzo.com",
        "time": "Thu Mar 03 14:47:58 2016 +0000"
      },
      "committer": {
        "name": "Evgeny Antyshev",
        "email": "eantyshev@virtuozzo.com",
        "time": "Thu Mar 03 14:56:59 2016 +0000"
      },
      "message": "Introduce Virtuozzo distribution\n\nVirtuozzo is a RHEL-based distribution serving as a platform OS\nto host proprietary container virtualization\n(formerly, Parallels Cloud Server).\n\nWe moved away from CloudLinux distribution, which has actually\nno support in Devstack (no such clause in is_fedora).\nAs it was us who introduced CloudLinux, by this patch\nwe replace it with Virtuozzo distribution.\n\nMore info on Virtuozzo company here: http://virtuozzo.com\n\nChange-Id: Ib8a77e4611ebc05bc0aa50bb83ab79c412e21c74\n"
    },
    {
      "commit": "899dfeef466914c6695e6f3baa1c6576e784da8f",
      "tree": "d3eb4a4ba58a7097b605cb503ab2cc690bc1a32e",
      "parents": [
        "925e2d9dede8b7e1ab0ca31d1dffc2f882b4cc52"
      ],
      "author": {
        "name": "Thomas Bechtold",
        "email": "tbechtold@suse.com",
        "time": "Thu Mar 03 11:27:53 2016 +0100"
      },
      "committer": {
        "name": "Thomas Bechtold",
        "email": "tbechtold@suse.com",
        "time": "Thu Mar 03 11:27:53 2016 +0100"
      },
      "message": "Fix lsb installation for SUSE\n\nzypper has a \"-n\" (non-interactive) switch. \"-y\" is not known\nas a global option.\n\nChange-Id: I6537529e91c12c5f0d15a9faa2cca8aedaf7d956\n"
    },
    {
      "commit": "37dddb73fd17308fa3fbb127f6e49c1bb06f89e7",
      "tree": "36601376c237ff589475cbb35c355cb8814285b2",
      "parents": [
        "925e2d9dede8b7e1ab0ca31d1dffc2f882b4cc52"
      ],
      "author": {
        "name": "Ralf Haferkamp",
        "email": "rhafer@suse.de",
        "time": "Wed Mar 02 15:25:57 2016 +0100"
      },
      "committer": {
        "name": "Ralf Haferkamp",
        "email": "rhafer@suse.de",
        "time": "Wed Mar 02 15:34:06 2016 +0100"
      },
      "message": "Fix is_suse() check for openSUSE distros\n\nWe need to do a substring match on the vendor here. As most releases return\n\"openSUSE project\" for the vendor.\n\nChange-Id: Ia05db8d93b5e3f42cb6a9c8d77616ca9f7c32039\n"
    },
    {
      "commit": "1b1cc8c1d491b1469c7082d28d3e4a3a8a4a4fd9",
      "tree": "85ceb0b9ed3d55b39320eab42c3f0dbfcce4f93e",
      "parents": [
        "3c60168532b9202baa6d163d3501d8323239eb5b"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Mar 01 13:14:39 2016 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Mar 01 13:14:39 2016 +1100"
      },
      "message": "yum_install_package: fix errexit and retry\n\nSince I93e9f312a94aeb086925e069a83ec1d3d3419423 yum_install isn\u0027t safe\nunder errexit.  This means it really only works when called by\ntools/install_prereqs.sh because for some reason, we don\u0027t set that\nthere.\n\nHowever, there is a problem with the retry logic when detecting failed\ninstalls.  A failed package install should stop further progress, but\nwith the current retry logic it just goes ahead and retries the\ninstallation, which then incorrectly passes.  You can see this\nhappening in a test like [1].\n\nIn our detection scripts, make a failed package or missing packages\nexit with error-code 2, and \"die\" when we see this to correctly stop.\n\n[1] http://logs.openstack.org/81/285881/1/check/gate-tempest-dsvm-platform-fedora23-nv/a83be30/logs/devstacklog.txt.gz\n\nChange-Id: I4ea5515fa8e82a66aefa3ec3a48b823b645274f7\n"
    },
    {
      "commit": "3c60168532b9202baa6d163d3501d8323239eb5b",
      "tree": "8bade1f0ac01bd4e2e345bab979ac071e44b3e16",
      "parents": [
        "80ea24cbbb98fd6bdc5dff2fa4bbfc074a1b38b5"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Feb 29 15:15:39 2016 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Feb 29 15:15:39 2016 +1100"
      },
      "message": "Also detected failed packages in dnf/yum wrapper\n\nAs seen in [1]; dnf can output a \"Failed:\" section when installation\nissues with a package are detected.  This does not, however, trigger\nan exit failure code when running with \"-y\".  So add this to our\nchecking wrapper.\n\n[1] http://logs.openstack.org/49/280449/1/check/gate-tempest-dsvm-platform-fedora23-nv/dc70ca8/logs/devstacklog.txt.gz#_2016-02-28_22_42_45_145\n\nChange-Id: I12f7b3bc9e9cf5a97114082d3a634a42742843d5\n"
    },
    {
      "commit": "c3c91c4267ae5bc70a05a56b8cfc362638f266f1",
      "tree": "172b76c7a784d996e83093d51ec4e7c0e8344730",
      "parents": [
        "ced2e414c0c3feedb00385649a70d6e991034207",
        "7ae97298c55d9ba21d2dc037cc7d9fae54afa183"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 24 20:04:55 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 24 20:04:55 2016 +0000"
      },
      "message": "Merge \"Minor fixes for bashate trunk\""
    },
    {
      "commit": "a91d7d8d05e31d7cd5a8bdc350ac42dd0cc6da6f",
      "tree": "8da17a024216e11841d11fafafa36e4c3509eafa",
      "parents": [
        "6bb429359d4f1c8d2fe814c7cc90cc469cc1f5bd",
        "8a4dea24faa51e79507aa3f1655cea46a382e95d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Feb 24 19:40:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 24 19:40:46 2016 +0000"
      },
      "message": "Merge \"Ironic: Update is_ironic_hardware function\""
    },
    {
      "commit": "1ff75ff87fc2a46d1f88918d94be48e5d59e3aab",
      "tree": "203549ad410877cb51e85b8f463730ed3352d7bc",
      "parents": [
        "ef0129c7ce0e1a7704ba390b851f5d4a787e247b"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 19 14:28:37 2016 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 19 14:39:45 2016 +1100"
      },
      "message": "Always strip package comments\n\nIn the \"I can\u0027t believe I missed this\" category -- the existing strip\nmethod removes shortest match (%); which fails when you put another #\nin the comment (like \"refer to bug#1234\").  Change to the longest\nmatch which should strip everything from the first \"#\" to the end\n(since that\u0027s going to be the longest).\n\nChange-Id: I47f5e710ebd87b0f54549732e7d64cf42c7a6b65\n"
    },
    {
      "commit": "8a4dea24faa51e79507aa3f1655cea46a382e95d",
      "tree": "12854d178d834c55c0bb807a1066962e712d27b5",
      "parents": [
        "4bcf6529d5096c16fd1b9c418d5c40d2bb8a2831"
      ],
      "author": {
        "name": "Lucas Alvares Gomes",
        "email": "lucasagomes@gmail.com",
        "time": "Thu Feb 18 15:52:22 2016 +0000"
      },
      "committer": {
        "name": "Lucas Alvares Gomes",
        "email": "lucasagomes@gmail.com",
        "time": "Thu Feb 18 15:58:32 2016 +0000"
      },
      "message": "Ironic: Update is_ironic_hardware function\n\nThe DevStack module of Ironic added a new configuration variable called\nIRONIC_IS_HARDWARE that can be set to True/False to indicate that we are\nsetting up devstack to deploy physical or virtual machines (see the\ndepends flag). Prior to that, the devstack code assumed that if the\ndriver name loaded is !\u003d *_ssh then it\u0027s a physical hardware but now we\nneed to kill this assumption because we have means (see the virtualbmc\nutility) to test drivers such as pxe_ipmitool and agent_ipmitool using\nvirtual machines.\n\nDepends-On: I5edc51c7fc8b6f0bb7fe4ca129596709a32eb93e\nRelated-Bug: #1544642\nChange-Id: I8b6363bbe280ddd2720c570851bc40e2804a40e2\n"
    },
    {
      "commit": "4bcf6529d5096c16fd1b9c418d5c40d2bb8a2831",
      "tree": "ca651ad35111e3e3f4b0e49b331eba68858d941d",
      "parents": [
        "772e914769dcaba6494ad1427ff0e340d73bfc5b",
        "edc11c2f834e45dea9c9c0fcda21369d2afa30e2"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Feb 18 06:50:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Feb 18 06:50:18 2016 +0000"
      },
      "message": "Merge \"Keystone support deploy in uwsgi\""
    },
    {
      "commit": "7ae97298c55d9ba21d2dc037cc7d9fae54afa183",
      "tree": "f6dfe9c2e05a9f2b3bb9f8b3613ed91341f0bc2f",
      "parents": [
        "f130b283d9603477c0ffa7705eec39d73798b4d2"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Feb 16 14:50:53 2016 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Feb 16 14:50:53 2016 +1100"
      },
      "message": "Minor fixes for bashate trunk\n\nWe don\u0027t have a new bashate release yet, but this fixes some minor\nissues when used with bashate trunk.\n\nThe only two things triggered are stricter checking of assignment in\nlocal declartions (catches quotes) and one instance of evaluating\narithmetic result in tools/xen/functions.\n\nTherefore, hopefully, this change has no effect!\n\nChange-Id: I3fd5d55236e90c2f2c25243af87adaf0c1b763e2\n"
    },
    {
      "commit": "96006658bedbdfa98e4d0685852f057aeb2ae1a6",
      "tree": "87617fa281e59d0d713f8004c76b6fba7b9888d6",
      "parents": [
        "f130b283d9603477c0ffa7705eec39d73798b4d2"
      ],
      "author": {
        "name": "ptoohill1",
        "email": "phillip.toohill@rackspace.com",
        "time": "Mon Feb 15 16:07:50 2016 -0600"
      },
      "committer": {
        "name": "ptoohill1",
        "email": "phillip.toohill@rackspace.com",
        "time": "Mon Feb 15 18:41:14 2016 -0600"
      },
      "message": "Add LinuxMint to distro check\n\nAdds LinuxMint to the distro checking. This allows linux mint with\nthe FORCE option to run. This will not fix for other distros that\ndo not pass the checks.\n\nChange-Id: I42599c1bd851d2b61a56a3960f42ad051aab1727\nCloses-Bug: #1545864\n"
    },
    {
      "commit": "ed92e43178b4f910adc038d1b0b6788e21513f32",
      "tree": "496e4295707a9fa44ffd47ed813024537f683d08",
      "parents": [
        "f130b283d9603477c0ffa7705eec39d73798b4d2"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Feb 16 10:56:56 2016 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Feb 16 10:56:56 2016 +1100"
      },
      "message": "Add some notes on DISTRO setting\n\nIt was pointed out in I42599c1bd851d2b61a56a3960f42ad051aab1727 that\nafter I46a2c36d95327087085df07cb797eb91249a893c we now die if we can\u0027t\ndetermine DISTRO, rather than take a guess.\n\nAfter some consideration, I don\u0027t consider this a regression.  This\ndefault matching was basically only working for LinuxMint, because we\nalready have some matching there for setting os_PACKAGE that makes us\nknow the platform is Ubuntu-ish.\n\nHowever, I would certainly agree it is not particularly clear as to\nwhy.  This just adds some comments explaining why we can not just add\na default DISTRO fall-through and directs implementors on how to add\nsupport for their platform.\n\nChange-Id: I4b07259be1427d86a7154906646073d08dd07294\n"
    },
    {
      "commit": "edc11c2f834e45dea9c9c0fcda21369d2afa30e2",
      "tree": "7a87388c66878822d5454dbe82279019e4680f82",
      "parents": [
        "a03053660a3867b4f7622303c0499a6b79292cca"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon Dec 14 15:32:05 2015 -0600"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon Feb 15 08:45:22 2016 -0600"
      },
      "message": "Keystone support deploy in uwsgi\n\nKeystone is going to remove support for eventlet. Rather than only\nhave one way to run keystone (in Apache Httpd with mod_wsgi), we\nshould continue to gate on multiple wsgi containers to ensure that\nkeystone remains container-agnostic. The suggested alternative\ncontainer is uwsgi.\n\nTo run keystone in uwsgi rather than httpd or eventlet, set the\nfollowing env var in local.conf:\n\n KEYSTONE_DEPLOY\u003duwsgi\n\nThere\u0027s a lot of options to uwsgi. Here\u0027s some protips:\nhttp://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html\n\nChange-Id: If3b49879ce5181c16f0f0ab0db12fa55fe810a41\n"
    },
    {
      "commit": "5073896cc9f47d4f8c489250bb5585b2190abb5a",
      "tree": "ca5af5c4c22cb30d0b9ee7d33b1e408171657bda",
      "parents": [
        "cd23ab9644ddd9b355632d1d0d6ed07206b876da",
        "7710e7fc273dd9af6799ea565bbd21ce03745a44"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Feb 14 14:42:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Feb 14 14:42:43 2016 +0000"
      },
      "message": "Merge \"Only use lsb_release for distro tags\""
    },
    {
      "commit": "4723e618ccf5e3dda01776221f95f289ae97540d",
      "tree": "f0d24e5cafe02e98155ee662ea2398716185ed7f",
      "parents": [
        "e20cb43fd691c77919d77618bce46bc8c3e4de11",
        "5dcbf7aeffb6c98f723f3045c22de23ed38f4510"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Feb 08 23:07:28 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Feb 08 23:07:29 2016 +0000"
      },
      "message": "Merge \"Don\u0027t die when yum fails.\""
    },
    {
      "commit": "e20cb43fd691c77919d77618bce46bc8c3e4de11",
      "tree": "d5f7974081b0564c6d2d7e8bba2ebf0b69db9f76",
      "parents": [
        "25fe1be8b151b4ac529fdf03be50f7db65033abf"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Feb 05 12:00:18 2016 -0800"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Feb 05 12:00:18 2016 -0800"
      },
      "message": "Set different cloud name for alt_demu user\n\nHaving multiple clouds with the same name in clouds.yaml confuses\nopenstack client config and it may not choose the intended cloud.\nUnfortunately the new alt_demo user\u0027s clouds.yaml config used a\nduplicate name creating confusion for clouds.yaml consumers.\n\nCorrect this by using a unique cloud name, devstack-alt, for use by the\nalt_demo user.\n\nChange-Id: I2cb8f10ab5abfedf76ead309f237730ce8ce2ad4\n"
    },
    {
      "commit": "c67d22e2ed0eb3fa0786f4314752ab7b26758ea3",
      "tree": "03819d602686d9c625b27cf1a48e85138df8c672",
      "parents": [
        "3c92590101bffc53cadcc04f8774d9deca01e44b"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Feb 02 05:51:14 2016 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Feb 02 05:51:14 2016 -0500"
      },
      "message": "make the alt_demo user during normal install\n\nFor testing reasons it\u0027s typically very useful to have a second non\nadmin user to cross check that it can\u0027t do a thing to the first\nuser. It was useful enough we always created it with tempest (though\nwe didn\u0027t always use it).\n\nThis makes devstack always create an alt_demo user, which is available\nin occ as devstack-alt. This will help us unwind some of the keystone\nv3 breaks with functional tests using keystone cli to build this\nsecond user.\n\nChange-Id: Iaaf02469180563e2d8c413fee0ee66ada2296cfa\n"
    },
    {
      "commit": "74379df11f6ce2e76d1448f4ffd6db9528768727",
      "tree": "a17daf765a3194ce5c4bf67d6ca0b6c441700cb0",
      "parents": [
        "dd60f2cd1c348cfdccfd4838812853e41cb26ae2"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jan 21 10:20:08 2016 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Jan 21 10:20:08 2016 -0500"
      },
      "message": "Remove leftover homedir clouds.yaml files\n\nWe don\u0027t write files here anymore, but it\u0027s higher in the precedence\norder than the /etc/openstack/clouds.yaml file we do write. Some\ndevelopers who have long-lived devstacks who update infrequently have\nbeen bitten by the leftover file.\n\nChange-Id: I8af6bd465f74099c560dddba6b5221dd79cbc965\n"
    },
    {
      "commit": "5dcbf7aeffb6c98f723f3045c22de23ed38f4510",
      "tree": "760f28708debe4cecd6e71b37d69d1d46431d2da",
      "parents": [
        "1d27155f650e9b8e4053a201f1f08c494b820de2"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Wed Jan 13 12:17:32 2016 +0000"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Wed Jan 20 09:06:55 2016 +0000"
      },
      "message": "Don\u0027t die when yum fails.\n\nNot all yum failures has to be considered\ncatastrofic failures also because install_package\nfunction should implement the same behavior in Fedora,\nCentOS and Ubuntu. Let return the error to be solved at higher\nlevel.\n\nChange-Id: I93e9f312a94aeb086925e069a83ec1d3d3419423\nCloses-Bug: #1522590\n"
    },
    {
      "commit": "c461db4a2f75333dceb85c9fb5c90660c0623b11",
      "tree": "6cf38275bcec909855db4059a3f003e54ac6e8ce",
      "parents": [
        "ea7fd5515344c18a5cec308fada67b6f3f6ab482",
        "f568c3a141f04c86ba2d971eb0fa908b4a060731"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jan 15 21:49:15 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jan 15 21:49:15 2016 +0000"
      },
      "message": "Merge \"Fix SIGITIN hang with apt-get\""
    },
    {
      "commit": "ed9487a885caf81b9283f39702261d91c94ac393",
      "tree": "d67abab37bc44dc4162ab704d668ecce00ead9ef",
      "parents": [
        "2cb3db338a17bd26fef1f56fc155be5d01a6ef7e"
      ],
      "author": {
        "name": "Davanum Srinivas (dims)",
        "email": "davanum@gmail.com",
        "time": "Mon Jan 11 21:20:34 2016 +0000"
      },
      "committer": {
        "name": "Surojit Pathak",
        "email": "suro@yahoo-inc.com",
        "time": "Tue Jan 12 18:57:37 2016 +0000"
      },
      "message": "Revert \"Don\u0027t die when yum fails.\"\n\nThis reverts commit 2babf3963f4eea8558b0c287c51e6faeb7069c70.\n\nThis breaks oslo.messaging jobs:\nhttp://logs.openstack.org/32/265932/1/check/gate-oslo.messaging-dsvm-functional-amqp1-centos7/f5f3eb9/console.html#_2016-01-11_20_03_33_162\n\n@kgiusti reports that PIPESTATUS[0] is always 1 on his centos7 box\n\nChange-Id: I013c22a3545f22c79a0616b4a98622d41bb17d77\n"
    },
    {
      "commit": "7710e7fc273dd9af6799ea565bbd21ce03745a44",
      "tree": "46bee50accf6f4c0ada1d89382ab92de5d0eebea",
      "parents": [
        "2cb3db338a17bd26fef1f56fc155be5d01a6ef7e"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Aug 27 16:15:32 2014 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Jan 12 09:23:35 2016 +1100"
      },
      "message": "Only use lsb_release for distro tags\n\nThe existing GetOSVersion has a lot of unused code which is wrong in\nseveral ways\n\n - the only path tested in upstream CI is with lsb_release, because\n   it\u0027s pre-installed on all nodes\n\n - the /etc/redhat-release checking probably still works, but is\n   unnecessary\n\n - If using lsb_release, os_UPDATE has never actually been set.\n\n - the /etc/SuSE-release branch checking is broken if the lsb package\n   is actually installed.  lsb checking does not set os_UPDATE but yet\n   the SuSE DISTRO setting relies on this to set a patch level (and so\n   does some of the rpm tags).  SuSE 11 is up to update 3, but the rpm\n   matching is stuck hard-coded to update 2.  I\u0027m guessing\n   installation is actually broken there.\n\n - the debian checking branch is broken.  The VERSION tags have been\n   removed and were not supposed to be relied on anyway (see notes in\n   [1])\n\nThis simplifies things:\n\n - remove OSX checking (moved here after discussions in\n   I31d0fdd30928ecc8d959a95838b1d3affd28ac6f)\n\n - only use the output of lsb_release.\n\n - A small best-effort check to pre-install lsb packages if not\n   detected (that avoids chicken-egg-problem of package-install\n   wrappers relying on os_* flags).\n\n - The unset os_UPDATE is removed.  It\u0027s only previous use was for\n   setting separate suse versions in the DISTRO element for matching\n   during package installs (since removed)\n\n - DISTRO setting is modified to use the parts of os_RELEASE it wants.\n   Per-above, this is the correct place to parse out specifics.\n\n - Call out the is_* functions, which are a better way to detect\n   platforms\n\n - Export the variables as read-only, since they shouldn\u0027t be reset\n\n[1] http://sources.debian.net/src/base-files/7.5/debian/changelog/\n\nChange-Id: I46a2c36d95327087085df07cb797eb91249a893c\n"
    },
    {
      "commit": "2cb3db338a17bd26fef1f56fc155be5d01a6ef7e",
      "tree": "1a3967e0315924419c90f8754d16c5a213677b60",
      "parents": [
        "5453cdd392148db4af45fd950542085c2083de09",
        "2babf3963f4eea8558b0c287c51e6faeb7069c70"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jan 11 17:01:33 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jan 11 17:01:33 2016 +0000"
      },
      "message": "Merge \"Don\u0027t die when yum fails.\""
    },
    {
      "commit": "8df31a107d9d55233aef290733c56e2f953e5dd3",
      "tree": "4b3f0103d49a4670a476151beddfa00231c596b9",
      "parents": [
        "a3ab6865ff870b81f95a0e77da8881cb8a407a06",
        "59c6377ae51c024c28a6fba72de567bc97edda10"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Jan 09 07:49:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Jan 09 07:49:35 2016 +0000"
      },
      "message": "Merge \"Assign admin role for admin user on default domain\""
    },
    {
      "commit": "f568c3a141f04c86ba2d971eb0fa908b4a060731",
      "tree": "ef3539bbe11b20434cc48e661fb2f99be1ebb531",
      "parents": [
        "a5ea08b7526bee0d9cab51000a477654726de8fe"
      ],
      "author": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Thu Jan 07 19:10:50 2016 -0800"
      },
      "committer": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Fri Jan 08 15:01:05 2016 -0800"
      },
      "message": "Fix SIGITIN hang with apt-get\n\nFix an issue where apt-get consistently hangs due to a SIGTTIN being\nreceived. This occurs on a \u0027vanilla\u0027 devstack-gate VM, when running an\nironic-grenade job.\n\nUpstream has a bug related to this:\nhttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d555632\n\nhttp://www.gnu.org/software/libc/manual/html_node/Job-Control-Signals.html\nMacro: int SIGTTIN\n\n    A process cannot read from the user\u0027s terminal while it is running\n    as a background job. When any process in a background job tries to\n    read from the terminal, all of the processes in the job are sent a\n    SIGTTIN signal. The default action for this signal is to stop the\n    process. For more information about how this interacts with the\n    terminal driver, see Access to the Terminal.\n\nChange-Id: I8b1f3dccf329bb88e017eff7492da5e701b4892c\nCloses-Bug: #1532080\n"
    },
    {
      "commit": "2babf3963f4eea8558b0c287c51e6faeb7069c70",
      "tree": "0d6db3f2eea9ae396368b4a745d10a9a83c52363",
      "parents": [
        "828936c6ac8045fbb985ed2e89cdaa9a7c01241a"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Sun Jan 03 20:20:12 2016 +0000"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Fri Jan 08 15:30:02 2016 +0000"
      },
      "message": "Don\u0027t die when yum fails.\n\nNot all yum failures has to be considered\ncatastrofic failures also because install_package\nfunction should implement the same behavior in Fedora,\nCentOS and Ubuntu. Let return the error to be solved at higher\nlevel.\n\nChange-Id: Ia33bb98f47017f6ec00eb3b7261ed42d72efc573\nCloses-Bug: #1522590\n"
    },
    {
      "commit": "ecc1f41d5053807a70b51bcf2247b51d0ac81ae1",
      "tree": "ae6f491f51f5d14101b841e24b7b5a9519a05171",
      "parents": [
        "828936c6ac8045fbb985ed2e89cdaa9a7c01241a"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Mon Dec 28 15:14:13 2015 +0100"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Fri Jan 08 15:29:16 2016 +0000"
      },
      "message": "Don\u0027t reinstall package just after installing.\n\nBoolean logic used in install_package was wrong:\non nominal flow packages were actually installed twice.\nThis should fix it.\n\nChange-Id: Ia465414936b272d04523a11f83d6ded378fe1daf\nCloses-Bug: #1518544\n"
    },
    {
      "commit": "7792bd20254e5df4ee2e18b751c07be0b7d68152",
      "tree": "4539bafc1b48e9f517c39202246621cf9c3d9100",
      "parents": [
        "a5ea08b7526bee0d9cab51000a477654726de8fe",
        "f73263d47a85f1fe6d1b80d10e85fe35a46aa8ef"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jan 08 07:23:40 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jan 08 07:23:41 2016 +0000"
      },
      "message": "Merge \"Remove uses of --os-url and --os-token\""
    },
    {
      "commit": "a5ea08b7526bee0d9cab51000a477654726de8fe",
      "tree": "690fe0ea16522a540f40433461eb670b5273424f",
      "parents": [
        "b6156915768b65fbc588c7601fc5a6a1e89d186c"
      ],
      "author": {
        "name": "Alexander Schmidt",
        "email": "alexs@linux.vnet.ibm.com",
        "time": "Wed Dec 02 15:30:44 2015 +0000"
      },
      "committer": {
        "name": "Markus Zoeller",
        "email": "mzoeller@de.ibm.com",
        "time": "Thu Jan 07 10:14:39 2016 +0100"
      },
      "message": "Add distro support for KVM for IBM z Systems\n\nAdd \"KVM for IBM z Systems\" to the list of Fedora-like distros.\n\nAs the distribution does not have a dedicated kvm package,\nprevent the installation of the kvm package during the libvirt\nsetup.\n\nChange-Id: Ibb5c60797d6867264f9dea7fea85cdf1d7c72ded\n"
    },
    {
      "commit": "feb2babd07a5aa8583f68332d6fdceba8b3eb7f9",
      "tree": "2140cd14e0f63b9f59cefe81fe643cc39abba4bd",
      "parents": [
        "9f8cf83e6914165543d619e053557aa21a8cf4ee",
        "af0801de3c1b1c51cf1a995c2939e182d2ef4926"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 06 18:28:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 06 18:28:26 2016 +0000"
      },
      "message": "Merge \"Make logfile symlinks with relative names.\""
    },
    {
      "commit": "c6dbfdeb6bf21de7f0c645b86f1cc74f8cb872c4",
      "tree": "a533cb9f7ddd7ca5dd4cb576004d1e188494a40f",
      "parents": [
        "8ba3cf0132f1d97ccf5e55aa82f67efbd601da6a",
        "2ca8af45a78226f29c3251cbef6449a0a51a4c1f"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 05 19:24:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 05 19:24:10 2016 +0000"
      },
      "message": "Merge \"Add 5 time measurement points\""
    },
    {
      "commit": "e208d060e17e2ad622c7b06cd90baed0eeed89f8",
      "tree": "da018a768b076a2d5938af9c36ae1748c6a713b3",
      "parents": [
        "7bd9ca8a3be6aeb50bffdce48b220615b1297f79"
      ],
      "author": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Sat Nov 21 11:15:39 2015 +0000"
      },
      "committer": {
        "name": "Federico Ressi",
        "email": "federico.ressi@intel.com",
        "time": "Tue Jan 05 08:21:05 2016 +0000"
      },
      "message": "Preserve result returned by apt-get and pip\n\nChange I855ffe9c7a75e9943106af0f70cf715c34ae25c5 and\nI368fec44858bd97fc6a314fb20eed2b10932cbb1 added timing\ninfrastructure which hides the return value of\nthe main commands.  Restore the prior behaviour.\n\nChange-Id: I4a536abefa7824ac6d42e7bbbf1079d9cc055984\nCloses-Bug: #1518545\n"
    },
    {
      "commit": "85c466c2d743382cc7da81c6d9091273d0566bf8",
      "tree": "76843bd86667253a09d0738b69197af810ef0ff7",
      "parents": [
        "227f20ceb2667944a20adb54e48e47f51ede79c1",
        "5979f47a3df4e7662c70236e7ddf0bedcbe5ea25"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 05 04:55:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 05 04:55:21 2016 +0000"
      },
      "message": "Merge \"Fix get_plugin_packages when multiple plugins are in use\""
    },
    {
      "commit": "f73263d47a85f1fe6d1b80d10e85fe35a46aa8ef",
      "tree": "e126c78a212790b72faf066aeaf64e29c82abcb5",
      "parents": [
        "227f20ceb2667944a20adb54e48e47f51ede79c1"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Dec 25 08:29:32 2015 -0600"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Jan 04 09:12:05 2016 -0600"
      },
      "message": "Remove uses of --os-url and --os-token\n\nThose were originally used to bootstrap with admin-token from keystone,\nbut the openstack client is fully configured now, leaving no reason to\nnot just use the actual users that are there.\n\nChange-Id: I80bdee33a78a97f5d3910aa36dc331f19780d2f1\n"
    },
    {
      "commit": "227f20ceb2667944a20adb54e48e47f51ede79c1",
      "tree": "1cc80ca6291dac797aed94a55d3e6456d30cd874",
      "parents": [
        "0d81785bbe1228e477e395595d37bef9775f1cab",
        "4ce859ab2b99e68ce937c9c9df83d9270c8ef9fb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jan 04 13:59:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jan 04 13:59:56 2016 +0000"
      },
      "message": "Merge \"update create_heat_accounts, don\u0027t use os_url and os_token\""
    },
    {
      "commit": "5979f47a3df4e7662c70236e7ddf0bedcbe5ea25",
      "tree": "6ada6cbdb2983aaa21dac6370e84338eafd85ee2",
      "parents": [
        "e8788c0129e0634bbefe0382ad82b70a38f38bc6"
      ],
      "author": {
        "name": "Dmitry Tantsur",
        "email": "dtantsur@redhat.com",
        "time": "Sun Jan 03 18:08:14 2016 +0100"
      },
      "committer": {
        "name": "Dmitry Tantsur",
        "email": "dtantsur@redhat.com",
        "time": "Mon Jan 04 11:53:31 2016 +0100"
      },
      "message": "Fix get_plugin_packages when multiple plugins are in use\n\nDue to missing space no plugin packages are installed in this case.\n\nChange-Id: I56b105510e4d31a411f2531fdb20c4ddf1ebff20\nCloses-Bug: #1530675\n"
    },
    {
      "commit": "4ce859ab2b99e68ce937c9c9df83d9270c8ef9fb",
      "tree": "762f2168ff84b832c5e2d197ca766a5cbe3eefc5",
      "parents": [
        "1adb2e1c119c0862d2661f2492a9352257954c4a"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Sun Dec 20 01:27:30 2015 -0500"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Sun Dec 20 01:27:30 2015 -0500"
      },
      "message": "update create_heat_accounts, don\u0027t use os_url and os_token\n\nCurrently, the function create_heat_accounts uses the OS_URL and\nOS_TOKEN environment variables. This is a bad choice for several\nreasons, most importantly we are sending the \"ADMIN_TOKEN\" value\nas a header. There is also no reason to not use a standard admin\nuser to create these resources.\n\nChange-Id: I70b41d69917b9e53ad09c2c61e022ef09a50acfd\n"
    },
    {
      "commit": "47367071cdc110c40ec5c92d12f4dbe50cc553d4",
      "tree": "f4fd1c71781800adc16a2a9adf220414d98f599b",
      "parents": [
        "6f8048589873e4fe526e850bb6a02cd653d76b56"
      ],
      "author": {
        "name": "Jim Rollenhagen",
        "email": "jim@jimrollenhagen.com",
        "time": "Thu Dec 10 14:24:00 2015 +0000"
      },
      "committer": {
        "name": "vsaienko",
        "email": "vsaienko@mirantis.com",
        "time": "Fri Dec 18 17:26:02 2015 +0200"
      },
      "message": "Remove ironic code from tree\n\nThis removes all of the ironic code from the devstack tree, in favor of\nthe devstack plugin in Ironic\u0027s tree.\n\nDepends-On: I659e3de5c64df798441798ff48ba5c9c0506585a\nDepends-On: I2c52bc014f1b0dbc6b0ae22a4deb4132b4c28621\nChange-Id: I5125fce295c79600781469c2f48bea80e7600081\n"
    },
    {
      "commit": "2ca8af45a78226f29c3251cbef6449a0a51a4c1f",
      "tree": "9db1b9497e9b199ec86b1f9ca74282020e779004",
      "parents": [
        "63b7d7bcae863a22feab34079d2d4b5fc1c845f3"
      ],
      "author": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Tue Dec 08 15:36:13 2015 +0900"
      },
      "committer": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Thu Dec 17 20:28:54 2015 +0900"
      },
      "message": "Add 5 time measurement points\n\nrun_process           process starting time\ntest_with_retry       process starting time (for neutron legacy)\nrestart_apache_server Apache HTTPD restart time\nwait_for_service      HTTP server waiting time\ngit_timed             git command execution time\n\nexample\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nDevStack Components Timed\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nrun_process - 52 secs\ntest_with_retry - 3 secs\napt-get-update - 8 secs\npip_install - 76 secs\nrestart_apache_server - 9 secs\nwait_for_service - 11 secs\ngit_timed - 127 secs\napt-get - 15 secs\n\nChange-Id: I66140726617450cd9fe9b702092cacf053a20065\n"
    },
    {
      "commit": "fe25a2a7343a56ec4b2b194d7d180cd8f9e56705",
      "tree": "69d8b8eb2ca55a90577e5a607dc5f46be81f9a98",
      "parents": [
        "c81fb988143052fffa3d75ceb7cd15fbac1449f5",
        "41d01104b16bf5d0d6d4d7d2a1e5883d34bff810"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Dec 15 12:47:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Dec 15 12:47:54 2015 +0000"
      },
      "message": "Merge \"remove generic extras.d support\""
    },
    {
      "commit": "af0801de3c1b1c51cf1a995c2939e182d2ef4926",
      "tree": "c7a156d9a17419dabce87ffd727c9b749324daa0",
      "parents": [
        "7b7101f1c5ccd4d0722245613df8c8f7a67e79b9"
      ],
      "author": {
        "name": "Philipp Marek",
        "email": "philipp.marek@linbit.com",
        "time": "Wed Dec 09 13:51:56 2015 +0100"
      },
      "committer": {
        "name": "Philipp Marek",
        "email": "philipp.marek@linbit.com",
        "time": "Wed Dec 09 13:52:05 2015 +0100"
      },
      "message": "Make logfile symlinks with relative names.\n\nUsing absolute names for the symlink breaks in quite a few ways;\n * when creating a tar file of the logs,\n * when serving via NFS,\n\nor any other case where the directory gets transferred to\na different machine.\n\nSo just create the symlink with relative names, then they\u0027ll work\nin any location.\n\nChange-Id: I432a69754985fc71feb0068b7adca01066d7bc1b\n"
    },
    {
      "commit": "41d01104b16bf5d0d6d4d7d2a1e5883d34bff810",
      "tree": "58daac01ad8f530c00d6cedccf068c08dbca66d5",
      "parents": [
        "b889294af7aa1ccf613da28fb08f547306e0f581"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 03 08:12:23 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 03 08:12:23 2015 -0500"
      },
      "message": "remove generic extras.d support\n\nThis removes the generic extras.d support, which we said we\u0027d do at\nMitaka-1. In tree extras.d continues to function as before, though we\nneed stories to get ceph and ironic into plugins, and a better\nsolution for Tempest.\n\nChange-Id: I8b134446dc08a2c3852423ca71af2f469f85496e\n"
    },
    {
      "commit": "88ee8ce4684e13865123636dd5d2baa5d6a44ef7",
      "tree": "f94f7c019fc2e280cbc68360e7088809672e6f27",
      "parents": [
        "b889294af7aa1ccf613da28fb08f547306e0f581"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Dec 02 07:47:31 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 03 07:44:15 2015 -0500"
      },
      "message": "create apt_get_update to try to work around broken mirrors\n\nUbuntu\u0027s apt mirroring mechanism produces inconsistent mirrors pretty\nregularly. The devstack-gate apt-get update model seems to have been\nmore effective getting past this than what we did in devstack. Adopt\nthat method for our updates.\n\nChange-Id: I97c7896ef38b275aacb4f933fc849acee1bab858\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": "3bc6f042e4d93bcae25841915f84184a9799df2d",
      "tree": "8ffdc729b4de56b7d761455b40be4897371bf298",
      "parents": [
        "e0b2af0b476dd42da8b820dc2583f547e7d9457a",
        "0ec80802735163fdbdb4ceaa339aa73f93bbd87a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Nov 16 05:15:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 16 05:15:49 2015 +0000"
      },
      "message": "Merge \"Remove multi-region workaround\""
    },
    {
      "commit": "0f1a4aba5e4010c9590e56ee785e0bad5c8e23d9",
      "tree": "a30ed872d8d8005997c024cbd9bb7142eb0a431a",
      "parents": [
        "075535d31130db08f823687fb38fe00bec0e5e66",
        "33c9a67ead4b61a9eb423f71ca4f8e062c3b5ebd"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Nov 12 22:06:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Nov 12 22:06:23 2015 +0000"
      },
      "message": "Merge \"Fix typos on three comments and one message\""
    },
    {
      "commit": "33c9a67ead4b61a9eb423f71ca4f8e062c3b5ebd",
      "tree": "98caf8ff2fc95e33520d86aaca5ade57bd202bcb",
      "parents": [
        "1987cfb1bea276202926d5de624754ed6f5c8e7f"
      ],
      "author": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Thu Nov 12 19:50:00 2015 +0900"
      },
      "committer": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Thu Nov 12 19:53:06 2015 +0900"
      },
      "message": "Fix typos on three comments and one message\n\nFixes typos on three comments and one message\nin functions/functions-common\n\nChange-Id: I2c926ca29b284afd4534b92860fa46f248676a83\n"
    }
  ],
  "next": "9329290183c96be45363325a244861065413562d"
}
