)]}'
{
  "log": [
    {
      "commit": "45c1aa2f7df8f5972a4a464355ba889177a56ad6",
      "tree": "c290a97cd928c9c9d5d7481092484026a9c30445",
      "parents": [
        "fdbe849d958594a3195c46ceb51ec0f794f995b6",
        "3ffc00940fdfddbef2c3bd4bc2298104ab606504"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.opendev.org",
        "time": "Mon May 20 07:46:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon May 20 07:46:21 2019 +0000"
      },
      "message": "Merge \"sync-devstack-data: new argument devstack_data_base_dir\""
    },
    {
      "commit": "dc9ba8b8aee4022ef1598cd0d8cfd7dfe34a4b6b",
      "tree": "7ca820a3cc287d5f95ebe55525a06c78b3b1c232",
      "parents": [
        "e7f3d91a7ddb0a1d01a4394f42feb51ffc3b9b43"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Apr 23 13:02:00 2019 +0000"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Tue Apr 23 13:02:54 2019 +0000"
      },
      "message": "Add opendev to repo search list\n\nglean is in opendev and is used by nodepool devstack jobs.\n\nChange-Id: I38dfd7cc531b20b26862193be14f4ebb53352efa\n"
    },
    {
      "commit": "e7f3d91a7ddb0a1d01a4394f42feb51ffc3b9b43",
      "tree": "a1e39b86d824e19a1a389e978453037f41c5a4e5",
      "parents": [
        "666f5491b67e32b5f0e0f7a9eb5dc6ad72a1fd72"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Apr 20 09:11:58 2019 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Sat Apr 20 09:58:34 2019 -0500"
      },
      "message": "Update repo namespace search list\n\nWith the new namespaces we have to look around a bit more to find\nrepos top copy into the DevStack working directory. Add:\n\n* starlingx/\n* x/\n* zuul/\n\nDepends-On: https://review.opendev.org/653988\nChange-Id: I8a55522a5fee46f415f0c0ce580ded3476133460\nSigned-off-by: Dean Troyer \u003cdtroyer@gmail.com\u003e\n"
    },
    {
      "commit": "666f5491b67e32b5f0e0f7a9eb5dc6ad72a1fd72",
      "tree": "ccda5073ab957298bf647a8a8d8d07c83a3e8f25",
      "parents": [
        "10f44098825d1d13452117dc5ee31e3e895b495f"
      ],
      "author": {
        "name": "OpenDev Sysadmins",
        "email": "openstack-infra@lists.openstack.org",
        "time": "Fri Apr 19 19:43:10 2019 +0000"
      },
      "committer": {
        "name": "OpenDev Sysadmins",
        "email": "openstack-infra@lists.openstack.org",
        "time": "Fri Apr 19 19:43:10 2019 +0000"
      },
      "message": "OpenDev Migration Patch\n\nThis commit was bulk generated and pushed by the OpenDev sysadmins\nas a part of the Git hosting and code review systems migration\ndetailed in these mailing list posts:\n\nhttp://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html\nhttp://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html\n\nAttempts have been made to correct repository namespaces and\nhostnames based on simple pattern matching, but it\u0027s possible some\nwere updated incorrectly or missed entirely. Please reach out to us\nvia the contact information listed at https://opendev.org/ with any\nquestions you may have.\n"
    },
    {
      "commit": "3ffc00940fdfddbef2c3bd4bc2298104ab606504",
      "tree": "5c97cf7d0dd30446e88cce12fb998588eb7ecd9b",
      "parents": [
        "13e260ea2c3220a217626b12bff538916fdd2caf"
      ],
      "author": {
        "name": "Luigi Toscano",
        "email": "ltoscano@redhat.com",
        "time": "Tue Apr 02 12:28:31 2019 +0200"
      },
      "committer": {
        "name": "Luigi Toscano",
        "email": "ltoscano@redhat.com",
        "time": "Tue Apr 02 12:28:31 2019 +0200"
      },
      "message": "sync-devstack-data: new argument devstack_data_base_dir\n\nWhen the role is used by grenade, the data directory is shared among\ndifferent devstack executions, and the base directory is different,\nfor example: /opt/stack/data vs /opt/stack/{old,new}.\nThe new devstack_data_base_dir parameter allows user to specify\na base directory for the data/ directory which is unrelated\nto the devstack directory. The default value is devstack_base_dir,\nso the default behavior is unchanged.\n\nChange-Id: Ie69b7b51947cbf1a8b31d2701783de2fb56a2d33\n"
    },
    {
      "commit": "7f0b4f3001575d1419c5020e007ce2c841c88f2f",
      "tree": "d2179b18c2289caa9c71492b3dcb9f4e6c060462",
      "parents": [
        "03f7c4c2cb2a2a61926d085c77e68a88049876ea"
      ],
      "author": {
        "name": "Jens Harbott",
        "email": "j.harbott@x-ion.de",
        "time": "Mon Apr 01 11:43:28 2019 +0000"
      },
      "committer": {
        "name": "Jens Harbott",
        "email": "j.harbott@x-ion.de",
        "time": "Mon Apr 01 11:43:28 2019 +0000"
      },
      "message": "Fix double quoting issue when writing localconf\n\nWhen [0] introduced quoting all arguments, it broke existing consumers\nthat already quote their value themselves. Fix this by avoiding to add\nadditional quotes to the value when it already starts with a double\nquote.\n\n[0] https://review.openstack.org/636078\n\nChange-Id: I92146e04731efc6dcc632ae6c3a7c374e783cdba\nCloses-Bug: 1822453\n"
    },
    {
      "commit": "59ce1d902e2137bb7346a0d1f223e0ce1cb83216",
      "tree": "8740012ca8c8c41d517d90a76125c52ce735e583",
      "parents": [
        "e769348882ea3e6b4465e3a6af72029633b2485e"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Feb 11 12:27:10 2019 +1100"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Mar 29 11:20:19 2019 -0700"
      },
      "message": "Export all journal logs\n\nCurrently we only export the devstack@ services, and then separately\nexport the kernel \u0026 sudo logs to syslog.txt.\n\nThis leaves a lot of logs potentially behind in the journal for\nvarious daemons.  Just export the whole lot.\n\nUsing this output is currently very opaque and makes use of systemd\nexport tools that are very un-discoverable.  Add a README that will\nappear alongside the journal explaining how to actually use it.  This\nis a template as it would be nice to put into things like the list of\nservices that are in the journal, or maybe other magic.\n\nAlso make sure we export the logs since the start timestamp; currently\nduring a full run we drop the initial logs.\n\nChange-Id: Id2626f9113d82c6d524039acda8a8ec74afb2081\n"
    },
    {
      "commit": "e769348882ea3e6b4465e3a6af72029633b2485e",
      "tree": "b4c3c511b3b4ee94ca7dcdc3cbac7ea27bfeaa7f",
      "parents": [
        "8bdbf850967b90ebdca428247bb93ad2eb6478c0"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Feb 11 12:26:03 2019 +1100"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Mar 29 11:20:14 2019 -0700"
      },
      "message": "Quote devstack_localrc arguments\n\nIf you have\n\n devstack_localrc:\n   ARGUMENT: \"argument with spaces\"\n\nThe quotes get lost during YAML processing and the resulting file has\n\n  ARGUMENT\u003dargument with spaces\n\nwhich is a shell error.\n\nQuote all arguments to avoid this sort of thing.\n\nChange-Id: Ia63a53d745dfea7262bcdb5d46425f431c3ccfe5\n"
    },
    {
      "commit": "18d1dc99b75d27f321e4789f2ba8961d4cc165a2",
      "tree": "d16a963a4150e0537f12fa2af96a2f88d85d1516",
      "parents": [
        "d52b2f504391a99ec2fc5632628f12bdc4f46400",
        "70d043dd6039fb55aa9d40d593839037bb8c43cf"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Mar 22 13:04:58 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 22 13:04:58 2019 +0000"
      },
      "message": "Merge \"zuul: new variable to easily populate TEMPEST_PLUGINS\""
    },
    {
      "commit": "5ad2f212337efc67597fe357044db5831038bf3b",
      "tree": "694118ab2f25afb32606c1325ba15ce77e2da346",
      "parents": [
        "ca0f2920164a0b3935af6ffa154bdf8aafa50ad2",
        "8b003e0ed2f41fb1ab0007c969bba33c5701f625"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Mar 12 21:35:29 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Mar 12 21:35:30 2019 +0000"
      },
      "message": "Merge \"Switch GIT_BASE to https://\""
    },
    {
      "commit": "70d043dd6039fb55aa9d40d593839037bb8c43cf",
      "tree": "f3e23c1397226925514c8340398589b008210da1",
      "parents": [
        "ca0f2920164a0b3935af6ffa154bdf8aafa50ad2"
      ],
      "author": {
        "name": "Luigi Toscano",
        "email": "ltoscano@redhat.com",
        "time": "Tue Mar 12 22:25:44 2019 +0100"
      },
      "committer": {
        "name": "Luigi Toscano",
        "email": "ltoscano@redhat.com",
        "time": "Tue Mar 12 22:25:44 2019 +0100"
      },
      "message": "zuul: new variable to easily populate TEMPEST_PLUGINS\n\nTEMPEST_PLUGINS contains the list of the tempest plugins installed\nalongside tempest by lib/tempest.\nIf TEMPEST_PLUGINS is not explicitly set, the new tempest_plugins\nvariable is used to fill it by combining its items with\nthe base devstack path.\n\nChange-Id: I9f1fa2755e16871ff9d6ba33fdeaf3023eedf8d4\n"
    },
    {
      "commit": "ca0f2920164a0b3935af6ffa154bdf8aafa50ad2",
      "tree": "f4f3d99706eb0dbb734a65acaabbe070ac5d424d",
      "parents": [
        "50e12947f89742a50c9a744b7db12d6ea885a33a",
        "4eb455aa287155646f78a4621365b37f9df30793"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Mar 12 20:51:16 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Mar 12 20:51:16 2019 +0000"
      },
      "message": "Merge \"Capture the content of \u0027audit.log\u0027 file\""
    },
    {
      "commit": "610927f4255f0ed4877a3e85d628202e4af2f7d4",
      "tree": "a375fb1539bde10958779663376e1934e014bc86",
      "parents": [
        "5488336545ddc2dadadfae61a0367074cc16e5e2"
      ],
      "author": {
        "name": "Luigi Toscano",
        "email": "ltoscano@redhat.com",
        "time": "Tue Feb 26 18:39:51 2019 +0100"
      },
      "committer": {
        "name": "Luigi Toscano",
        "email": "ltoscano@redhat.com",
        "time": "Tue Mar 12 12:29:40 2019 +0100"
      },
      "message": "zuul job: write the enable_plugin lines last\n\nPlugins must be the last items in the local.conf file\notherwise the configuration set in the rest of the file\nis not applied to them (for example a different value of DEST.)\n\nChange-Id: Ia001badca179c3f3436d5ecd26b0755a3f3a3078\n"
    },
    {
      "commit": "4eb455aa287155646f78a4621365b37f9df30793",
      "tree": "102a4e004f51f739d55fe64b599828b99b5acf76",
      "parents": [
        "72f632222f6d90d3545b5d7ca48297da4218e2ea"
      ],
      "author": {
        "name": "Kashyap Chamarthy",
        "email": "kchamart@redhat.com",
        "time": "Fri Feb 22 20:11:35 2019 +0100"
      },
      "committer": {
        "name": "Kashyap Chamarthy",
        "email": "kchamart@redhat.com",
        "time": "Fri Mar 08 13:49:25 2019 +0100"
      },
      "message": "Capture the content of \u0027audit.log\u0027 file\n\nOn CentOS/ Fedora machines, this can be useful when QEMU silently fails\nto start up due to SELinux denials.  For Debian-based machines, which\nuse AppAromor, DevStack already captures the output of \u0027kern.log\u0027 (via\n`journalctl -t kernel` redirected into \u0027syslog.txt.gz\u0027).\n\nChange-Id: I231b22664f0944b905e00568759785615a1d47c3\nAcked-by: Clark Bolyan \u003cclark.boylan@gmail.com\u003e\nSigned-off-by: Kashyap Chamarthy \u003ckchamart@redhat.com\u003e\n"
    },
    {
      "commit": "8b003e0ed2f41fb1ab0007c969bba33c5701f625",
      "tree": "03fd6a4f41cbd27ddb4802ed72c3033de16cdddb",
      "parents": [
        "5488336545ddc2dadadfae61a0367074cc16e5e2"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Mar 04 16:50:42 2019 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Mar 04 16:50:42 2019 +1100"
      },
      "message": "Switch GIT_BASE to https://\n\nInfra are looking at implementing gitea for serving git, but this does\nnot have a git protocol handler ATM.  Switch GIT_BASE, and some\ntesting, to https:// to be in a better position to handle this.\n\nChange-Id: I97a7b0de7b1ec2dd15d15c58699a631b09273df1\nStory: #2004627\nTask: #29701\n"
    },
    {
      "commit": "ee4b6a0128bad7ae64e9ae7a9c79470585e93dc6",
      "tree": "aa8910b92a4474717988437c35d2b7c8bdbb88fd",
      "parents": [
        "7a52311d803ab76703956969760d63c5d82cffae"
      ],
      "author": {
        "name": "Sean Mooney",
        "email": "work@seanmooney.info",
        "time": "Tue Jan 29 18:17:30 2019 +0000"
      },
      "committer": {
        "name": "Sean Mooney",
        "email": "work@seanmooney.info",
        "time": "Tue Jan 29 18:21:44 2019 +0000"
      },
      "message": "set owner and group to no for fetch-devstack-log-dir\n\nAs the user on the node under test may not exist on\nthe zuul executor node we do not copy the log owner\nor group to avoid the rsync task failing when it\ntries to chown the files.\n\nChange-Id: I500cf3692a4d27b0c2a0a4f5586580d180a8778e\n"
    },
    {
      "commit": "cc391e49d987d2810250a13e4281dcc195dd17dd",
      "tree": "4fbe5ea2c54cb22497f158bab9e2ee4ad692215d",
      "parents": [
        "a5aa242dc02f450656f76523c87423e8096355e5",
        "7bb5fff85c0f7b4131bc669abe99c04391682a91"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Jan 16 10:35:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 16 10:35:23 2019 +0000"
      },
      "message": "Merge \"setup-devstack-source-dirs: also copy github libraries\""
    },
    {
      "commit": "0b855007f8d44662ad4fd52bda7df85f94b241c2",
      "tree": "b8207fc705afc4726bab4c251ae0c43f82cd5098",
      "parents": [
        "6d103a7ff845076da984afbd317cd8cf4504fb7a"
      ],
      "author": {
        "name": "Jens Harbott",
        "email": "j.harbott@x-ion.de",
        "time": "Wed Dec 19 12:20:51 2018 +0000"
      },
      "committer": {
        "name": "Jens Harbott (frickler)",
        "email": "j.harbott@x-ion.de",
        "time": "Wed Jan 09 14:02:13 2019 +0000"
      },
      "message": "Allow plugin names to contain non-letter characters\n\nThere are already devstack plugins that contain a hyphen in the name,\nlike `networking-baremetal`. In order to allow ordering for these to\nwork properly, amend the regexes we are using to match any\nnon-whitespace characters instead of only alphanumerics.\n\nAmend the test to cover this use case.\n\nChange-Id: I91093a424f8d5e8007f140083e1ea36a81fe849f\nCloses-Bug: 1809016\n"
    },
    {
      "commit": "6d103a7ff845076da984afbd317cd8cf4504fb7a",
      "tree": "702401997206d08e710345b5214b711882c52da1",
      "parents": [
        "a88a22969cb557456d3a8db8ae734a59a1ba8066"
      ],
      "author": {
        "name": "Jens Harbott",
        "email": "j.harbott@x-ion.de",
        "time": "Wed Dec 19 11:53:16 2018 +0000"
      },
      "committer": {
        "name": "Jens Harbott (frickler)",
        "email": "j.harbott@x-ion.de",
        "time": "Wed Jan 09 14:01:56 2019 +0000"
      },
      "message": "Fix testing for the write-devstack-local-conf role\n\nThe test_plugin_deps function in the test code for the\nwrite-devstack-local-conf role was missing the import part of actually\nexecuting the code under test and asserting the expected result.\n\nChange-Id: I125870b13d2581cdec0dede11157b19b702565cd\n"
    },
    {
      "commit": "7bb5fff85c0f7b4131bc669abe99c04391682a91",
      "tree": "1aabe8e16eb3af42ff54ff145285126fe294427e",
      "parents": [
        "8c93374cddda59129ac809f159cb554f54c7443c"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Dec 19 14:16:41 2018 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Dec 19 18:44:47 2018 +1100"
      },
      "message": "setup-devstack-source-dirs: also copy github libraries\n\nThis will help us use standard mechanisms to install libraries that\nZuul has cloned from github\n\nChange-Id: I8ecfeeba9133ce175fb72fc59be696879013d927\n"
    },
    {
      "commit": "14a22dff3429b9bf237dcd6d92572f2e53b76d9a",
      "tree": "cb5148c5d8c81773c742f8527cb70f624cfd6583",
      "parents": [
        "147388466daef8e6589013d9bae684f9f8b8c57a"
      ],
      "author": {
        "name": "ghanshyam",
        "email": "gmann@ghanshyammann.com",
        "time": "Thu Dec 06 10:23:51 2018 +0000"
      },
      "committer": {
        "name": "ghanshyam",
        "email": "gmann@ghanshyammann.com",
        "time": "Thu Dec 06 10:23:51 2018 +0000"
      },
      "message": "Fix README for rolevar name \u0027devstack_sources_branch\u0027\n\nThis commit fixes the name of role in README file\n- https://review.openstack.org/#/c/549517\n\nChange-Id: I0b7ada56339e5e3ff461c2b62e27f226720bb52f\n"
    },
    {
      "commit": "147388466daef8e6589013d9bae684f9f8b8c57a",
      "tree": "265a2ca00d620ed60d8ea293bbdcb39405395f65",
      "parents": [
        "6f4b7fc99c4029d25a924bcad968089d89e9d296"
      ],
      "author": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@gmail.com",
        "time": "Thu Sep 13 17:50:29 2018 +0200"
      },
      "committer": {
        "name": "Luigi Toscano",
        "email": "ltoscano@redhat.com",
        "time": "Thu Sep 13 17:50:32 2018 +0200"
      },
      "message": "Setup branch in setup-devstack-source-dirs\n\nAllow the setup-devstack-source-dirs role to accept a target role\nto be setup - when available - for the repos.\n\nChange-Id: Iebcba0d4be6d9d71b783e10a82c35a406afbd6bf\n"
    },
    {
      "commit": "8e5f8c29b27c8dc83da31fbce5d92a173b91ba10",
      "tree": "fe29f1c0e5032760843d7526e35d3a40148dd776",
      "parents": [
        "9fd97998059529b55f2042b7c453236fc030aa28"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Fri Jun 15 10:10:35 2018 -0700"
      },
      "committer": {
        "name": "Doug Hellmann",
        "email": "doug@doughellmann.com",
        "time": "Fri Jun 15 16:11:29 2018 -0400"
      },
      "message": "Add the project under test to LIBS_FROM_GIT\n\nThis automatically always adds the project under test to LIBS_FROM_GIT\nwhich effectively makes the normal \"tempest full\" job the same as the\n\"forward testing\" job when it is applied to a library repo.\n\nChange-Id: Ibbdd8a86e0ff55f67bef73e08e693b34a61b24df\n"
    },
    {
      "commit": "afe141401997db054cd9987ca17d989415c65ad4",
      "tree": "cffee16e9ef01ab2e7fa0069ed577d074620ee3f",
      "parents": [
        "a0f319fc6dcdc44fecbe054869b5eda3567cca5a"
      ],
      "author": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@gmail.com",
        "time": "Fri Apr 20 13:36:22 2018 +0100"
      },
      "committer": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@gmail.com",
        "time": "Mon Apr 23 11:44:33 2018 +0000"
      },
      "message": "Ensure passwordless ssh with stack between nodes\n\nFor compute migration to work, the stack user needs to be configured\nwith passwordless ssh between all hosts involved in the migration.\n\nReuse the build ssh-key for this, which is already distributed for\nuser root.\n\nDepends-on: https://review.openstack.org/563584\n\nChange-Id: Id07f55fea06509466add35315c135dbfba6aa714\n"
    },
    {
      "commit": "a0f319fc6dcdc44fecbe054869b5eda3567cca5a",
      "tree": "576a993d4902988fdde17b82fb209bc94540ef45",
      "parents": [
        "f99d1771ba1882dfbb69186212a197edae3ef02c",
        "e1edde38edb697f56e111f55e5992e7bf22f6284"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Thu Apr 19 12:44:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Apr 19 12:44:31 2018 +0000"
      },
      "message": "Merge \"Automatically set LIBS_FROM_GIT based on required projects\""
    },
    {
      "commit": "e1edde38edb697f56e111f55e5992e7bf22f6284",
      "tree": "f042d7085a4dec97abcf0b358d9ed74116fd14ab",
      "parents": [
        "6f27fca4a76aceaadab3776c87c48743671ce502"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Fri Mar 02 15:05:14 2018 +0000"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Tue Apr 17 13:48:37 2018 -0700"
      },
      "message": "Automatically set LIBS_FROM_GIT based on required projects\n\nIf a project shows up in zuul\u0027s required-projects list, add it\nto LIBS_FROM_GIT automatically.  This way, when a user specifies\nthat a job requires a zuul-project, it gets used in testing, but\notherwise, it doesn\u0027t (pypi is used instead).\n\nAlso add information about what happens behind the scenes for both\nLIBS_FROM_GIT and plugin dependencies.\n\nThis moves the check performed in check_libs_from_git to\na helper function which is installed for most kinds of\ninstallations.  This means that if someone sets LIBS_FROM_GIT to\n\"foobar\", devstack won\u0027t error anymore, as nothing is going to\ntry to install foobar, therefore the check won\u0027t run on that.\nHowever, as we move to automated generation of the local config,\nthat error is not likely to happen.  This check was originally\nadded due to an error in the upper-constraints file (where a\nconstraint name did not match a package name).  This location of\nthe check would still catch that type of error.\n\nChange-Id: Ifcf3ad008cf42d3d4762cfb3b6c31c93cfeb40db\n"
    },
    {
      "commit": "9cc3e636fc25b84231ff4e204dfddbd07b933909",
      "tree": "36ea666f6f730327c8e478e18d979b149dc03d98",
      "parents": [
        "5bae5e93c7de5baad71f0b0ddcbe41bd72add7c3",
        "6f27fca4a76aceaadab3776c87c48743671ce502"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Fri Mar 23 05:56:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Mar 23 05:56:30 2018 +0000"
      },
      "message": "Merge \"Zuul: support plugin dependencies\""
    },
    {
      "commit": "6f27fca4a76aceaadab3776c87c48743671ce502",
      "tree": "d51f6446e32d9df2e618202411d563249efd2ed8",
      "parents": [
        "b3517ca103f44e44c2464878d8cc8caa84222cc8"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Tue Nov 21 17:05:43 2017 -0800"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Thu Mar 22 11:50:49 2018 -0700"
      },
      "message": "Zuul: support plugin dependencies\n\nChange-Id: I81302e8988fe6498fea9f08ed66f5d0cc1fce161\n"
    },
    {
      "commit": "780c4f4092aaae8998817792e1548757fee4f6fa",
      "tree": "4d69b5fe370186c73684e6751198ea24a3e2dfa9",
      "parents": [
        "cc4f6717fb7a525b6b9ea678f535bfa8a8ad13b7",
        "dc78ef8880b65f56abb0e0c2b80c25d9a0a495e1"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Mar 13 12:14:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Mar 13 12:14:41 2018 +0000"
      },
      "message": "Merge \"Save rc from stack.sh in run-devstack role\""
    },
    {
      "commit": "dc78ef8880b65f56abb0e0c2b80c25d9a0a495e1",
      "tree": "29e54222444d2b37897326d10493958dd6f149ac",
      "parents": [
        "06fa9dfc1715d5a332d46d5194bccf860948a5ce"
      ],
      "author": {
        "name": "Jens Harbott",
        "email": "j.harbott@x-ion.de",
        "time": "Mon Mar 12 14:48:53 2018 +0000"
      },
      "committer": {
        "name": "Jens Harbott",
        "email": "j.harbott@x-ion.de",
        "time": "Mon Mar 12 14:48:53 2018 +0000"
      },
      "message": "Save rc from stack.sh in run-devstack role\n\nAvoid overriding the failure state of stack.sh by the trailing echo\ncommand.\n\nChange-Id: I74820709edc98f67ff1a0c620ce5db3a3571b7f5\n"
    },
    {
      "commit": "02bb57bfefbe3658b570060a9eb084377dddaddd",
      "tree": "1b623e9fc655c6771af39f8bcdadedac57b03f23",
      "parents": [
        "06fa9dfc1715d5a332d46d5194bccf860948a5ce"
      ],
      "author": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@gmail.com",
        "time": "Fri Mar 09 17:12:38 2018 +0000"
      },
      "committer": {
        "name": "Jens Harbott",
        "email": "j.harbott@x-ion.de",
        "time": "Sun Mar 11 11:17:42 2018 +0000"
      },
      "message": "Enforce linear strategy for orchestrate-devstack\n\nDocument that orchestrate-devstack requires a linear strategy in the\ninvoking play. Also enforce the strategy in devstack.yaml.\n\nChange-Id: Ia081225ec2be959fc5a4ddfd491f526296a8ca10\n"
    },
    {
      "commit": "5a6683dba164f6430af9bc99befe5acba6b466b8",
      "tree": "0a69d19d616c684ad0f965fd06c87223e6ac6f6d",
      "parents": [
        "ea62df4b5b92c3c50afd8466cf31167996e08a7d",
        "5e714d33081455af4bd7a45bb9e60a905ad6f2e7"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Sun Mar 11 10:57:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sun Mar 11 10:57:01 2018 +0000"
      },
      "message": "Merge \"Fix multinode mode for devstack\""
    },
    {
      "commit": "5e714d33081455af4bd7a45bb9e60a905ad6f2e7",
      "tree": "c5a0fb76160cacc1c0e1ff4f988a367c4e654e8b",
      "parents": [
        "d9c1275c5df55e822a7df6880a9a1430ab4f24a0"
      ],
      "author": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@gmail.com",
        "time": "Sat Feb 17 22:21:26 2018 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@gmail.com",
        "time": "Wed Mar 07 12:47:55 2018 +0000"
      },
      "message": "Fix multinode mode for devstack\n\nExtend the devstack job so that it can support both single and multinode\ncases.  Multinode mode require extra settings in devstack configuration,\nsome of which as subnode specific, some controller specific.\n\nAlso keep a simple devstack-multinode job defined for now so we can run\na multinode job in devstack gate, until the full tempest multinode job\nis ready to match the old\ngate-tempest-dsvm-neutron-multinode-full-ubuntu-xenial-nv.\n\nFixing multinode also requires sharing the CA configuration between\ncontroller and peers, overlay network configuration for communication\nbetween virtual machines and running discover_hosts for nova after the\nsubnode has been setup.\n\nThe extra orchestration required for multinode is encoded in a\ndedicated role to allow for jobs in other repos to re-use it.\n\nChange-Id: I2dcbd9bdb401860820e655d97aa3c4775af2827f\n"
    },
    {
      "commit": "52de6ee2470fe04e6473ff0e13a9cc564acf9bcf",
      "tree": "01604eafa20fa988b4c05dac26d660e744d05228",
      "parents": [
        "07fc8ef82656bbbacf16247760e0176fef8f975a",
        "acca80414ff3db373138ed5e7124ced7306c28df"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Tue Mar 06 11:11:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Mar 06 11:11:46 2018 +0000"
      },
      "message": "Merge \"Ensure that stack home is owned by stack\""
    },
    {
      "commit": "edd4c8f6c14cea29d53270ebec0263796b4cef05",
      "tree": "f9fa80a69fbea7822bf64d8964354a62bb4d1b1a",
      "parents": [
        "d3faa7ce99f672d40ed8e379e8678856ffc8701d",
        "11641ce14ddec3567187099e87f03b148aadc584"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Mon Mar 05 12:47:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Mar 05 12:47:59 2018 +0000"
      },
      "message": "Merge \"Move platform jobs to zuulv3 native\""
    },
    {
      "commit": "acca80414ff3db373138ed5e7124ced7306c28df",
      "tree": "818a54a02b9fb6b9803c8ded260e99b5a6a7b557",
      "parents": [
        "af43b825029c2288a76734f7a08be9e16196eb45"
      ],
      "author": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@gmail.com",
        "time": "Sat Mar 03 22:16:50 2018 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@gmail.com",
        "time": "Sat Mar 03 22:16:50 2018 +0000"
      },
      "message": "Ensure that stack home is owned by stack\n\nThe role that sets up the user and its home folder must ensure that\nthe home folder is owned by stack as well.\n\nChange-Id: I2e72d7b9d68a2a14f8a148ef82cbb3f569bd1cea\n"
    },
    {
      "commit": "b59c93cc44bc9ff0e041ff24805880294117f745",
      "tree": "7cc671cfe8c2ccddb4b35b88b8207fc0ab9cd586",
      "parents": [
        "8408edbdfd0924634a741a1f9f03f80e11e2a970"
      ],
      "author": {
        "name": "Pavlo Shchelokovskyy",
        "email": "shchelokovskyy@gmail.com",
        "time": "Mon Feb 26 16:36:54 2018 +0000"
      },
      "committer": {
        "name": "Pavlo Shchelokovskyy",
        "email": "shchelokovskyy@gmail.com",
        "time": "Wed Feb 28 10:45:54 2018 +0000"
      },
      "message": "Actually generate pip freeze outputs\n\nthe shell script used is actually being run thru \u0027sh\u0027, not bash,\nwhich does not understand \"[[\" test operators.\n\nExplicitly run this script with /bin/bash instead.\n\nChange-Id: I551d2631bcb6aef49550d69b3830ffcb509abfb7\n"
    },
    {
      "commit": "11641ce14ddec3567187099e87f03b148aadc584",
      "tree": "b2bdb767d1d24b4565c0cebdfc979d489d433d67",
      "parents": [
        "2346e9a8b531d621c1adc167d8117474f69638bc"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Feb 05 14:39:18 2018 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 23 08:26:34 2018 +1100"
      },
      "message": "Move platform jobs to zuulv3 native\n\nWe\u0027ve called the jobs that don\u0027t run on our main Ubuntu targets\n\"platform\" jobs; start at moving these jobs to native jobs.\n\nDepends-On: https://review.openstack.org/541010\n\nChange-Id: Ib64d91206a9ac677f4d77873bc54c6a84702d6c3\n"
    },
    {
      "commit": "a9e946471ef029755d7dd22f70a20273578c9813",
      "tree": "395b9a1932d2ec5fabd9612159f4fe238648fcdb",
      "parents": [
        "a7a8675cc1870a68a4fd91d256cafef8f6863da4"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Feb 06 08:03:03 2018 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 23 08:26:32 2018 +1100"
      },
      "message": "Role apache-logs-conf: fix redhat matching\n\nAnsible complains:\n\n  The task includes an option with an undefined variable. The error\n  was: \u0027dict object\u0027 has no attribute \u0027RedHat\u0027\n\nwhich is just a mismatch on the \"Redhat\" string\n\nChange-Id: I447038256561740c224c68388fa5b6a068cc8fed\n"
    },
    {
      "commit": "d3106720d22eed7861e14b746e36715adc2933ee",
      "tree": "8bb973ac083a8b6886be125a4631d9c949840460",
      "parents": [
        "c9c39a4b043af60d06e71976dab218115ffdf524"
      ],
      "author": {
        "name": "Paul Belanger",
        "email": "pabelanger@redhat.com",
        "time": "Wed Feb 21 16:06:49 2018 -0500"
      },
      "committer": {
        "name": "Paul Belanger",
        "email": "pabelanger@redhat.com",
        "time": "Wed Feb 21 16:06:49 2018 -0500"
      },
      "message": "Suppress more stats tasks\n\nBy default stat is pretty verbose, we can set no_log: true to avoid\nadding this info to our logs.\n\nChange-Id: Ia18ebfe179443382cc670ffc4363ab037c43bb85\nSigned-off-by: Paul Belanger \u003cpabelanger@redhat.com\u003e\n"
    },
    {
      "commit": "c9c39a4b043af60d06e71976dab218115ffdf524",
      "tree": "497fd73d0b0eaef998c00f8b947eb1e8f2b092fa",
      "parents": [
        "3e7b7c1dd6456024deb052fc52b13129f5a72c67"
      ],
      "author": {
        "name": "Paul Belanger",
        "email": "pabelanger@redhat.com",
        "time": "Wed Feb 21 14:23:10 2018 -0500"
      },
      "committer": {
        "name": "Paul Belanger",
        "email": "pabelanger@redhat.com",
        "time": "Wed Feb 21 14:23:10 2018 -0500"
      },
      "message": "Make the apache-logs-conf role even less verbose\n\nRound 2 to add no_log to more things. Specific looping over stats, it\nis pretty noise in logs and doesn\u0027t seem to add any value.\n\nChange-Id: I580171e0061fa331f3ed510713f1ac7a1a6cb5ea\nSigned-off-by: Paul Belanger \u003cpabelanger@redhat.com\u003e\n"
    },
    {
      "commit": "2e9e90b9a862fee3a47ad211b712171497f13e97",
      "tree": "04874853f507666724f213cde26419aecc6d71eb",
      "parents": [
        "fddf3430d8b3bb6bc60c6c69c344e7ae437ee894"
      ],
      "author": {
        "name": "Daniel Mellado",
        "email": "dmellado@redhat.com",
        "time": "Tue Feb 20 12:17:55 2018 +0100"
      },
      "committer": {
        "name": "Daniel Mellado",
        "email": "dmellado@redhat.com",
        "time": "Tue Feb 20 14:20:45 2018 +0100"
      },
      "message": "Fix RedHat entry in apache_config_path\n\nWith CentOS 7, ansible is expecting to have RedHat as an attribute for\nthe dict so Discover configurations task fails with an undefined\nvariable error.\n\nCloses-Bug: #1750573\nChange-Id: I5bf9c4057ca9f75d730add9e429d0ef050c6d900\n"
    },
    {
      "commit": "e46d6ad2b7a1033385eb80fc641be930c985a7ca",
      "tree": "be6c2e27b74cbec8eed18f986d31f7905928b4a2",
      "parents": [
        "f2f49e5a559b839539ef2fbb4011f62f26f34f2b",
        "0f39756f6158bf5cf9a7bfc7eda655b883002722"
      ],
      "author": {
        "name": "Zuul",
        "email": "zuul@review.openstack.org",
        "time": "Wed Feb 14 03:17:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Feb 14 03:17:23 2018 +0000"
      },
      "message": "Merge \"Make the apache-logs-conf role less verbose\""
    },
    {
      "commit": "81fac768b5a414c7ddd347e799fb49c0ccbc1d0a",
      "tree": "ea151a2dff5eefd11a28320fa11085226a0d235c",
      "parents": [
        "34564fd6162063e51adf8027a7edc2a1fe6b5f1c"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Fri Jan 19 10:14:45 2018 -0800"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Feb 06 10:10:05 2018 +1100"
      },
      "message": "Remove unneed devstack early log file\n\nIn the run devstack role we specify a path to devstack_early_log then\nhand it to stack.sh as a parameter which stack.sh does nothing with.\nWhile looking at a fix for this it was pointed out that these early logs\nmake it into the job\u0027s output log now so we don\u0027t need a special file\nfor them. Rather than handle this as a special case just let the\njob-output.txt log file pick up the logs for us which allows us to\nremove this unneeded feature.\n\nChange-Id: I9bedbe91c60257d94173b1c70676dd6c2b49dc91\n"
    },
    {
      "commit": "0f39756f6158bf5cf9a7bfc7eda655b883002722",
      "tree": "868406b3aea3dce7cc5140cbeaef4ace33953a86",
      "parents": [
        "34564fd6162063e51adf8027a7edc2a1fe6b5f1c"
      ],
      "author": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@gmail.com",
        "time": "Fri Feb 02 17:03:24 2018 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli",
        "email": "andrea.frittoli@gmail.com",
        "time": "Fri Feb 02 17:03:24 2018 +0000"
      },
      "message": "Make the apache-logs-conf role less verbose\n\nThe role is logging a lot of useless data with all the stat info\nfrom various config and log files. Remove verbosity using no_log.\n\nChange-Id: I72c721573ffc4a14adc3e2b29285c1071b7ec4f7\n"
    },
    {
      "commit": "2700bf88a549088285bef41fe86ac323965c8727",
      "tree": "155a87859a388ec7b55424dabffedc16bd94a6db",
      "parents": [
        "28b4be186105888b72300d27166deb771857df06"
      ],
      "author": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Thu Jan 04 10:16:16 2018 -0800"
      },
      "committer": {
        "name": "Clark Boylan",
        "email": "clark.boylan@gmail.com",
        "time": "Thu Jan 04 10:17:24 2018 -0800"
      },
      "message": "Gzip openstack service logs\n\nThese files are quite large and disk space is limited so make sure we\ncompress the log files before copying them to storage. Additionally\nos-loganalyze will only operate on gzipped log files so this should fix\nos-loganalyze with tempest-full job\u0027s logs.\n\nThis is mostly a check to confirm everything works as expected but we\nprobably want to move the gzip step into the log publication roles so\nthat all log files end up compressed.\n\nChange-Id: Ie87962428e0ca755c211cc5e664a14a9f2a79ac4\n"
    },
    {
      "commit": "a2b174168a5d9bd3558e60297bea9dd91f39a546",
      "tree": "8ef9494d65e653b14e23e533e0373b35edb50785",
      "parents": [
        "5a9872a9b90c06cddbbd4a18b16e715e3db9a939"
      ],
      "author": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Fri Dec 15 17:35:31 2017 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Mon Dec 18 18:21:24 2017 +0000"
      },
      "message": "Stage a number of system type logs\n\nThis could be ansiblesed a more, for now more or less the bash code\nfrom d-g wrapped in a role.\n\nChange-Id: Ia7fe40f05ca394da9a65fef6383d72f29a532e2f\n"
    },
    {
      "commit": "5a9872a9b90c06cddbbd4a18b16e715e3db9a939",
      "tree": "5eca492a392aa37ed6c118ce47855b2cabe58b37",
      "parents": [
        "e6b0169a0207bed66ae7bec683b5a7a816e1dd13"
      ],
      "author": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Fri Dec 15 13:55:50 2017 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Mon Dec 18 18:21:24 2017 +0000"
      },
      "message": "Stage openstack config files\n\nStage config files from openstack and all projects used by the\ndevstack run.\n\nChange-Id: I99f1bc71856b0da7fc5b438d13d4f508d2341e44\n"
    },
    {
      "commit": "9c977b56eb74944b45b0f0513ac36347b526c096",
      "tree": "c1e47c8382d7f93106b7fb89f92b978b368993bb",
      "parents": [
        "b7f8624bed8aabf52a0fbb5ac73a9fdd41400273"
      ],
      "author": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Fri Dec 08 17:41:40 2017 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Mon Dec 18 18:21:24 2017 +0000"
      },
      "message": "Stage apache logs\n\nAdd apache logs to the list of things we stage.\n\nChange-Id: I9d3d8e710ae87a71b74f96538cad6fad58dbef79\n"
    },
    {
      "commit": "b7f8624bed8aabf52a0fbb5ac73a9fdd41400273",
      "tree": "6045c3de517e0ddc3c35ae6514fa2e04116fc024",
      "parents": [
        "71bf831a906a02c9801500bcabd4ee2b9c773f22"
      ],
      "author": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Thu Dec 14 16:08:51 2017 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Mon Dec 18 18:21:24 2017 +0000"
      },
      "message": "Setup devstack-early log\n\nThe whole devstack log is written into the console output\n(job-output.txt) and into devstacklog.txt.\n\nRemove it from job-output and add a devstack-early log file (same as in\nlegacy job) that includes all the output of stack.sh.\n\nMake sure the log file is pulled into the stage folder so that it will\nend up on logs.o.o.\n\nChange-Id: Ia7c1d8fe5cc03d15f455c6e62ebf4a5f6d62ab1f\n"
    },
    {
      "commit": "290d9d87f4e8048078a83c19d056db0c320e1c63",
      "tree": "3cb6c3f565a2738bd36c5bd6eb6ecfb2a0157933",
      "parents": [
        "4187d2fc4adbebf84e5d03e2f5c1c587b4bc9d04"
      ],
      "author": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Mon Dec 11 14:30:59 2017 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Mon Dec 18 18:21:24 2017 +0000"
      },
      "message": "Use stage_dir instead of /opt/stack\n\nHistorically we have collected devstack logs under /opt/stack.\nStop doing that and collect them in the stage_dir instead, so that\nonce the base job logs pull service comes around we are ready for it.\n\nThis add the benefit of writing things into a folder which is\nalready owned by the ansible user (ansible_user_dir), so we don\u0027t\nrun into issue writing there.\n\nA few logs (devstack log, log summary and dstat) use to show up on\nlogs.o.o. just because they happened to already be in /opt/stack/logs.\nWith this change they would be lost, so adding them to post.yaml.\n\nDepends-on: I5ad4dfccbc1389da3afc53f3c866d3475e006db6\n\nChange-Id: Ib4be2f5056c0dc2b776de4a0d18b47b12624be92\n"
    },
    {
      "commit": "7d4446541d6265491999efc536bc88520beadace",
      "tree": "5c17256472b9cb90302888ea96a16023c7126d01",
      "parents": [
        "5551170ad3902de9c3f271122821a9822658ad50"
      ],
      "author": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Fri Dec 01 17:36:38 2017 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Wed Dec 06 12:46:44 2017 +0000"
      },
      "message": "Set the base set of services\n\nUse the test-matrix role from devstack-gate to define a base set of\nservices to be enabled for the controller and compute nodes.\n\nExtend the local conf module to handle the base set of services.\n\nSince the test-matrix defines services for primary and subnode nodes, we\nneed a multinode job to test that this works. Add a new host group\ncalled subnode that includes the non-controller hosts. Add a new job\nthat runs devstack on a two nodes environment.\n\nUsing service from the test matrix enables swift in the gate, so we need\nto set SWIFT_HASH for devstack to work.\n\nDepends-on: Ie36ba0cd7cfcd450b75000a76a64d856f2a83eba\nDepends-on: Id9ad3be4be25e699f77d6b5a252f046ce8234f45\nChange-Id: I379abf482c89122533324e64fefbff3d5a618a89\n"
    },
    {
      "commit": "5551170ad3902de9c3f271122821a9822658ad50",
      "tree": "8f6728d7a1efab8296a25c249e6528cf15fab4f7",
      "parents": [
        "d576620e33dd8ca2d0d9ff6496cdc957f3239998"
      ],
      "author": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Thu Nov 30 15:49:39 2017 +0000"
      },
      "committer": {
        "name": "Andrea Frittoli (andreaf)",
        "email": "andrea.frittoli@gmail.com",
        "time": "Tue Dec 05 16:22:19 2017 +0000"
      },
      "message": "Allow jobs to disable all services\n\nSeveral legacy jobs use the OVERRIDE_ENABLED_SERVICES variable\nfrom d-g so set the list of services that should be enabled and\nignore the default set calculated via the feature matrix.\n\nAdd support for a similar functionality in the zuulv3 jobs\nusing the \u0027disable_all_services\u0027 localconf function.\n\nChange-Id: I690554ec62cef3be600054071efbb3f92a99249e\n"
    },
    {
      "commit": "d8753b7dc997b5b5558ae4bbe3e14ffd0209666b",
      "tree": "5c7cf8e2de22a277da05625c8c65ac3a49b6e381",
      "parents": [
        "57ddd7c1613208017728c50370d2e259c072d511"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Oct 20 14:21:33 2017 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Oct 20 15:08:37 2017 +1100"
      },
      "message": "Use configure-swap from o-z-j\n\nUse the generic role\n\nChange-Id: I534ed0256b7dfe5bef4ab13ae57cd73c51e8bd15\nDepends-On: I0e9c846ace7fac8a1340746c6818fba6ec963018\n"
    },
    {
      "commit": "36ddea31a257b38aa22d3232f4c4389c851f5456",
      "tree": "de0b4f112ee8e959ebe8f833371cd4c8df892ece",
      "parents": [
        "843b039b3ca24c79865d991df43bfcd5ebe0b97b"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Oct 02 10:05:17 2017 -0500"
      },
      "committer": {
        "name": "James E. Blair",
        "email": "jeblair@redhat.com",
        "time": "Sun Oct 15 07:17:18 2017 -0700"
      },
      "message": "Add devstack base job for zuul v3\n\nThis should be managed in the devstack repo, since it\u0027s a base job to\nrun devstack.\n\nChange-Id: Iffe54fbccbccd68db08f79a1b51dd7f76dbff408\nDepends-On: Ie2119f24360d56690ffd772b95a9ea6b98dd4a39\n"
    }
  ]
}
