)]}'
{
  "log": [
    {
      "commit": "9106b291bd5577cec4dd29dc6598bb82f2ac31c7",
      "tree": "ed7c924db0678537b051d6983f9230fa95832210",
      "parents": [
        "aed9300b715f2d3f0d77ee22d34225a5c1b5c89e",
        "e8bad5cd6a65821c54d66bbc5f7ba17091439d34"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Thu Jun 14 12:20:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jun 14 12:20:41 2018 +0000"
      },
      "message": "Merge \"Init placement before nova\""
    },
    {
      "commit": "e8bad5cd6a65821c54d66bbc5f7ba17091439d34",
      "tree": "5b20eca678b76ff893c9fbdd44b1fff7c1d18f69",
      "parents": [
        "24fa317234a1282478bc22b666d0f026b6cddad6"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "cdent@anticdent.org",
        "time": "Wed Apr 25 13:01:03 2018 +0100"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "cdent@anticdent.org",
        "time": "Wed Apr 25 14:55:59 2018 +0100"
      },
      "message": "Init placement before nova\n\nWith change I7e1e89cd66397883453935dcf7172d977bf82e84 the placement\nservice may optionally use its own database. In order for this to\nwork, however, the ordering of how both nova and placement are\nconfigured and initialized in stack.sh requires careful control.\n\n* nova.conf must be created first\n* then placement must make some adjustments to it\n* then lib/placement needs to create the placement database\n* before nova does a database sync (of both databases)\n\nOtherwise, when the placement_database/connection is defined, the nova\ndb_sync command will fail because the placement database does not yet\nexist. If we try to do a sync before the nova_api database is created\n_that_ sync will fail.\n\nThis patch adjusts the ordering and also removes a comment that will\nno longer be true when I7e1e89cd66397883453935dcf7172d977bf82e84 is\nmerged.\n\nChange-Id: Id5b5911c04d198fe7b94c7d827afeb5cdf43a076\n"
    },
    {
      "commit": "295610c89edc60faba1f5d8d80f40ab00b73a39c",
      "tree": "d88a33baa46dacee0b2d4247e74de0dab1d2c08e",
      "parents": [
        "f68884ae62d5f3977a07f1dfdd7c4e6a0348ca43"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem.os@gmail.com",
        "time": "Tue Mar 20 10:54:39 2018 -0400"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem.os@gmail.com",
        "time": "Thu Apr 05 12:10:30 2018 -0400"
      },
      "message": "Remove [placement]/os_region_name usage\n\nThe [placement]/os_region_name config option is deprecated\nand no longer required to be set (the default is fine for\ndevstack) with the dependent nova change.\n\nDepends-On: I973180d6a384b32838ab61d4e6aaf73c255fd116\n\nChange-Id: I6379acf179ed511f1cdadbd7fb09e2454182a5d3\n"
    },
    {
      "commit": "f6d566c21d0b33344e58fcbc9ec388d7503570da",
      "tree": "1de86a983b5498c1f1ab18cb7b1f2b84617dd1ce",
      "parents": [
        "c1700973886bce1ec212c788e28a6fa372329b2d"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem.os@gmail.com",
        "time": "Fri Dec 22 11:39:29 2017 -0500"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem.os@gmail.com",
        "time": "Fri Dec 22 12:12:41 2017 -0500"
      },
      "message": "Configure nova_cell1.conf to use placement for reschedules\n\nNova now calculates alternate hosts in the scheduler and\nsends those to the cell for reschedules in case a build on\na given compute node fails.\n\nThe cell conductor needs to claim resources against the\nalternate hosts in Placement during a reschedule, therefore\nit needs to be configured to talk to the placement service.\n\nPart of blueprint return-alternate-hosts\n\nChange-Id: Ie599968d9e7537e551fe6d9deb63a91b256b1e11\n"
    },
    {
      "commit": "1489b9e7101fef6270eea008917b08f3da91a771",
      "tree": "0a5ad2d86fddeb5a11017e91942182a4824c9e38",
      "parents": [
        "d576620e33dd8ca2d0d9ff6496cdc957f3239998"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "cdent@anticdent.org",
        "time": "Tue Dec 05 23:46:58 2017 +0000"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "cdent@anticdent.org",
        "time": "Tue Dec 05 23:46:58 2017 +0000"
      },
      "message": "Move remove_uwsgi_config to cleanup_placement\n\nIt had been in stop_placement, but we don\u0027t want it there: the old\nside of grenade needs to call that but should not remove the uwsgi\nconfiguration when doing so. It is configuration, after all.\n\nChange-Id: Iee763adf7895145d97b184924896db3f1f48a015\nPartial-Bug: #1736385\n"
    },
    {
      "commit": "a066abedac916751660c73548e7eab2d216323c5",
      "tree": "81c3e7d02f5f6e5e2350c69e5f9129cd67f26e28",
      "parents": [
        "63651db44ddef10bc629312707ba6d2a349fbc10"
      ],
      "author": {
        "name": "Roman Podoliaka",
        "email": "rpodolyaka@mirantis.com",
        "time": "Tue Apr 18 16:18:14 2017 +0300"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Sep 06 12:56:00 2017 +0000"
      },
      "message": "placement: install osc-placement\n\nThis makes sure that the openstack client placement plugin gets\ninstalled when either LIBS_FROM_GIT includes osc-placement or\nplacement is used, which is always now if you\u0027ve enabled nova,\nwhich is enabled by default.\n\nCo-Authored-By: Matt Riedemann \u003cmriedem.os@gmail.com\u003e\n\nDepends-On: Ica83e29780722dd1555904e46b9ff1d1fdf72516\n\nChange-Id: I7c5a5c10288b356302bb3027837d4ed4f0fbad8c\n"
    },
    {
      "commit": "aceb27e858b594ae80bf07bb0278a715e5a4cd3b",
      "tree": "46481a63b2e7fdf2b196e897892fb45c3b0ddc65",
      "parents": [
        "644a6b9f106507ebc6fd49c51f0c5f6abfaa97fb"
      ],
      "author": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Thu Aug 17 08:59:59 2017 -0400"
      },
      "committer": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Thu Aug 17 10:33:14 2017 -0400"
      },
      "message": "Add procname for uwsgi based services\n\nCode in grenade and elsewhere rely on the process/service name\nwhen one runs \"ps auxw\" and they grep for example \"grep -e glance-api\"\nto check if the service is running. with uwsgi, let us make sure\nwe use process name prefix so it is easier to spot the services\nand be compatible with code elsewhere that relies on this.\n\nChange-Id: I4d1cd223ed9904fcb19b26fc9362b676e0b4f9b3\n"
    },
    {
      "commit": "633dbc3d8e7d3f06e13d532748c71ffba6cd21ea",
      "tree": "6625fc9b7f5e1a64d91e097d6a6bb712e8e38b06",
      "parents": [
        "f4b4a79979c22e116964579ef44f8e9bb3713ad2"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Wed Jun 14 12:09:21 2017 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Wed Jun 14 12:09:21 2017 -0700"
      },
      "message": "Track db sync command time useage\n\nWe are trying to keep better track of what pieces of devstack consume\nthe most time. Add the db sync commands to the time tracking as they run\nthe database migrations which can take more time than expected.\n\nChange-Id: Ib92f2b8304ccf703712d45fd7207444de3599e2d\n"
    },
    {
      "commit": "803acffcf9254e328426ad67380a99f4f5b164ec",
      "tree": "446e385dd3423422407506a7b3d40bc709816ef8",
      "parents": [
        "7fe9e784c6128ad686ad47909c38e990b57c253c"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon May 01 10:52:38 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue May 02 06:20:22 2017 -0400"
      },
      "message": "Make ./clean.sh work in more situations\n\nWhen transitioning between different wsgi modes, or service modes, we\nshould really safely stop and cleanup things that are started in any\nservice mode, which makes it easier to ensure that we don\u0027t leave\nthings around from past runs.\n\nChange-Id: I33acbee39e1a2da2bfd79a5dd54b84a12a778be1\n"
    },
    {
      "commit": "c13b8a1f33a3ea78388794896a3e7f3256c89ec9",
      "tree": "f3fc1552ba1c968eadb0e047152115a21d442fb1",
      "parents": [
        "bb4431126b80be4805f1072442676797e6019576"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Apr 20 06:54:51 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon May 01 09:12:20 2017 -0400"
      },
      "message": "try to use unversioned keystone endpoints everywhere\n\nChange-Id: Iad2a3654d8ba181a7ad452d8aba872a8313d4ece\n"
    },
    {
      "commit": "e0be9e3a2e527754a72d6282883370c09159fac1",
      "tree": "5caf3813d67cffa87b1d85a3dd7b21fcdc7a728d",
      "parents": [
        "6ed53156b6198e69d59d1cf3a3497e96f5b7a870"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "cdent@anticdent.org",
        "time": "Tue Apr 18 16:52:25 2017 +0100"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "cdent@anticdent.org",
        "time": "Tue Apr 18 16:52:25 2017 +0100"
      },
      "message": "Remove a TODO that no longer applies\n\nThe removed TODO was talking about USE_SYSTEMD, not WSGI_MODE.\n\nWSGI_MODE makes sense, so the TODO has been done.\n\nChange-Id: Ib574ef123ea4c82d4d88012c990cd1ad660d7879\n"
    },
    {
      "commit": "64ffff9b7d79b9e75616cf43f9f7b31c89026f30",
      "tree": "405ec06d50dc07990ea5d94061ade122fed341d4",
      "parents": [
        "604e598e2abca37c84d6cd3c84ad8fa5295fb327"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Apr 13 13:36:42 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Apr 17 14:51:44 2017 -0400"
      },
      "message": "Convert placement to new uwsgi mode\n\nThis converts the placement API to use the new WSGI_MODE variable\n(which is not introduced until the next changeset). We do this so that\nplacement and keystone patches can be reviewed independently, but\nthere are some hidden coupling of mod_wsgi setup which happens only in\nkeystone, so if we do keystone first, it breaks placement.\n\nChange-Id: Id5b2c67701bcc7b12c8e3764c7199d10f85df80f\n"
    },
    {
      "commit": "f3b2f4c85307b14f115a020f5eaf6c92026b55b4",
      "tree": "1f9180b6b7271a9b232bf08145ad37308fbee219",
      "parents": [
        "2f8c88e0532b6b712cc386a9c15d833d3629b19a"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Apr 13 10:11:48 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Apr 17 07:27:32 2017 -0400"
      },
      "message": "Remove USE_SSL support\n\ntls-proxy is the way we\u0027re now doing a standard install using https\nbetween services. There is a lot more work to make services directly\nhandle https, and having python daemons do that directly is a bit of\nan anti pattern. Nothing currently tests this in project-config from\nmy recent grepping, so in the interest of long term maintenance,\ndelete it all.\n\nChange-Id: I910df4ceab6f24f3d9c484e0433c93b06f17d6e1\n"
    },
    {
      "commit": "c2c89e4b35a9ad5fb1a2670943328a9725b37001",
      "tree": "e0567d2295f89812b7b8025091bbfc87ace4b6f9",
      "parents": [
        "713f17c1d29f097d7d65e243c97a026867bf9363"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu Feb 23 20:15:47 2017 -0600"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Mon Mar 06 14:03:04 2017 -0600"
      },
      "message": "Use KEYSTONE_SERVICE_URI consistently\n\nlib/keystone builds KEYSTONE_SERVICE_URI so that other services\ndon\u0027t need to reconstruct the identity URI. Many services already\nuse it, but some parts were still building the identity URI from\nthe different parts.\n\nThis will allow changing the identity URI to include a path\n(e.g., to http://\u003chost\u003e/identity) in 1 place rather than in\nmultiple places.\n\nChange-Id: I58cbdbe591d8869807545e0815480fc3375e0479\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": "80b1d0ae7db263dada7fdc4d9d8190d0518b8f6c",
      "tree": "d078b26c39de51374bfb933ceb530aab841df9ea",
      "parents": [
        "72bfe17b6ae633edb4dc02dc72691faf4649d08c"
      ],
      "author": {
        "name": "Jens Rosenboom",
        "email": "j.rosenboom@x-ion.de",
        "time": "Wed Jan 04 16:58:04 2017 +0100"
      },
      "committer": {
        "name": "Jens Rosenboom",
        "email": "j.rosenboom@x-ion.de",
        "time": "Wed Jan 04 16:58:04 2017 +0100"
      },
      "message": "Fix placement service for identity-v3\n\nThe domain_name to be used needs to be $SERVICE_DOMAIN_NAME, as this is\nchanged in devstack from \"Default\" to \"service\".\n\nChange-Id: I6351c1b2ca7ea4448e13eb87455bff4058df4fa7\n"
    },
    {
      "commit": "70a620846483c3f65500dbfe26aef7f3dc1ce50c",
      "tree": "b791e619d6bfdca5dd9d80d5dde831630390488b",
      "parents": [
        "894cbd654591b0cb2ff66d99af3175fb4f39902c"
      ],
      "author": {
        "name": "Sylvain Bauza",
        "email": "sbauza@redhat.com",
        "time": "Tue Dec 20 15:34:29 2016 +0100"
      },
      "committer": {
        "name": "Sylvain Bauza",
        "email": "sbauza@redhat.com",
        "time": "Wed Dec 21 15:33:52 2016 +0000"
      },
      "message": "Placement service only using default HTTPd ports\n\nThe placement API configuration was binding a specific port *and* was supporting\nto be called by the default HTTPd ports using a Location directive.\n\nGiven that the corresponding service catalog entry for the placement service type\ndoesn\u0027t mention the specific application port but is rather using the default\nport 80, we can remove that specific port and just use the default config.\n\nNote that we still need to use a VirtualHost directive for the specific placement\nconfig because ErrorLog is only scoped for either server or virtualhost but can\u0027t\nbe set for a Location (or a Directory) context.\n\nChange-Id: I9a26dcff4b879cf9e82e43a3d1aca2e4fe6aa3e6\n"
    },
    {
      "commit": "51a225c5d7f7d8655be62cab0e4d677b6839f35a",
      "tree": "20be83f21fc11197eaf833dfd7ac03d10210701c",
      "parents": [
        "c95ca63ae3acdc3ebc36ab4efdfd874993ce72cc"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 15 16:32:08 2016 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 15 16:32:08 2016 -0500"
      },
      "message": "Create mechanism for enabling placement-client on subnodes\n\nWhen doing multinode devstack we need a way to specify that we\u0027ve\nenabled for the placement service. We use a pseudo service of\nplacement-client for this.\n\nChange-Id: I04a655fbc58913b3d607400a7f677be299499142\n"
    },
    {
      "commit": "44bf88cd3990c5255e1a0b94842446b8a472b87d",
      "tree": "8cb544fe6fcfbbbb3488e0dda8a17908e0d1f331",
      "parents": [
        "43ff27b7e8e9d209d8f1fc0483da717296be93bc"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Wed Aug 31 10:39:46 2016 -0400"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Wed Aug 31 10:39:46 2016 -0400"
      },
      "message": "Fix region name placement config option\n\nThe placement config option for setting the region is\nactually \u0027os_region_name\u0027, not \u0027region_name\u0027, see:\n\nhttps://review.openstack.org/#/c/358797/13/nova/conf/placement.py\n\nChange-Id: I62e79c6860e2329428e3115d14ee86f5ff15d7e8\n"
    },
    {
      "commit": "43ff27b7e8e9d209d8f1fc0483da717296be93bc",
      "tree": "e6a052824b3d170e01ffd26a322213aebe0388c4",
      "parents": [
        "79722563a67d941a808b02aeccb3c6d4f1af0c41"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Aug 30 21:13:15 2016 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Aug 30 21:14:34 2016 -0400"
      },
      "message": "Use wsgi-script installed nova-placement-api\n\nWe should use the standard install nova-placement-api script which is\nmanaged by the python package instead of a one off copy procedure.\n\nDepends-On: I00d032554de273d7493cfb467f81687c08fd5389\n\nChange-Id: I74b39d6a0cedea7c18ce8080dcddb43d13df1de8\n"
    },
    {
      "commit": "4d6017566a2fd550b418609c8452e6cf35dd29a7",
      "tree": "97be48d39229c91d27ee17ea3f9e4c073f2fd4ae",
      "parents": [
        "23fc4e034289fc57e55726e73f2d792445a46c1f"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "cdent@anticdent.org",
        "time": "Tue Jul 12 19:34:09 2016 +0000"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "cdent@anticdent.org",
        "time": "Tue Aug 30 12:49:47 2016 +0000"
      },
      "message": "Add support for placement API to devstack\n\nUses lib/placement, but relies on some functionality from\nlib/nova. This leads to some weirdness since the nova has\nspecial status in stack.sh. If/when placement is extracted\nit may be good to follow the devstack plugin structure\ninstead.\n\nBecause the placement code is currently a part of nova, there\nare dependencies in lib/placement on a some $NOVA_* variable\nand, if virtenv is being used, the virtualenv used by nova.\n\nBecause placement currently runs using nova\u0027s configuration\nsettings, not a lot actually happens in lib/placement: apache\nis configured and keystone accounts and endpoints are created.\n\nIf PLACEMENT_DB_ENABLED is true then a separate placement db\nwill be configured.\n\nWhen complete the initial version of the placement service will\nprovide support for managing resource providers, inventories and\nallocations.\n\nThe placement api only runs under mod-wsgi.\n\nChange-Id: I53dd3e6b41de17387a0e179fc9ac64c143b6a9eb\n"
    }
  ]
}
