)]}'
{
  "log": [
    {
      "commit": "d37119e797d3140aeb0038a1129ce5e9016c1a36",
      "tree": "2b795d00e5b580e480a14ac62c7776aeb4538400",
      "parents": [
        "950a3770c390b7956c8b6681718d626e839eef92",
        "c5853ac1afe79c9b96a2c4cbd30069566ab12955"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Thu Dec 07 11:00:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Dec 07 11:00:29 2017 +0000"
      },
      "message": "Merge \"Allow plugins to express dependency info\""
    },
    {
      "commit": "c5853ac1afe79c9b96a2c4cbd30069566ab12955",
      "tree": "48e692219ee24b2a6bf6466cf00f83cb5bb9d73b",
      "parents": [
        "e03b6bd8f8d14db3533b68a0cb97e4baad901dc1"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Tue Nov 21 09:44:42 2017 -0800"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Tue Nov 21 16:33:23 2017 -0800"
      },
      "message": "Allow plugins to express dependency info\n\nAdd a no-op function, \"plugin_requires\" to allow plugins to indicate\ntheir dependencies on each other.  This will be used by the Devstack\nAnsible module when writing local.conf files.\n\nAlso add define_plugin to allow plugins to indicate their canonical\nnames.\n\nChange-Id: Ibd8c7222ed7dfb08d7ea821d871fc6f3b88de24b\n"
    },
    {
      "commit": "4caa9c35805b0b458f1245c3f293802625755db4",
      "tree": "961f4fbf9d0533205c879ff39e517a43c8b2886a",
      "parents": [
        "e03b6bd8f8d14db3533b68a0cb97e4baad901dc1",
        "3b815a3cb2537885b501ad559bfd69ad5efb9085"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Nov 21 20:04:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 21 20:04:29 2017 +0000"
      },
      "message": "Merge \"Provide finite value for systemd\u0027s TimeoutStopSec\""
    },
    {
      "commit": "2647fc2ac1079836c558fc1062bffcaec002cd15",
      "tree": "dc3bc4728bb69724b77b82bd99054460590b6d31",
      "parents": [
        "8c5e960fd1a36c06720680b32931d53bcf98c602",
        "b8335eebe88f5ebe0c1d42344ced60e55ead3c5e"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Nov 15 00:05:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 15 00:05:24 2017 +0000"
      },
      "message": "Merge \"Drop support for \"kvmibm\" distro\""
    },
    {
      "commit": "3b815a3cb2537885b501ad559bfd69ad5efb9085",
      "tree": "6838239b43c756af84a869636fdb6b0ba6b23040",
      "parents": [
        "2e3c96a3ad1672eeddbc4a9a7d3eeda6a68e88be"
      ],
      "author": {
        "name": "Michał Dulko",
        "email": "mdulko@redhat.com",
        "time": "Tue Nov 14 16:04:51 2017 +0100"
      },
      "committer": {
        "name": "Michał Dulko",
        "email": "mdulko@redhat.com",
        "time": "Tue Nov 14 16:12:56 2017 +0100"
      },
      "message": "Provide finite value for systemd\u0027s TimeoutStopSec\n\nThis commit switches TimeoutStopSec in DevStack\u0027s systemd unit files\nfrom \"infinity\" to \"300\". There are two motivations for that change:\n\n* 5 minutes should be more than enough to stop a service.\n* systemd included in CentOS 7 and RHEL 7 doesn\u0027t support \"infinity\" as\n  a value, \"0\" should be provided instead. When \"infinity\" is set,\n  systemd will kill the service instantly, leaving service children\n  processes orphaned. Instead of differentiating here, we can just set a\n  sane, finite number.\n\nCloses-Bug: 1731275\nChange-Id: I0a079ea9879fa4fbba23104c2f5ab6e0721a2a2a\n"
    },
    {
      "commit": "e4eef81c2bd257e890be636a7a9fd4cb61ea3d5b",
      "tree": "281ad49321210b476ac98b779289b95ce024fb35",
      "parents": [
        "2b97a81640df1f8d537d6cf7b291f15d8f084a18",
        "ef60f2b7180f269a53f405efa7449618eddf86a1"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 10 22:04:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 10 22:04:56 2017 +0000"
      },
      "message": "Merge \"Enable reloadable config in services\""
    },
    {
      "commit": "2b97a81640df1f8d537d6cf7b291f15d8f084a18",
      "tree": "f6c6b698e7dd502a5b675c4158196b2445d6a4a6",
      "parents": [
        "a29329b55983d69c3966e1699f985be8cdf6e59d"
      ],
      "author": {
        "name": "Radoslav Gerganov",
        "email": "rgerganov@vmware.com",
        "time": "Tue Oct 10 16:51:12 2017 +0300"
      },
      "committer": {
        "name": "Radoslav Gerganov",
        "email": "rgerganov@vmware.com",
        "time": "Tue Oct 10 16:53:18 2017 +0300"
      },
      "message": "Remove references to $USE_SCREEN in comments\n\nThe USE_SCREEN variable is not used any more\n\nChange-Id: I29ad9cdb6c8498404502d91fbc4e1299bf4a633e\n"
    },
    {
      "commit": "b8335eebe88f5ebe0c1d42344ced60e55ead3c5e",
      "tree": "ccec327c9490de0e51b9764c97de7adea1c6173f",
      "parents": [
        "a29329b55983d69c3966e1699f985be8cdf6e59d"
      ],
      "author": {
        "name": "Markus Zoeller",
        "email": "mzoeller@de.ibm.com",
        "time": "Tue Sep 26 08:32:50 2017 +0200"
      },
      "committer": {
        "name": "Markus Zoeller",
        "email": "mzoeller@de.ibm.com",
        "time": "Tue Oct 10 11:08:09 2017 +0200"
      },
      "message": "Drop support for \"kvmibm\" distro\n\nThe IBM hypervisor distro \"KVM for IBM z Systems\" gets discontiued,\nlike announced in March 2017 [1]. The key dates are:\n\n* 03/2017: announcement\n* 08/2017: the last day to order (EOM)\n* 03/2018: the End of Service (EOL)\n\nAs the CI which tests OpenStack with KVM on IBM Z doesn\u0027t rely on this\ndistro anymore and EOM has reached, we remove the Devstack support for\nthis distro.\n\nThis basically reverts commit a5ea08b of Dec 2015.\n\nNOTE: This doesn\u0027t affect other distros which have KVM on Z support.\n\nReferences:\n[1] FAQ for KVM for IBM z Systems Delivery Strategy Change\n    https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid\u003dZSQ03110USEN\u0026\n\nChange-Id: I009ae4779588615633bff81d0c47a1b879ec9279\n"
    },
    {
      "commit": "7c9542eb023abd7b044d7e861edace4d42fc7c02",
      "tree": "d8428399bdd7f3bea68047d2921d10f24a237f2d",
      "parents": [
        "d8548008e6f8699175c84fd52f9de3ec7732f4ec",
        "5ef8a125cc3a8b8f461a9636001c0ad7f6f88957"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 28 12:16:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 28 12:16:50 2017 +0000"
      },
      "message": "Merge \"Install minimal lsb-release package on openSUSE\""
    },
    {
      "commit": "4a50053c74ed3a9cfe265762e3dd3d853557736f",
      "tree": "f1be0271763a15106f678e2afe92b3774953c39c",
      "parents": [
        "2ede133ed766e2b51de04e421183e5e5254537fb",
        "7617ac208596665061453dfa04b75e4cc8a76ac9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Sep 25 13:37:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Sep 25 13:37:32 2017 +0000"
      },
      "message": "Merge \"Make is_ipv4_address a bit more robust\""
    },
    {
      "commit": "5ef8a125cc3a8b8f461a9636001c0ad7f6f88957",
      "tree": "41d1ea96ee56fed253882a92b4fb4246d727e1d3",
      "parents": [
        "0a97e5618641ab7f66c570aa30b8b805848b5a95"
      ],
      "author": {
        "name": "Dirk Mueller",
        "email": "dirk@dmllr.de",
        "time": "Mon Sep 25 13:08:51 2017 +0200"
      },
      "committer": {
        "name": "Dirk Mueller",
        "email": "dirk@dmllr.de",
        "time": "Mon Sep 25 13:09:43 2017 +0200"
      },
      "message": "Install minimal lsb-release package on openSUSE\n\nlsb-release is a dependency of \"lsb\", so it used to work\nbefore just fine as well, but it was installing about 300MB\nof \"stuff\" that we don\u0027t actually need..\n\nChange-Id: I25c7c750cbaeb40bf4f2e8695608c4b1003289ea\n"
    },
    {
      "commit": "5aff50b09d0720042eefc27ce606b16ef5e41eb1",
      "tree": "96633dcf2e728a5882290843dff5a19e73ec50a2",
      "parents": [
        "548198769f2ddd31fc2b89a0390bbb850fdae6f0",
        "5ad4e58868bf48a72841bee313fd2aae61b6ddf7"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 21 19:42:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 21 19:42:27 2017 +0000"
      },
      "message": "Merge \"Display unaccounted time in \"DevStack Component Timing\"\""
    },
    {
      "commit": "7617ac208596665061453dfa04b75e4cc8a76ac9",
      "tree": "104f617282b75eb7146716286f126a5b3edc71e8",
      "parents": [
        "b2330c89196c65662fcf98a2295b7e41b1652b28"
      ],
      "author": {
        "name": "Jens Harbott",
        "email": "j.harbott@x-ion.de",
        "time": "Tue Sep 19 17:43:48 2017 +0000"
      },
      "committer": {
        "name": "Jens Harbott",
        "email": "j.harbott@x-ion.de",
        "time": "Wed Sep 20 08:56:10 2017 +0000"
      },
      "message": "Make is_ipv4_address a bit more robust\n\nStill not ideal, but at least should avoid matching IPv6 addresses.\n\nChange-Id: Ibb64263fdb0308f56c18518289501dd4642dcbad\n"
    },
    {
      "commit": "5ad4e58868bf48a72841bee313fd2aae61b6ddf7",
      "tree": "267dd78f7f147b5d2aad3087e41785e75959fe74",
      "parents": [
        "0ad8fc5be949341fed719ba3fcee5273ef9696f3"
      ],
      "author": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Thu Sep 07 15:33:57 2017 -0700"
      },
      "committer": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Tue Sep 19 08:06:17 2017 -0700"
      },
      "message": "Display unaccounted time in \"DevStack Component Timing\"\n\nIn the \"DevStack Component Timing\" section, display the unaccounted\ntime.\n\nAlso add the units (seconds) to the output to make it clear to viewers.\n\nChange-Id: Iaca82cc54a355f7077e20e548b771e53387f6628\n"
    },
    {
      "commit": "3cc59ab38cec4951e8117fbbcc0e0810c1478337",
      "tree": "4a3da44a7efb6db66b1a2157a9d78bf7cb5dc260",
      "parents": [
        "86bdfffbe0ac887ccf5a027caedf02837262a081",
        "387aadd14e87f2890ad8969c15edbe9f1d218a5a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 19 13:23:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 19 13:23:09 2017 +0000"
      },
      "message": "Merge \"Install neutron rpms/debs when lib/neutron is used\""
    },
    {
      "commit": "b2503f4692ec25978bdb903eaf0382178fd88ce1",
      "tree": "14341b70fbd1f29b9ad1f8858ffaa8157059308b",
      "parents": [
        "cd06b2ee814f1f9ec363e9476a5fe97305a10152",
        "6bd4924cec73908225e6744b1b00dd86cb39d3ed"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 19 01:51:10 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 19 01:51:10 2017 +0000"
      },
      "message": "Merge \"Ignore stderr when checking for Python version\""
    },
    {
      "commit": "cd06b2ee814f1f9ec363e9476a5fe97305a10152",
      "tree": "eeafc9bb490a43476e28cd3e9a70a2f8cb9bfc42",
      "parents": [
        "f56a0ae2eca9c5d77799d85b57ea7dbb7cf601dc",
        "477a962861afe2e859179245d6d39cb41f6c499d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Sep 19 01:49:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Sep 19 01:49:24 2017 +0000"
      },
      "message": "Merge \"Enable graceful shutdown for services\""
    },
    {
      "commit": "6bd4924cec73908225e6744b1b00dd86cb39d3ed",
      "tree": "b4028504f406728d01c3dd6a330971a972417643",
      "parents": [
        "f56a0ae2eca9c5d77799d85b57ea7dbb7cf601dc"
      ],
      "author": {
        "name": "Javier Pena",
        "email": "jpena@redhat.com",
        "time": "Fri Sep 15 15:55:00 2017 +0200"
      },
      "committer": {
        "name": "Javier Pena",
        "email": "jpena@redhat.com",
        "time": "Fri Sep 15 15:57:32 2017 +0200"
      },
      "message": "Ignore stderr when checking for Python version\n\nhttps://review.openstack.org/504171 prevented Python version detection\nfrom failing when python3 is not installed. However, \"which python3\"\nreturns a message in stderr when python3 is not there, and this output\ncan make diskimage-builder get confused when parsing\nsource-repository-images.\n\nChange-Id: Idb649dc341ede73c39954b0432ef3cacf379ed37\n"
    },
    {
      "commit": "f56a0ae2eca9c5d77799d85b57ea7dbb7cf601dc",
      "tree": "23779422e8846947d139e59fc9bd057fd551b3ac",
      "parents": [
        "8172b3634ceb51f1a15b7ed36a2a3d69032fbbd7",
        "4324f4ecd99f3cc50dea585bc8b5a680327e54bc"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 14 23:42:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 14 23:42:06 2017 +0000"
      },
      "message": "Merge \"Fix devstack python detection if python3 is missing\""
    },
    {
      "commit": "4324f4ecd99f3cc50dea585bc8b5a680327e54bc",
      "tree": "242710b385b129d0af2fa780fa623a062cc66aed",
      "parents": [
        "71e07c738d33ba2772c42c21f4db38032f2e17be"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Sep 14 12:59:25 2017 -0600"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Sep 14 13:13:15 2017 -0600"
      },
      "message": "Fix devstack python detection if python3 is missing\n\nOn platforms without python3 installed devstack fails the python\nversion check. This does it more gracefully.\n\nChange-Id: I4d79a41eb2d66852ab1a1aa8bd383f8e3e89cdc0\n"
    },
    {
      "commit": "387aadd14e87f2890ad8969c15edbe9f1d218a5a",
      "tree": "203d35a98c0febb4e3327252cba2c1fc9d298446",
      "parents": [
        "71e07c738d33ba2772c42c21f4db38032f2e17be"
      ],
      "author": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Sep 14 09:25:59 2017 -0600"
      },
      "committer": {
        "name": "Ihar Hrachyshka",
        "email": "ihrachys@redhat.com",
        "time": "Thu Sep 14 12:37:27 2017 -0600"
      },
      "message": "Install neutron rpms/debs when lib/neutron is used\n\nlib/neutron service prefixes are neutron-* not q-*. We should install\nthose packages either way.\n\nThe patch moves files/*/neutron into files/*/neutron-common so that we\ncan correctly match */neutron against service specific dependency files\n(f.e. */neutron-agent) and load the common packages if any neutron-*\nservice is present.\n\nChange-Id: I57b36f2ed3f33737223a35d9ed734bb414f31e0b\n"
    },
    {
      "commit": "35a0c573b36236c8d73a0699cc7882170787f494",
      "tree": "22c30c9c6ade345e3563f1f11888d38e186d9a97",
      "parents": [
        "91f62818c3ab5f7f7cee11df7a7b7d3ce290ecb8"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Sun Sep 10 15:37:56 2017 -0700"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Sun Sep 10 15:38:21 2017 -0700"
      },
      "message": "Update gate clone error message for Zuul v3\n\nChange-Id: I351de28aa5d5f25187953f1a4502445bc2ce76cc\n"
    },
    {
      "commit": "5b42dcef5d4df2324bf50a7667b4c2f817555238",
      "tree": "d6e08a6e3362af99272a0808118953827af8e361",
      "parents": [
        "80021b8f9fff243b8edad6d9f1139bd080cea608",
        "6d213dfda7d0c3446595ce9edc56408e3924b355"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sun Sep 10 16:59:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Sep 10 16:59:05 2017 +0000"
      },
      "message": "Merge \"Get default python versions from interpreter\""
    },
    {
      "commit": "ef60f2b7180f269a53f405efa7449618eddf86a1",
      "tree": "85e2c8b1a9e4b15a83186ebe5a8b18dab825fb08",
      "parents": [
        "477a962861afe2e859179245d6d39cb41f6c499d"
      ],
      "author": {
        "name": "Dinesh Bhor",
        "email": "dinesh.bhor@nttdata.com",
        "time": "Tue Sep 05 14:40:32 2017 +0530"
      },
      "committer": {
        "name": "Dinesh Bhor",
        "email": "dinesh.bhor@nttdata.com",
        "time": "Fri Sep 08 12:49:00 2017 +0530"
      },
      "message": "Enable reloadable config in services\n\nuwsgi services:\n[1] By default uwsgi is set to exit on reload this breaks config reloading\n    of the service [1][2]. It needs to be set to \u0027false\u0027.\n[2] Requires to add \u0027systemctl reload\u0027 command support by adding ExecReload\n    in unit file.\n\nNon uwsgi services:\n[1] Non uwsgi services only requires to add ExecReload in unit file.\n\nThere was a similar patch submitted by Matthew Treinish [3] but it was\nalready set to workflow +1(not merged as having dependency on other patch)\nand it was having some issues as specified in comment and missing reload\nfunctionality for other services.\n\n[1] https://etherpad.openstack.org/p/uwsgi-issues\n[2] http://uwsgi-docs.readthedocs.io/en/latest/Options.html#exit-on-reload\n[3] https://review.openstack.org/#/c/490904/2\n\nChange-Id: I78f5e9d4574671c74a52af64724946feb41c2d7a\n"
    },
    {
      "commit": "1ad91a7d4b332faf244696545778497ea65137a4",
      "tree": "8146b739e10801f24cb49458a834b861d12262a5",
      "parents": [
        "a7623994bcdb1985a30ed9c5a03a000579da0b23",
        "cdba1b371628aa0e8bc5b687351c5ee9b39e9bc6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Sep 07 13:38:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Sep 07 13:38:03 2017 +0000"
      },
      "message": "Merge \"Remove screen support from devstack completely\""
    },
    {
      "commit": "477a962861afe2e859179245d6d39cb41f6c499d",
      "tree": "59a314a73112284a03333241ed9758e2350514b1",
      "parents": [
        "63651db44ddef10bc629312707ba6d2a349fbc10"
      ],
      "author": {
        "name": "Matthew Treinish",
        "email": "mtreinish@kortar.org",
        "time": "Fri Aug 04 11:09:26 2017 -0400"
      },
      "committer": {
        "name": "Dinesh Bhor",
        "email": "dinesh.bhor@nttdata.com",
        "time": "Wed Sep 06 11:55:04 2017 +0530"
      },
      "message": "Enable graceful shutdown for services\n\n1] Process using uwsgi:\n   uwsgi services doesn\u0027t support for graceful shutting down [1].\n   It requires some changes in unit files [2] including adding below\n   graceful shutdown hook and changing KillSignal:\n      --hook-master-start \"unix_signal:15 gracefully_kill_them_all\n   All the steps and changes required are specified in etherpad [1].\n\n2] Non uwsgi services needs below changes:\n   In [service] section:\n   a. Add KillMode \u003d process\n   b. Add TimeoutStopSec \u003d infinity\n\nNOTE:\nCreating unit file for services other than uwsgi is handled by the\n\u0027write_user_unit_file\u0027 function [3]. This function is common for all\nthe services so this patch adds the above mentioned parameters for\nservices using ServiceLauncher also though they don\u0027t require.\n\nAdded a new stackrc variable WORKER_TIMEOUT which is required to add\ngraceful shutdown support to uwsgi services. It will be set as a value\nto \u0027worker-reload-mercy\u0027 [4] in uwsgi file of service. The default\nvalue set to this variable is 90.\n\n[1] https://etherpad.openstack.org/p/uwsgi-issues\n[2] https://www.freedesktop.org/software/systemd/man/systemd.kill.html\n[3] https://github.com/openstack-dev/devstack/blob/2967ca3dfd0d64970dfa5dfa7ac2330ee7aa90ed/functions-common#L1439-L1461\n[4] http://uwsgi-docs.readthedocs.io/en/latest/Options.html#worker-reload-mercy\n\nCo-Authored-By: Dinesh Bhor \u003cdinesh.bhor@nttdata.com\u003e\nChange-Id: Ia95291325ce4858b47102dd49504250183f339ab\n"
    },
    {
      "commit": "cdba1b371628aa0e8bc5b687351c5ee9b39e9bc6",
      "tree": "b13e396dbb3826eb76413d9a56c59503bda68138",
      "parents": [
        "d84f10c10b66e4c909880e6c0b5e588981845ccf"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Aug 30 11:11:06 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Sep 01 15:08:17 2017 -0400"
      },
      "message": "Remove screen support from devstack completely\n\nThis tears out the alternative path of using screen, so that we only\nuse systemd enabled paths. This simplifies the number of ways that\ndevstack can be run, and provides a much more reliable process\nlauncher than the screen based approach.\n\nChange-Id: I8c27182f60b0f5310b3a8bf5feb02beb7ffbb26a\n"
    },
    {
      "commit": "6d213dfda7d0c3446595ce9edc56408e3924b355",
      "tree": "7e074f794f15e2c10c64e6e8db5cff586f42733b",
      "parents": [
        "c5aca3c99660a65f9e690b93f7f260ff7cf30c15"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Aug 22 16:05:16 2017 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Aug 25 11:26:37 2017 +1000"
      },
      "message": "Get default python versions from interpreter\n\nQuery the python2/python3 interpreter for it\u0027s version to fill in\nPYTHON3_VERSION and PYTHON2_VERSION defaults.  This means on a\npython3.6 platform such as Fedora 26, we don\u0027t need to override the\ndefault.\n\nChange-Id: Id826f275b99b9f397b95e817941019fc503daa1d\n"
    },
    {
      "commit": "5158486124814cbf032c0e79413c6f856225fd98",
      "tree": "445a86e27d3983aa9b07a05372b960f04f992b56",
      "parents": [
        "c5aca3c99660a65f9e690b93f7f260ff7cf30c15"
      ],
      "author": {
        "name": "Omer Anson",
        "email": "omer.anson@toganetworks.com",
        "time": "Thu Aug 24 17:47:37 2017 +0300"
      },
      "committer": {
        "name": "Omer Anson",
        "email": "omer.anson@toganetworks.com",
        "time": "Thu Aug 24 17:47:37 2017 +0300"
      },
      "message": "Add function is_plugin_enabled\n\nAdd a function which tests if a plugin has been enabled with\nenable_plugin. This is helpful if two co-ordinating projects want to run\nspecific setup in devstack in one only if the other is enabled.\n\nChange-Id: Ibf113755595b19d028374cdc1c86e19b5170be4f\n"
    },
    {
      "commit": "2967ca3dfd0d64970dfa5dfa7ac2330ee7aa90ed",
      "tree": "863aba621af471f9b4bcbabea5652e289f730a5a",
      "parents": [
        "cb62ef83365ff7a4edd73b757339a477a432a5b0",
        "3e9b562d0b1f1815597daa5346ba32ef48f868af"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jun 26 23:26:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jun 26 23:26:27 2017 +0000"
      },
      "message": "Merge \"Actually check if roles are set\""
    },
    {
      "commit": "2b06b1a0728706c70835d34a134b25b032fcfee7",
      "tree": "d5578f994aea472d787e2086e87169a5f07a2264",
      "parents": [
        "580a506f250162078f1aaf970f58033bfeb859e9",
        "07b3bc24a3dc30cf4ec7ab2448128bf5a07fbfc0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Jun 26 06:43:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Jun 26 06:43:04 2017 +0000"
      },
      "message": "Merge \"Change restart Always to always\""
    },
    {
      "commit": "3ed001821b5cd2258948660ea35194ab37edb9c5",
      "tree": "fa2febacd3f96fc31c4e8c014c8d16d50451ebd5",
      "parents": [
        "a02b9ba1b195e3ca407cdc657f71b17d706144b6",
        "c087c71834a6eb1d44040142f888b33ffefb5192"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Jun 23 23:41:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Jun 23 23:41:16 2017 +0000"
      },
      "message": "Merge \"Revert \"systemd: Always create the systemd unit files\"\""
    },
    {
      "commit": "c087c71834a6eb1d44040142f888b33ffefb5192",
      "tree": "ee801b59b5772e44fb9d492401c522b6a7b9e734",
      "parents": [
        "15b0a5f1eb849a30bcea9a1e437e9a88ae2c6f92"
      ],
      "author": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@midokura.com",
        "time": "Thu Jun 15 12:10:45 2017 +0000"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Jun 23 15:08:38 2017 +0000"
      },
      "message": "Revert \"systemd: Always create the systemd unit files\"\n\nThis reverts commit 15b0a5f1eb849a30bcea9a1e437e9a88ae2c6f92.\n\nThe change had an assumption that a service\nis properly configured even when it isn\u0027t enabled.\nThe assumption is not true.\n\nChange-Id: Ib5a8ffe63eaec15bc29bfdd133db7169507bab82\nCloses-Bug: #1698129\n"
    },
    {
      "commit": "418bbddc810045102a97ffdb6a5dda8cdda598da",
      "tree": "e095330ac60b7877bd39ec9d5a46a9649718550f",
      "parents": [
        "b24bfac43dbec9c40a7274a6c51b602fc61226cd",
        "85cf2933ccdd70f4f6d505c9aca36f063eddf229"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jun 15 19:36:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jun 15 19:36:32 2017 +0000"
      },
      "message": "Merge \"Provide timings for OSC during devstack run\""
    },
    {
      "commit": "85cf2933ccdd70f4f6d505c9aca36f063eddf229",
      "tree": "98e49583a361c7e2fce212d73e957e8249b51c5a",
      "parents": [
        "6fbd969c85adb53b82457a3fcf879c2b268103bf"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Mar 27 15:35:13 2017 -0400"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Wed Jun 14 16:43:49 2017 -0700"
      },
      "message": "Provide timings for OSC during devstack run\n\nThe OSC number remain high, and it\u0027s useful to understand how much\ntime we spend making OSC calls, especially to surface it relative to\nother items. The way we embed this in our code makes it hard to\ninstrument.\n\nThis patch creates a wrapper function for OSC which collects the timings\nthen aliases `openstack` to that function. This means any invocations of\nthe openstack utility goes through our function while devstack is\nrunning. Because this is an alias it only affects the stack.sh shell and\nany subshells.\n\nThis also moves the time tracking infrastructure to count in ms,\ninstead of s, because some of these operations are close enough to a\nsecond that rounding early is losing way to many significant\ndigits. We divide by 1000 before reporting to the user.\n\nChange-Id: Ic5f1844ce732d447ee980b3c9fdc417f72482609\n"
    },
    {
      "commit": "3e9b562d0b1f1815597daa5346ba32ef48f868af",
      "tree": "288f3176d40bed2f93efe748d2b8ba03567c32b7",
      "parents": [
        "f4b4a79979c22e116964579ef44f8e9bb3713ad2"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Wed Jun 14 15:29:47 2017 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Wed Jun 14 15:35:29 2017 -0700"
      },
      "message": "Actually check if roles are set\n\nIn the helper functions to check if roles are set and if not add the\nrole and return the id we weren\u0027t actually checking if the role was set.\nThe reason for this was we grepped for name values while outputing only\nuuid values with OSC. Fix for this is straightforward, we just add the\n--role argument to OSC which will filter for us then we don\u0027t have to\nuse a grep on the wrong value type.\n\nChange-Id: I2691b347d2a6273100deb4a1750ab353a8e49673\n"
    },
    {
      "commit": "15b0a5f1eb849a30bcea9a1e437e9a88ae2c6f92",
      "tree": "e236464929ab51d5c4c8f95eb915f32d096014f1",
      "parents": [
        "b3ced44e37d7dea38188209b5380f7c2fcd34b1a"
      ],
      "author": {
        "name": "Markus Zoeller",
        "email": "mzoeller@de.ibm.com",
        "time": "Wed May 31 11:21:22 2017 +0200"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Jun 14 14:29:39 2017 +1000"
      },
      "message": "systemd: Always create the systemd unit files\n\nCommit 5edae54 introduced the usage of systemd in Devstack. This allowed\nthe transition away from \u0027screen\u0027. Systemd needs \"user unit files\" to\ndescribe the services. Currently, those unit files get only created when\nan openstack service (n-cpu, c-sch, g-api, ...) is in the list of enabled\nservices (`ENABLED_SERVICES`). This means, when Devstack is fully stacked,\nthere is no way to start the systemd unit of an openstack service which\nis *not* in that list.\n\nThis commit changes that behavior, and creates the systemd unit files\nindependently of the list ENABLED_SERVICES. This means, when Devstack\nis fully stacked, I can start a systemd unit of an openstack service which\nwasn\u0027t in the ENABLED_SERVICES list. This allows more flexible lifecycle\nmanagement of openstack services in the gate, which is useful for tests\nwhich test components which are not in the \"default configuration\" (e.g.\nthe \"nova-serialproxy\" service).\n\nThe `clean.sh` script purges all traces of systemd user unit files created\nby devstack.\n\nChange-Id: I0f7e1ee8723f4de47cbc56b727182f90a2b32bfb\n"
    },
    {
      "commit": "07b3bc24a3dc30cf4ec7ab2448128bf5a07fbfc0",
      "tree": "9eb4dda6087b488dc6b46176ef89f17d7be7d9e1",
      "parents": [
        "dc9ef55fc6be8eb7c83115ec19dfc39256c04302"
      ],
      "author": {
        "name": "gong yong sheng",
        "email": "gong.yongsheng@99cloud.net",
        "time": "Mon Jun 05 14:02:28 2017 +0800"
      },
      "committer": {
        "name": "gong yong sheng",
        "email": "gong.yongsheng@99cloud.net",
        "time": "Mon Jun 05 14:04:00 2017 +0800"
      },
      "message": "Change restart Always to always\n\nChange-Id: I1cb00cc012eda72ff50e958ba1fb04daeac69e26\nCloses-bug: #1695822\n"
    },
    {
      "commit": "8085df74a888bcf9451bf57ed9da3585a8b4bb20",
      "tree": "d08f6cb4ab32bf822da8eb4a053d33fcec687294",
      "parents": [
        "ff40f6e2914eb1d2aedad5ecc2b11ddd41623017",
        "e43f60ba2a3a227918e5fdb652a0adc2643f618d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri May 26 19:24:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri May 26 19:24:51 2017 +0000"
      },
      "message": "Merge \"Use the proper keystone endpoints in clouds.yaml\""
    },
    {
      "commit": "3420019d9d86a130008511e4c31004884fc5f321",
      "tree": "66616e6c0ef3a8c3cc19c18b4e47d372f17e918f",
      "parents": [
        "7834f5285f8a4382ebe11ea9fa950820005fdfe3",
        "0effa1a6cb6960b0d1cf82087e6d60c066b7a5f6"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue May 16 14:46:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue May 16 14:46:50 2017 +0000"
      },
      "message": "Merge \"remove some unused *_PROTOCOL from export\""
    },
    {
      "commit": "37a6b0b2d7d9615b9e89bbc8e8848cffc3bddd6d",
      "tree": "8cadf3f6cd0ca26d9b24e9875df9deb95fd82cd2",
      "parents": [
        "d235ca32f972477a23630ef3e3c965a00539be7f",
        "f41bf2a92fab6ffcea48d8b295c04ace4d2fa7ff"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri May 05 19:50:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri May 05 19:50:54 2017 +0000"
      },
      "message": "Merge \"Set SyslogIdentifier for uwsgi processes\""
    },
    {
      "commit": "f41bf2a92fab6ffcea48d8b295c04ace4d2fa7ff",
      "tree": "36b26179b25ee827d2c192d9ea1ce8f71d330824",
      "parents": [
        "b2bfe5617ac43a678a9113d5c955f5456c151319"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri May 05 07:50:52 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri May 05 07:54:26 2017 -0400"
      },
      "message": "Set SyslogIdentifier for uwsgi processes\n\nNow that we aren\u0027t using native journal messages by default, the\nsyslog identifier of all the uwsgi processes is the same. We should be\nmore explicit with those.\n\nChange-Id: Id5406d02407b022d4016517c2e18890973876d88\n"
    },
    {
      "commit": "148d58c3519aca4723edd6eb59fc7150b92e74d7",
      "tree": "551bcdd1d8fe89aa6feba2f08b357f9b599253c5",
      "parents": [
        "8b8441f3becbae2e704932569bff384dcc5c6713"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu May 04 13:08:25 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu May 04 13:08:25 2017 -0400"
      },
      "message": "Make devstack fail early for common systemd pitfalls\n\nThere are a couple of issues that have ended up being hit by devstack\nplugin authors which we can detect and error in a much nicer way\ninstead of them having a cryptic systemd failure.\n\nChange-Id: I45e4ac363aeefb4503015f9e1b57c58f79b58f40\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": "c006bbdeb26df2c60f43d222bdf918f9e24d551f",
      "tree": "efb3de250589ad929f797b4f79b2c91d387247c3",
      "parents": [
        "2eb322ab2e16b017ba71cfcc4d2ce84be8e5869c"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Apr 26 06:57:58 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Apr 28 13:21:22 2017 +0000"
      },
      "message": "make USE_SCREEN\u003dFalse imply USE_SYSTEMD\u003dTrue\n\nIn order to start making the transition in the gate make\nUSE_SCREEN\u003dFalse also mean USE_SYSTEMD\u003dTrue. We\u0027ll never actually\ndeclare USE_SYSTEMD\u003dTrue in the gate (as that doesn\u0027t exist for stable\nbranches), but this will let us roll over the existing transition.\n\nWe also have to install systemd-python 234 because we are recording\nexception info in the journal, and all versions before that had a bug\nin processing that.\n\nRemove the somewhat pointless screen following journalctl commands. We\nreally don\u0027t want or need those, and they tend to build up over time.\n\nDepends-On: I24513f5cbac2c34cf0130bf812ff2df6ad76657c\n\nChange-Id: I6af6d1857effaf662a9d72bd394864934eacbe70\n"
    },
    {
      "commit": "e43f60ba2a3a227918e5fdb652a0adc2643f618d",
      "tree": "56dd25e039300df52f8b570bd96c64aeafdecde0",
      "parents": [
        "a292c5068ce8b285afc1ecfd473c91c8789922d3"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Apr 27 18:27:36 2017 -0500"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Thu Apr 27 19:32:29 2017 -0500"
      },
      "message": "Use the proper keystone endpoints in clouds.yaml\n\nKEYSTONE_SERVICE_API is the keystone endpoint and it is what we should\nuse. The admin url should DIAF - but until it does, it CERTAINLY should\nnot be the thing we put into clouds.yaml.\n\nChange-Id: If8196a04f852f633e0b7548793f68c92376aa6da\n"
    },
    {
      "commit": "1b245cef7f078139f95260b080558422063f363f",
      "tree": "3cc34bf6e331b5bf067bcccc6fbef971e897697b",
      "parents": [
        "e2fb00ebb721d8641485d1d5eb712a408b18b9d6"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Apr 19 15:51:52 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Apr 20 00:19:20 2017 +0000"
      },
      "message": "Cleanup duplicate get_or_add_user_domain_role\n\nIt turns out that we ended up with duplicate versions of this function\nmerging on top of each other within 3 days, and gerrit didn\u0027t catch\nit. Boo gerrit. Boo bash.\n\nChange-Id: Ic6aa2f9bafdec906de2bc51d5929beeec48a6a40\n"
    },
    {
      "commit": "0effa1a6cb6960b0d1cf82087e6d60c066b7a5f6",
      "tree": "cc91610b2e813ea3b872824ca33bb66328489a96",
      "parents": [
        "227661e88109fa85b352f758c28342efbf7195b9"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Apr 18 15:16:37 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Apr 18 15:16:37 2017 -0400"
      },
      "message": "remove some unused *_PROTOCOL from export\n\nThings like SERVICE_PROTOCOL and KEYSTONE_AUTH_PROTOCOL shouldn\u0027t\nreally be exported in openrc as they encourage using them directly to\nbuild up keystone urls instead of actually using the OS_AUTH_URL.\n\nRemove them.\n\nChange-Id: I4b7cc680f7f14dae29b706a227be540c9e212cad\n"
    },
    {
      "commit": "602e2e93b69b048fb48a043258bd842659a98066",
      "tree": "e7ebe984f3c907a186b32e997bfd5f7d1e777d18",
      "parents": [
        "03fbc0d71bf4ee85820999ef1324dc319ef9d926",
        "9c5ffd8d132866bd6120696e138e5b7b42dc3f23"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Apr 07 22:37:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Apr 07 22:37:24 2017 +0000"
      },
      "message": "Merge \"Handle uwsgi on systemd properly\""
    },
    {
      "commit": "03fbc0d71bf4ee85820999ef1324dc319ef9d926",
      "tree": "f200b41d62749c0819d9b364bd8cde0af8e94a28",
      "parents": [
        "ec60d050f5528ccad53eb22a08ff0e96cea10132",
        "682e0abe1a58edcdde40a92df1f060dc8fa758c8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Apr 07 00:37:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Apr 07 00:37:36 2017 +0000"
      },
      "message": "Merge \"Do not use libvirt-bin package anymore\""
    },
    {
      "commit": "9c5ffd8d132866bd6120696e138e5b7b42dc3f23",
      "tree": "7cb1207cdf582a8ecb265a708335120c93405c82",
      "parents": [
        "def07b21f86ee70cae223785f0195c91de1f2b64"
      ],
      "author": {
        "name": "Matthew Treinish",
        "email": "mtreinish@kortar.org",
        "time": "Wed Mar 29 16:47:57 2017 -0400"
      },
      "committer": {
        "name": "Matthew Treinish",
        "email": "mtreinish@kortar.org",
        "time": "Mon Apr 03 12:38:29 2017 -0400"
      },
      "message": "Handle uwsgi on systemd properly\n\nuwsgi is a different service type under systemd and shouldn\u0027t be run as\na standard oneshot type. The uwsgi docs outline a good pattern for\nwriting systemd unit files:\n\nhttp://uwsgi-docs.readthedocs.io/en/latest/Systemd.html\n\nThis commit takes those suggestions and creates a separate path for\nwriting uwsgi unit files.\n\nChange-Id: I9b541b86781afdded311dba058cedd783e1a0dfa\n"
    },
    {
      "commit": "5edae54855b6b9af4283cef07e0b0d1a0f90cd3e",
      "tree": "38a1c4516ffc6f472f455363fac5bd24c5b65425",
      "parents": [
        "fb73a8fc6fa8cdc826b10c47490bc47cd0e6776a"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Mar 21 20:50:24 2017 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Mar 28 07:19:15 2017 -0400"
      },
      "message": "initial work to enable systemd service running\n\nDuring the PTG there was a discussion that the screen developer\nworkflow wasn\u0027t nearly as useful as it once was. There were now too\nmany services to see them all on one screen, and one of the most\ncommon service restart scenarios was not restarting one service, but a\nbunch to get code to take effect.\n\nThis implements a 3rd way of running services instead of direct\nforking via bash, or running under screen, which is running as systemd\nunits.\n\nLogging is adjusted because it\u0027s redundant to log datetime in oslo.log\nwhen journald has that.\n\nSwift needed to have services launched by absolute path to work.\n\nThis is disabled by default, but with instructions on using it. The\nlong term intent is to make this the way to run devstack, which would\nbe the same between both the gate and local use.\n\nSome changes were also needed to run_process to pass the run User\nin. A hack around the keystone uwsgi launcher was done at the same\ntime to remove a run_process feature that only keystone uwsgi uses.\n\nChange-Id: I836bf27c4cfdc449628aa7641fb96a5489d5d4e7\n"
    },
    {
      "commit": "682e0abe1a58edcdde40a92df1f060dc8fa758c8",
      "tree": "7a75f8824516470bfe44f97bb894e1ac458008e4",
      "parents": [
        "dab52d755481500dce3bf5f990037cde5d8022eb"
      ],
      "author": {
        "name": "David Rabel",
        "email": "rabel@b1-systems.de",
        "time": "Fri Mar 17 19:19:00 2017 +0100"
      },
      "committer": {
        "name": "David Rabel",
        "email": "rabel@b1-systems.de",
        "time": "Fri Mar 24 10:44:10 2017 +0100"
      },
      "message": "Do not use libvirt-bin package anymore\n\nThe package libvirt-bin is a transitional package in Debian and should\nnot be used anymore.\n\nUbuntu Xenial is an exception here.\n\nBecause of that this change also adds the possibility to use \"not:\" to\nexclude distros in files/debs/* just as \"dist:\" limits distros.\n\nDepends-On: Icc59ea79f54d4ff8751f2e353ee3530fff3d961e\nCloses-Bug: #1673840\nChange-Id: I3998a7178d14ec40eae5cb199d66da9546cd6ccf\n"
    },
    {
      "commit": "6523d6e09789076d0a430bf7b608511fcb1c406a",
      "tree": "d96213973217dd7ff0611091f6facdced64a31ce",
      "parents": [
        "73a3e2decd2e7d9fd652fb40c4e697794d9abd05",
        "afef8bf097356d7bb37c57d0daa44653c7905c17"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Mar 08 13:31:57 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Mar 08 13:31:57 2017 +0000"
      },
      "message": "Merge \"Make declared variables global\""
    },
    {
      "commit": "afef8bf097356d7bb37c57d0daa44653c7905c17",
      "tree": "0aa5c440428469fa0160285cab3ca6e5573135b2",
      "parents": [
        "6f23555c959ce2a121d57c27a7460815808ac2b6"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Mar 06 14:07:23 2017 -0500"
      },
      "committer": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Tue Mar 07 22:07:29 2017 -0800"
      },
      "message": "Make declared variables global\n\nWhen variables use the \u0027declare\u0027 directive, it is by default a local\nvariable. While other variables have global scope.\n\nFor example:\n   declare -A AN_ARRAY   # local in scope\n   foo\u003d1                 # global in scope\n\nThis causes errors to occur as some of the variables will be local only\nand others will be global.\n\nUpdate the code, as appropriate, so that variables using the \u0027declare\u0027\ndirective also include the \u0027-g\u0027 flag to have them also be global. Not\nevery instance of a declared variable has been updated.\n\nCloses-Bug: #1669509\nCo-Authored-By: John L. Villalovos \u003cjohn.l.villalovos@intel.com\u003e\nChange-Id: I2180b68fe861ad19c6d4ec0df0f9f8a528347862\n"
    },
    {
      "commit": "b9ed1ffc7d9165b906b5fe3a71ddc2a8f66e1ce0",
      "tree": "2c3f690b90b30b122a4cef45a3c6b64268fad2c4",
      "parents": [
        "06d6fcf8617e402bd8182f7decb8788403865e8d",
        "9d49ed983435cd0ff3791224dff47a4d51f0bf01"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 03 02:53:05 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 03 02:53:05 2017 +0000"
      },
      "message": "Merge \"Added printing exit code of component process if it failed to start\""
    },
    {
      "commit": "71640bfe39d6aec8894e05cf4efb52ae06e20eed",
      "tree": "50c72f37a21082687f5e9c7ab448b4d5b56f31a7",
      "parents": [
        "0072abbf11939a9ab4b5be9f5417b1f463dd4e3d",
        "ff10ac318ce4be49d8bceafb7fea92ae1655b497"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Feb 25 16:02:50 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Feb 25 16:02:50 2017 +0000"
      },
      "message": "Merge \"Remove distro support based on new libvirt minimum\""
    },
    {
      "commit": "ff10ac318ce4be49d8bceafb7fea92ae1655b497",
      "tree": "0c53e834d7a3b8854d51b0b6d56fb2783d8d9c3c",
      "parents": [
        "e0a37cf21e43fbb4ba3f9f8fa5321a0a0e1bedf1"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Mon Feb 13 12:44:24 2017 -0500"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Mon Feb 13 16:31:39 2017 -0500"
      },
      "message": "Remove distro support based on new libvirt minimum\n\nNova is going to increase the minimum required libvirt\nin Pike to 1.2.9 in change:\n\nI9a972e3fde2e4e552f6fc98350820c07873c3de3\n\nBased on the libvirt distro support matrix wiki [1] that\ndrops support for Ubuntu Trusty and Debian 7.0/Wheezy.\n\nTrusty has libvirt 1.2.2 and Wheezy has 0.9.12 (the Wheezy\nsupport should have been removed long ago apparently). The\n7.0 removed here is for Wheezy also based on commit\nb2ef890db3d78b24f9da2f4dd80502165c669ad0.\n\nThis does not undo the check for \"trusty\" with the\nEBTABLES_RACE_FIX in lib/nova_plugins/function-libvirt\nsince you can still force devstack to run on Trusty if\nyou specify the FORCE\u003dyes variable.\n\nNote that RHEL 7.1 has libvirt 1.2.8 so it won\u0027t technically\nwork with devstack and nova + pike + libvirt, but with the\nway os_RELEASE is calculated the minor version is dropped\nfor RHEL distros so we just get \"rhel7\".\n\nAlso note that this doesn\u0027t attempt to continue supporting\nTrusty or Wheezy if nova is not configured to use libvirt,\nsimply in order to start moving forward on devstack distro\nsupport in general and to keep some sanity and closeness\nto what we test with in the CI system.\n\nWhile we\u0027re in here, we also drop Fedora 23 and add\nUbuntu Zesty.\n\n[1] https://wiki.openstack.org/wiki/LibvirtDistroSupportMatrix\n\nDepends-On: I9a972e3fde2e4e552f6fc98350820c07873c3de3\nDepends-On: If69f99bd789e646b0261e27a8a061efde32436f7\n\nChange-Id: I6617283afd798af37e64913b7865cea3c8a62aba\n"
    },
    {
      "commit": "11eb2017ef70a758c54cc984e90e445205886e7e",
      "tree": "b7464d71ba85227fef12d21e58b874ef3451eca1",
      "parents": [
        "6bd3561e9db3175f07299818ddb46a8ac7c72a12"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Feb 13 16:16:59 2017 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Feb 13 16:16:59 2017 -0500"
      },
      "message": "simplify endpoints used in devstack\n\nThe proliferation of internal/admin endpoints is mostly legacy and\nbased on some specific deployment patterns. These are not used by\neveryone, and for the devstack case aren\u0027t really that useful. We\nshould simplify our service catalog down to the minimum we need for\ndevelopment.\n\nChange-Id: Ided7a65c81b3a0b56f0184847fc82e17c29a771e\n"
    },
    {
      "commit": "9d49ed983435cd0ff3791224dff47a4d51f0bf01",
      "tree": "348dd9b2cf5f567e4bbef44cbdeabc535f941b54",
      "parents": [
        "d89b175321ac293454ad15caaee13c0ae46b0bd6"
      ],
      "author": {
        "name": "Joanna Taryma",
        "email": "joanna.taryma@intel.com",
        "time": "Mon Feb 06 11:30:15 2017 -0800"
      },
      "committer": {
        "name": "Joanna Taryma",
        "email": "joanna.taryma@intel.com",
        "time": "Mon Feb 06 11:30:15 2017 -0800"
      },
      "message": "Added printing exit code of component process if it failed to start\n\nWhen command failed and component failed to start, original exit code\nwas overwritten due to original command being executed in background.\nThis commit adds information about command\u0027s exit code to echoed message\nabout component\u0027s start up failure.\n\nChange-Id: I8a3dd485b1b1f2d70d42c5610baac7c0c713f53a\nSigned-off-by: Joanna Taryma \u003cjoanna.taryma@intel.com\u003e\n"
    },
    {
      "commit": "51ecf0a869720ae5e8845b95fd2973b2760dcecf",
      "tree": "3893a7edd1ec93d561ca6e230c0f0dfbd4770dc6",
      "parents": [
        "281c5c22ce7f4e7d367f689488e15ad77695a183"
      ],
      "author": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Thu Jan 05 16:11:17 2017 -0500"
      },
      "committer": {
        "name": "Davanum Srinivas",
        "email": "davanum@gmail.com",
        "time": "Thu Jan 05 18:41:29 2017 -0500"
      },
      "message": "Introduce a PYTHON env var\n\n* $PYTHON will have the path to python runtime to be used\n* Use $PYTHON to run all the scripts\n\nChange-Id: Ib5ab7820fc18cae5e50ea47302b610494197ad47\n"
    },
    {
      "commit": "fefd3e9c460b9689a8febede2dc731ba12cb32d6",
      "tree": "ad807fe9580ddc70c86abaf829490f5ff29e465b",
      "parents": [
        "de7b435b144400567d2f91d57b955f913bdcab0f",
        "8b1bbd690c3aea36dea804542c1bc56274b2ad31"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 03 19:53:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 03 19:53:44 2017 +0000"
      },
      "message": "Merge \"Make deprecated() output to stderr\""
    },
    {
      "commit": "95ed7c6f0513debdc0c692e78b898c08b84eab99",
      "tree": "e66bc3451d61f1f70ff0b93aba4911998de6cc36",
      "parents": [
        "894cbd654591b0cb2ff66d99af3175fb4f39902c"
      ],
      "author": {
        "name": "Zane Bitter",
        "email": "zbitter@redhat.com",
        "time": "Tue Dec 20 17:29:14 2016 -0500"
      },
      "committer": {
        "name": "Zane Bitter",
        "email": "zbitter@redhat.com",
        "time": "Tue Dec 20 20:29:06 2016 -0500"
      },
      "message": "Don\u0027t buffer log output in sed\n\nServices that run inside Apache use tail -f on the corresponding log\nfile to display output in the screen session. However, they also use sed\nto replace some control characters, and this means that the output is\nbuffered. This results in debugging experiences that range from\n\"impossible\" (the log you want isn\u0027t shown) to \"Kafkaesque nightmare\"\n(the log you want isn\u0027t shown, except that sometimes it is, and\nsometimes it isn\u0027t even though you double-checked and you\u0027re completely\nsure that you must have output a log, but when you check back later you\nrealise it actually is and you wonder if history is actually not mutable\nafter all and begin to question what is real and what is not).\n\nThis adds the --unbuffered option to ensure streaming output.\n\nChange-Id: I665ff5f047156401d8152f478d834ac40ff31658\n"
    },
    {
      "commit": "8b1bbd690c3aea36dea804542c1bc56274b2ad31",
      "tree": "61853c0913ead35e0936efc73ac870b98ff3b72b",
      "parents": [
        "c74315e055a770ef3508276442816fffde07cfc6"
      ],
      "author": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@midokura.com",
        "time": "Thu Dec 01 22:29:12 2016 +0900"
      },
      "committer": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@midokura.com",
        "time": "Thu Dec 01 22:31:21 2016 +0900"
      },
      "message": "Make deprecated() output to stderr\n\nSo that it can be used by functions like _determine_config_server,\nwhich is used like RESULT\u003d$(_determine_config_server).\n\nChange-Id: Ia4e641c5529b95ada30ae662221f370bc7fa88a7\n"
    },
    {
      "commit": "9a69a1abfc05a0aab72185347a82d75576476a93",
      "tree": "6ead2ec1cd91c6d66e49214016633668669155a2",
      "parents": [
        "3dd0b2b7728611fcfbf69095b27b9cf28d53c0d4",
        "21d84c29b22fb69b00739ae40d69f80d5182a94e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Nov 29 23:45:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 29 23:45:09 2016 +0000"
      },
      "message": "Merge \"If plugin is enabled multiple times fail\""
    },
    {
      "commit": "f5e78b6fb64ec45b177c2b73468f0ffe04c774e0",
      "tree": "d2f09ce84c618c12a2a357a87a5374723025843a",
      "parents": [
        "e8f90d1e5b67b04db8372b69e52a6ae08f883608",
        "7938d83d3bd37ef63cfea60e188918848ea87858"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Nov 28 10:28:47 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 28 10:28:47 2016 +0000"
      },
      "message": "Merge \"Allow provider network to be used for ssh validation\""
    },
    {
      "commit": "4d61ed5c77809799179a48f13080b1ce49b612f7",
      "tree": "4e1b845ecfd91ee0e50ec0047e1b3967c5118a3c",
      "parents": [
        "9c5b3b110aeacd49ca48315f1bb1f28acc6ef282",
        "90742fc1be7b4ad77bf3fda110d5a9bda4eb2100"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Nov 28 10:06:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 28 10:06:24 2016 +0000"
      },
      "message": "Merge \"Pass branch parameter to git clone\""
    },
    {
      "commit": "bcaadd63d8739b528f0121775d6612aebd333a4f",
      "tree": "191532739118463166c0315ee22fb945b140bc08",
      "parents": [
        "a3bb131c138859367f4529720121fd3eb8e239fd"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Nov 23 12:43:02 2016 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Nov 23 13:20:33 2016 +0100"
      },
      "message": "Apache reload issue when it is stopped\n\nSince 4b49e409f853104dae021dfca1a9342ec9ac4709 devstack\nstarted to use reload instead of restart.\n\nUsing reload in devstack for a fresh install,\ndoes not makes too much sense unless multiple service\nplugin touches the same service configs.\n\nSystemd rejects to reload something,\nwhich was not loaded before.\n\n $ sudo /bin/systemctl reload httpd\n httpd.service is not active, cannot reload.\n\nWe will switch to `reload-or-restart` action instead of `reload`,\nit is more likely the action what the previous patch wanted.\n\nChange-Id: I70d597fbe4a8923d937ba8432e29edefb27d1058\n"
    },
    {
      "commit": "90742fc1be7b4ad77bf3fda110d5a9bda4eb2100",
      "tree": "a6728aeb90580398c3e6a8a5d5edb60b6492c72b",
      "parents": [
        "5dbb826a547195b3cc33ff4f30f6d79d0ae08045"
      ],
      "author": {
        "name": "Jakub Wachowski",
        "email": "jakub.wachowski@ts.fujitsu.com",
        "time": "Fri Nov 18 14:28:47 2016 +0100"
      },
      "committer": {
        "name": "Jakub Wachowski",
        "email": "jakub.wachowski@ts.fujitsu.com",
        "time": "Mon Nov 21 07:42:50 2016 +0000"
      },
      "message": "Pass branch parameter to git clone\n\nWithout this parameter, when we set GIT_DEPTH,\nit may happen that we clone only master and\nthen cannot checkout branch\n\nChange-Id: I39376914f8bfc286a308c99db6bc92cddab195b5\n"
    },
    {
      "commit": "7938d83d3bd37ef63cfea60e188918848ea87858",
      "tree": "e9d483a168b1bfe48937d501b40c91c3a0969996",
      "parents": [
        "7976f31fb956dcb1cbeea92906f5609f0b43acc4"
      ],
      "author": {
        "name": "Michael Turek",
        "email": "mjturek@linux.vnet.ibm.com",
        "time": "Tue Apr 12 14:55:21 2016 -0400"
      },
      "committer": {
        "name": "Michael Turek",
        "email": "mjturek@linux.vnet.ibm.com",
        "time": "Thu Nov 17 13:40:01 2016 -0500"
      },
      "message": "Allow provider network to be used for ssh validation\n\nCurrently devstack assumes that the network used for ssh\nvalidation is the private network. This patch adds a hook that\nsets the network used for ssh validation based on whether or not\nprovider networking is being used. It also moves the function\n\u0027is_provider_network\u0027 into functions-common as it will now be\nused by both tempest and neutron.\n\nChange-Id: I265c9e26c9bfb18b7e201f27d8912b8bec235872\n"
    },
    {
      "commit": "56b39126853ff47525c89c7ba3c02422a639ddc3",
      "tree": "df40d31bc2fad923c91c93567acfafed6844e1a6",
      "parents": [
        "7976f31fb956dcb1cbeea92906f5609f0b43acc4"
      ],
      "author": {
        "name": "Gary W. Smith",
        "email": "gary.smith@hpe.com",
        "time": "Wed Nov 16 22:03:43 2016 -0800"
      },
      "committer": {
        "name": "Gary W. Smith",
        "email": "gary.smith@hpe.com",
        "time": "Wed Nov 16 22:10:37 2016 -0800"
      },
      "message": "Use -y on zypper remove to avoid hanging\n\nWhen using zypper remove, include the -y option to avoid stack.sh from\nhanging waiting for user confirmation.  Due to output buffering, the\nscript could hang before giving the user the prompt to enter Y to\ncontinue, making it unclear why the script was hanging.\n\nChange-Id: I5ea761e5ae0829439953c385f8e7d0546acba886\nCloses-Bug: 1642736\n"
    },
    {
      "commit": "21d84c29b22fb69b00739ae40d69f80d5182a94e",
      "tree": "6e8896498ee283bde4c178d15e4da70b65091601",
      "parents": [
        "319abcaf85791961baaed0019fa67c79c26047e0"
      ],
      "author": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Fri Nov 11 15:26:11 2016 -0800"
      },
      "committer": {
        "name": "John L. Villalovos",
        "email": "john.l.villalovos@intel.com",
        "time": "Wed Nov 16 08:55:40 2016 -0800"
      },
      "message": "If plugin is enabled multiple times fail\n\nWhen using the enable_plugin command and grenade jobs it can be\neasy to enable the same plugin twice, as the grenade job has a\nregistration section and the configuration in project-config can also\nenable it due to code-reuse in project-config.\n\nIf a plugin is enabled twice it will likely fail, though it won\u0027t be\nobvious that it was due to the plugin being enabled multiple times.\n\nThis change makes it so if it sees the same plugin name is enabled\nmore than once it will die and an error message outputted.\n\nChange-Id: I9f1d7e58b861b04473b6a57c9ad404203fb7277a\n"
    },
    {
      "commit": "ac65a5cac01aa6d66857fba08fc022c9bc1f413c",
      "tree": "c6c5ce4f495bb4f2427185a5c94fd33b8d8c620a",
      "parents": [
        "5ff21b3d632de4fcae9a59e495bcdde66ef32ec6",
        "a4705403aa6a4ba0f5ea8c67bff89a67d0be2070"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Nov 15 01:35:44 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Nov 15 01:35:44 2016 +0000"
      },
      "message": "Merge \"yum_install: fix awk return code\""
    },
    {
      "commit": "c271b3ea1fe16561b7a46507fdf961668182b256",
      "tree": "8539f6e600b81515ac5c849cf0d4244e99cfaff5",
      "parents": [
        "563d3777823fa4ee113ac930c4066c3f8d5f8373"
      ],
      "author": {
        "name": "Mike Perez",
        "email": "thingee@gmail.com",
        "time": "Mon Oct 03 16:00:33 2016 -0700"
      },
      "committer": {
        "name": "Mike Perez",
        "email": "thingee@gmail.com",
        "time": "Mon Oct 03 16:50:27 2016 -0700"
      },
      "message": "Update OpenStackClient role list commands\n\nThis command is deprecated. The new command is role assignment list.\n\nChange-Id: I8dba0be21d5af6751bea13d8ff29cd4b7589ab3e\n"
    },
    {
      "commit": "69e3c0aac99981f17c76c22111e5c397824b8428",
      "tree": "5161ff84adf40accaccb94041a2a19a9869ec259",
      "parents": [
        "9cea4e8570f6a7e1d022bf9eae09223d3144c695"
      ],
      "author": {
        "name": "Ian Cordasco",
        "email": "graffatcolmingov@gmail.com",
        "time": "Mon Sep 26 12:53:14 2016 -0500"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Mon Sep 26 12:21:41 2016 -0700"
      },
      "message": "Update certificate creation for urllib3\n\nurllib3 1.18 was released today and contains new more correct hostname\nmatching that takes into account the ipAddress portion of a certificate\nand disallows matching an IP Address against a DNS hostname.\n\nChange-Id: I37d247b68911dc85f55adec6a7952ed321c1b1d8\n"
    },
    {
      "commit": "a4705403aa6a4ba0f5ea8c67bff89a67d0be2070",
      "tree": "a778e897380cbd2a58b3e7b1f2e5cd6073e41694",
      "parents": [
        "dec121114c3ea6f9e515a452700e5015d1e34704"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Sep 23 15:08:48 2016 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Sep 23 15:44:57 2016 +1000"
      },
      "message": "yum_install: fix awk return code\n\nTIL:\n\n  Similarly, all the END rules are merged, and executed when all the\n  input is exhausted (or when an exit statement is executed).\n\ni.e. matching YUM_FAILED calls \"exit\", which falls through to the END\nrules which calls \"exit result\" ... which is zero.  i.e. if the return\ncode is 1 then we actually hide that and return with zero.\n\nThis is rather annoying because errors that should halt to alert us of\na package install failure pass through, only for you to have to debug\nmuch later on seemingly unrelated problems.\n\nThis always sets \"result\" and thus should be returning the right\nthing.  I\u0027ve updated the documentation to hopefully make it clearer\nwhat\u0027s going on.\n\nChange-Id: Ia15b7dc55efb8d3e3e945241b67a468b8a914672\n"
    },
    {
      "commit": "4b49e409f853104dae021dfca1a9342ec9ac4709",
      "tree": "dc27f7ff83839baa55b459ca4aa2230c4ed19439",
      "parents": [
        "fb1e1cc7e3de4483de48661b03a4417e2d24957a"
      ],
      "author": {
        "name": "Gregory Haynes",
        "email": "greg@greghaynes.net",
        "time": "Wed Aug 31 18:19:51 2016 -0700"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Tue Sep 20 08:14:11 2016 -0700"
      },
      "message": "Use apache for tls-proxy ssl termination\n\nStud is now abandonware (see https://github.com/bumptech/stud) and is\nnot packaged in xenial. Lets use Apache for SSL termination since its\nthere already.\n\nChange-Id: Ifcba410f5969521e8b3d30f02795541c1661f83a\n"
    },
    {
      "commit": "a270f5e242f2532389395abfe49eb6780b50a0db",
      "tree": "904719756e5e3ac5e0416964ebdce60fb812cc03",
      "parents": [
        "413cca397a457c1abfeeb4a83abbef799d4494cc",
        "c9f6327844c794789ea3c3905cc8e04523262f71"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Aug 31 20:14:49 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Aug 31 20:14:49 2016 +0000"
      },
      "message": "Merge \"Remove lib/ceph\""
    },
    {
      "commit": "a25ae6c03de2d87bca4f708ffc338c66164eec3b",
      "tree": "6e8345ce290b4e2d1d6b5918f8f9f46347c2f6ff",
      "parents": [
        "43ff27b7e8e9d209d8f1fc0483da717296be93bc"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Aug 31 08:56:37 2016 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Aug 31 08:56:37 2016 -0400"
      },
      "message": "convert apache logs to color for screen\n\nIf we left the ansi color codes in apache logs, we can run a sed\nscript to convert the escaped escapes back to ansi escapes which make\nthe logs colorized again.\n\nThere are 8 \\ because we need to end up with 2 in the final sed, and\nwe get interopolated twice. How much fun is escape interpolation? All\nthe fun.\n\nChange-Id: Id8531cf03ba80f0df62f20add02e757bd63d4f2d\n"
    },
    {
      "commit": "c9f6327844c794789ea3c3905cc8e04523262f71",
      "tree": "609a2f444005562d27a1c065140393b99565c26e",
      "parents": [
        "79722563a67d941a808b02aeccb3c6d4f1af0c41"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Tue Aug 30 17:21:30 2016 -0400"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Tue Aug 30 17:21:30 2016 -0400"
      },
      "message": "Remove lib/ceph\n\nAll jobs using ceph as a storage backend have been moved over\nto using the devstack-plugin-ceph repo in project-config so we\nshould be safe to remove the now unused lib/ceph file.\n\nThe files are left in place because the devstack plugin does not\ninstall xfsprogs but it\u0027s used by the create_disk function.\n\nAnd the ceph cinder backend file is left in place since the\ndevstack-plugin-ceph repo uses that by setting\nCINDER_ENABLED_BACKENDS\u003d${CINDER_ENABLED_BACKENDS:-ceph}.\n\nChange-Id: I3fb09fc92bc6ab614e86d701ea46d5741a76b7a8\n"
    },
    {
      "commit": "38245da0b8ab1a08ae192ef2c0d5755a8f88841a",
      "tree": "8e0ace15b5cce2c00c22d158d6bb189ba15d35fe",
      "parents": [
        "bc4b96b79425c8485929b8dd5c4e138a395099a3"
      ],
      "author": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Thu May 26 17:55:14 2016 -0400"
      },
      "committer": {
        "name": "Rob Crittenden",
        "email": "rcritten@redhat.com",
        "time": "Thu May 26 17:55:14 2016 -0400"
      },
      "message": "Fix typo in local variable name in time_stop\n\nThis didn\u0027t break functionality but it would use a global instead\nof a local variable so nested calls to time_* might have issues.\n\nChange-Id: If61ef07c4ce15f1a356975a0b0611fdf5e49109a\n"
    },
    {
      "commit": "247e44625cdd3b4bf251dabfeca0ca241d9109a8",
      "tree": "caf537e220e01258eecb87013e2a9def65716672",
      "parents": [
        "730703a83335d9d9704023ba17a241d3d506f1a4"
      ],
      "author": {
        "name": "Kashyap Chamarthy",
        "email": "kchamart@redhat.com",
        "time": "Fri May 20 13:34:41 2016 +0200"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue May 24 11:21:01 2016 -0400"
      },
      "message": "functions-common: Use `systemctl` when applicable\n\nWe live in a new systemd world, use the native commands to talk to it\nif available.\n\nChange-Id: Iccdc35f0c9da2997f9e672bc1d24ca15d3403d98\n"
    },
    {
      "commit": "1df67b9dd8433a37e21b8924c8fb2c55f69a1b4b",
      "tree": "b61d94cab875146fc77f91c156ca4a28fc12ebe6",
      "parents": [
        "a3715a2e1ac8dfcddf47302e147982a0bb726b76",
        "1da4e790eb26d1333d57c7673ba491ca9b6dbde8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri May 20 13:46:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri May 20 13:46:35 2016 +0000"
      },
      "message": "Merge \"Added RHEL rebuild ScientificLinux to supported distributions\""
    },
    {
      "commit": "7b3ae5332813c79b734c99fbba3ab876224aa73c",
      "tree": "d25c82f88912aa9e4f09fb0cf8d66ad40c923c40",
      "parents": [
        "ae4578bed986ebaaf3e09e1ecc9d4d7ae9f022ab"
      ],
      "author": {
        "name": "John Kasperski",
        "email": "jckasper@us.ibm.com",
        "time": "Sun Apr 24 22:56:04 2016 -0500"
      },
      "committer": {
        "name": "John Kasperski",
        "email": "jckasper@us.ibm.com",
        "time": "Wed Apr 27 12:13:16 2016 -0500"
      },
      "message": "Update is_service_enabled\n\nThe nova check in is_service_enabled() is loading the nova repo\nwhen ENABLED_SERVICES\u003dovn-northd.  Add a comma before each of the\nchecks to prevent this error with any of the other services.\n\nChange-Id: I9deee735812cde44ea5140b1ad76848f02576609\nCloses-Bug: #1574431\n"
    },
    {
      "commit": "1da4e790eb26d1333d57c7673ba491ca9b6dbde8",
      "tree": "f9aef3b96f075a82583c835a155bdf0cf804ae8d",
      "parents": [
        "96ffde28b6e2f55f95997464aec47ae2c6cf91d3"
      ],
      "author": {
        "name": "Mike Trimm",
        "email": "mitrimm@cisco.com",
        "time": "Wed Apr 27 11:40:19 2016 -0500"
      },
      "committer": {
        "name": "Mike Trimm",
        "email": "mitrimm@cisco.com",
        "time": "Wed Apr 27 11:40:25 2016 -0500"
      },
      "message": "Added RHEL rebuild ScientificLinux to supported distributions\n\nChange-Id: I8b3844bf28b11254e7cc9a96126bd66efbd1212e\n"
    },
    {
      "commit": "ae4578bed986ebaaf3e09e1ecc9d4d7ae9f022ab",
      "tree": "5923cce20d0850f32dec2cfaade146da72bad0e6",
      "parents": [
        "7d1ec430046256ac3f536f4920a43936e28ef0c4"
      ],
      "author": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Sat Apr 23 01:45:40 2016 +0000"
      },
      "committer": {
        "name": "Matt Riedemann",
        "email": "mriedem@us.ibm.com",
        "time": "Sat Apr 23 01:45:40 2016 +0000"
      },
      "message": "Revert \"Don\u0027t check for existing endpoints\"\n\nThis reverts commit 7d1ec430046256ac3f536f4920a43936e28ef0c4.\n\nThis broke the sahara and layer4 dsvm jobs. The layer4 job\nis voting on tempest changes so tempest is also broken.\n\nChange-Id: Ide69f10cd85bf7ff0d86bc8cba56dedd26850362\nPartial-Bug: #1573868\n"
    },
    {
      "commit": "7d1ec430046256ac3f536f4920a43936e28ef0c4",
      "tree": "bebc4c9bcc03a253c62b5958dbacb8a94035b836",
      "parents": [
        "54f331969f86d364fd62235e54a4419bdbbd8f00"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Apr 22 09:19:10 2016 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Apr 22 10:44:10 2016 -0400"
      },
      "message": "Don\u0027t check for existing endpoints\n\nWe really should only have code that create endpoints once, making all\nosc calls get_or_set adds 3 seconds per call for no really good\nreason.\n\nThis also stops creating the internal endpoints in the service\ncatalog. It\u0027s a pattern that we\u0027re trying not to propogate, so lets\nnot have it in devstack any more.\n\nChange-Id: Ia8cefe43753900d62117beae330db46deb6a9fc9\n"
    },
    {
      "commit": "54f331969f86d364fd62235e54a4419bdbbd8f00",
      "tree": "5923cce20d0850f32dec2cfaade146da72bad0e6",
      "parents": [
        "d57d52be4887004848b333ddc7f252e982c39361",
        "0b4a009e56d29e4fe51ae06132c5766d0da9be7d"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Apr 21 20:01:54 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Apr 21 20:01:54 2016 +0000"
      },
      "message": "Merge \"remove clouds.yaml in clean.sh\""
    },
    {
      "commit": "cbcbd8f33c87904b2293e68ec9868be0b6e4393e",
      "tree": "1db9c7c8e519fd2c5991730a2ac47858b49be9b3",
      "parents": [
        "3d0981398a898b7ed5d4cbac4121b22963ffb32f"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@gmail.com",
        "time": "Thu Jan 21 16:08:14 2016 -0600"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@gmail.com",
        "time": "Mon Apr 18 09:59:52 2016 +1000"
      },
      "message": "Allow putting service users in a seperate domain\n\nMake it possible to construct the service users in their own seperate\ndomain. Changing this away from Default will not work for everyone yet,\nthough it does work for basic service interaction however enabling it\nwill allow us to start testing and hopefully gating that services aren\u0027t\nrelying on v2 only concepts.\n\nChange-Id: I7e73df5dd1caabf355783da2bc0f3007ade92fba\n"
    },
    {
      "commit": "0b4a009e56d29e4fe51ae06132c5766d0da9be7d",
      "tree": "f4f2b4370db3fd0c85765ddb643beee1844f98c0",
      "parents": [
        "a344608ca9c5a61bad60a478fe1bbb60ecc60681"
      ],
      "author": {
        "name": "ZhiQiang Fan",
        "email": "aji.zqfan@gmail.com",
        "time": "Tue Apr 12 20:26:33 2016 +0800"
      },
      "committer": {
        "name": "ZhiQiang Fan",
        "email": "aji.zqfan@gmail.com",
        "time": "Fri Apr 15 02:27:35 2016 +0800"
      },
      "message": "remove clouds.yaml in clean.sh\n\ndevstack failed to install because glance:\nCould not determine a suitable URL for the plugin\n\npatch I618ea8e27b49af360c905df85af06d9b1eef8407 tries\nto fix this problem, but with a wrong way because path is not\ncorrect, the clouds.yaml is not under /path/to/devstack/~/.config/openstack/\nbut ~/.config/openstack.\n\npatch I8af6bd465f74099c560dddba6b5221dd79cbc965 tries to\nfix this problem, but with a worng way to specify the path,\n~$STACK_USER/.config/openstack/clouds.yaml will not expand with\na variable, only const string can.\n\n$ whoami\nzqfan\n$ touch ~/.config/openstack/clouds.yaml\n$ export STACK_USER\u003dzqfan\n$ rm -rf ~$STACK_USER/.config/openstack/clouds.yaml\n$ ls ~/.config/openstack/\nclouds.yaml\n\nChange-Id: I549817d2f4638be615991c1726b39d270ba71357\nref: I618ea8e27b49af360c905df85af06d9b1eef8407\n"
    },
    {
      "commit": "4e6f8ca67047aef99ff1573bddc21b18aae1ce0b",
      "tree": "6d35f0f2794c58f4327492cc1f361240d306006b",
      "parents": [
        "9ce61fbd441c80b9833e802184aba75fbbb07866"
      ],
      "author": {
        "name": "Fernando Ribeiro",
        "email": "fernando.ribeiro@oracle.com",
        "time": "Tue Apr 12 23:34:03 2016 -0300"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Apr 14 07:14:04 2016 +1000"
      },
      "message": "Add installation support for Oracle Linux 7\n\nThis removes Oracle Linux 6 support (\"OracleLinux\") which, like RHEL6,\nis now unsupported.  \"OracleServer\" matches Oracle Linux 7.\n\nChange-Id: I35b1c7d0b103c509283dba0f6551453e7d8ac4cc\nCloses-Bug: #1568634\n"
    },
    {
      "commit": "908a3a952300ae5ff8a00392ee2b5577ea5c6e7d",
      "tree": "85b5fd747cc00b7535f975f25b7d980fae7930a1",
      "parents": [
        "8b416ae821d8487f22d3d564c30da44d6cb2826a"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Mar 29 14:47:09 2016 +1100"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Mar 30 19:49:13 2016 +0000"
      },
      "message": "Add total timings\n\nPrinting the total makes it easier to compare runs at a glance.  Clean\nup the output a little, and use some consistent, name-spaced globals\nwhile we\u0027re there.\n\nNote the total runtime is at the top to avoid giving the impression\nthat it is the sum of the components below, since you can nest/overlap\ntimers (I made that mistake in a prior change :).  It might be a fun\nexercise in tree building to one day track the overlaps and present a\nnice nested breakdown.\n\nChange-Id: I878ce03813d21138df493b82bceff3aaa7f83064\n"
    },
    {
      "commit": "467dbf7703076803f14bca2e67a7125df83122ec",
      "tree": "1593fa0b0cba5e836e23f6196ae66eddc331502b",
      "parents": [
        "a4d67cd0337dd1002670189647a35c9f3520aadf",
        "78d3739dbec518bc81e635d5a9c19eb68530454c"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 18 20:23:53 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 18 20:23:53 2016 +0000"
      },
      "message": "Merge \"Fix RHEL7 vendor detection\""
    },
    {
      "commit": "a4d67cd0337dd1002670189647a35c9f3520aadf",
      "tree": "b4305117c5790c26f89cc5e511cbf5929686ea4b",
      "parents": [
        "1dd875d48ea139e094442c00689a70c97488f270",
        "1b1cc8c1d491b1469c7082d28d3e4a3a8a4a4fd9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 18 20:22:59 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 18 20:22:59 2016 +0000"
      },
      "message": "Merge \"yum_install_package: fix errexit and retry\""
    },
    {
      "commit": "78d3739dbec518bc81e635d5a9c19eb68530454c",
      "tree": "07ceebd8d4bf784098bd3bbb88f83c9bacb9a470",
      "parents": [
        "04ed38b5d77276578f95184a9a9d009b12b57d43"
      ],
      "author": {
        "name": "tengqm",
        "email": "tengqim@cn.ibm.com",
        "time": "Tue Mar 15 23:08:00 2016 -0400"
      },
      "committer": {
        "name": "tengqm",
        "email": "tengqim@cn.ibm.com",
        "time": "Tue Mar 15 23:08:00 2016 -0400"
      },
      "message": "Fix RHEL7 vendor detection\n\nWhen detecting os_VENDOR, the lsb_release output may be different\nfrom what is expected today. This patch fixes the detection.\n\nChange-Id: I850ad1acbc2397c73e7cc85c1765cba6ba2f98d4\n"
    },
    {
      "commit": "082399ef18106bc3820848b6fc352604f0fcf97a",
      "tree": "81dbd2e96b75f9471f5f314134f5198b1c3fac37",
      "parents": [
        "3bee719ece55febaa70a7f57348c32af44739dbf",
        "9ba49cd82631ada84b8458b370ac535985d57725"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Mar 14 18:55:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Mar 14 18:55:23 2016 +0000"
      },
      "message": "Merge \"Remove rejoin-stack.sh\""
    },
    {
      "commit": "fa3cc77aeedbb94830e0384793765ce7ed6fe5b2",
      "tree": "d67f179e7b77f0874d933becc05dd8793a3643ee",
      "parents": [
        "73af0de40c953f813a10a90cb6b0d22cbefb48f7",
        "dab3901d9aa9d4485495d066c58a3e82c76e2261"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 11 00:55:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 11 00:55:25 2016 +0000"
      },
      "message": "Merge \"Use \"command -v\" instead of \"which\" to find path\""
    },
    {
      "commit": "73af0de40c953f813a10a90cb6b0d22cbefb48f7",
      "tree": "85284112b2203efe21947df4ca0623bce51fbba0",
      "parents": [
        "b57ec243c9c358b7b4dea15c323d8f323124b9c3",
        "c15d59157c4aab0147ab5d388642c6c08cae875a"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 11 00:55:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 11 00:55:17 2016 +0000"
      },
      "message": "Merge \"Ignore errors when uninstalling a pkg with zypper\""
    },
    {
      "commit": "b57ec243c9c358b7b4dea15c323d8f323124b9c3",
      "tree": "479f9820ba9be7a60977fd87e6c97a2b7ea4ac28",
      "parents": [
        "b08914ade7392aaf78f81e83839f387eb731e840",
        "3c60168532b9202baa6d163d3501d8323239eb5b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Mar 11 00:55:08 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 11 00:55:08 2016 +0000"
      },
      "message": "Merge \"Also detected failed packages in dnf/yum wrapper\""
    },
    {
      "commit": "9ba49cd82631ada84b8458b370ac535985d57725",
      "tree": "a1a2120293da6cc423df8442ce281827073b507f",
      "parents": [
        "0aea130107728ade1d525ecbed8039732836c85c"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Mar 10 15:45:40 2016 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Mar 10 15:48:13 2016 -0600"
      },
      "message": "Remove rejoin-stack.sh\n\nThis command has never completely worked to restart DevStack.\nIt periodically prompts attempts to work around this brokenness\nin ways that harm other functions.  Let\u0027s finally remove it.\n\nRequiring a complete re-run of DevStack after a reboot has always\nbeen intentional.\n\nTODO: follow-up cleaning all of the screen hackage if this merges.\n\nChange-Id: I2f61bb69cc110468a91dcaa4ee7653ede7048467\n"
    }
  ],
  "next": "61ba1b3353259ed059cdbdf39b89c6c7c8f7ca97"
}
