)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    }
  ]
}
