)]}'
{
  "log": [
    {
      "commit": "e86b91ba784994285de78ae06a490fc6cac50502",
      "tree": "4c2bd51a650f449a19efd4c3b9c08af4077d71d9",
      "parents": [
        "841fdafa0bc542b595b267428c5d929bf0726205"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Tue May 03 15:21:47 2016 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu May 19 21:44:43 2016 +0000"
      },
      "message": "Reference keystone URIs rather than building URI\n\nlib/keystone sets KEYSTONE_AUTH_URI and KEYSTONE_SERVICE_URI that\nother projects should use rather than building the URL themselves.\nThis will allow us to more easily drop the port altogether.\n\nChange-Id: I7467aae680215f3045d32a088af2187e1eba8169\n"
    },
    {
      "commit": "076ef7f0fbf43fd10cb30abbfdf93bb9402968a9",
      "tree": "4e53fd80905f4654140b59dc75e6f7f911a61c61",
      "parents": [
        "905a37aaae5a47e5a7328a4eaf0a0c97ca7e4c83"
      ],
      "author": {
        "name": "David Lyle",
        "email": "david.lyle@intel.com",
        "time": "Tue Feb 09 11:01:04 2016 -0700"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Feb 11 03:35:18 2016 +0000"
      },
      "message": "Remove CUSTOM_THEME_PATH setting\n\nHorizon now uses the WEBROOT to populate the value of $webroot in\nthe CSS code. The CUSTOM_THEME_PATH pointing to the webroot theme\nto explicitly set the same value is no longer necessary.\n\nCloses-Bug: 1540801\nChange-Id: Ic212796ee0905751ac3fd619bbbc902d25ea10d5\n"
    },
    {
      "commit": "43f62c08499de004a964c3a2f90ce400a0f932ad",
      "tree": "6a4591ad7f6f593712fc1d48ef1e1b654bd7c115",
      "parents": [
        "c81fb988143052fffa3d75ceb7cd15fbac1449f5"
      ],
      "author": {
        "name": "Akihiro Motoki",
        "email": "motoki@da.jp.nec.com",
        "time": "Tue Dec 15 16:44:41 2015 +0900"
      },
      "committer": {
        "name": "Akihiro Motoki",
        "email": "motoki@da.jp.nec.com",
        "time": "Tue Dec 15 16:44:41 2015 +0900"
      },
      "message": "Move horizon config and start to appropriate phase in stack.sh\n\nPreviously horizon configuration and start are done too early\nand as a result horizon init and start need to be run twice\nafter horizon plugins are enabled.\n- horizon config was done before \"run_phase stack install\"\n- horizon init and start were done before \"run_phase stack post-config\"\n\nThis commit rearrange horizon setup to the appropriate phases\ndefined in the devstack plugin interface.\n\n- Configuration of horizon settings is moved to configure_horizon.\n- horizon config is now called between run_phase stack install\n  and post-config.\n- horizon init and start are now called between run_phase stack\n  post-config and extra.\n\nChange-Id: I8bf2ceaf7734c4f7cec68bc05d7cdbae81ef311e\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": "4f262a109dca982609ee8f29ae7bd3c08c4b44fb",
      "tree": "ec9578775fb6eea8a93966da000e12acbf509a34",
      "parents": [
        "95fb04f971aa401232448d46ca7baf8a1eb066e1",
        "05076fb7ea45b7f1f7d9f232afb56dbb1d6e2f08"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Nov 13 05:51:14 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Nov 13 05:51:14 2015 +0000"
      },
      "message": "Merge \"Configure horizon with identity v3\""
    },
    {
      "commit": "ada886dd43ccc07f48d3a82d8d3d840fe5096c03",
      "tree": "93d62f1c82edc08d813b7f9f7eb9270e7024e055",
      "parents": [
        "433a9b10ddd6fa67d7459c4943a92ce4f488cebc"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 07 14:06:26 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Oct 07 17:03:32 2015 +1100"
      },
      "message": "Don\u0027t mix declaration and set of locals\n\nIa0957b47187c3dcadd46154b17022c4213781112 proposes to have bashate\nfind instances of setting a local value.  The issue is that \"local\"\nalways returns 0, thus hiding any failure in the commands running to\nset the variable.\n\nThis is an automated replacement of such instances\n\nDepends-On: I676c805e8f0401f75cc5367eee83b3d880cdef81\nChange-Id: I9c8912a8fd596535589b207d7fc553b9d951d3fe\n"
    },
    {
      "commit": "346edcc532719f6f29471920f9434b6d5300d43a",
      "tree": "e2f4e59d881d87a7316d1cff11032960b56cba4d",
      "parents": [
        "ca802bcfcc1d45697da9f4c26683d2887eb63f39"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Aug 26 09:38:37 2015 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Aug 26 09:38:37 2015 -0400"
      },
      "message": "check all possible services when configuring tempest\n\nThe previous approach assumed that devstack in tree service support\nwould always be a super set of tempest. That\u0027s not necessarily\ntrue. Instead when configuring tempest we should look at all the\npossible services that tempest could know about, which will let us\ndisable services we don\u0027t have support for.\n\nChange-Id: I9c24705e494689f09a885eb0a640efd50db33fcf\n"
    },
    {
      "commit": "05076fb7ea45b7f1f7d9f232afb56dbb1d6e2f08",
      "tree": "94c8d430172e65dbbab8fae408309907bc288ea1",
      "parents": [
        "9718b79f5fb83e34df50c42308a04d3f80f3fb3e"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Sat Aug 15 19:01:59 2015 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Sat Aug 15 19:01:59 2015 +1000"
      },
      "message": "Configure horizon with identity v3\n\nCurrently horizon configures keystone using v3 only if v2 is not\navailable. Really we should just always be using v3.\n\nChange-Id: Icac4d90b617209da75abf33f8e25ffc021c45fdb\n"
    },
    {
      "commit": "7b105c572ed51510d951304b31c043cfe4674731",
      "tree": "8b056e05a878c0ef716000cd30b01d60ebd5d970",
      "parents": [
        "93c10571e8b1b2c8e6916c759d5b92ab379c037f"
      ],
      "author": {
        "name": "David Lyle",
        "email": "david.lyle@intel.com",
        "time": "Mon Jul 27 17:14:32 2015 -0600"
      },
      "committer": {
        "name": "David Lyle",
        "email": "dklyle0@gmail.com",
        "time": "Thu Aug 13 01:41:57 2015 +0000"
      },
      "message": "Move horizon apache root to /dashboard\n\nWith keystone\u0027s move to /identity, a conflict in for resources was\ncreated as both keystone and horizon used /identity. The keystone\nconfig took precedence and rendered API output in the horizon UI.\n\nThis patch sets the root for horizon to /dashboard and serves all\nhorizon content from there. Additionally, a RedirectMatch has been added\nto the apache config for horizon to redirect \u0027/\u0027 to \u0027/dashboard\u0027 this\nwill allow the implementation to change without being immediately\npainful to users.\n\nAlso made the path \u0027/dashboard/\u0027 configurable in stackrc.\n\nCloses-Bug: #1478306\nDepends-On: I9a04f936ed6d8c14775a332dc28e903992806c42\n\nfor devstack-gate changes to remove hard coded horizon url structure\nassumptions.\n\nChange-Id: I6fbca5cea9e44df160afbccc71bd045437657320\n"
    },
    {
      "commit": "7ef246492c8613c80b197fcec93ca65c5db47cb1",
      "tree": "bb5c01bd7a6320421c3bcb94ba39fb0096ae06bc",
      "parents": [
        "493d3b3aff2dcc7c7458d4f70c9a23add6e70c74"
      ],
      "author": {
        "name": "David Lyle",
        "email": "david.lyle@intel.com",
        "time": "Fri May 29 13:49:03 2015 -0600"
      },
      "committer": {
        "name": "David Lyle",
        "email": "david.lyle@intel.com",
        "time": "Fri May 29 13:49:03 2015 -0600"
      },
      "message": "Fixing keystone v3 version use for horizon\n\nThe setting for overriding Horizon\u0027s OPENSTACK_API_VERSIONS is not\nthe correct format. The version should be a number, not a string.\n\nso should be 3, not \"v3\".\n\nChange-Id: I193d21514b196336796eac067417dc2aaec56433\nCloses-Bug: #1460190\n"
    },
    {
      "commit": "3fd71d68933f2c4e38ff7fa58416ec0263325a9f",
      "tree": "a587f811b7264232fc116c50ed77b6dbcb2426e4",
      "parents": [
        "ee3d2a8ece24efe8ee8b0304c133574967eb60d3"
      ],
      "author": {
        "name": "Samuel de Medeiros Queiroz",
        "email": "samuel@lsd.ufcg.edu.br",
        "time": "Sun May 03 14:54:45 2015 -0300"
      },
      "committer": {
        "name": "Samuel de Medeiros Queiroz",
        "email": "samuel@lsd.ufcg.edu.br",
        "time": "Wed May 27 14:27:30 2015 -0300"
      },
      "message": "Honor the flag for Identity v3 API only jobs\n\nWhen the property ENABLE_IDENTITY_V2 is set to\nFalse in the local.conf file, devstack will:\n\n* Disable the v2 API in Keystone paste config;\n* Set Tempest to skip Identity v2 tests and use\n  v3 auth tokens to run all the other tests;\n* Set Horizon to use v3 API and v3 auth tokens;\n* Register the Identity endpoint as v3.\n\nChange-Id: I2575a516244b848e5ed461e7f488c59edc41068d\n"
    },
    {
      "commit": "60996b1b60c3efb1376b9f0d659acebd05c47f09",
      "tree": "82a570b328fa22b437aa27a10716ae9b5c3da4ff",
      "parents": [
        "d1549d624dea9b00d7aa0f935759c69290e9ea17"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Apr 08 09:06:49 2015 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Apr 08 10:28:17 2015 -0400"
      },
      "message": "introduce pip_install_gr\n\nThis creates a new pip_install_gr that installs from global\nrequirements allowed versions. Now that stable branches are getting\ncapped all of devstack needs to be fixed to do things like this.\n\nChange-Id: I8fd0ef2bfc544ca2576fab09d3018f760b8848fe\n"
    },
    {
      "commit": "dc97cb71e85fc807d2cce6f054c785922d322eb9",
      "tree": "86affcfbc7054c209c2ab0a4c3f7955d5e1bf16f",
      "parents": [
        "9720239618189c13734aa32aabee9252707f2db9"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Mar 28 08:20:50 2015 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Mar 28 14:35:12 2015 -0500"
      },
      "message": "Mostly docs cleanups\n\nFix documentation build errors and RST formatting\n\nChange-Id: Id93153400c5b069dd9d772381558c7085f64c207\n"
    },
    {
      "commit": "c4c27232c869633030022b750c2bf0cd65b66d4c",
      "tree": "200d4fd36375a97bdc6f3a0543fac6d82244a92b",
      "parents": [
        "81dcb64b0d1d6d6506222a2155157f69af98b601"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Mar 03 09:54:49 2015 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Mar 03 11:02:49 2015 +0100"
      },
      "message": "Use the Member role with horizon\n\nHorizon by default using the _member_ role,\nwhich is considered as a legacy role.\n\nThe tools/create_userrc.sh already creates the regular users,\nwith Member role.\n\nChange-Id: Ibc07a0f28d0729f8a717a54e94fe014853363592\nCloses-Bug: #1421616\n"
    },
    {
      "commit": "d5ac7852473a8a34ae097c33ed173d640db80379",
      "tree": "a149e49e3aa77709ba7dfbb0fa9a67e960b224c5",
      "parents": [
        "d26da45b98a75b9d61d0a33d216ca15543a7faf2"
      ],
      "author": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Fri Feb 06 19:29:23 2015 -0800"
      },
      "committer": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Tue Feb 17 11:48:06 2015 -0800"
      },
      "message": "Add new function get_from_global_requirements\n\nInstead of specifying the version of a library in devstack, use the version from\nglobal-requirements\n\nAdd new function get_from_global_requirements and use it\nwhere it makes sense.\n\nChange-Id: I6b2f062761ac05ef72fc6cc9993bc204faf06fa5\n"
    },
    {
      "commit": "1f316beb2052b715f077ef42279361026d1a24c3",
      "tree": "fedb4063e69caff48b005ccc7102a47aec971f55",
      "parents": [
        "55383f1a9bb2538b3e6add6dd9bf38080b910492"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Mon Jan 26 16:39:57 2015 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Jan 27 09:22:52 2015 +0100"
      },
      "message": "Remove rhel6 and py26 support\n\nel6 is shipped with Python 2.6.x which is not expected\nto be supported with the openstack kilo release.\n\nFor el6 support we need to do lot of thing differently,\nwhich makes the code more complicated.\n\nThis change removes el6 and py26 support from devstack.\n\nThis change also removed a discontinued (1 year ago)\nopenSUSE 12.2 code path, which used a similar codepath as el6.\n\nSeveral comment related to el6 also removed or modified.\n\nChange-Id: Iea0b0c98a5e11fd85bb5e93c099f740fe05d2f3a\n"
    },
    {
      "commit": "537532931da4103e1a873684476dac6d7fe56489",
      "tree": "e35fe8f6032774a831ccfbf2a4d72a68654bbb38",
      "parents": [
        "5f6f43ed9f67a86cad03c1d0c673429814467d6d"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 04 19:38:15 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Jan 15 13:06:14 2015 -0500"
      },
      "message": "Make changes such that -o nounset runs\n\nThis makes a bunch of variable cleanups that will let -o nounset\nfunction, for the time being we hide nounset behind another setting\nvariable so that it\u0027s not on by default.\n\nBecause this is bash, and things are only executed on demand, this\nprobably only works in the config it was run in. Expect cleaning up\nall the paths to be something that takes quite a while.\n\nThis also includes a new set of unit tests around the trueorfalse\nfunction, because my change in how it worked, didn\u0027t. Tests are good\nm\u0027kay.\n\nChange-Id: I71a896623ea9e1f042a73dc0678ce85acf0dc87d\n"
    },
    {
      "commit": "1eb4c6a3753fad0166359fff417f63f028ab871d",
      "tree": "697da0cbe72b384aae747de51cc4b66391fc1678",
      "parents": [
        "fe2f9868164d169c4170cc41285247dd20a39092"
      ],
      "author": {
        "name": "gong yong sheng",
        "email": "gong.yongsheng@99cloud.net",
        "time": "Wed Dec 24 09:21:01 2014 +0800"
      },
      "committer": {
        "name": "gong yong sheng",
        "email": "gong.yongsheng@99cloud.net",
        "time": "Mon Dec 29 12:21:51 2014 +0800"
      },
      "message": "remove brackets around boolean condition expression\n\nChange-Id: Ia550d4603d9520ddea84a144e5e042903456d96d\nCloses-Bug: 1405319\n"
    },
    {
      "commit": "ef844fd08da208947c8e5d8e74e598d7cf7072af",
      "tree": "7b0ad790c865ce2f5ae2d3e87866b780581d1e04",
      "parents": [
        "7f8028069883b8214bd2aae56f78514a4fddddbe"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Dec 15 16:32:43 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Dec 15 16:33:53 2014 -0500"
      },
      "message": "remove $KEYSTONE_TOKEN_HASH_ALGORITHM\n\nNow that Keystone is back to UUID token defaults the use case for this\nin devstack is extremely dubious, and it can be set through via\nlocal.conf if anyone *really* cares.\n\nPart of bp:devstack-nounset\n\nChange-Id: I644b5b1579952959d253758b2a12b97d8a704657\n"
    },
    {
      "commit": "e263c82e48a431e502bd6baceb6dfcfdc1750cbb",
      "tree": "5ca592e668dedb4debc6c7170f3abf37cc4bc0c6",
      "parents": [
        "2f8e08b5728f4272b415b1c0aab8ff62eae29b06"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Dec 05 14:25:28 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Dec 10 11:28:05 2014 -0500"
      },
      "message": "add shebang lines to all lib files\n\nWith gerrit 2.8, and the new change screen, this will trigger syntax\nhighlighting in gerrit. Thus making reviewing code a lot nicer.\n\nChange-Id: Id238748417ffab53e02d59413dba66f61e724383\n"
    },
    {
      "commit": "088e66028c4eb41cf583a76409febce13475b66c",
      "tree": "b65de72893da77f50df4413f2addefacd330f07c",
      "parents": [
        "8012a9654c290102cb03e101bb3cb9b44351e824"
      ],
      "author": {
        "name": "Mikhail S Medvedev",
        "email": "mmedvede@us.ibm.com",
        "time": "Tue Nov 18 12:11:26 2014 -0600"
      },
      "committer": {
        "name": "Mikhail S Medvedev",
        "email": "mmedvede@us.ibm.com",
        "time": "Tue Nov 18 16:35:12 2014 -0600"
      },
      "message": "Deal with different django-admin executables\n\nAfter the recent patch [1] the devstack is broken for Fedora 20 with\nthe error \"django-admin.py: command not found\" during horizon setup.\n\nThis is due to differences in how django currently packaged for Fedora,\nwhere we should use \"django-admin\", without the .py\n\nThis patch sets up executable alias by checking if \"django-admin\"\nexists, and falling back on \"django-admin.py\".\n\n[1] https://review.openstack.org/#/c/120940/\n\nChange-Id: I2b6de25fe32446edbdc0418674fea8579ec739d9\n"
    },
    {
      "commit": "45ce98275c15472f0b6c92b75088064cd3763ff1",
      "tree": "524031f1439060ea51da0d1c824658e39690a73c",
      "parents": [
        "9bfdea87a6ceea667a3c674215099ce8a967a3c2"
      ],
      "author": {
        "name": "David Lyle",
        "email": "david.lyle@hp.com",
        "time": "Thu Sep 11 17:50:08 2014 -0600"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Nov 18 15:07:10 2014 +1100"
      },
      "message": "Moving horizon compression offline\n\nMaking the horizon scss compilation and compression happen offline.\nPotentially fixing an issue with parallel compression in devstack.\n\nRelated-Bug: #1345955\nChange-Id: I066c80e06a92302a3f8dc5fd45d127fbde6cf99c\n"
    },
    {
      "commit": "3c8973a90abc7601e46e2fcaf3d50343338e24d8",
      "tree": "7032edaa0b8f54bfe8c8a64e5ae604cae62f3602",
      "parents": [
        "c98ae29aa9dfb5464e080d446bcdee2d00cf4215"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Nov 14 09:31:02 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Nov 14 10:40:46 2014 -0500"
      },
      "message": "support installing django_openstack_auth from pypi\n\nPart of the libs from pypi conversion, convert django_openstack_auth\nto this format.\n\nChange-Id: I97c8ea19d8aed1e0bdd62c06cfadd1d616573d76\n"
    },
    {
      "commit": "6518c0b88ea52e93513fa34dd63eeb4596875212",
      "tree": "de7bf42e4d2630965059b5fc38aeec7351d07f07",
      "parents": [
        "56d4919a1a19dcab892263e351ffbf3d74ead72c"
      ],
      "author": {
        "name": "Akihiro Motoki",
        "email": "motoki@da.jp.nec.com",
        "time": "Wed Oct 15 17:26:59 2014 +0900"
      },
      "committer": {
        "name": "Akihiro Motoki",
        "email": "motoki@da.jp.nec.com",
        "time": "Sat Oct 18 06:40:08 2014 +0900"
      },
      "message": "Compile Horizon message catalogs during stack.sh\n\nRecently compiled message catalogs (mo files) were removed\nin Horizon and django_openstack_auth repositories.\nWe need to compile message catalogs to make translations\navailable for Horizon users. It is useful for developers too.\n\nChange-Id: I0831e8308205c116d8e3bb8b43be7f0dd6fa0c0a\n"
    },
    {
      "commit": "32ec8358c12cf8426ca72a871c8faa817d567ce3",
      "tree": "52979e79d46bb9f23f00391f5372e6cfc424e3ea",
      "parents": [
        "18d4778cf7bffa60eb2e996a13c129c64f83575f",
        "0843f0ab05a7f477cfc83a70f7711f438e7e8cbd"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Sep 27 17:44:04 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Sep 27 17:44:04 2014 +0000"
      },
      "message": "Merge \"Update Horizon Neutron-related settings\""
    },
    {
      "commit": "14f6c50b187d0d35c0d344700de06fa478845237",
      "tree": "49c49eb702dc1505abb6ef6ef0cc2d4d2ee58085",
      "parents": [
        "8fe3f70efd6c74479d2f17b789976fb3dfb8efd2",
        "b4495eb410e3ad348700f127dcf7c0562014c325"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 25 03:43:29 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 25 03:43:29 2014 +0000"
      },
      "message": "Merge \"Use mod_version to clean-up apache version matching\""
    },
    {
      "commit": "0843f0ab05a7f477cfc83a70f7711f438e7e8cbd",
      "tree": "4c7465d2eb7a1870782865c5e258333e7af7092f",
      "parents": [
        "8fe3f70efd6c74479d2f17b789976fb3dfb8efd2"
      ],
      "author": {
        "name": "Akihiro Motoki",
        "email": "motoki@da.jp.nec.com",
        "time": "Wed Sep 24 04:48:14 2014 +0900"
      },
      "committer": {
        "name": "Akihiro Motoki",
        "email": "motoki@da.jp.nec.com",
        "time": "Wed Sep 24 04:51:57 2014 +0900"
      },
      "message": "Update Horizon Neutron-related settings\n\n- Horizon no longer has \"enable_security_group\" setting\n  so we need to remove it.\n- There is no need to set enable_lb/firewall/vpn to True\n  when q-lbaas/q-fwaas/q-vpn is enabled because Horizon now checks if\n  Neutron ext-list and enables corresponding dashboards accordingly.\n\nChange-Id: I37073d73e4cba0103ab1a3d935302f1cd0ef73c5\n"
    },
    {
      "commit": "3951a9449924f0e8ce962738bfe557f2b48085c7",
      "tree": "39d1f9a9b0f144e61a34a718e9958452b60baf86",
      "parents": [
        "0595237e8adee0320dbcabe5647f7aa179378741"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sun Aug 24 18:54:51 2014 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Sun Sep 21 13:55:39 2014 -0500"
      },
      "message": "Configurable token hashing algorithm\n\nThe Keystone server and auth_token middleware were enhanced to\nsupport a configurable hash algorithm.\n\nWith this change, the user can set\n\n KEYSTONE_TOKEN_HASH_ALGORITHM\u003dsha256\n\nin their localrc to use the SHA256 algorithm rather than the\ndefault md5. Any hash algorithm supported by Python\u0027s hashlib can\nbe used. The MD5 algorithm doesn\u0027t provide enough protection from\nhash collisions and some security standards mandate a SHA2 hash\nalgorithm.\n\nChange-Id: I8b373291ceb760a03c4c14aebfeb53d8d0dfbcc1\nCloses-Bug: #1174499\n"
    },
    {
      "commit": "2f27a0ed3c609bfcd6344a55c121e56d5569afc9",
      "tree": "abe0c02c1d2fd9d57f6b786ff8105896969d0e3c",
      "parents": [
        "58deafcd63ae996e0973c864e249c4a3cb82a74f"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Tue Sep 09 13:46:02 2014 +0100"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Thu Sep 11 18:59:39 2014 +0100"
      },
      "message": "Replace screen_it() with run_process() throughout\n\nrun_process will use screen if USE_SCREEN\u003dTrue (the default),\notherwise it will simply start the requested service. Therefore\nwherever screen_it used, run_process can be instead.\n\nWhere stop_screen was found it has been replaced with stop_process.\n\nA tail_log function has been added which will tail a logfile in a\nscreen if USE_SCREEN is True.\n\nlib/template has been updated to reflect the use of the new\nfunctions.\n\nWhen using sg the quoting in run_process gets very complicated.\nTo get around this run_process and the functions it calls accepts\nan optional third argument. If set it is a group to be used with sg.\n\nChange-Id: Ia3843818014f7c6c7526ef3aa9676bbddb8a85ca\n"
    },
    {
      "commit": "b4495eb410e3ad348700f127dcf7c0562014c325",
      "tree": "a2af0cc87edd09d37ab764ebc014264c60b79a00",
      "parents": [
        "3d458eb703e52606d8aa8d58757285e61cb47b8b"
      ],
      "author": {
        "name": "Noboru Iwamatsu",
        "email": "n_iwamatsu@jp.fujitsu.com",
        "time": "Wed Jul 02 18:31:31 2014 +0900"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Sep 08 15:59:29 2014 +1000"
      },
      "message": "Use mod_version to clean-up apache version matching\n\nThis change uses mod_version (shipped by default on everything we care\nabout) to set-up version-specific config within apache rather than\nwithin devstack scripts.\n\nClean up the horizon and keystone config file generation to use the\ninternal apache matching.\n\nSince I6478db385fda2fa1c75ced12d3e886b2e1152852 the apache matching in\n\u0027functions\u0027 is actually duplicated.  just leave get_apache_version in\nlib/apache as it is used for config-file name matching in there.\n\nChange-Id: I6478db385fda2fa1c75ced12d3e886b2e1152852\n"
    },
    {
      "commit": "1bbfcc7a795eb54a922c3ea984a41439c03c3f03",
      "tree": "93ce047a8212f2c8d3a929ffb8e34c8a79fedcfd",
      "parents": [
        "d3121f649d672fdaf757655b94ecd68c71b56b8e"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 25 12:50:14 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Aug 13 11:26:46 2014 -0500"
      },
      "message": "Clean up local variable usage - Horizon\n\nChange-Id: I1924ecdd68a9c7bf947c06f33aa79c38ada1d3b4\n"
    },
    {
      "commit": "e837714244b974e5bdbea5349d02b3edee4e4d0b",
      "tree": "e0e67e61d577caa0d6c5408e1ba58d81e5491c3d",
      "parents": [
        "f94b44dd974e1c63f2839af9c928cec90cb8fc35"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Jun 23 08:21:07 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Jun 23 08:21:07 2014 -0400"
      },
      "message": "use setup_install for django_openstack_auth\n\nThis is fundamentally a library. As such we should setup_install\nso that we can possibly pin it, otherwise we *always* get the\ngit version instead.\n\nChange-Id: Ia815f2675cf535bb05a7e8eda853690171559b86\n"
    },
    {
      "commit": "51018faa0675f9b9e9cac9cf646fa7c19bf1d7ce",
      "tree": "d4fe0fd03fc45336db20bc053e94c41608995815",
      "parents": [
        "cab1eb12c667d218a4de76ef5e546bfc05efcd97",
        "e385d1e0309a4fc5d414277260702a7c0fff6ad0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Jun 22 17:19:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Jun 22 17:19:18 2014 +0000"
      },
      "message": "Merge \"Add support for django_openstack_auth\""
    },
    {
      "commit": "e54a2b5057823b44af66e2f27610f134ad290d16",
      "tree": "fa27311d825e37fb5c1a691ecd6c5f90f8f86745",
      "parents": [
        "8c2164dbfd3a4073049f85cad89eeaf48917986e",
        "98a181713cb7e9835e1302405283a0c17665486d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jun 19 11:34:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jun 19 11:34:10 2014 +0000"
      },
      "message": "Merge \"Save OPENSTACK_KEYSTONE_URL to horizon local_settings\""
    },
    {
      "commit": "e385d1e0309a4fc5d414277260702a7c0fff6ad0",
      "tree": "3b7e866cb92e7e3bddd796178247bfab1244400f",
      "parents": [
        "5bdabd070bf27da18e43fd263e9f26ea6779cc16"
      ],
      "author": {
        "name": "Zhenguo Niu",
        "email": "Niu.ZGlinux@gmail.com",
        "time": "Wed Mar 12 16:58:12 2014 +0800"
      },
      "committer": {
        "name": "Zhenguo Niu",
        "email": "Niu.ZGlinux@gmail.com",
        "time": "Wed Jun 18 14:04:34 2014 +0800"
      },
      "message": "Add support for django_openstack_auth\n\nIt would be useful for development, reviewing and testing to add\nsupport for django_openstack_auth to devstack.\n\nThis change adds the integration tests to the openstack_auth\nlist of test: https://review.openstack.org/#/c/86528/\n\nChange-Id: Ifbd336b83f6b2beb23996b599ec820232c13efdd\nCloses-Bug: #1262121\n"
    },
    {
      "commit": "444a8d53ca32adc4c1bb531f9a7b4f65dcc71ddb",
      "tree": "2d4f6e0e9f51d8740067c9a2711728ccb7b723e9",
      "parents": [
        "afda4efb2c9d69795ecaf1da10322fec67cac093"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jun 06 16:36:52 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jun 06 16:52:20 2014 -0500"
      },
      "message": "Fix Apache site config handling on Fedora\n\nAllow enable/disable_apache_sites() on Fedora to gracefully fail if the\nconfig is not present.  This is primarily an issue when the config from\na previous run is not completely cleaned out (unstack.sh vs clean.sh).\n\nMake APACHE_CONFIG_DIR fully qualified and overrideable in local.conf.\n\nAlso fix Horizon\u0027s handling of its Apache config file to be removed\nin clean.sh.\n\nChange-Id: I78a5de579dd3b02fa2e4e7e00ac0aabe71b531ad\n"
    },
    {
      "commit": "98a181713cb7e9835e1302405283a0c17665486d",
      "tree": "18f5c46afcad160e604a988f97401e10b7dd38e9",
      "parents": [
        "ea937baee62378b118c09f42c16a44cc5e6a5fdd"
      ],
      "author": {
        "name": "Haiwei Xu",
        "email": "xu-haiwei@mxw.nes.nec.co.jp",
        "time": "Wed Jun 04 19:15:11 2014 +0900"
      },
      "committer": {
        "name": "Haiwei Xu",
        "email": "xu-haiwei@mxw.nes.nec.co.jp",
        "time": "Wed Jun 04 19:26:40 2014 +0900"
      },
      "message": "Save OPENSTACK_KEYSTONE_URL to horizon local_settings\n\nOPENSTACK_KEYSTONE_URL is not saved to local_settings correctly,\nthis patch fixes this bug.\n\nChange-Id: I4275f035be3d8ab013840d8b5e3f9a5e292a366b\n"
    },
    {
      "commit": "afda4efb2c9d69795ecaf1da10322fec67cac093",
      "tree": "551a3ee7bad81a806e62d374a197a142f86edb8c",
      "parents": [
        "ea937baee62378b118c09f42c16a44cc5e6a5fdd"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Jun 03 16:53:03 2014 +0200"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Jun 04 07:34:13 2014 +0200"
      },
      "message": "Enable horizon on Fedoras\n\nThe previous apache/horizon a688bc65104e7d8998ffdb321d67a9f33df6997e\nchange left horizon disabled on Fedora.\n\nCloses-Bug: #1326126\n\nChange-Id: I79f84bb63471f84c6b37538e8dfe2bcca3ce3eac\n"
    },
    {
      "commit": "a688bc65104e7d8998ffdb321d67a9f33df6997e",
      "tree": "37bbb8cb4ee95e617a04461e9fe311ab0536d72f",
      "parents": [
        "ced4ba63cdbc727207d18104c123b3511b35cb68"
      ],
      "author": {
        "name": "Gabriel Assis Bezerra",
        "email": "gabrielb@lsd.ufcg.edu.br",
        "time": "Tue May 27 20:58:22 2014 +0000"
      },
      "committer": {
        "name": "Gabriel Assis Bezerra",
        "email": "gabrielb@lsd.ufcg.edu.br",
        "time": "Fri May 30 12:07:24 2014 +0000"
      },
      "message": "Fix the way Apache site configuration files are used, to improve OS portability\n\nOn Ubuntu 14.04, the site configuration file must have a .conf suffix for a2ensite and a2dissite to\nrecognise it. a2ensite and a2dissite ignore the .conf suffix used as parameter. The default sites\u0027\nfiles are 000-default.conf and default-ssl.conf.\n\nOn Ubuntu 12.04, the site configuration file may have any format, as long as it is in\n/etc/apache2/sites-available/. a2ensite and a2dissite need the entire file name to work. The default\nsites\u0027 files are default and default-ssl.\n\nOn Fedora, any file in /etc/httpd/conf.d/ whose name ends with .conf is enabled.\n\nOn RHEL and CentOS, things should hopefully work as in Fedora.\n\nThis change puts all distribution-related site configuration file name differences in lib/apache and\nthe other services gets the file name for its sites using the new exported function\napache_site_config_for \u003csitename\u003e.\n\nIt also makes Fedora disabled sites use the .conf.disabled suffix instead of removing the .conf from\nthe file name.\n\nThe table below summarizes what should happen on each distribution:\n+----------------------+--------------------+--------------------------+--------------------------+\n| Distribution         | File name          | Site enabling command    | Site disabling command   |\n+----------------------+--------------------+--------------------------+--------------------------+\n| Ubuntu 12.04         | site               | a2ensite site            | a2dissite site           |\n| Ubuntu 14.04         | site.conf          | a2ensite site            | a2dissite site           |\n| Fedora, RHEL, CentOS | site.conf.disabled | mv site.conf{.disabled,} | mv site.conf{,.disabled} |\n+----------------------+--------------------+--------------------------+--------------------------+\n\nChange-Id: Ia2ba3cb7caccb6e9b65380f9d51d9d21180b894e\nCloses-bug: #1313765\n"
    },
    {
      "commit": "584e65cfc1bc3faeac3f30498abb46a8c1ccb37d",
      "tree": "37dc23683ae90ff004ff29576bad9f89227be846",
      "parents": [
        "24c4ad6fa102015449342fae3cc4b83c3ba2714f",
        "c31fa40b77d47e456005718b473570a3d52e76e5"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri May 02 12:12:02 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri May 02 12:12:02 2014 +0000"
      },
      "message": "Merge \"Configure Horizon to use SSL-enabled Keystone\""
    },
    {
      "commit": "c31fa40b77d47e456005718b473570a3d52e76e5",
      "tree": "29013472bf799c22d29edaedf890e321e5523de2",
      "parents": [
        "473add7e0b467e4ebf2ed6a682e9ca175facd714"
      ],
      "author": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Mon Mar 17 00:07:52 2014 -0400"
      },
      "committer": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Tue Apr 29 23:32:59 2014 -0400"
      },
      "message": "Configure Horizon to use SSL-enabled Keystone\n\nSSL can be enabled in Keystone when devstack is executed.\nHorizon was not being configured to use the SSL port so\nauthentication was failing.\n\nChange-Id: I253766d359aaab0bd1f844a8a637adc77e8eee2b\nCloses-Bug: 1293749\n"
    },
    {
      "commit": "cbd97ca975d1889d39f2ffd34b498080ef1ca3a9",
      "tree": "3d9e353c2b00de95c6c3cf29f28ad2171de7eb35",
      "parents": [
        "72eebd786551f8031c7129fb142c5a92c0bc63b5"
      ],
      "author": {
        "name": "Christian Berendt",
        "email": "berendt@b1-systems.de",
        "time": "Thu Mar 27 12:48:43 2014 +0000"
      },
      "committer": {
        "name": "Christian Berendt",
        "email": "berendt@b1-systems.de",
        "time": "Thu Mar 27 14:30:12 2014 +0000"
      },
      "message": "use disable/enable_apache_site on Ubuntu\n\nUsing the specific Apache2 tools a2ensite and a2dissite\n(used in the methods disable/enable_apache_site in lib/apache)\nshould be the preferred way to disable the default site and\nto enable the horizon site.\n\nfixes bug #1298031\n\nChange-Id: I2f247c0b6e605a330086a558e03e2c36666c55be\n"
    },
    {
      "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": "67db4a9bd5c0d0a119c244e8dbb1a0a1990944b8",
      "tree": "142e685369f9a3c6a3dd2b8fdfe0fb603d485a0f",
      "parents": [
        "daa0ce2f052eeeae2ee0b2dc1265279e4528f880"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean.dague@samsung.com",
        "time": "Fri Feb 07 16:02:37 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean.dague@samsung.com",
        "time": "Fri Feb 07 16:04:47 2014 -0500"
      },
      "message": "remove database init from horizon\n\nhorizon default config no longer uses a session database, it uses\nsigned cookies instead, so we can stop doing db initialization and\ncleanup (which based on errexit we weren\u0027t doing correctly anyway).\n\nChange-Id: Icae4318e2784486db2888cbf353e95ac9a5d7cba\n"
    },
    {
      "commit": "4237f590b7b93117e59f9f777bc70d212969f61a",
      "tree": "d7ce919c2979323408fa137fd13db738eb962a7f",
      "parents": [
        "b160640d47446bf379b3299460c4e76cb6e6c7c6"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jan 29 16:22:11 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jan 29 17:25:45 2014 -0600"
      },
      "message": "Generate Tempest service list rather than hard-code it\n\nThe list of services that Tempest used to set its \u0027service_available\u0027\nconfig values was hard-coded. To be plugin-friendly have each\nservice (project) add its name to the TEMPEST_SERVICES variable\nand use that for setting the \u0027service_avilable\u0027 values.\n\nChange-Id: I208efd7fd0798b18ac2e6353ee70b773e84a2683\n"
    },
    {
      "commit": "394c11c72191fff6eed1543600260b9de7f55676",
      "tree": "7b3b7d78562155fb8cfe14c2c96a753c8ea463b8",
      "parents": [
        "66c54249805c9a6e863c81b754f4abae71aa1b2b"
      ],
      "author": {
        "name": "Gonéri Le Bouder",
        "email": "goneri.lebouder@enovance.com",
        "time": "Tue Nov 05 10:35:55 2013 +0100"
      },
      "committer": {
        "name": "Gonéri Le Bouder",
        "email": "goneri.lebouder@enovance.com",
        "time": "Thu Nov 14 10:28:51 2013 +0100"
      },
      "message": "horizon: drop nodejs dependency\n\nsince commit a0739c9423a4c559b45af96fa4cdb30539dcdbd7, horizon use\na pure Python alternative to nodejs\n\nChange-Id: I231b453e42c303c3cc29e8bea4d7b935fecdccd2\n"
    },
    {
      "commit": "610af8cfa7ff9cadac80fdd37924ecd8fe0d546e",
      "tree": "60745b1340c115c6a0d8fab05c7bc80282a9d0d2",
      "parents": [
        "e8aa8306b1ab3f471c288d5171b31481c742f236"
      ],
      "author": {
        "name": "Chris Buccella",
        "email": "buccella@linux.vnet.ibm.com",
        "time": "Tue Nov 05 12:56:34 2013 +0000"
      },
      "committer": {
        "name": "Chris Buccella",
        "email": "buccella@linux.vnet.ibm.com",
        "time": "Tue Nov 05 13:06:34 2013 +0000"
      },
      "message": "Fix horizon config under Apache 2.4\n\nApache 2.4 now uses mod_authz_host for acces control. Horizon\u0027s\nApache config needs an update to allow access to its directory,\notherwise a 403 will be returned.\nThis change replaces a similar previous fixes done for Fedora 18\nand Ubuntu 13.10, since this is an Apache version issue, not a\ndistro-specific one.\n\nChange-Id: Iecc17600d8e1aae6a7b0929b1493d712c307616f\nCloses-Bug: #1243075\n"
    },
    {
      "commit": "0eeeb2efdf9800f1730f85f0ad8d9cb6cdb2bc71",
      "tree": "017082c7736a168deb6fb69775a47e16a6e3e592",
      "parents": [
        "7751354b44bc3ce286142d588d18ec919a5e4eff",
        "62e8a30abd9d2504bfca1c1c1c72151d729cc9c8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Nov 01 18:32:05 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Nov 01 18:32:05 2013 +0000"
      },
      "message": "Merge \"Fix apache horizon permissions on Ubuntu 13.10\""
    },
    {
      "commit": "62e8a30abd9d2504bfca1c1c1c72151d729cc9c8",
      "tree": "c35b8aca4de1c782aa051cb3692d3960acbd95ae",
      "parents": [
        "0c42f250430ad2e68c0a72804179a80522a159df"
      ],
      "author": {
        "name": "Peter Feiner",
        "email": "peter@gridcentric.ca",
        "time": "Thu Oct 24 17:49:00 2013 -0400"
      },
      "committer": {
        "name": "Peter Feiner",
        "email": "peter@gridcentric.ca",
        "time": "Thu Oct 24 18:38:44 2013 -0400"
      },
      "message": "Fix apache horizon permissions on Ubuntu 13.10\n\nFixes bug 1241574.\n\nChange-Id: If6c30874267a6bf30c114146f83b2d3220f32c1a\n"
    },
    {
      "commit": "6a5aa7c6a20435bbd276a0f1823396b52a8f0daf",
      "tree": "d5137f132a359469f1225d61850466feb4658297",
      "parents": [
        "cb961597cc30f9d8ece17529f09a8291454827e3"
      ],
      "author": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Thu Oct 24 11:27:02 2013 +0100"
      },
      "committer": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Thu Oct 24 17:38:19 2013 +0100"
      },
      "message": "Fix some Markdown formatting issues\n\nAddress miscellaneous issues with Markdown formatting in comments which\nare consumed by shocco when generating the online documentation.\n\nChange-Id: I953075cdbddbf1f119c6c7e35f039e2e54b79078\n"
    },
    {
      "commit": "a15f9092ec5bee27dd19ab3d848db07c26bec0c2",
      "tree": "66ee5e2c5da3822d0a0e3a8f6abe3dc9c0a934f4",
      "parents": [
        "dce5b4a6f2c750ef1b53805dd566d0296cfaf8af",
        "15aa0fc315e231ab3564eab646ca72a359964278"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Oct 03 21:12:22 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Oct 03 21:12:22 2013 +0000"
      },
      "message": "Merge \"Uniquify unsupported distro error message\""
    },
    {
      "commit": "3ac8612b55b9d79d214ce5a10eb37e3b017a74ad",
      "tree": "18b82ad732019d038af21ec770551c9d8831d9d9",
      "parents": [
        "1c1aef0eb7796f0fe8b2502eb4aaa62369b7842a"
      ],
      "author": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Tue Oct 01 01:08:20 2013 +0100"
      },
      "committer": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Tue Oct 01 18:06:41 2013 +0100"
      },
      "message": "Don\u0027t bail when setting up horizon on openSUSE\n\nI85325179f1792d985b0375572abfe8c8a82fecc3 accidentally removed the\nconditional branch required to prevent setup of horizon aborting on\nopenSUSE, so put it back in.\n\nChange-Id: Ia3e4464a2d718e402d84a0bcf60f13ef30404969\n"
    },
    {
      "commit": "15aa0fc315e231ab3564eab646ca72a359964278",
      "tree": "829632d41fb1cb26c16f4dcf2ab7ab92c8b271fa",
      "parents": [
        "1c1aef0eb7796f0fe8b2502eb4aaa62369b7842a"
      ],
      "author": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Tue Oct 01 01:10:16 2013 +0100"
      },
      "committer": {
        "name": "Adam Spiers",
        "email": "aspiers@suse.com",
        "time": "Tue Oct 01 18:05:08 2013 +0100"
      },
      "message": "Uniquify unsupported distro error message\n\nChange a distro-not-supported error message in lib/horizon so that it\ncan\u0027t be confused with a similar error case in lib/apache.\n\nChange-Id: I1197cb4de1497906e93a2c3ce09c3c06afe03b65\n"
    },
    {
      "commit": "5470701e10ee68c80860d4cf7e0fa5d8a913c288",
      "tree": "93194851ace00b4dcab8018c42e877f602134187",
      "parents": [
        "d24674ed22687159ced65613c714a075d9804279"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jlennox@redhat.com",
        "time": "Tue Sep 17 12:07:48 2013 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Tue Sep 24 10:48:01 2013 +1000"
      },
      "message": "Fix swift httpd on fedora\n\nImplements a fedora equivalent of ubuntu\u0027s sites-enabled and moves\nenabling of mod_wsgi to the installation period so that it doesn\u0027t have\nto be handled in a platform dependant way later.\n\nFixes: bug 1226363\nChange-Id: I85325179f1792d985b0375572abfe8c8a82fecc3\n"
    },
    {
      "commit": "eaa9e1e3e0af74ac66cd934bde6762a63d14d1a8",
      "tree": "45cbcc037062af04b148d379fe13a799c2964005",
      "parents": [
        "69f745748d4f2bcfd3e678037187bce1f8e53ccf"
      ],
      "author": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Tue Sep 10 05:22:37 2013 +0900"
      },
      "committer": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Tue Sep 10 05:23:22 2013 +0900"
      },
      "message": "Configure VPNaaS Horizon panel if q-vpn is enabled\n\nChange-Id: I062fd31cb1de50f356c2c549a783d9c597b129fa\nCloses-Bug: #1223012\n"
    },
    {
      "commit": "440f746a0403e82e66756d64e9051929dfa69bd8",
      "tree": "b50342d0a0708ac7e976d139977d07b4cd8e3cf9",
      "parents": [
        "5584709fa8194cb7fa69c65b535999e28278e3da",
        "95c93e2b54ff0dcb5d7a4dd0f7f78e21c789f511"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Aug 29 16:27:56 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Aug 29 16:27:56 2013 +0000"
      },
      "message": "Merge \"Adds support for Openstack Networking FWaaS (Firewall)\""
    },
    {
      "commit": "248a8cce71754b4a16c60bd161ec566098b81305",
      "tree": "7159824d93aceea07f10aa53a3c04b39929fb5f2",
      "parents": [
        "415360b23157caac28899fe0e02f47f0e4532ca2"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Tue Aug 06 08:00:06 2013 +0200"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Fri Aug 16 18:26:46 2013 +0200"
      },
      "message": ".conf suffix for the horizon config on Fedora\n\nOn Fedora by default the *.conf imported only from\nthe /etc/httpd/conf.d/.\n\nChanging the default config name to horizon.conf with all\ndistribution in order to have a simple logic.\n\nChange-Id: I08c3e825f697640fd73ac1f9c569f313abc3c04f\n"
    },
    {
      "commit": "74af8ed00f12ab9a482bb99776560e3d4f8e9a52",
      "tree": "69674703699dbc0510c41a13b235d2fdfa41fcd4",
      "parents": [
        "9cdc0a17ce919dd47c6714101a39478b79e66c0b",
        "d98a5d0a58c1fae2ce8adcd8098cefaa9f558381"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Aug 02 12:24:11 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Aug 02 12:24:11 2013 +0000"
      },
      "message": "Merge \"enable apache2 server as front end for swift\""
    },
    {
      "commit": "c973f1249a08c5dcb42b335b6d3249e8c6c6da24",
      "tree": "d6a8b5e88dfe5c393b9953b3da4ce5b59a625238",
      "parents": [
        "f829e46bd099b10e2f9a03153e3681db89b90811"
      ],
      "author": {
        "name": "Edgar Magana",
        "email": "emagana@gmail.com",
        "time": "Mon Jul 29 16:39:56 2013 -0700"
      },
      "committer": {
        "name": "Edgar Magana",
        "email": "emagana@gmail.com",
        "time": "Mon Jul 29 22:27:46 2013 -0700"
      },
      "message": "Set horizon configuration for security groups\n\nFix bug #1206271\n\nChange-Id: I33a530265be1e5ab9181e605eb4b7c3bf1fdf9c4\n"
    },
    {
      "commit": "d98a5d0a58c1fae2ce8adcd8098cefaa9f558381",
      "tree": "77bf37cbfaf5f3f797bc369072b199357d5bf5dd",
      "parents": [
        "bc84cdf4877bf61c5b684dc01e4ef9b77bb3e4be"
      ],
      "author": {
        "name": "zhang-hare",
        "email": "zhuadl@cn.ibm.com",
        "time": "Fri Jun 21 18:18:02 2013 +0800"
      },
      "committer": {
        "name": "zhang-hare",
        "email": "zhuadl@cn.ibm.com",
        "time": "Mon Jul 29 11:15:21 2013 +0800"
      },
      "message": "enable apache2 server as front end for swift\n\n1.install apache and wsgi module\n2.config apache2 vhost and wsgi files for proxy,\naccount, container and object server.\n3.refactor apache functions from horizon and swift\ninto lib/apache\n\nChange-Id: I3a5d1e511c5dca1e6d01a1adca8fda0a43d4f632\nImplements: blueprint enable-apache-frontend-for-swift\n"
    },
    {
      "commit": "95c93e2b54ff0dcb5d7a4dd0f7f78e21c789f511",
      "tree": "2514cc05269c9df0ca8c040b8b3ce7ab79f6611c",
      "parents": [
        "68044c0245e0d39cecbc8602a8059bd7c33b7693"
      ],
      "author": {
        "name": "Ravi Chunduru",
        "email": "ravivsn@gmail.com",
        "time": "Tue Jul 16 04:18:47 2013 -0700"
      },
      "committer": {
        "name": "Ravi Chunduru",
        "email": "ravivsn@gmail.com",
        "time": "Wed Jul 17 00:39:31 2013 -0700"
      },
      "message": "Adds support for Openstack Networking FWaaS (Firewall)\n\nblueprint quantum-fwaas-devstack\n\nChange-Id: I3c546433415ab18a5933a25774a06df7c4cb42e9\n"
    },
    {
      "commit": "73a39bf2c61c9cf4c7cf398dea4170c86d46a269",
      "tree": "48aea53596b6e50fcd7ab6e752070dc6ce38945f",
      "parents": [
        "3c98af20fc7a19cc444a4a14c5e5092d1f4add6e"
      ],
      "author": {
        "name": "Nobuto MURATA",
        "email": "nobuto@ubuntu.com",
        "time": "Thu Jul 11 16:26:02 2013 +0900"
      },
      "committer": {
        "name": "Nobuto MURATA",
        "email": "nobuto@ubuntu.com",
        "time": "Thu Jul 11 16:26:02 2013 +0900"
      },
      "message": "replace left quantum string for enable_lb\n\nwriting the correct config for horizon to show LBaaS entry properly\nlike:\n\nOPENSTACK_NEUTRON_NETWORK \u003d {\n    \u0027enable_lb\u0027: True\n}\n\nChange-Id: I7f522a150a3732ee734f2b818910ff92c8c73028\nFixes: bug #1200098\n"
    },
    {
      "commit": "1a6d4492e25365ec2947e93d5d69507088281415",
      "tree": "cb8e404347518a44d340ce65d413d1d454bf2b31",
      "parents": [
        "f606adb4a85c29a85a0f8c1b6d4410a41163e166"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Jun 03 16:47:36 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Jun 11 14:39:27 2013 -0500"
      },
      "message": "Periodic formatting cleanup\n\nThis is the semi-irregular comment and docs cleanup.\n\nNo functional changes should be here although some code is moved in a\nsmall attempt to sort functions and get things where they need to be.\n\nChange-Id: Ib4a3e2590c6fbd016c391acc7aef6421e91c0dca\n"
    },
    {
      "commit": "2bda6cfabf5e60f8bb74bb22f3c895ca108dff3c",
      "tree": "853fd256de30cdc7e4d5d950d23640d6a596f352",
      "parents": [
        "c29c392d26bccfbf612038c5cf1b0eee35bad909"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu May 23 09:25:10 2013 +1000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue May 28 23:04:14 2013 +0000"
      },
      "message": "Install nodejs for RHEL/Fedora\n\nnodejs is required for Horizon (ships a copy of lessc internally).  I\ncouldn\u0027t find nodejs in the rpm list, despite it being installed in\nlib/horizon.  This adds to the rpm list as NOPRIME and retains the old\ninstall point.\n\nRHEL6 has nodejs in EPEL now, so we remove the old hack that installed\nan upstream version and add it to the install mentioned previously\n\nChange-Id: Ib3ee2f7d77e22666c9055c8528288c01b46a95d3\n"
    },
    {
      "commit": "1e4587ef99cef970ef881ebf2ee2e65f9e939f34",
      "tree": "6d39cb275a2c2ae827fca96b736ca50ec2c9a2b8",
      "parents": [
        "5f349179f48c96cb4e9f6b346ef1b5d18b5ccd83"
      ],
      "author": {
        "name": "JordanP",
        "email": "jordan.pittier@gmail.com",
        "time": "Wed May 08 22:19:59 2013 +0200"
      },
      "committer": {
        "name": "JordanP",
        "email": "jordan.pittier@gmail.com",
        "time": "Fri May 10 15:55:27 2013 +0200"
      },
      "message": "Clean up horizon apache logs on unstack\n\nIt feels like the right think to do. Moreover it will avoid to display\nhorizon errors from a previous devstack run that would be displayed because\nof the tail -f in start_horizon()\n\nChange-Id: Id1ab272e60e0733a4feef3b85029f438f2273cb0\n"
    },
    {
      "commit": "ad43b3957ee8082c1e27568de1070edb81734181",
      "tree": "402a7ca84625f93bfc9362bd94ef283a20004798",
      "parents": [
        "cd30ad90b849546659a5f815338559b6d723702e"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Apr 11 11:13:09 2013 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Apr 29 16:21:54 2013 +1000"
      },
      "message": "Grab upstream nodejs for RHEL6\n\nRHEL6 has no nodejs in main packages or in EPEL.  The easiest way is\nto just install the upstream binary version which works fine for the\nvery minimal usage by lesscss.\n\nChange-Id: Ia35e7dbaf4c7add43797d6b7d0c846bab1cf0cb0\n"
    },
    {
      "commit": "627d9c77e538bdcf972ff1c7d48dafd966b44d74",
      "tree": "1e950370a655eacdbf300575329a969d89fac45d",
      "parents": [
        "3927fa76d27352b816adb67260cca3602dde5724"
      ],
      "author": {
        "name": "Sunil Thaha",
        "email": "sthaha@redhat.com",
        "time": "Wed Apr 10 14:11:44 2013 +1000"
      },
      "committer": {
        "name": "Sunil Thaha",
        "email": "sthaha@redhat.com",
        "time": "Mon Apr 15 23:24:36 2013 +1000"
      },
      "message": "Fixes running horizon on fedora 18 and above\n\nFixes bug: 1167066\nSummary:\n\n1. Starting with fedora 18 the httpd.conf has\n    \u003cDirectory /\u003e\n        AllowOverride none\n        Require all denied\n    \u003c/Directory\u003e\n  which requires you to explicitly permit access to web content\n  directories in other \u003cDirectory\u003e blocks\n\n2. Install nodejs on fedora 18 and above\n\nChange-Id: I487a7a74bad6627d32c1081dcbe48630a704a106\n"
    },
    {
      "commit": "cc6b4435458b5db6aed17631e4789c43d21ee8e5",
      "tree": "a8460f062f571849a7a9a547c85771d625828b34",
      "parents": [
        "2e75ff1a41e741ee77926a1262e1e9410701b4e1"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Apr 08 15:38:03 2013 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Apr 09 14:05:32 2013 -0500"
      },
      "message": "Formatting cleanups, doc updates and whatnot\n\nChange-Id: Ica8298353be22f947c8e8a03d8dc29ded9cb26dd\n"
    },
    {
      "commit": "584d90ec56e18cbb9c0f15fe6af35504c02ea4bd",
      "tree": "6d2027aed2ab0e2e44be06ce906c7083493aab3d",
      "parents": [
        "a173376ea1b838d420384c2946b7e66859b6335b"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Fri Mar 29 14:34:53 2013 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Fri Mar 29 14:36:49 2013 -0400"
      },
      "message": "add emacs shell-script tagging\n\nfor files that don\u0027t start with a #! or end in .sh, the added tags\nare nice for emacs users to automatically switch to the right mode.\n\nChange-Id: If4b93e106191bc744ccad8420cef20e751cdf902\n"
    },
    {
      "commit": "7104ab406a30e20dbeffdbdcc5820cc508d8cab2",
      "tree": "7c5f391d50edcd77330dd2552edb2b0282e9b46c",
      "parents": [
        "40ef624e368ebf5dcb70b3b5333b934f3a56e069"
      ],
      "author": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Wed Mar 27 19:47:11 2013 +0900"
      },
      "committer": {
        "name": "Akihiro MOTOKI",
        "email": "motoki@da.jp.nec.com",
        "time": "Fri Mar 29 03:01:50 2013 +0900"
      },
      "message": "Use example settings in horizon repo as local_settings.py\n\nThe current horizon_settings.py in devstack is out-of-date and we\ntend to forget to update this file. This commit changes devstack\nto use the example settings in horizon repo.\n\nChange-Id: I0bb6af21a806a72ed59f31b094dd21da85ca335e\n"
    },
    {
      "commit": "b663b33f51f39a6912b0c01bbd9f8559c3e03418",
      "tree": "269c9d625cedd25dd681ae867c10ae5d60615f39",
      "parents": [
        "c3b658c8df1ea9e0561c57c789d9539aced83d60"
      ],
      "author": {
        "name": "Eugene Nikanorov",
        "email": "enikanorov@mirantis.com",
        "time": "Thu Mar 07 16:10:10 2013 +0400"
      },
      "committer": {
        "name": "Eugene Nikanorov",
        "email": "enikanorov@mirantis.com",
        "time": "Tue Mar 12 13:34:48 2013 +0400"
      },
      "message": "Configures horizon lbaas dashboard\n\nfixes bug 1151865\n\nChange-Id: I1f2c7f7f11170571fe37a9cf5444d26c1c8de959\n"
    },
    {
      "commit": "532908f6021f5e031cae01aa2374cd62da0200a9",
      "tree": "0fd7f4147e965e3f61b16dd97c0921637d3340c0",
      "parents": [
        "5219f78d20d92297401865460cdb54f6bcbc6e2b"
      ],
      "author": {
        "name": "Steven Dake",
        "email": "sdake@redhat.com",
        "time": "Mon Jan 14 11:35:17 2013 -0700"
      },
      "committer": {
        "name": "Steven Dake",
        "email": "sdake@redhat.com",
        "time": "Mon Jan 14 12:40:33 2013 -0700"
      },
      "message": "Remove error from httpd/apache on unstack.sh\n\nFedora/RHEL use httpd for the package name of httpd.  This is handled\nin other parts of the horizon startup code, but not in shutdown.\n\nChange-Id: I2732dad652d83a9cbe055f5f077678b7111ca782\nFixes: bug #1099538\n"
    },
    {
      "commit": "f2a18c065e2447083e874eeae59bf6988491ae3f",
      "tree": "3c7aabc7fd1c58e89c67f9e18f2e4f9f4a7af525",
      "parents": [
        "63ea3185de5d3e703e623ba57bc19a70c160274a"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Dec 04 18:34:25 2012 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Wed Dec 12 16:14:16 2012 +0100"
      },
      "message": "Two small fixes for openSUSE support\n\n- Use right package files for openSUSE in tools/info.sh\n- Use a2enmod to enable the wsgi apache module\n\nChange-Id: I51e3019be32dc0938674c9c8d285a55f5b023707\n"
    },
    {
      "commit": "00011c0847a9972b78051954e272f54e9d07ef51",
      "tree": "d700284b823a9464196dd59f96b2f45dba4a20ec",
      "parents": [
        "e5f8d1228a139ae13da5f2fbdfd09b3b43fd52fd"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Thu Dec 06 09:56:32 2012 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Fri Dec 07 09:06:07 2012 +0100"
      },
      "message": "Add is_fedora and exit_distro_not_supported functions\n\nBetween is_fedora, is_ubuntu and is_suse, we can make the code a bit\nsimpler to read. We also use exit_distro_not_supported to identify\nplaces where we need implementation details for new distros.\n\nAs \"/sbin/service --skip-redirect\" is Fedora-specific, guard this with a\nis_fedora test too.\n\nChange-Id: Ic77c0697ed9be0dbb5df8e73da93463e76025f0c\n"
    },
    {
      "commit": "fe89e726596596f0187de64b937a6cc57a571b05",
      "tree": "98348a9d037ceaff82c31543b492e4640d52b616",
      "parents": [
        "f99e75d366a0f18f5c2d01dacd102408db85192a",
        "c18b96515279064c85cb7a71939d9e9de961d905"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Dec 05 19:47:03 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Dec 05 19:47:03 2012 +0000"
      },
      "message": "Merge \"Add is_ubuntu function\""
    },
    {
      "commit": "f99e75d366a0f18f5c2d01dacd102408db85192a",
      "tree": "669a9e05fcc1fb4615229962ad126a8af43c38a8",
      "parents": [
        "a1daabd3402c7b9ce56f2723109dd23b1e0215f3",
        "2ed63f4f8ede2a5819eb76f109a947f6bab24d0d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Dec 05 19:43:26 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Dec 05 19:43:26 2012 +0000"
      },
      "message": "Merge \"Fix the default for APACHE_GROUP\""
    },
    {
      "commit": "c18b96515279064c85cb7a71939d9e9de961d905",
      "tree": "45bb2d752c22c7bf9791fca4429a584f9aa41628",
      "parents": [
        "1cd8a4725b83e65e159788ef4d4c994eb5211106"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Dec 04 12:36:34 2012 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Dec 04 18:30:13 2012 +0100"
      },
      "message": "Add is_ubuntu function\n\nThis replaces all of the [[ \"$os_PACKAGE\" \u003d \"deb\" ]] tests, except when\nthose tests are before straight calls to dpkg.\n\nChange-Id: I8a3ebf1b1bc5a55d736f9258d5ba1d24dabf04ea\n"
    },
    {
      "commit": "1cd8a4725b83e65e159788ef4d4c994eb5211106",
      "tree": "da075af6d672484f0662518779797d816155f395",
      "parents": [
        "b62d71010391ae63f22ccf6614c7d379cbe3ea19",
        "ca5c4713869fb88c2e8753039f80f1f8bf1d8fef"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Dec 04 17:18:44 2012 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Dec 04 17:18:44 2012 +0000"
      },
      "message": "Merge \"Add package names for openSUSE/SLE\""
    },
    {
      "commit": "2ed63f4f8ede2a5819eb76f109a947f6bab24d0d",
      "tree": "f0f1d84d7604ba7ddce7722216e27629758cc6ab",
      "parents": [
        "d5a80069d8c92a6eda524903341c23dcf6bd571f"
      ],
      "author": {
        "name": "Martin Vidner",
        "email": "mvidner@suse.cz",
        "time": "Tue Dec 04 10:33:49 2012 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Tue Dec 04 10:35:53 2012 +0100"
      },
      "message": "Fix the default for APACHE_GROUP\n\nIt should be the group of the effective apache user.\n\nFor example, on openSUSE, we use wwwrun:www for apache and $USER:users\nfor users.\n\nChange-Id: I8e12a8d90d45cfd18e67a41cf5462216ae404733\n"
    },
    {
      "commit": "e1864c37f31a6e4d8680148c35ffc9f1bcc5d54a",
      "tree": "a524c7a57b344c6a5f1693e9d1faee6395d11662",
      "parents": [
        "318408c9a863321c4c052f8512fe80249a6d7356"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Thu Nov 29 14:20:34 2012 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Thu Nov 29 14:20:34 2012 -0500"
      },
      "message": "enable mod_wsgi on horizon_init\n\non a clean ubuntu environment wsgi wasn\u0027t getting enabled\nensure that it actually turns on wsgi to that apache can start\n\nChange-Id: I9c74f7c5d5d2f995843b2a649a52f7159c7de314\n"
    },
    {
      "commit": "ca5c4713869fb88c2e8753039f80f1f8bf1d8fef",
      "tree": "a614f81263d7d7135b7c1212df65e7da64230a95",
      "parents": [
        "856a11e0e42c253b84b6074c620d54e620cd17c6"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Wed Nov 21 17:45:49 2012 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Wed Nov 28 16:26:53 2012 +0100"
      },
      "message": "Add package names for openSUSE/SLE\n\nChange-Id: I487cc7b8bd228ff77c9881528e3395cbe3c43d4a\n"
    },
    {
      "commit": "856a11e0e42c253b84b6074c620d54e620cd17c6",
      "tree": "e6184bd954d5523903c2719a55e78a0340fce63e",
      "parents": [
        "ff828ce3f63788534e1828aba5eb16e68a20b69b"
      ],
      "author": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Wed Nov 21 16:04:12 2012 +0100"
      },
      "committer": {
        "name": "Vincent Untz",
        "email": "vuntz@suse.com",
        "time": "Wed Nov 28 16:22:12 2012 +0100"
      },
      "message": "Add partial openSUSE/SLE support\n\nNote that this is the first part of the support. A second part involves\ndealing with the package names.\n\nAmong the changes:\n - add several functions to determine some distro-specific behavior (how\n   to call usermod, if some features are available on the distro, etc.)\n - correctly detect openSUSE and SLE in GetOSVersion, and set DISTRO\n   accordingly\n - new is_suse() function to check if running on a SUSE-based distro\n - use zypper to install packages\n - adapt apache virtual host configuration for openSUSE\n - some simple fixes (path to pip, mysql service name)\n\nChange-Id: Id2f7c9e18a1c4a7b7cea262ea7959d183e4b0cf0\n"
    },
    {
      "commit": "b562e6a710b34609f95bcc46e2ae50e7812aa103",
      "tree": "befbd1be2dcdbbe4c52c9587b97d0afc6daf3b77",
      "parents": [
        "2e8884d75e77083ccbdd23b6b3b272d2541f57e3"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Mon Nov 19 16:00:01 2012 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sdague@linux.vnet.ibm.com",
        "time": "Mon Nov 26 10:24:09 2012 -0500"
      },
      "message": "move horizon logic to lib to clean up stack.sh\n\npre holiday refactor extrodinare, get the horizon code\nover fully into lib/horizon so that all these fixes aren\u0027t\nscattered through stack.sh\n\nChange-Id: I7f26c5c6708d5693048eb7b1ce792122adbc7351\n"
    }
  ]
}
