)]}'
{
  "log": [
    {
      "commit": "b124f4d595cc41b4f20bf935ffd0848448b3713c",
      "tree": "bd9675f86318038a0bd2a57a057ca7cb68ef3a16",
      "parents": [
        "172fae6a3ebf867663525048947c797c9209f3eb"
      ],
      "author": {
        "name": "Al Miller",
        "email": "al.miller@hp.com",
        "time": "Tue Feb 03 20:18:42 2015 -0800"
      },
      "committer": {
        "name": "Al Miller",
        "email": "al.miller@ajmiller.net",
        "time": "Fri Feb 27 16:36:51 2015 +0000"
      },
      "message": "Remove LBaaS support from devstack\n\nDevstack support for LBaaS is being migrated to an external\nplugin in the neutron-lbaas repository.  The only LBaaS-\nspecific code that remains in devstack is a hook to support\nexisting configs that enable q-lbaas.  In that case, load\nthe external plugin if necessary.\n\nChange-Id: I592f64407ccf1e722b8d9788917879d0236acf0b\nDepends-On: I64a94aeeabe6357b5ea7796e34c9306c55c9ae67\n"
    },
    {
      "commit": "7591be546695da7532432a24f649907aa2c83ead",
      "tree": "91797c100973bd99033cf7b68ca3e208deebbdc6",
      "parents": [
        "20585f5b232c000cddb322771f49b89975f0e551",
        "9d09f0980285b5b5d5ccf3865cab1c5df49b25d5"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Feb 19 01:11:54 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Feb 19 01:11:54 2015 +0000"
      },
      "message": "Merge \"Remove is_rackspace function from functions-common\""
    },
    {
      "commit": "5ce44cd63b6e2b53f08a6b4b87cb4ab11d1ade26",
      "tree": "5f396699c97e2df46b99bc46443f1db9bc3d7955",
      "parents": [
        "2b564763aafe6466f42bc5cf2ccc47ddf4169986"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Feb 12 22:18:33 2015 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Feb 16 10:52:18 2015 -0600"
      },
      "message": "Fix is_keystone_enabled()\n\nis_keystone_enabled() was calling is_service_enabled(), which is what called\nis_keystone_enabled() in the first place.  Make it work as designed and\nalso change calls to use the full service name.  Note that this is all\nstill comptible with the prior usage of \u0027is_service_enabled key\u0027.\n\nChange-Id: I9c28377ecf074b7996461d2a4ca12d88dfc4d47e\n"
    },
    {
      "commit": "9b215db569dcee2e9cd52c3336ba14b73ad05ab0",
      "tree": "165ec0b1d4d9138a5ee794068a368e06011e06e0",
      "parents": [
        "8ed3e40be8672aa23ebd2b6c95accf06a2ff8ac4"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Tue Feb 10 18:19:57 2015 +1100"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Feb 11 14:51:22 2015 +1100"
      },
      "message": "Rename get_or_add_user_role\n\nget_or_add_user_role is specific to adding a role on a project.\nRename it to get_or_add_user_project_role to allow room for adding a\ndomain specific role function.\n\nChange-Id: I999308098d22be9800578ae67144a3b687fbc3be\n"
    },
    {
      "commit": "3273b6d280e2b6edd5dc3e4ba089afb5025e408a",
      "tree": "ee750219375baaee2751afee08a6cffab9296c21",
      "parents": [
        "f9222da73fa52b389f38521ea4df553c562cd798",
        "490430dbe3b7d9979b4623f2c327bb0a74436401"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 06 20:45:45 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 06 20:45:45 2015 +0000"
      },
      "message": "Merge \"Split functions-common: python functions\""
    },
    {
      "commit": "e79678af5ed1621cd8740879b496a0d3716ab8b1",
      "tree": "8d89cedb7c4d249e305803f4c9f8ef8449132e9a",
      "parents": [
        "70157976aec6adf26ac0b3734d2017e2356efd75",
        "18f39bfb1f6af23a7fc5f5a5b822e7216ce9ec62"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 06 16:16:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 06 16:16:36 2015 +0000"
      },
      "message": "Merge \"Remove the default project from all users\""
    },
    {
      "commit": "d7be20853b74a8cf5d2fceafdd32745c1689f4d9",
      "tree": "a076d146b45e2cf22cc922b629eae3a821f3c7dd",
      "parents": [
        "8458b458a0d9848e07420cc9074cd925315ed9e1",
        "36298eec001f900c00a8ac89143375620af9ce3e"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Feb 05 13:40:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Feb 05 13:40:00 2015 +0000"
      },
      "message": "Merge \"Add default for YUM\""
    },
    {
      "commit": "36298eec001f900c00a8ac89143375620af9ce3e",
      "tree": "1a8c367679da4e82414a807bc3a71c0a2b3e8b37",
      "parents": [
        "18e0a335b65e50af5bade16176a955775b6dc372"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Feb 04 10:29:31 2015 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Wed Feb 04 10:29:31 2015 +1100"
      },
      "message": "Add default for YUM\n\nThis allows tools/* to use install_packages, etc, without having to\npull in stackrc for the $YUM definition.  Alternative to\nIef944af1ab177638bf818624a216751821e6330b\n\nChange-Id: I7fe37079240e8cabbdffdcae5ad9d21e122e43c2\n"
    },
    {
      "commit": "490430dbe3b7d9979b4623f2c327bb0a74436401",
      "tree": "527289f426c49bb51234a1e0621a0afe1ffac20e",
      "parents": [
        "a1b82cc1b5a7172c3fdf17d2c3f0725660911ad7"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jan 30 14:38:35 2015 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jan 30 14:59:48 2015 -0600"
      },
      "message": "Split functions-common: python functions\n\nMove Python-related functions into inc/python\n\nShould be transparent to all callers as it is sourced from functions-common\n\nChange-Id: I88043830cef9211b4e0baa91bfcc7a92125afa9f\n"
    },
    {
      "commit": "a1b82cc1b5a7172c3fdf17d2c3f0725660911ad7",
      "tree": "984ba9c6175f3f8d3a6d4368b77cef393a8d0a8c",
      "parents": [
        "b9a7d3b5e4f01d932709633f2b5b9461ecdbd0cb"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jan 30 13:54:40 2015 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jan 30 14:59:40 2015 -0600"
      },
      "message": "Fix unbound literal in trueorfalse()\n\nChange-Id: I4c465819c311604e97d24e081389ff531f8a42fa\n"
    },
    {
      "commit": "36b13f58cfc2ddc286d96e4aa45d565c97ab5990",
      "tree": "48f9d8e9dbfba157c70fe9f0100cac36b59d3c2a",
      "parents": [
        "d31b05cc7c052707eb21afa9d813681d457535d8",
        "dde41d0797f0b085099cd5c9ff1e0110d5ae3fbd"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jan 29 05:57:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jan 29 05:57:19 2015 +0000"
      },
      "message": "Merge \"Deprecate SCREEN_LOGDIR in favor of LOGDIR\""
    },
    {
      "commit": "18f39bfb1f6af23a7fc5f5a5b822e7216ce9ec62",
      "tree": "7d129d3e5a087f1d819f19282cd3978e051bd936",
      "parents": [
        "c2999d190a0ce92a99332a9733b2e43828a6201c"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jan 28 13:38:32 2015 +1000"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Wed Jan 28 13:38:32 2015 +1000"
      },
      "message": "Remove the default project from all users\n\nThe default project means that a user gains token scoping information\nfor a project if they don\u0027t specify another. This is something we want\nto discourage for user creation. User\u0027s should specify there own\nauthentication scope when they authenticate.\n\nChange-Id: I42c3060d59edfcd44d04cd166bad500419dd99bc\n"
    },
    {
      "commit": "a6d567fae017a025a7b5f250f947c0d113892879",
      "tree": "d7e8840cfaef0d61b32a1c12da967437897fcb0b",
      "parents": [
        "b3e38cf295c87af043ae25b1546d3bde50b90a42",
        "789af5ccfa49e40eabe1454e9e2d31bd6c6f0ef8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 21 08:12:34 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 21 08:12:34 2015 +0000"
      },
      "message": "Merge \"Update osc server create to have type as positional arg\""
    },
    {
      "commit": "dde41d0797f0b085099cd5c9ff1e0110d5ae3fbd",
      "tree": "61e097d1a0e501b381d41f99681c755b8ca77bd8",
      "parents": [
        "9e84d095f2fc5549186097f00c678f916941bf69"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Dec 09 17:47:57 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Jan 20 16:08:22 2015 -0600"
      },
      "message": "Deprecate SCREEN_LOGDIR in favor of LOGDIR\n\nThis is the first step in the log file cleanup.  If SCREEN_LOGDIR\nis still set, symlinks will be created in the old screen log directory\nso things like the devstack-gate log collector continues to work.\n\nbp:logging-and-service-names\nChange-Id: I3ac796e322a18dbd0b8b2310a08310ca159d7613\n"
    },
    {
      "commit": "4f154070e4688f60d88b4807822e481d36a009f7",
      "tree": "754b1d7132e151b95dbf2d573b1af699abd00cb7",
      "parents": [
        "46d4769f8c81dbf4d82025f383dbdf38d5eadbc5",
        "59d52f307b8fee53c29cda803ba3d1848ef91a8b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 20 17:55:50 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 20 17:55:50 2015 +0000"
      },
      "message": "Merge \"Disable shallow cloning with GIT_DEPTH\u003d0\""
    },
    {
      "commit": "46d4769f8c81dbf4d82025f383dbdf38d5eadbc5",
      "tree": "bb561e17b7fda621bc98b7b3396b38a25693fc1b",
      "parents": [
        "b73f1c1592f6cbb8aa8977166e4c510a9c08f28b",
        "5541a618de890ec721c375506057eeb6cb7a5a63"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 20 16:10:40 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 20 16:10:40 2015 +0000"
      },
      "message": "Merge \"Use `os role list` instead of `os user role list`\""
    },
    {
      "commit": "59d52f307b8fee53c29cda803ba3d1848ef91a8b",
      "tree": "686447d6ea64c24851000bc0b1d707c1362cd3ba",
      "parents": [
        "62002dd88b7909ac249face4243e1aae03745a01"
      ],
      "author": {
        "name": "Kevin Benton",
        "email": "blak111@gmail.com",
        "time": "Sat Jan 17 11:29:12 2015 -0800"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Jan 20 09:35:34 2015 -0500"
      },
      "message": "Disable shallow cloning with GIT_DEPTH\u003d0\n\nThe recent patch to enable shallow cloning added a method to skip\nit by checking if GIT_DEPTH was null. However, this could never\nbe triggered because if the user specified it as null, the default\nsetting code would take over and set it to 1.\n\nThis patch allows the user to specify GIT_DEPTH\u003d0 to skip the\nshallow clone.\n\nChange-Id: I00ea7ab54ed51dc3ede9ceb9ff0f11575a035d1c\n"
    },
    {
      "commit": "256b8234a911d9fd1a44be5aa35b65df25062930",
      "tree": "cd302ba282fa4ab0387948332f1c1fe51a757634",
      "parents": [
        "62002dd88b7909ac249face4243e1aae03745a01",
        "ad5cc986d86e9deff506c0451409f26fc8e86efe"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 20 14:24:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 20 14:24:00 2015 +0000"
      },
      "message": "Merge \"Rename screen logfiles\""
    },
    {
      "commit": "789af5ccfa49e40eabe1454e9e2d31bd6c6f0ef8",
      "tree": "b56d8654cc92b5bdb0ea410f0ef687918db04318",
      "parents": [
        "62002dd88b7909ac249face4243e1aae03745a01"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Mon Jan 19 16:11:44 2015 -0500"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Mon Jan 19 16:11:44 2015 -0500"
      },
      "message": "Update osc server create to have type as positional arg\n\nIn Keystone, for v2 and v3 service creation, there was a bug that\nallowed a service to be created with no type, which made it useless.\n\nSee reference bug for details.\n\nChange-Id: I5d095007fe2ebc8219dc012c5b16cb4c122179cd\nRelated-Bug: #1404073\n"
    },
    {
      "commit": "5541a618de890ec721c375506057eeb6cb7a5a63",
      "tree": "b0d295ec2fbb6942d58c74acb5a923fe915d1c02",
      "parents": [
        "62002dd88b7909ac249face4243e1aae03745a01"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Mon Jan 19 15:58:49 2015 -0500"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Mon Jan 19 15:58:49 2015 -0500"
      },
      "message": "Use `os role list` instead of `os user role list`\n\nSince `os user role list` is being deprecated, we should start\nmigrating to `os role list`, which now has the required ability\nto list a users role on a project as of v1.0.2 of osc.\n\nChange-Id: I3fa8bf8f1feaac16e1cde5c55b1be00b92eaa5f6\n"
    },
    {
      "commit": "ca5b5485d9be07a6f9e57440901dc612889071c0",
      "tree": "5973d08b5d8ae66ce814a8a90a056ebdec324cb5",
      "parents": [
        "c34cb7b5ef3e6a87b1931f779e11648df2b7144c",
        "537532931da4103e1a873684476dac6d7fe56489"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Jan 17 17:45:29 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Jan 17 17:45:29 2015 +0000"
      },
      "message": "Merge \"Make changes such that -o nounset runs\""
    },
    {
      "commit": "c34cb7b5ef3e6a87b1931f779e11648df2b7144c",
      "tree": "6aa1e35447aac3ab4c19b7f2e6f9e6c6c57b8730",
      "parents": [
        "116f9f826effd3682c8b70cde8550727161c3384",
        "b74e01c34de76cb451f80d2f1ac1c4ccac1bb7e4"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Jan 17 06:03:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Jan 17 06:03:07 2015 +0000"
      },
      "message": "Merge \"Add a group create function, and a sample group\""
    },
    {
      "commit": "ad5cc986d86e9deff506c0451409f26fc8e86efe",
      "tree": "58ba49325e93574a35f98010414bccc0740b738c",
      "parents": [
        "116f9f826effd3682c8b70cde8550727161c3384"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Dec 10 16:35:32 2014 -0600"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jan 16 13:58:25 2015 -0600"
      },
      "message": "Rename screen logfiles\n\nThis renames the log files in logs/screen that contain timestamps to put\nthe timestamp after \u0027.log\u0027 and \u0027.log.summary\u0027 in the names.  This will\nsimplify devstack-gate\u0027s search for log files to copy to \u0027*.log\u0027.\n\ndstat.txt is also renamed to dstat.log\n\nMake LOGDIR and LOGFILE local\n\nbp:devstack-logging-and-service-names\nChange-Id: I02aba9ca82c117a1186dafc1d3c07aa04ecd1dde\n"
    },
    {
      "commit": "537532931da4103e1a873684476dac6d7fe56489",
      "tree": "e35fe8f6032774a831ccfbf2a4d72a68654bbb38",
      "parents": [
        "5f6f43ed9f67a86cad03c1d0c673429814467d6d"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 04 19:38:15 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Jan 15 13:06:14 2015 -0500"
      },
      "message": "Make changes such that -o nounset runs\n\nThis makes a bunch of variable cleanups that will let -o nounset\nfunction, for the time being we hide nounset behind another setting\nvariable so that it\u0027s not on by default.\n\nBecause this is bash, and things are only executed on demand, this\nprobably only works in the config it was run in. Expect cleaning up\nall the paths to be something that takes quite a while.\n\nThis also includes a new set of unit tests around the trueorfalse\nfunction, because my change in how it worked, didn\u0027t. Tests are good\nm\u0027kay.\n\nChange-Id: I71a896623ea9e1f042a73dc0678ce85acf0dc87d\n"
    },
    {
      "commit": "b74e01c34de76cb451f80d2f1ac1c4ccac1bb7e4",
      "tree": "c0c72cd9c194db806f40b7d4aecbbcd8b81c47f3",
      "parents": [
        "3eaa0781e3d87bee6d343573954b682f1f23d4b9"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Thu Dec 18 01:35:35 2014 -0500"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Wed Jan 14 14:37:13 2015 -0500"
      },
      "message": "Add a group create function, and a sample group\n\nSlowly trying to introduce more v3 concepts into a generic\ndevstack installation.\n\nWork with description of none and description with spaces\n\nChange-Id: I7d2fde58363698ff020f92f129f1ff7378f945a8\n"
    },
    {
      "commit": "b31f4cc3e5696a9328a341c2b3588da95d024931",
      "tree": "61b1554fd675692cc0fc5c20ace096fbc0191953",
      "parents": [
        "07e329875b2a1295459bf07438b3b4ef18b7cae8",
        "6ce071b796d7bbf851df225ca7097d2de26b3456"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Jan 13 23:05:46 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Jan 13 23:05:46 2015 +0000"
      },
      "message": "Merge \"Depreciated pip option PIP_DOWNLOAD_CACHE removal\""
    },
    {
      "commit": "6ce071b796d7bbf851df225ca7097d2de26b3456",
      "tree": "cd3972c7bf9f09a2082ebb75541b9436e00102e7",
      "parents": [
        "fe2f9868164d169c4170cc41285247dd20a39092"
      ],
      "author": {
        "name": "Radoslaw Smigielski",
        "email": "radoslaw.smigielski@alcatel-lucent.com",
        "time": "Tue Jan 13 06:29:31 2015 +0000"
      },
      "committer": {
        "name": "Radoslaw Smigielski",
        "email": "radoslaw.smigielski@alcatel-lucent.com",
        "time": "Tue Jan 13 06:29:31 2015 +0000"
      },
      "message": "Depreciated pip option PIP_DOWNLOAD_CACHE removal\n\nFix warning:\nDEPRECATION: --download-cache has been deprecated and will be removed in the\nfuture. Pip now automatically uses and configures its cache.\n\n1. Since version 6.0 (2014-12-22) pip has deprecated PIP_DOWNLOAD_CACHE\n   and now automatically uses and configures its cache.\n   Default new location is $HOME/.cache/pip.\n2. pip gets upgraded to the latest version in tools/install_pip.sh\n   but if pip version\u003c6, exit with error: \"Currently installed pip version\n   ${pip_version} does not meet meet minimum requirements\"\n\nChange-Id: I8b203ffc6d9cf588462d0d65a9703a9941d8fa71\n"
    },
    {
      "commit": "13519e8a5b8bb9141ecff09f5273d5c2896a8082",
      "tree": "e9a890f861a4daefe6ba1728e35832227159da12",
      "parents": [
        "441ff07b97b4d44a25479912ff2878be3fa6e9a9"
      ],
      "author": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Fri Jan 09 13:06:56 2015 +0000"
      },
      "committer": {
        "name": "Maru Newby",
        "email": "marun@redhat.com",
        "time": "Fri Jan 09 13:06:56 2015 +0000"
      },
      "message": "Fix get_packages when $DISTRO is not set\n\nSourcing the tools/install-prereqs.sh script with TOP_DIR set results\nin GetDistro being called in get_packages and echoing the result.\nSince all output from get_packages is assumed to be package names,\nthis results in the attempted installation of the non-existant \u0027Found\u0027\n\u0027Distro\u0027 and \u0027[distro name]\u0027 packages.  This change removes the echo\nstatement to avoid this problem.\n\nChange-Id: Idd05c31b9eec9e6209666fa16fa425cdf1f35aa2\n"
    },
    {
      "commit": "441ff07b97b4d44a25479912ff2878be3fa6e9a9",
      "tree": "33b3d529eadce2d067363913528fbab6e8efe5e5",
      "parents": [
        "29e34f7c9fe78a2914da1c8e1631750dd9b4d42b"
      ],
      "author": {
        "name": "Bharat Kumar Kobagana",
        "email": "bharat.kobagana@redhat.com",
        "time": "Thu Jan 08 12:26:26 2015 +0530"
      },
      "committer": {
        "name": "Bharat Kumar Kobagana",
        "email": "bharat.kobagana@redhat.com",
        "time": "Thu Jan 08 12:26:30 2015 +0530"
      },
      "message": "Fixing the problem in loading plugins\n\nThis patch fixes the problem in loading the plugins in devstack\nby defining the \"plugins\" variable in \"run_plugins\" function of\ndevstack/functions-common file.\n\nChange-Id: I9fb0e24bf1fd282931a8489e0a8ec0c9ea078520\nCloses-Bug: 1408571\n"
    },
    {
      "commit": "c7acc12ad2d1348e2da075fad923811e19efa9d1",
      "tree": "60280f210f0643a555440a16ab1e46561e7b4ffc",
      "parents": [
        "9cedfcfda23445aadb866f40b0aafdde533cec9a",
        "1f65fd64ce2f4ed32a706f9bcb28c2ee0cf51e5b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 07 22:32:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 07 22:32:15 2015 +0000"
      },
      "message": "Merge \"Clear multi-line sections before adding lines\""
    },
    {
      "commit": "9cedfcfda23445aadb866f40b0aafdde533cec9a",
      "tree": "ab63ed021e3fd78bb79f722f4bbfaaa88fc5305a",
      "parents": [
        "a6613851abacbfaad48d51a4de41e9b5e077e24c",
        "2c65e71ab85a6271818048f79541e9b269566df5"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Jan 07 18:11:07 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Jan 07 18:11:07 2015 +0000"
      },
      "message": "Merge \"Implement devstack external plugins\""
    },
    {
      "commit": "2c65e71ab85a6271818048f79541e9b269566df5",
      "tree": "ef8721cc25ec6f4736ea62a058d5c3556bbf510d",
      "parents": [
        "7d6df5225bafaf77137aaa69f8fecd1286491b36"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Dec 18 09:44:56 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Jan 06 12:30:25 2015 -0500"
      },
      "message": "Implement devstack external plugins\n\nThis is an initial pass at plugin infrastructure for devstack which\nallows specifying an external repository via:\n\nenable_plugin \u003cname\u003e \u003cgiturl\u003e [branch]\n\nIt implements the devstack specification for this at\nI173dee3d57967b1d2ffd30e4868a2832aeac97ce\n\nChange-Id: I8e4175313b3cf0b12e981122358b1288a7eb0746\n"
    },
    {
      "commit": "6ec66bb3d1354062ec70be972dba990e886084d5",
      "tree": "58c0c952d2bc6463b7d8b9f7dc9757ebd20e4d13",
      "parents": [
        "e92eee3e2646ae98b3d9e9005c67663b29e79ca1"
      ],
      "author": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Mon Dec 22 17:17:51 2014 +0000"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Tue Dec 23 01:05:42 2014 +0000"
      },
      "message": "Install prettytable\u003e\u003d0.7 to satisfy pip 6/PEP 440\n\nAlso use sudo -H with pip so that it doesn\u0027t create a ~stack/.cache\nother things can\u0027t write to as the stack user later.\n\nChange-Id: I2134c7d8f58f8b83f33150c9ed86d87f8ccba2f3\n"
    },
    {
      "commit": "1f65fd64ce2f4ed32a706f9bcb28c2ee0cf51e5b",
      "tree": "17da92dbb44093a59992333a3351cb5850983386",
      "parents": [
        "bfdddebc28e088ce9449feac8740901b82cc1c9b"
      ],
      "author": {
        "name": "Doug Wiegley",
        "email": "dougw@a10networks.com",
        "time": "Sat Dec 13 11:56:16 2014 -0700"
      },
      "committer": {
        "name": "Doug Wiegley",
        "email": "dougw@a10networks.com",
        "time": "Sun Dec 14 20:50:00 2014 -0700"
      },
      "message": "Clear multi-line sections before adding lines\n\nWith multiline support for local.conf, the first line is created with\niniset, which will set *all* previous lines to the same thing, and then\nsubsequent lines will be added. Modify the multiline support to first\nclear existing lines from the section.\n\nThis causes fatal errors with neutron.conf, which defines drivers with a bunch\nof service_provider\u003d options, and the current code ends up with the first\ndriver defined in local.conf being present twice.\n\nChange-Id: If132a94e53545d9134859aa508da7b9819ede2f8\n"
    },
    {
      "commit": "5f953dd1fe45a60dd92356d744fac613df21e9bb",
      "tree": "7e9409a51e794908a19ed630ff00011256c8126a",
      "parents": [
        "d7af0fe7a61115709681f8dcfee34207199bfe7b",
        "63d25d978ba0a0cdb1b689cafcebdaae7d609e06"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Dec 11 14:26:10 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Dec 11 14:26:10 2014 +0000"
      },
      "message": "Merge \"Allow use of dnf instead of yum on Fedora\""
    },
    {
      "commit": "63d25d978ba0a0cdb1b689cafcebdaae7d609e06",
      "tree": "b611e4ad3ef4bdab0cd4a2a013a7bc7f6a8a9198",
      "parents": [
        "53aaf15af37c718af8b47d1d2ba0052a875faed7"
      ],
      "author": {
        "name": "Daniel P. Berrange",
        "email": "berrange@redhat.com",
        "time": "Tue Dec 09 15:21:22 2014 +0000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Thu Dec 11 09:37:55 2014 +1100"
      },
      "message": "Allow use of dnf instead of yum on Fedora\n\nSince Fedora 20 it has been possible to use \u0027dnf\u0027 as a drop-in\nreplacement for \u0027yum\u0027, and it is targetted to become the default\nin Fedora 22\n\n   http://fedoraproject.org/wiki/Changes/ReplaceYumWithDNF\n\nThere are many benefits of \u0027dnf\u0027 over \u0027yum\u0027 but the biggest\nfrom the POV of an openstack developer is its speed.\n\nAssuming an existing running devstack install ie all required\nRPMs already installed on the system. Now look at how long it\ntakes to run stack.sh, during which yum does not have to\nactually install anything\n\n # ./unstack.sh\n # time ./stack.sh\n real 11m12.193s\n user 10m17.129s\n sys  0m15.275s\n\nNow, with \u0027export YUM\u003ddnf\u0027 set in local.conf, run the same\ntest again\n\n # ./unstack.sh\n # time ./stack.sh\n real 0m48.610s\n user 0m28.939s\n sys  0m7.801s\n\nSo, this is showing that devstack is wasting 10 minutes just\nfor yum to figure out that everything is already installed.\nThe overhead of yum vs dnf is even worse when yum has to\nacutally depsolve to install new packages.\n\nChange-Id: Ia01a5f330a47b32207586902a861bedfc8a0f6e2\n"
    },
    {
      "commit": "d09a1db5a449fc758bf840858f6fecba173705b3",
      "tree": "19f949a600c09109c306dd86ad830c474693bb58",
      "parents": [
        "3fe578d41d52577e6af4dc948287dfbc2eb06f46",
        "e263c82e48a431e502bd6baceb6dfcfdc1750cbb"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Dec 10 20:32:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Dec 10 20:32:15 2014 +0000"
      },
      "message": "Merge \"add shebang lines to all lib files\""
    },
    {
      "commit": "e263c82e48a431e502bd6baceb6dfcfdc1750cbb",
      "tree": "5ca592e668dedb4debc6c7170f3abf37cc4bc0c6",
      "parents": [
        "2f8e08b5728f4272b415b1c0aab8ff62eae29b06"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Dec 05 14:25:28 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Dec 10 11:28:05 2014 -0500"
      },
      "message": "add shebang lines to all lib files\n\nWith gerrit 2.8, and the new change screen, this will trigger syntax\nhighlighting in gerrit. Thus making reviewing code a lot nicer.\n\nChange-Id: Id238748417ffab53e02d59413dba66f61e724383\n"
    },
    {
      "commit": "245daa27da40cb94410c7a8f8f19961c21821231",
      "tree": "ff152c217668f14f157e83fb982a7329a158a914",
      "parents": [
        "7adfe91ca6d83cf91fcfc0642b62f5e69e9afa52"
      ],
      "author": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Fri Nov 14 02:17:22 2014 -0500"
      },
      "committer": {
        "name": "Steve Martinelli",
        "email": "stevemar@ca.ibm.com",
        "time": "Sun Dec 07 21:20:38 2014 -0500"
      },
      "message": "Use --or-show for get_or_create_user/project/role function\n\nExploit the --or-show functionality of openstackclient,\nrather than issuing two different commands at the shell level,\nlet the CLI handle things.\n\nChange-Id: I1db239fd3473eb580def1c5fb28ce472a1363569\n"
    },
    {
      "commit": "81a016dbcd7bbf9fde791386fcc294fca0a59d71",
      "tree": "7e5afe9f11936865a10df3b66d8233be771013f5",
      "parents": [
        "dd69403ff4608f8fe2c50c71962aee042ae0c1fa"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Sat Nov 15 17:18:13 2014 -0300"
      },
      "committer": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Mon Nov 24 09:51:17 2014 -0500"
      },
      "message": "Rename apts to debs\n\napts aren\u0027t a thing, debs are. apt-get installs debs, like yum installs\nrpms. Another option would be to rename rpms to yums, but that is even\nsillier, considering then for suse we\u0027d have to call it \"zypper-suse\" or\nsomething, even though it would want to consume yums-general as a base.\n\nInclude a symlink to the old name to help out with grenade. The symlink\nshould go away later.\n\nThis is a long-standing annoyance of mine.\n\nRelated-to: I915f0e59c13d8cf5fb3549c6202f8aa2f8be0856\nChange-Id: I0416180db5b6add996ce5b48c6966c1b68adbcb0\n"
    },
    {
      "commit": "9d09f0980285b5b5d5ccf3865cab1c5df49b25d5",
      "tree": "103bab25d57e14c2ec8d2df6fb6a6001aba46544",
      "parents": [
        "a74ae5d713de612197cfad284ae598f1da0da5f9"
      ],
      "author": {
        "name": "Oleg Gashev",
        "email": "oleg@gashev.net",
        "time": "Wed Nov 19 00:29:03 2014 -0500"
      },
      "committer": {
        "name": "Oleg Gashev",
        "email": "oleg@gashev.net",
        "time": "Wed Nov 19 00:29:03 2014 -0500"
      },
      "message": "Remove is_rackspace function from functions-common\n\nis_rackspace function never used and can be removed from code.\n\nChange-Id: Ic5d1dc419bdea3619fe248afad027e7d7c602b4f\nCloses-Bug: #1394076\n"
    },
    {
      "commit": "e08ab104e62da041fcc6b2aafba4349326f4a969",
      "tree": "859fc4953f6b45b75b9f4810ba0bf33477799f31",
      "parents": [
        "94f8bea9e4ff0434df1723cf269c4300a4373524"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Nov 13 17:09:28 2014 -0500"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Nov 13 17:17:38 2014 -0500"
      },
      "message": "fix python-* lib from git installation\n\nWe\u0027re using all the magic variables based on python-fooclient, however\nall the inline code was using fooclient for variables. So we had a\nmismatch, which was kindly pointed out by some of the 3rd party ci\ntesters.\n\nChange-Id: I27a56222c7e8e610fba8bf97672d2a42f5cf14ca\n"
    },
    {
      "commit": "8f8e2d1fbfa4c51f6b68a6967e330cd478f979ee",
      "tree": "da3ebb16087f2d2796bdb4fce0b95cc6acc83b37",
      "parents": [
        "51d203f5a09be804dab4870018b8a604075979d5",
        "5cb190697c1bce5dcd2ad843922813b0cc74bd24"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Nov 12 19:50:44 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Nov 12 19:50:44 2014 +0000"
      },
      "message": "Merge \"support installing clients at released versions\""
    },
    {
      "commit": "af81d672937fb4cefb7d723769af232cac714c22",
      "tree": "31a1f14fb30c30e412f32a401a7f43addc311949",
      "parents": [
        "e6165e80bab0c06035a0b7002200bcbcfe4e62ab"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Mon Nov 10 09:04:54 2014 +0100"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Mon Nov 10 09:04:54 2014 +0100"
      },
      "message": "Drop PIP_USE_MIRRORS environment variable\n\nThe PIP_USE_MIRRORS does not do anything else than adding\n the --use-mirrors option to the pip command line.\n\nThe --use-mirrors is deprecated since pip-1.5,\nand does not do anything else than printing a warning message.\n\nFor using alternate pypi index url this option is not required and\nnot sufficient. The current way for using alternate mirrors\nis to defining them in the .pip/pip.conf either manually (before\ndevstack), or by using the PYPI_ALTERNATIVE_URL and PYPI_OVERRIDE\nenvironment variables.\n\nChange-Id: Ia33e783360e5661c2ef03b77e9f7af32b2633f2f\n"
    },
    {
      "commit": "5cb190697c1bce5dcd2ad843922813b0cc74bd24",
      "tree": "ba87095ef1603c957902abadcb692ccf653e6f59",
      "parents": [
        "2d18b83600bf53df3a41aec619eee67328fe154f"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Sat Nov 01 01:37:45 2014 +0100"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Nov 04 10:18:58 2014 +0100"
      },
      "message": "support installing clients at released versions\n\nexpand the devstack support for libraries from released versions to\nsupport python-* clients and tempest_lib.\n\nDepends-On: I81b0d228e7769758c61e5b0323ecfce8c8886d39\n\nChange-Id: I26fac0ccf8fd4818e24618d56bf04b32306f88f6\n"
    },
    {
      "commit": "3073a93f6aa4105866d1f7b8d50a61584051f8c3",
      "tree": "586464a8a8e0d8f25ed790ba23255f76e21e0772",
      "parents": [
        "182c0c459dc6e420c0c5a1b2a14c078b926a484b",
        "5a91c3548370d3de856e5522f2d11775278115cf"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Nov 03 12:11:15 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Nov 03 12:11:15 2014 +0000"
      },
      "message": "Merge \"USe `trueorfalse` for INSTALL_TESTONLY_PACKAGES\""
    },
    {
      "commit": "5a91c3548370d3de856e5522f2d11775278115cf",
      "tree": "8f36015c312e9302101d82028064fc10d32c5a24",
      "parents": [
        "219a58e57bfab5d8071e636399963bd31d9eca2a"
      ],
      "author": {
        "name": "Flavio Percoco",
        "email": "flaper87@gmail.com",
        "time": "Fri Oct 31 18:48:00 2014 +0100"
      },
      "committer": {
        "name": "Flavio Percoco",
        "email": "flaper87@gmail.com",
        "time": "Fri Oct 31 18:48:00 2014 +0100"
      },
      "message": "USe `trueorfalse` for INSTALL_TESTONLY_PACKAGES\n\nINSTALL_TESTONLY_PACKAGES is assumed to be set to `True` or `False`.\nHowever, in devstack-gate this variable is set to 0 or 1. The patch uses\nthe already existing `trueorfalse` function to evaluate\nINSTALL_TESTONLY_PACKAGES and normalize its value.\n\nChange-Id: I0e4a31e422bad2a31d919d9f871e24833a0faa99\n"
    },
    {
      "commit": "292b2a7ee61f9b034230e8c99d2e5c7154dcf79b",
      "tree": "ce45a85e11f7e7ec0ad71e5466338f29229f1291",
      "parents": [
        "bd5263cd37bc3d451a4a1680ffb79b9f639a5e88"
      ],
      "author": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@valinux.co.jp",
        "time": "Fri Oct 31 13:48:58 2014 +0900"
      },
      "committer": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@valinux.co.jp",
        "time": "Fri Oct 31 14:29:17 2014 +0900"
      },
      "message": "Workaround openrc failure on zsh\n\nThe recent GIT_DEPTH change introduced a [[ ]] construct\nwhich doesn\u0027t work for zsh 5.0.2.  Workaround it by tweaking the test.\n\nThe following is a demonstration to show how zsh behaves:\n\n    % if [[ \"\" ]];then echo hoge;fi\n    zsh: parse error near `]]\u0027\n    % if [[ \"x\" ]];then echo hoge;fi\n    zsh: parse error near `]]\u0027\n    % if [[ -n \"\" ]];then echo hoge;fi\n    % if [[ -n \"x\" ]];then echo hoge;fi\n    hoge\n    %\n\nCloses-Bug: #1387943\nChange-Id: Ia88de876dacb3664a7c3d8f5a035e8e50fddb678\n"
    },
    {
      "commit": "483940350eaaeffe83f67ca5255a06fd7acf78ff",
      "tree": "c08407fd93a9021733dbb424ad6e4c2032c37e4e",
      "parents": [
        "33d079bcca031e3a02ae0107b20228fa618dca34",
        "def1534ce06409c4c70d6569ea6314a82897e28b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 29 19:08:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 29 19:08:03 2014 +0000"
      },
      "message": "Merge \"allow for soft updating of global-requirements\""
    },
    {
      "commit": "3c92eb9b7fb844ab4ea760e1e444c65f412e4769",
      "tree": "ff862c470c02957e23a388029e32d51fde494811",
      "parents": [
        "7f55e0d36eeedff6230e005935cefcaff9179eac",
        "24779f65a675f2e78c09b2520ebefcd52b4f0be0"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Tue Oct 28 03:16:03 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Tue Oct 28 03:16:03 2014 +0000"
      },
      "message": "Merge \"Add swift user and project in non-default domain\""
    },
    {
      "commit": "def1534ce06409c4c70d6569ea6314a82897e28b",
      "tree": "6bc90ee54addedd9b2d9270ae48c36ec9f492ed6",
      "parents": [
        "ce1f133732e298eb1b5d0814d1670756493c2a32"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Oct 27 12:26:04 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Oct 27 12:26:04 2014 -0400"
      },
      "message": "allow for soft updating of global-requirements\n\nThis creates a devstack REQUIREMENTS_MODE which is how we handle\nsyncing of global requirements. The default is \u0027strict\u0027, which is\ncurrent behavior. There is a new \u0027soft\u0027 mode which does a\n--soft-update for projects *not* found in projects.txt, which lets\nthem specify additional requirements.\n\nChange-Id: I4aa606514131b5dde67d87f5c8db5a3f3e50fc03\nDepends-On: I1f195ef9ff1509659848e14ec9936ff6f66a6496\n"
    },
    {
      "commit": "51f0de5c5d5aa779db0ed647804d7d9488a9122b",
      "tree": "861422e32a7025bfbe4f64899d52d1352e7b8d26",
      "parents": [
        "514c82030cf04da742d16582a23cc64962fdbda1"
      ],
      "author": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Mon Oct 20 16:32:34 2014 +0200"
      },
      "committer": {
        "name": "Jamie Lennox",
        "email": "jamielennox@redhat.com",
        "time": "Fri Oct 24 10:24:13 2014 +0200"
      },
      "message": "Allow depth limiting git clones\n\nDepending on how you are using devstack you probably don\u0027t need the\nentire history of a project so we should allow people to specify a clone\ndepth to speed up the devstack process.\n\nChange-Id: I804a5abcc80f6a81e915c0bb4dceae72486441a7\nBlueprint: git-depth\n"
    },
    {
      "commit": "24779f65a675f2e78c09b2520ebefcd52b4f0be0",
      "tree": "bd4ce41a2e7d8aa1def79d9398a1beef2547aed6",
      "parents": [
        "572a4c4c3c5553beea01f519dbdcadfb9c6f78b7"
      ],
      "author": {
        "name": "Alistair Coles",
        "email": "alistair.coles@hp.com",
        "time": "Wed Oct 15 18:57:59 2014 +0100"
      },
      "committer": {
        "name": "Alistair Coles",
        "email": "alistair.coles@hp.com",
        "time": "Tue Oct 21 14:36:15 2014 +0100"
      },
      "message": "Add swift user and project in non-default domain\n\nSwift has functional tests that check access controls\nbetween users and projects in differing domains. Those tests\nare currently skipped by default since swift tests are\nconfigured to use keystone v2 API. In order for those\ntests to pass when using keystone v3 API, a user and\nproject must be setup in a non-default domain.\n\nThis patch creates a domain, and a user and project in\nthat domain, in support of swift functional tests moving\nto using keystone v3 API.\n\nChanges:\nlib/swift\n    - create a new domain, project and user for\n      swift testing\n    - add new project and user credentials to swift\n      test config file\n    - set correct identity service url in swift test\n      config file according to kesytone API version\n\nfunctions-common\n    - add function get_or_create_domain\n    - modify get_or_create_user and get_or_create_project\n      functions to optionally specify a domain\n\nChange-Id: I557de01bf196075f2f3adcdf4dd1b43756d8a0ae\n"
    },
    {
      "commit": "8543a0f763c1f4fcc3ca7e13efece54a0ff7fbb6",
      "tree": "40e56602096cd06f7e101639f7dac5c973902db4",
      "parents": [
        "22ec45e63a45bb38f63ca995446338859dacb207"
      ],
      "author": {
        "name": "Adam Gandelman",
        "email": "adamg@ubuntu.com",
        "time": "Thu Oct 16 17:42:33 2014 -0700"
      },
      "committer": {
        "name": "Adam Gandelman",
        "email": "adamg@ubuntu.com",
        "time": "Mon Oct 20 13:42:52 2014 -0700"
      },
      "message": "Make screen_service() useful for more than services\n\nscreen_service() can currently only be used to launch things that\npass the \u0027is_service_enabled\u0027 check, even though its calling functions\nwill have already done this.  This removes such check, renames it\nto screen_process() and updates its usage elsewhere.\n\nChange-Id: I480a4560a45b131a95c1b2d2d2379aeba542a9bc\n"
    },
    {
      "commit": "751ad1aadf8447c2b6945b6ae4ab73bf71a244ca",
      "tree": "dd29652859f3a425f8a7f2853149c157d743f6f4",
      "parents": [
        "ddfbacef9fd0bd64b38674524f7829b42ed08bbd"
      ],
      "author": {
        "name": "Robert Li",
        "email": "baoli@cisco.com",
        "time": "Wed Oct 15 21:40:53 2014 -0400"
      },
      "committer": {
        "name": "Robert Li",
        "email": "baoli@cisco.com",
        "time": "Wed Oct 15 21:44:31 2014 -0400"
      },
      "message": "Allow multi-line config items in meta-section of local.conf\n\nIt would behave such as the contents from each meta-section in\nlocal.conf is copied to the destination files. One exception is the multiline\noptions not grouped together. In that case, the contents will be grouped\ntogether in its destination config file.\n\nCheck tests/test_config.sh for examples.\n\nThis was originally committed in https://review.openstack.org/128805.\nBut the original change used AWK syntax that is not supported in AWK\n3.1.8, and caused syntax error on servers with that AWK version. This\npatch makes the necessary change so that it\u0027s compatible with AWK\n3.1.8.\n\nChange-Id: Id1e1fe01f05bd0f19ea6e89c4f4c0f8be695dfce\nPartial-Bug: #1374118\n"
    },
    {
      "commit": "ddfbacef9fd0bd64b38674524f7829b42ed08bbd",
      "tree": "e581449c0f8059530f4f7f4648392f5810305b3b",
      "parents": [
        "e0d6a46b8afaeacc070a84f58ecf8e03ffe8275c",
        "8f38572588af308d433a3bd7fbd93163348d98d3"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 15 22:02:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 15 22:02:08 2014 +0000"
      },
      "message": "Merge \"support proposed/* branches\""
    },
    {
      "commit": "8f38572588af308d433a3bd7fbd93163348d98d3",
      "tree": "c504ae3d743b3b40408bdb5880512c0a6d72027b",
      "parents": [
        "e9c70ab4097cd8d1991a893811dbd862ee001f10"
      ],
      "author": {
        "name": "Adam Gandelman",
        "email": "adamg@ubuntu.com",
        "time": "Tue Oct 14 15:50:18 2014 -0700"
      },
      "committer": {
        "name": "Adam Gandelman",
        "email": "adamg@ubuntu.com",
        "time": "Tue Oct 14 15:51:56 2014 -0700"
      },
      "message": "support proposed/* branches\n\nProvide support for named proposed branches for selection logic\n\nThis syncs the get_release_name_from_branch() function from grenade.\n\nChange-Id: I1adabf07cdc3ea6863cd30d8b6454fb40fc20288\n"
    },
    {
      "commit": "a7eb07a3e22eb0362b28cec4bd289201a9adf699",
      "tree": "f71ea7688ba146a393e4e17acfecf2592a486cef",
      "parents": [
        "e9c70ab4097cd8d1991a893811dbd862ee001f10"
      ],
      "author": {
        "name": "Kevin Benton",
        "email": "blak111@gmail.com",
        "time": "Tue Oct 14 04:35:59 2014 -0700"
      },
      "committer": {
        "name": "Kevin Benton",
        "email": "blak111@gmail.com",
        "time": "Tue Oct 14 04:38:56 2014 -0700"
      },
      "message": "Revert \"Allow multi-line config items in meta-section of local.conf\"\n\nThis reverts commit 6ff21acf4c4d4ef08bbef419ba582cade4da8da7.\n\nThis commit has broken config options with colons in them.\nThe following is a sample configuration that no longer works:\n\n[[post-config|/etc/neutron/plugins/ml2/ml2_conf.ini]]\n[restproxy]\nserver_ssl\u003dFalse\nservers\u003d10.211.1.9:80\nserver_ssl\u003dFalse\n\nWith the above config and the code present that this reverts,\nthe \u0027servers\u0027 option will come out blank.\n\nChange-Id: I328852d2d941605051a1bf5eaf0f7674191f8c48\n"
    },
    {
      "commit": "6ff21acf4c4d4ef08bbef419ba582cade4da8da7",
      "tree": "b5acb9e70c03cb15be733339b742f3bf9d10ae87",
      "parents": [
        "cc87c2871dc436b2134f60e9fa4663723a094ebd"
      ],
      "author": {
        "name": "Robert Li",
        "email": "baoli@cisco.com",
        "time": "Fri Oct 10 12:43:05 2014 -0400"
      },
      "committer": {
        "name": "Robert Li",
        "email": "baoli@cisco.com",
        "time": "Fri Oct 10 12:53:24 2014 -0400"
      },
      "message": "Allow multi-line config items in meta-section of local.conf\n\nIt would behave such as the contents from each meta-section in\nlocal.conf is copied to the destination files. One exception is the multiline\noptions not grouped together. In that case, the contents will be grouped\ntogether in its destination config file.\n\nCheck tests/test_config.sh for examples.\n\nChange-Id: I8c046b558eeb98ed221f6f1a59182d4179956ced\nPartial-Bug: #1374118\n"
    },
    {
      "commit": "e5dbec252aac0ca665696a5b69267f13882478c2",
      "tree": "7a7fc675e9c6ef6cd725b7136ab68836d438ef7c",
      "parents": [
        "f33e76bf9bd9a3bc39e8b3b99257a4ae98a10d25",
        "3324f19f5aeb3c8933447752dbc2c1b8c7f9b2de"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Wed Oct 08 22:14:51 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Wed Oct 08 22:14:51 2014 +0000"
      },
      "message": "Merge \"Fix docs build errors\""
    },
    {
      "commit": "39ceb484a49234147ce6670a542e2bd20ceb369f",
      "tree": "5eff7a9ab976e859f965cb61ee02cfb3c0dec4f7",
      "parents": [
        "24516d04fb6d0b3a5213e9d962fdf307e6a38d55",
        "944b28280b86bba7592b1c7a2032dbd0eaa39014"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Oct 04 09:25:47 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Oct 04 09:25:47 2014 +0000"
      },
      "message": "Merge \"Drop workaround for pip \u003c 1.4\""
    },
    {
      "commit": "5e02da7c8442688e0c51872e9e1e35dd61589c73",
      "tree": "606039281b68e92aa3dc70c51d8e73cf900d195b",
      "parents": [
        "38aad4cfd7a9a2143a338ecebc1f847d760df7e8",
        "cc52406a7843367c42e276b85cb9e73e4c525d51"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Oct 03 01:38:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Oct 03 01:38:36 2014 +0000"
      },
      "message": "Merge \"use released library versions by default\""
    },
    {
      "commit": "3324f19f5aeb3c8933447752dbc2c1b8c7f9b2de",
      "tree": "84248dfdde0ce32a415c565db32dcb04776ea51e",
      "parents": [
        "7672ad1dbc00ec5ff80f3aa670404e413e86e506"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Sep 18 09:26:39 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 02 15:30:50 2014 -0500"
      },
      "message": "Fix docs build errors\n\nFix shocco errors during docs generation\n\nCloses-Bug: 1362691\nChange-Id: I2b7fb008c89f0b4e7280b2d0a054320765e83e47\n"
    },
    {
      "commit": "944b28280b86bba7592b1c7a2032dbd0eaa39014",
      "tree": "536f4a12c918cdef4077be75d032270244966ae3",
      "parents": [
        "c53e83601a4ffc572ae99b3a4f330a940066cc1d"
      ],
      "author": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Wed Oct 01 18:21:08 2014 -0700"
      },
      "committer": {
        "name": "Joe Gordon",
        "email": "joe.gordon0@gmail.com",
        "time": "Wed Oct 01 19:52:23 2014 -0700"
      },
      "message": "Drop workaround for pip \u003c 1.4\n\nNow that we are on pip 1.5.6 lets drop the workaround to make pip 1.4\nwork. As this is a development/testing tool requiring a newer pip\nshouldn\u0027t be an issue. Also stack.sh installs pip by default.\n\nWork around introduced in https://github.com/pypa/pip/issues/709\n\nChange-Id: I0e7aad1d21f4fce4c020ce36685bb56893c66bdc\n"
    },
    {
      "commit": "cc52406a7843367c42e276b85cb9e73e4c525d51",
      "tree": "04ed2b376d34c6849aff19671a51914362d9b509",
      "parents": [
        "8e087fa83b1a1b1a2cdbae6f855c9d742e5650f5"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Oct 01 09:06:43 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Oct 01 16:20:22 2014 -0400"
      },
      "message": "use released library versions by default\n\nThis patch provides a new path for installing libraries in devstack so\nthat it\u0027s possible to either test with upstream released libraries, or\nwith git versions of individual libraries.\n\nLibraries are added by name to 3 associative arrays GITREPO,\nGITBRANCH, GITDIR. When we get to the library install phase we inspect\nLIBS_FROM_GIT and look for libraries by name (i.e. \"oslo.config\") and\nif they exist we\u0027ll clone and install those libraries from\ngit. Otherwise we won\u0027t, and just let pip pull them as dependencies\nwhen it needs them.\n\nThis patch provides the conversion of the oslo libraries, including\npbr.\n\nDevstack-gate jobs for these libraries will need to change to support\nactually forward testing their content.\n\nChange-Id: I6161fa3194dbe8fbc25b6ee0e2fe3cc722a1cea4\n"
    },
    {
      "commit": "c53e83601a4ffc572ae99b3a4f330a940066cc1d",
      "tree": "2ef16df0bf235d51d895fb232947551464a6d4e5",
      "parents": [
        "8e087fa83b1a1b1a2cdbae6f855c9d742e5650f5"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Sep 30 22:37:52 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Sep 30 22:37:52 2014 -0400"
      },
      "message": "remove deprecated pip option\n\n--build is a deprecated option in pip, remove it\n\nChange-Id: I8cb5f570431dcbd3389cd3b8d54d9ef40aa66dee\n"
    },
    {
      "commit": "2f27a0ed3c609bfcd6344a55c121e56d5569afc9",
      "tree": "abe0c02c1d2fd9d57f6b786ff8105896969d0e3c",
      "parents": [
        "58deafcd63ae996e0973c864e249c4a3cb82a74f"
      ],
      "author": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Tue Sep 09 13:46:02 2014 +0100"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Thu Sep 11 18:59:39 2014 +0100"
      },
      "message": "Replace screen_it() with run_process() throughout\n\nrun_process will use screen if USE_SCREEN\u003dTrue (the default),\notherwise it will simply start the requested service. Therefore\nwherever screen_it used, run_process can be instead.\n\nWhere stop_screen was found it has been replaced with stop_process.\n\nA tail_log function has been added which will tail a logfile in a\nscreen if USE_SCREEN is True.\n\nlib/template has been updated to reflect the use of the new\nfunctions.\n\nWhen using sg the quoting in run_process gets very complicated.\nTo get around this run_process and the functions it calls accepts\nan optional third argument. If set it is a group to be used with sg.\n\nChange-Id: Ia3843818014f7c6c7526ef3aa9676bbddb8a85ca\n"
    },
    {
      "commit": "3159a821c2e0662278746c5311e187bcfd4d8b75",
      "tree": "619916b47ee265729ca2c120870addd5c3b13e84",
      "parents": [
        "4bd4264960917b6bcd197326020a8a894d1d47f4"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Aug 27 14:13:58 2014 -0500"
      },
      "committer": {
        "name": "Chris Dent",
        "email": "chdent@redhat.com",
        "time": "Tue Sep 09 13:54:01 2014 +0100"
      },
      "message": "Run processes without screen\n\nThis introduces new run_process() and screen_service() functions and sets the\ngroundwork to change how DevStack starts services.  screen_service() is simply a\ndirect call to the screen portion of the old screen_it() function and is intended\nto run commands that only need to run under screen, such as log file watchers.\n\nrun_process() is a replacement for screen_it() (which remains until all of the\nservices are updated).  The usage is similar but requires updates to every current\nscreen_it() call to remove everything that requires the command to be interpreted\nby a shell.\n\nThe old run_process() and _run_process() functions are still present as\nold_run_process() and _old_run_process() to support the deprecated screen_it()\nfunction.  These will all go away in the future once all services have been\nconfirmed to have been changed over.\n\nThere is a similar new set of stop process functions stop_process() and\nscreen_stop_service().  The old screen_stop() will also remain for the deprecation\nperiod.\n\nAs an initial test/demostration this review also includes the changes for\nlib/cinder to demonstrate what is required for every service.\n\nI included the scripts I used to test this; tests/fake-service.sh and\ntests/run-process.sh are quite rough around the edges and may bite.  They should\nmature into productive members of the testing ecosystem someday.\n\nChange-Id: I03322bf0208353ebd267811735c66f13a516637b\n"
    },
    {
      "commit": "ba842f5374f28d1f17bc008349a2d01958dfe82d",
      "tree": "4b01fdbdd677be6d8672f1b32850c4499c034591",
      "parents": [
        "8b3217e31083625667225e5cddadf99d430a6206",
        "966463c802c6c2f3a04da812cd689502aa8006cd"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Mon Sep 08 16:23:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Mon Sep 08 16:23:20 2014 +0000"
      },
      "message": "Merge \"Keystone access log in key-access screen\""
    },
    {
      "commit": "17b6938125dc8b78d26ab2c9a748c3808676620e",
      "tree": "c070a54b295cc85ff70284ae3d53ac75abf930e9",
      "parents": [
        "07405773714d4bb9d2491025e4630d14d3773678",
        "f3f4b0ac78a07457b730c0a6ab3b48799c350339"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Sep 06 13:28:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Sep 06 13:28:13 2014 +0000"
      },
      "message": "Merge \"install test-reqs when TESTONLY packages are installed\""
    },
    {
      "commit": "966463c802c6c2f3a04da812cd689502aa8006cd",
      "tree": "c0af3fb57d97c1448a5df2f4941df2d8c7bdd7d7",
      "parents": [
        "2a6ce7197e5da9fddddaba2faff2a18c04ece957"
      ],
      "author": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu Aug 21 18:24:42 2014 -0500"
      },
      "committer": {
        "name": "Brant Knudson",
        "email": "bknudson@us.ibm.com",
        "time": "Thu Sep 04 18:12:37 2014 -0500"
      },
      "message": "Keystone access log in key-access screen\n\nWhen Keystone was run in Apache Httpd the access log wasn\u0027t in a\nscreen. A new screen called key-access is now started with\nKeystone\u0027s access log.\n\nChange-Id: Ie1f4d4b679e1b9c87f0cea37deb25f7b6636fe01\nCloses-Bug: #1359995\n"
    },
    {
      "commit": "f71b500beaf3d09c0388fed8480c9a5a25524c87",
      "tree": "94556915d766ecfb8e7a759122d06321bc2f4d2f",
      "parents": [
        "a7a2b883b28a6a2137f9b56be956a5d3798a0479"
      ],
      "author": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed May 28 09:52:22 2014 +0200"
      },
      "committer": {
        "name": "Attila Fazekas",
        "email": "afazekas@redhat.com",
        "time": "Wed Aug 27 09:21:13 2014 +0200"
      },
      "message": "Faster nova fixed key generation\n\nUsing bc 64 times in loop is too verbose and slow,\nreplacing the echo/bc loop with hexdump and urandom.\n\nThe hexdump approach is 75 times faster and\ndoes not floods the debug logs.\n\nUsing the common function for generating,\nthis kind of string with lib/heat and by the read_password.\n\nChange-Id: If6a86dfaf0c21e2635c6de0a7b96a8ed7ec5b507\n"
    },
    {
      "commit": "f3f4b0ac78a07457b730c0a6ab3b48799c350339",
      "tree": "593d610a982081c9a8859c8c968b0110191507cd",
      "parents": [
        "5acf159c72fad931031d9768ae02575240a5ede9"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Jul 15 12:07:42 2014 +0200"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Tue Aug 05 17:01:16 2014 -0400"
      },
      "message": "install test-reqs when TESTONLY packages are installed\n\nINSTALL_TESTONLY_PACKAGES in devstack only impacts .deb/.rpm files\neven though most of our test requirements are actually specified\nin python. This will do an explicit install of test-requirements.txt\nif pip_install is called with args that look like a directory,\nand test-requirements.txt exists in that directory.\n\nChange-Id: Id21e282ddc945c819c9c8c4d724658e28bfde785\n"
    },
    {
      "commit": "bdc90c5f0243e3d2b3efa893cfd080d039fed8e4",
      "tree": "bdb9ba20891683534bff03f8a269f6de35d50c94",
      "parents": [
        "a36167e38146c9bc328718458a4d7413b920f79f"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Aug 04 15:44:58 2014 +1000"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Tue Aug 05 14:45:02 2014 +1000"
      },
      "message": "Work around pip installed pkgs on Rackspace image\n\nThe upstream rackspace image has a bunch of pip installed packages as\ncloud-init was installed via pip due to a lack of available system\npackages.  This can break further system package installs, such as\nmarkdown, which fails with\n\n---\n Error unpacking rpm package python-markdown-2.4.1-1.el7.noarch\n  error: unpacking of archive failed on file\n   /usr/lib/python2.7/site-packages/Markdown-2.4.1-py2.7.egg-info: cpio: rename\n---\n\nBecause that is a directory for the pip-installed package, and a file\nin the RPM\n\nRemove all pip installed packages on rackspace images before we start\nto work around this.  I have filed an upstream issue with Rackspace\n(ticket-id 140804-ord-0000134) and the issue is being worked on.\n\nChange-Id: Id12d175143ed3b8e024d057d65fa67505c08042a\n"
    },
    {
      "commit": "d91cef35c605164d3fb960db992a5a7cae980431",
      "tree": "a5537c3c7f1032ce82735c8eeb2aac98270c409f",
      "parents": [
        "bfc6631be8e59609fe3c9b6b19b800c9ff7574e5",
        "1229a0879f44cfd96be208fee8c56ed68c669576"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Aug 02 02:09:09 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Aug 02 02:09:09 2014 +0000"
      },
      "message": "Merge \"Resolve circular dependency when tracking dependencies.\""
    },
    {
      "commit": "fb2bf8cb9dd1b07650b9e362e056b92f4c101c2c",
      "tree": "b89e83a26081b960f4135fccdd4cf7bb4a699127",
      "parents": [
        "cdef3aa4d56823dba0051f99794550f2bb264c9c",
        "d5dfa4c5c721e6edd71add63b3bf301f2cc4c27b"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Aug 02 00:36:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Aug 02 00:36:17 2014 +0000"
      },
      "message": "Merge \"Clean up local variable usage - misc functions\""
    },
    {
      "commit": "1229a0879f44cfd96be208fee8c56ed68c669576",
      "tree": "271671b7e0c879ac59db68ba6486e957e7a7e122",
      "parents": [
        "307cfcb9d11945b5f89f249d8779e51c87f1bc34"
      ],
      "author": {
        "name": "Robbie Harwood (frozencemetery)",
        "email": "rharwood@redhat.com",
        "time": "Thu Jul 31 13:55:06 2014 -0400"
      },
      "committer": {
        "name": "Robbie Harwood (frozencemetery)",
        "email": "rharwood@redhat.com",
        "time": "Thu Jul 31 13:58:46 2014 -0400"
      },
      "message": "Resolve circular dependency when tracking dependencies.\n\nWhen TRACK_DEPENDS\u003dTrue, there is a circular dependency wherein virtualenv is\nused to install virtualenv before a virtualenv has been established.\nTRACK_DEPENDS does not work in any use case without this fix.\n\nChange-Id: I7a6652ba091cb95dac3871b6c71edcd762a7be62\nCloses-Bug: 1208867\n"
    },
    {
      "commit": "d5dfa4c5c721e6edd71add63b3bf301f2cc4c27b",
      "tree": "42294bf31399e0b502a129c163565033b5cb4c97",
      "parents": [
        "d3121f649d672fdaf757655b94ecd68c71b56b8e"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 25 11:13:11 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Wed Jul 30 09:26:21 2014 -0500"
      },
      "message": "Clean up local variable usage - misc functions\n\nA catch-all for a bunch of smaller functions\n\nChange-Id: I3f97a514f9964ef36bff2f24a2f0a98614871a9f\n"
    },
    {
      "commit": "50cda69f3c80f4f479fb0748ae6ee2cb9caf945c",
      "tree": "c10488254ca9fa56536b397f833397c8f73c6633",
      "parents": [
        "d3121f649d672fdaf757655b94ecd68c71b56b8e"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 25 11:57:20 2014 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Fri Jul 25 13:58:36 2014 -0500"
      },
      "message": "Clean up local variable usage - git functions\n\nCleans up the git-related functions in functions-common\n\nChange-Id: I5f1851c0473e92c61b1e8af60e7ef32c3019f719\n"
    },
    {
      "commit": "703f17e536ceb7f782550f1da3744e3a017d51a6",
      "tree": "bc78e145682e406fd422a3720f5b625a22265956",
      "parents": [
        "4f3b66f538937cf0c7f9fdc97e5472f4c77bbe69",
        "9e17974a622797d6249ebc85d999a9b89aba9e58"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Jul 24 04:25:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Jul 24 04:25:16 2014 +0000"
      },
      "message": "Merge \"Fixed NO_UPDATE_REPOS variable usage\""
    },
    {
      "commit": "6dd8a8bee402a6be683075e0669a010a279950ae",
      "tree": "863dda081a4cf9cbf78f911ac66178b7ffc9f11e",
      "parents": [
        "2bb05fdb84aa472299efc714b7c1114a25a3ada2"
      ],
      "author": {
        "name": "Gael Chamoulaud",
        "email": "gchamoul@redhat.com",
        "time": "Tue Jul 22 01:12:12 2014 +0200"
      },
      "committer": {
        "name": "Gael Chamoulaud",
        "email": "gchamoul@redhat.com",
        "time": "Tue Jul 22 17:29:04 2014 +0200"
      },
      "message": "Users in service group should not have email addresses\n\nChange-Id: Ieed9dffce5cf1e735e482dd3494ac1e103b50955\nCloses-Bug: 1185201\nSigned-off-by: Gael Chamoulaud \u003cgchamoul@redhat.com\u003e\n"
    },
    {
      "commit": "6c639c9dd71099437bf27da0aed0c6dd7b0a32b2",
      "tree": "5a986b868c1be232b3f7c6d92bc7a0ca1cee9097",
      "parents": [
        "5e93727a23e3922efcdd80600a0b7fce5adb62cf"
      ],
      "author": {
        "name": "anju Tiwari",
        "email": "anjutiwari5@gmail.com",
        "time": "Tue Jul 15 18:11:54 2014 +0530"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Jul 18 09:59:59 2014 +1000"
      },
      "message": "Added Oracle Linux distribution support\n\nEnabled devstack to support oracle Linux Server\n\nChange-Id: I1749cd3c7756a9903d2a0b0ab19606f87a4937d4\n"
    },
    {
      "commit": "9e17974a622797d6249ebc85d999a9b89aba9e58",
      "tree": "ba9ccd4bdb9b827ff5dc2d4837c945563d1f0999",
      "parents": [
        "89a8a15ebe31f4b06e40ecadd4918e687087874c"
      ],
      "author": {
        "name": "Paul Linchpiner",
        "email": "autokarmaru@gmail.com",
        "time": "Sun Jul 13 22:23:00 2014 -0700"
      },
      "committer": {
        "name": "Paul Linchpiner",
        "email": "autokarmaru@gmail.com",
        "time": "Sun Jul 13 22:23:00 2014 -0700"
      },
      "message": "Fixed NO_UPDATE_REPOS variable usage\n\nChange-Id: I50a2fd73f30321e97c99947b62fb1729870a2c14\n"
    },
    {
      "commit": "0abde393c5e2d15e840c0321b736e22291b59780",
      "tree": "a78ecff37749175c95a5cbc7eae78cfecd02d1c8",
      "parents": [
        "c06c9e1f904a81e0fef646273b07510e90995364"
      ],
      "author": {
        "name": "Bartosz Górski",
        "email": "bartosz.gorski@ntti3.com",
        "time": "Fri Feb 28 14:15:19 2014 +0100"
      },
      "committer": {
        "name": "Bartosz Górski",
        "email": "bartosz.gorski@ntti3.com",
        "time": "Tue Jul 01 14:58:35 2014 +0000"
      },
      "message": "Adds support for multi-region\n\nChange-Id: Ib85fe7cb375692b04aca4c46f61ba7e1fbfa501b\nImplements: blueprint multi-region\n"
    },
    {
      "commit": "ea22a4fdba6c942e310588c4e2652be4fef5fe29",
      "tree": "01da57f300276125cbe11fbde218b77d4b7ca604",
      "parents": [
        "bfa5817c5085d84b2d6b821f000c8f028c61f565"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Jun 27 15:21:41 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Fri Jun 27 15:22:28 2014 -0400"
      },
      "message": "Revert \"Build retry loop for screen sessions\"\n\nThis reverts commit 0afa912e99dc9bad8b490960beb8f0cf85750dcc.\n\nThis possibly made things worse, though it times in with the\ntrusty add, so it\u0027s hard to tell. Revert to see if grenade gets\nbetter.\n\nChange-Id: Ic399957fc9d4a7da28b030cdf895df061b2567c8\nRelated-Bug: #1331274\n"
    },
    {
      "commit": "0afa912e99dc9bad8b490960beb8f0cf85750dcc",
      "tree": "e39ab4727c22159189d5b2911349d4c3762c8dd8",
      "parents": [
        "af86e43d7b7aea8bb7d4916972f17c327f12f566"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Wed Jun 18 15:36:19 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Thu Jun 19 12:07:43 2014 -0400"
      },
      "message": "Build retry loop for screen sessions\n\nThere is a timing window where we might lose the commands being\nstuffed into screen because bash is spawning. In those cases, loop\naround and try building screen sessions again.\n\nChange-Id: I49247de06bbd59424cb10fb9a8db145907be5138\nRelated-Bug: #1331274\n"
    },
    {
      "commit": "43d8f1cdddee5ed20dfef267dc59f7c4805d3a75",
      "tree": "845e0b34742787b695ad06b3e12d25199d1bda66",
      "parents": [
        "906ffb7b773e3007062d9feaa54dc55eaf692684"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Jun 16 09:39:19 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean@dague.net",
        "time": "Mon Jun 16 09:39:19 2014 -0400"
      },
      "message": "double the screen sleep timeout\n\nHP Cloud 1.1 is quite slow per core. So much so that grenade is\noften failing to start services because bash in a screen session\nisn\u0027t ready in 1.5s. Double this to 3s to try to decrease failures\nin the gate.\n\nWe should instead do this via some readiness check to decrease\nraces.\n\nChange-Id: I2b066a687916742e966190f00b5b06a795d4a014\n"
    },
    {
      "commit": "5cc6d2cd0cb3fbfdd1b26899dc7a5667eab7605e",
      "tree": "0c15344895e0578a51fb7c2c4ba4a406c7f0dfa9",
      "parents": [
        "7b63c5ec9e9aea54024105a6521a754efc9f9983"
      ],
      "author": {
        "name": "Monty Taylor",
        "email": "mordred@inaugust.com",
        "time": "Fri Jun 06 08:45:16 2014 -0400"
      },
      "committer": {
        "name": "Jeremy Stanley",
        "email": "fungi@yuggoth.org",
        "time": "Fri Jun 06 17:34:28 2014 +0000"
      },
      "message": "Update again and retry a failed package install\n\nOn ubuntu, if we run into an error installing the package, it can be\nbecause of transient upstream errors with repo sync state. Although\nretrying the update won\u0027t fix it all of the time, it\u0027s low cost enough\nto be worth a try before we totally give up.\n\nRelated-bug: 1286818\nChange-Id: I522ac0d0bd8f82dc98f386c89f66c2b743efa525\n"
    },
    {
      "commit": "d79a8acbb700886a24c5ed553d919d1a90385381",
      "tree": "825af89716bf64883eddc303d804454e902e5dad",
      "parents": [
        "ffeeea132796eac443928ac8f63bb54592a65d8f"
      ],
      "author": {
        "name": "Yves-Gwenael Bourhis",
        "email": "yves-gwenael.bourhis@cloudwatt.com",
        "time": "Mon Apr 14 14:49:07 2014 +0200"
      },
      "committer": {
        "name": "Yves-Gwenael Bourhis",
        "email": "yves-gwenael.bourhis@cloudwatt.com",
        "time": "Mon Apr 14 14:49:07 2014 +0200"
      },
      "message": "Fixed pip with http(s)_proxy\n\npip failed to insall packages with the http_proxy and https_proxy localrc\nenvironment variables. indeed, the case of the variables was uppercase\nand these variables are normally lowercase.\n\nChange-Id: I73054aafd353ccf53986f0ec05426f6a2c4e2240\nCloses-Bug: 1307492\n"
    },
    {
      "commit": "099e5e3f81233e2151f8645bc1ff6431eab9492b",
      "tree": "09205d40716ca185c11c79d97d948bb66758ba88",
      "parents": [
        "31f7475baffcca2742201918c8f3fe7b682c2193"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean.dague@samsung.com",
        "time": "Mon Mar 31 10:35:43 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean.dague@samsung.com",
        "time": "Tue Apr 01 08:48:00 2014 -0400"
      },
      "message": "don\u0027t use pip -e install for libraries\n\nlibraries in openstack shouldn\u0027t be installed editable, as it\ncauses all manner of issues (especially complicated by the use\nof namespace packages). Install these globally as part of the\ndevstack installation process.\n\nChange-Id: I11acb169e74069be0618e57496ff342f9e788493\n"
    },
    {
      "commit": "539ec43882780194471b3cba9d5f3e230a50a60b",
      "tree": "f32436e90fc61690b5c4052e4acf449680de31da",
      "parents": [
        "871b1e47092a6463cb39be48c66bfe3e646920c2"
      ],
      "author": {
        "name": "Adam Gandelman",
        "email": "adamg@ubuntu.com",
        "time": "Tue Mar 18 18:57:43 2014 -0700"
      },
      "committer": {
        "name": "Adam Gandelman",
        "email": "adamg@ubuntu.com",
        "time": "Tue Mar 18 19:00:26 2014 -0700"
      },
      "message": "Parse Ironic packages files/{apts, rpms}/ironic\n\nWhen VIRT_DRIVER\u003dironic, make sure devstack picks up packages listed in its\nrespective packages file.  These were previously missed unless \"ironic\" was\nexplictly added to the enabled services.  This ensures required packages\nare installed for any of the ir-* services.\n\nChange-Id: I3d70009819a3a6933220cabd5a951a20c7b48849\n"
    },
    {
      "commit": "64bd01652e6fd7c593498b1fd2bf50bfdf64ce40",
      "tree": "9ac9d1f2f23d98194f46409c7d277f845f1916df",
      "parents": [
        "63d06bcad9b6716fc4c4f69d52a83ccd40d160b2"
      ],
      "author": {
        "name": "Sean Dague",
        "email": "sean.dague@samsung.com",
        "time": "Wed Mar 12 13:04:22 2014 -0400"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean.dague@samsung.com",
        "time": "Wed Mar 12 13:04:22 2014 -0400"
      },
      "message": "make git_clone safer\n\nthe ensures that if the function returns early, we return to a\nsane directory, and not hang out somewhere that a future git\ncall might modify a directory in a weird way. This is especially\nimportant in the case of stable branches where were are hopping\nbetween stable for servers and master for clients.\n\nChange-Id: Ib8ebbc23b1813bc1bfb31d0a079f1b882135bd39\n"
    },
    {
      "commit": "3b1f2e4e885559957a939f8a260b4cff9938bc80",
      "tree": "692834105c7bda0d0a6d08f8bb1d10c482752cda",
      "parents": [
        "349394b0cfb858dfdea390a20ee80b333380b95e"
      ],
      "author": {
        "name": "YAMAMOTO Takashi",
        "email": "yamamoto@valinux.co.jp",
        "time": "Mon Feb 24 20:30:07 2014 +0900"
      },
      "committer": {
        "name": "Sean Dague",
        "email": "sean.dague@samsung.com",
        "time": "Tue Mar 11 07:34:17 2014 -0400"
      },
      "message": "Fix inverted conditionals in setup_develop\n\nThis fixes regressions introduced by:\n    Change-Id: Ic97e68348f46245b271567893b447fcedbd7bd6e\n    (\"Handle non-zero exit code from git diff\")\n\nChange-Id: I053a292c287f3035eef37db2264eda06a170f9bc\nCloses-Bug: 1287513\n"
    },
    {
      "commit": "b27f16d71660f75fcd82a035cdaf2b2eddec99ce",
      "tree": "c58360682901f545cd1c5a9b788ba0b884966b2d",
      "parents": [
        "0dfbf9b4b91c0b95fdaa1735471c2e6f15326098"
      ],
      "author": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Fri Feb 28 14:29:02 2014 +1100"
      },
      "committer": {
        "name": "Ian Wienand",
        "email": "iwienand@redhat.com",
        "time": "Mon Mar 10 14:10:56 2014 +1100"
      },
      "message": "Detect missing packages with yum\n\nyum -y doesn\u0027t report an error when packages are missing (see [1] for\nupstream discussion).  Thus we run the output of yum through a small\nawk script looking for missing packages output.\n\nThe one change required for RHEL is that python-wsgiref is included in\nthe distro python, so doesn\u0027t need a separate package.\n\n[1] https://bugzilla.redhat.com/show_bug.cgi?id\u003d965567\n\nChange-Id: I9908ff4edbf2b0d961d25837a08a34e1417bbb02\n"
    },
    {
      "commit": "5894db323ff528c56bd036243ee15aad91e34fef",
      "tree": "4c6cdb2ebdbbee3efca8b0ee09936616e1226c53",
      "parents": [
        "f0ea4b0dda62e321c11078164d821575a17146c0",
        "d20f632a70565003ab8c72b2598201be79f4d782"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Sat Mar 01 13:11:14 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Sat Mar 01 13:11:14 2014 +0000"
      },
      "message": "Merge \"Move some comments of variables to right place\""
    },
    {
      "commit": "3208d7ad43d665536c523a37b33c2a6491529b3e",
      "tree": "0f4ebf4fe0c4b17f62bdccf4e0e35380c209c96a",
      "parents": [
        "2cf03d246998acf5c387a5855c36b25a1b791cb8",
        "83b6c99b503dced1e92761e1de8ceaf23a396453"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 28 17:30:35 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 28 17:30:35 2014 +0000"
      },
      "message": "Merge \"Handle non-zero exit code from git diff\""
    },
    {
      "commit": "2cf03d246998acf5c387a5855c36b25a1b791cb8",
      "tree": "d7bbf68d340108ee5fd7d4ba681539d1dc963c4d",
      "parents": [
        "f07a209ce01e2d34c3624244da040537b6006bf9",
        "1237922b655d8ab1690b88c718d7002415ce1201"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 28 07:33:42 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 28 07:33:42 2014 +0000"
      },
      "message": "Merge \"make service_check fatal\""
    },
    {
      "commit": "dad6e4114d07978ade5ab5594d4b5b19e998bdb5",
      "tree": "9c867402960f933ca6384a2b87d75ec954f9eba8",
      "parents": [
        "4b76faa32b21964dc72a055f65172199618edeee",
        "aee18c749b0e3a1a3a6907a33db76ae83b8d41d9"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Fri Feb 28 06:32:20 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Fri Feb 28 06:32:20 2014 +0000"
      },
      "message": "Merge \"Enforce function declaration format in bash8\""
    },
    {
      "commit": "d20f632a70565003ab8c72b2598201be79f4d782",
      "tree": "5df8b8c900b560e183822d4ae1337ba722096a12",
      "parents": [
        "3ac259c6856b0f8f7fb24b987f83868c86517396"
      ],
      "author": {
        "name": "Masayuki Igawa",
        "email": "igawa@mxs.nes.nec.co.jp",
        "time": "Fri Feb 28 09:22:37 2014 +0900"
      },
      "committer": {
        "name": "Masayuki Igawa",
        "email": "igawa@mxs.nes.nec.co.jp",
        "time": "Fri Feb 28 10:35:49 2014 +0900"
      },
      "message": "Move some comments of variables to right place\n\nsetup_develop*() in functions has been moved to functions-common. But\nsome comments about the variables are still left.\nThis commit moves it to the right place.\n\nChange-Id: Ic360454f1ee72f51c9979d0468dee0913e9b32e4\n"
    },
    {
      "commit": "a340d68b1b4d8572865c59d3c93ca8cb65a8c6d8",
      "tree": "a9271cfd95d68ecea1b6e36fab16882d9280e258",
      "parents": [
        "0ed4af02da0bd4a0f757dd8c2156913e6c7a724c",
        "f6368d3eaccc33d5afdbc53a34bf6e37b6e11eb8"
      ],
      "author": {
        "name": "Jenkins",
        "email": "jenkins@review.openstack.org",
        "time": "Thu Feb 27 22:38:32 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "review@openstack.org",
        "time": "Thu Feb 27 22:38:33 2014 +0000"
      },
      "message": "Merge \"Fix comments about System Functions\""
    }
  ],
  "next": "1237922b655d8ab1690b88c718d7002415ce1201"
}
