)]}'
{
  "log": [
    {
      "commit": "fa55cb5f978f6bd9476f1b09a94c8d6aaa18beb4",
      "tree": "b621a0326f2441411f2f553c041a2cbaa797d4c8",
      "parents": [
        "07d612e4609367aa820d519a2ca7100b087bd25e"
      ],
      "author": {
        "name": "Mathieu Mitchell",
        "email": "mmitchell@iweb.com",
        "time": "Tue Jan 24 11:32:24 2017 -0500"
      },
      "committer": {
        "name": "Mathieu Mitchell",
        "email": "mat128@gmail.com",
        "time": "Tue Aug 01 18:22:35 2017 +0000"
      },
      "message": "Ensure valid service names are passed to stack_install_service\n\nCurrently, stack_install_service will accept any service name. This is\nproblematic because a project plugin can pass an invalid name without\nnoticing. This has been the case in ironic-inspector[0].\n\nThis commit ensures that stack_install_service will not silently fail\nwhen passing an invalid service name.\n\n[0] https://review.openstack.org/#/c/424680/\n\nChange-Id: I1a8105bdbaf4aecb630df08da416808bf7180824\nCloses-Bug: #1659042\n"
    },
    {
      "commit": "ddc3839bdc7ff73f6224273605db10fd88cd60df",
      "tree": "0d00622ab7f5b0e4ae8e2832a208237b19e1d318",
      "parents": [
        "b889294af7aa1ccf613da28fb08f547306e0f581"
      ],
      "author": {
        "name": "Doug Hellmann",
        "email": "doug@doughellmann.com",
        "time": "Thu May 07 21:06:24 2015 +0000"
      },
      "committer": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Tue Dec 01 14:52:35 2015 -0500"
      },
      "message": "Enable optional Python 3 support\n\nAdd USE_PYTHON3 and PYTHON3_VERSION variables to allow services to use\npython 3 if they indicate support in their python package metadata.\n\nTested in Heat here -\u003e I837c2fba682ab430d50e9f43913f2fed20325a7a.\nProject config change to add a dedicated job to Heat is here -\u003e I0837e62d6ccc66397a5e409f0961edd4be31f467\n\nChange-Id: I079e18b58b214bf8362945c253d6d894ca8b1a6b\n"
    },
    {
      "commit": "fe7b56cdefa4d5cb99b868e5659128601edf3600",
      "tree": "7254fc99f2166c6bd89e1e2cac96dedf6b385cf2",
      "parents": [
        "4f262a109dca982609ee8f29ae7bd3c08c4b44fb"
      ],
      "author": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Fri Nov 13 17:06:16 2015 +0900"
      },
      "committer": {
        "name": "Atsushi SAKAI",
        "email": "sakaia@jp.fujitsu.com",
        "time": "Fri Nov 13 17:28:05 2015 +0900"
      },
      "message": "Fix typos for stack.sh and lib of comments and message\n\nFix 10 comments and 1 message\n\nstack.sh\n  Certicate \u003d\u003e Certificate (comment)\nlib/stack\n  Sentinal \u003d\u003e Sentinel (comment)\nlib/neutron-legacy\n  overriden \u003d\u003e overridden (comment)\n  necesssary \u003d\u003e necessary (comment)\n  notifiy \u003d\u003e notify (message)\n  notifations \u003d\u003e notifications (comment)\nlib/rpc_backend\n  orginal \u003d\u003e original (comment)\n  cofiguration \u003d\u003e configuration (comment)\nlib/stack\n  confgured \u003d\u003e configured (comment)\nlib/swift\n  additinal \u003d\u003e additional (comment)\n  calclution \u003d\u003e calculation (comment)\n  maximun \u003d\u003e maximum (comment)\n\nChange-Id: I3637388b67decb007cd49af9addecc654009559b\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": "5686dbc45dbdc552080592e31bed63b0f201717e",
      "tree": "e1f38644fd14f1ae7cd09ac4361dc9bb43cf3397",
      "parents": [
        "05163d66ac4459cabff4ccf303b7ec10f2fa72a7"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Mar 09 14:27:51 2015 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Mar 20 09:48:43 2015 -0500"
      },
      "message": "Add global venv enable/disable knob\n\nAdds USE_VENV to globally enable/disable use of virtual environments.\n\nADDITIONAL_VENV_PACKAGES is used to manually add packages that do not\nappear in requirements.txt or test-requirements.txt to be installed\ninto each venv.  Database Python bindings are handled this way when\na dataabse service is enabled.\n\nChange-Id: I9cf298b936fd10c95e2ce5f51aab0d49d4b7f37f\n"
    },
    {
      "commit": "aa8d31ac8b6a69b40569f7d906b8217ac6612c2d",
      "tree": "9cd0548e8481eb465451b206eb512df7430f879a",
      "parents": [
        "86b3a920e93907475e1d9bdc6c4b78948800f2c5"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Feb 20 06:10:48 2015 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Feb 20 06:10:48 2015 -0500"
      },
      "message": "fix missing TOP_DIR which can break sourcing\n\nThere were a couple of places where TOP_DIR is missing when we do a\nsource of content in tools. Given that working directory can change\nquite often during devstack, we need to always be explicit here.\n\nChange-Id: I14b5699637d7f5db745bccf116f440cdcbaa8d91\n"
    },
    {
      "commit": "8c2ce6ea724c9123b8cc5660c6ad52aa8ebf9865",
      "tree": "a1cb60d0152a36c76125f04d4565c11d7473d714",
      "parents": [
        "b1d8e8e274f0c220ae19ee3ea1a3b9a533459297"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Feb 18 14:47:54 2015 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Feb 18 20:19:38 2015 -0600"
      },
      "message": "Virtual environment groundwork\n\nIntroduce the tooling to build virtual environments.\n\n* tools/build_venv.sh: build a venv\n* introduce lib/stack to house functionality extracted from stack.sh that\n  is needed in other places, such as Grenade; start with stack_install_service\n  to wrap the venv install mechanics\n* declare PROJECT_VENV array to track where project venvs should be installed\n* create a venv for each project defined in PROJECT_VENV in stack_install_service()\n\nChange-Id: I508588c0e2541b976dd94569d44b61dd2c35c01c\n"
    }
  ]
}
