)]}'
{
  "log": [
    {
      "commit": "d4ddf3da2d213ce860db1e45fb9d935fd417d31a",
      "tree": "7370f1e969ef40b7608b54fe14beb399d049d25b",
      "parents": [
        "6ab10d46a874765f7c69366a5473ac6a42a92556",
        "637475815b4e7a54d4853ab5dfb96cd76c5839f5"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 20 11:37:53 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 20 11:37:53 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into openrc\n\nConflicts:\n\texercise.sh\n"
    },
    {
      "commit": "637475815b4e7a54d4853ab5dfb96cd76c5839f5",
      "tree": "0d0ba1fa05c65b7472c67e5f608a0e8ebd235056",
      "parents": [
        "03c1fa601286882021c97d2c579450f9d7593171",
        "fb0510b435add4191317a081fec220e8459b0e33"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 20 11:35:51 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 20 11:35:51 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027\n"
    },
    {
      "commit": "03c1fa601286882021c97d2c579450f9d7593171",
      "tree": "bec16ae2cc3e3605e2a63d7fa070a72232d75c7c",
      "parents": [
        "cfddc125beb8c925a4f992a58818cdc1e320d26c"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 20 11:35:14 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 20 11:35:14 2011 -0700"
      },
      "message": "use CONTAINER_NAME, like lxc, and use default semi-unique mac addresses\n"
    },
    {
      "commit": "fb0510b435add4191317a081fec220e8459b0e33",
      "tree": "4a7d88a1500413ba874a70e4a9203cedda80c22d",
      "parents": [
        "cfddc125beb8c925a4f992a58818cdc1e320d26c",
        "ee1b495dc9499898583e527bd489c92d8ff11b3b"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 20 11:22:12 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 20 11:22:12 2011 -0700"
      },
      "message": "Merge pull request #86 from smoser/localdev\n\nwork around LP: #878600, make apt-get more non-interactive"
    },
    {
      "commit": "6ab10d46a874765f7c69366a5473ac6a42a92556",
      "tree": "a1f759375410a60e26308e5f50a74735dd466b5a",
      "parents": [
        "148b13ac8860dcf22c8a3a24fdb28593aaea0610"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 20 10:24:50 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 20 10:24:50 2011 -0700"
      },
      "message": "add an openrc file so that users can easily use the client\n"
    },
    {
      "commit": "ee1b495dc9499898583e527bd489c92d8ff11b3b",
      "tree": "4a7d88a1500413ba874a70e4a9203cedda80c22d",
      "parents": [
        "199d76e2534b39ea846ca345923b03198dff246c"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Thu Oct 20 13:09:11 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Thu Oct 20 13:13:12 2011 -0400"
      },
      "message": "add non-interactive flags to apt.\n\nThis replaces \u0027apt-get\u0027 calls with \u0027apt_get\u0027 function that just\nensures that each call has flags to be non-interactive.  This prevents\npotential prompts for conf file overwrites and such.\n"
    },
    {
      "commit": "199d76e2534b39ea846ca345923b03198dff246c",
      "tree": "a4c256350fe39667d00c5cef2a802dd679bcf6ad",
      "parents": [
        "cfddc125beb8c925a4f992a58818cdc1e320d26c"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Thu Oct 20 12:41:40 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Thu Oct 20 13:13:12 2011 -0400"
      },
      "message": "redirect output of rabbitmq install (LP: #878600)\n\nas documented in ubuntu bug bug 878600, starting the rabbitmq\ndaemon was keeping its output filehandle open, which caused the \u0027tee\u0027\nto never die, and an ssh connection to never close.\n"
    },
    {
      "commit": "cfddc125beb8c925a4f992a58818cdc1e320d26c",
      "tree": "ef0fa6c5539b23e3ba5b263d5d96355c7f0e52e3",
      "parents": [
        "148b13ac8860dcf22c8a3a24fdb28593aaea0610",
        "9b3536714a45307577e24dc7bf67371989f7e9dd"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 20 10:09:48 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 20 10:09:48 2011 -0700"
      },
      "message": "Merge pull request #84 from cloudbuilders/fixwhite\n\nfix whitespace"
    },
    {
      "commit": "9b3536714a45307577e24dc7bf67371989f7e9dd",
      "tree": "ef0fa6c5539b23e3ba5b263d5d96355c7f0e52e3",
      "parents": [
        "148b13ac8860dcf22c8a3a24fdb28593aaea0610"
      ],
      "author": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Thu Oct 20 10:07:10 2011 -0700"
      },
      "committer": {
        "name": "Vishvananda Ishaya",
        "email": "vishvananda@gmail.com",
        "time": "Thu Oct 20 10:08:20 2011 -0700"
      },
      "message": "fix whitespace\n"
    },
    {
      "commit": "148b13ac8860dcf22c8a3a24fdb28593aaea0610",
      "tree": "c895e921eb41dee4f6e6e298d73853b8c98c20a9",
      "parents": [
        "0e0affddb6187532c24937fa2beb1453fab1f8d3",
        "3ee09ec2099c908fb4c6d08455006837fb492cd6"
      ],
      "author": {
        "name": "sleepsonthefloor",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 20:41:49 2011 -0700"
      },
      "committer": {
        "name": "sleepsonthefloor",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 20:41:49 2011 -0700"
      },
      "message": "Merge pull request #82 from cloudbuilders/build_kvm\n\nadd build_kvm.sh"
    },
    {
      "commit": "3ee09ec2099c908fb4c6d08455006837fb492cd6",
      "tree": "c895e921eb41dee4f6e6e298d73853b8c98c20a9",
      "parents": [
        "5086e71fcbe693a6b788547dcdf536aa68cd0b93"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 20:35:04 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 20:35:04 2011 -0700"
      },
      "message": "now works with natty\n"
    },
    {
      "commit": "5086e71fcbe693a6b788547dcdf536aa68cd0b93",
      "tree": "b49c8a640a93d13afb6c1d926b490ddb513ad9a2",
      "parents": [
        "9c0fdd7ded7c205a5e2b629d8cb0542d8c033617"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 20:27:23 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 20:27:23 2011 -0700"
      },
      "message": "point novnc at master, like trunk\n"
    },
    {
      "commit": "9c0fdd7ded7c205a5e2b629d8cb0542d8c033617",
      "tree": "e381555abf9cc55bb99dc9280278ba481cdd2870",
      "parents": [
        "d51812d44431a2048727ce69817cfe7e3b21fc5c"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 20:22:32 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 20:22:32 2011 -0700"
      },
      "message": "parameterize nbd dev\n"
    },
    {
      "commit": "d51812d44431a2048727ce69817cfe7e3b21fc5c",
      "tree": "a7fdd9ef161be7af2e6dbaf0165a8c2d2b9022ac",
      "parents": [
        "67243cebe135829cb376cc894b283a1ba23d4eaa"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 20:09:43 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 20:09:43 2011 -0700"
      },
      "message": "working build_kvm\n"
    },
    {
      "commit": "67243cebe135829cb376cc894b283a1ba23d4eaa",
      "tree": "9d294312edda6eaba1d30fae864a0132217b12b5",
      "parents": [
        "728e944d0b92514f366f57ae10bf31f70f1feb03",
        "fa4b5eba2077889c4217df69dfdc15a2a123bb0a"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 17:26:07 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 17:26:07 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/build_kvm\u0027 into build_kvm\n"
    },
    {
      "commit": "728e944d0b92514f366f57ae10bf31f70f1feb03",
      "tree": "3684c0ca0c0480893dc8774e1aa33d811d106d51",
      "parents": [
        "f6f52270a9cae23760875adf24f31ab969e35b26",
        "0e0affddb6187532c24937fa2beb1453fab1f8d3"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 17:19:15 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 17:19:15 2011 -0700"
      },
      "message": "Merge branch \u0027build_kvm\u0027, remote-tracking branch \u0027origin\u0027 into build_kvm\n"
    },
    {
      "commit": "0e0affddb6187532c24937fa2beb1453fab1f8d3",
      "tree": "33e987234654631f79260bc91a7eb58c62b4735e",
      "parents": [
        "f1a98143dc2ac110271cd1eda1dfa5a7f6b07d60",
        "9122e7b17344dc80710f3a50aa6e8896f9ba8c71"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 15:59:19 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 15:59:19 2011 -0700"
      },
      "message": "Merge pull request #67 from dtroyer/7-stack-home\n\nstack home dir"
    },
    {
      "commit": "f1a98143dc2ac110271cd1eda1dfa5a7f6b07d60",
      "tree": "d5a82e8848ea880b0b1837b7f81664be0da5ac78",
      "parents": [
        "a50a34619a2f993a74895ff5915a7d2024263d95",
        "ee506ac9186a33344e0b1ef1121179b4f1131975"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 15:38:17 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 15:38:17 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:cloudbuilders/devstack\n"
    },
    {
      "commit": "a50a34619a2f993a74895ff5915a7d2024263d95",
      "tree": "0aa22647b70758123d6d3ecddbd8fa97835d4707",
      "parents": [
        "3fc8571bba4f27ebb84464254ba411017e742171"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 15:38:10 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 15:38:10 2011 -0700"
      },
      "message": "standardize mysql/rabbit password/user settings\n"
    },
    {
      "commit": "ee506ac9186a33344e0b1ef1121179b4f1131975",
      "tree": "d2cf4d9eca81296997a599de2a6143e4c17d063d",
      "parents": [
        "df4df7a11836b61cef650d53a9504d95c3269c9e",
        "fe95e0fee3e22d94d0ed815be0f0c90b681e6019"
      ],
      "author": {
        "name": "vishvananda",
        "email": "vishvananda@gmail.com",
        "time": "Wed Oct 19 15:14:56 2011 -0700"
      },
      "committer": {
        "name": "vishvananda",
        "email": "vishvananda@gmail.com",
        "time": "Wed Oct 19 15:14:56 2011 -0700"
      },
      "message": "Merge pull request #80 from cloudbuilders/no-sudo\n\nNo sudo chown"
    },
    {
      "commit": "df4df7a11836b61cef650d53a9504d95c3269c9e",
      "tree": "4f45d13aeb7265edf7db811ac70f4f9482bdabe8",
      "parents": [
        "3fc8571bba4f27ebb84464254ba411017e742171",
        "d642f86144491e3f825608e363c56714241e5f92"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 14:42:18 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 14:42:18 2011 -0700"
      },
      "message": "Merge pull request #77 from dtroyer/usb-syslinux\n\nFix handling of new USB devices"
    },
    {
      "commit": "fe95e0fee3e22d94d0ed815be0f0c90b681e6019",
      "tree": "bed910ce9bfac59b9721b29e4ec7ce2293c69a6e",
      "parents": [
        "c8d9ce4ef44c3490bd5a09e4749c98ceeadc1f2f"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 14:30:37 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 14:30:37 2011 -0700"
      },
      "message": "only chown if needed (fixes nfs issue)\n"
    },
    {
      "commit": "c8d9ce4ef44c3490bd5a09e4749c98ceeadc1f2f",
      "tree": "a542df93122af6d607791600eeb4f340390beae5",
      "parents": [
        "3fc8571bba4f27ebb84464254ba411017e742171"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 14:21:08 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 14:21:08 2011 -0700"
      },
      "message": "vish points out that sudo isn\u0027t needed here since DEST is owned by user\n"
    },
    {
      "commit": "fa4b5eba2077889c4217df69dfdc15a2a123bb0a",
      "tree": "0c91349f9c1884ec332bf6de21ec423573eaad39",
      "parents": [
        "f6f52270a9cae23760875adf24f31ab969e35b26"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 11:27:02 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 11:27:02 2011 -0700"
      },
      "message": "more progress on build_kvm\n"
    },
    {
      "commit": "3fc8571bba4f27ebb84464254ba411017e742171",
      "tree": "68cbb9407f265090284281fd5c99580b344f406b",
      "parents": [
        "aab7eae0b903b7bfe19c0f15ad0eaf1a7c82d8a7",
        "51fb22efd1cfa6e415cf46e311a5a660ace3c3e9"
      ],
      "author": {
        "name": "vishvananda",
        "email": "vishvananda@gmail.com",
        "time": "Wed Oct 19 10:40:01 2011 -0700"
      },
      "committer": {
        "name": "vishvananda",
        "email": "vishvananda@gmail.com",
        "time": "Wed Oct 19 10:40:01 2011 -0700"
      },
      "message": "Merge pull request #79 from cloudbuilders/docs\n\nupdate comments and added check for double mount bug"
    },
    {
      "commit": "aab7eae0b903b7bfe19c0f15ad0eaf1a7c82d8a7",
      "tree": "e7997ca53c546be9e0d370d3c6fc0211899421f6",
      "parents": [
        "fd709d8049427955d8fb3cd4dccda53b4d05ba9c"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 10:30:19 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 10:30:19 2011 -0700"
      },
      "message": "docs\n"
    },
    {
      "commit": "51fb22efd1cfa6e415cf46e311a5a660ace3c3e9",
      "tree": "dc3a82acd252b4b72df3cb44bb151460c8a521bd",
      "parents": [
        "fd709d8049427955d8fb3cd4dccda53b4d05ba9c"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 09:24:17 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Wed Oct 19 09:24:34 2011 -0700"
      },
      "message": "update comments and added check for double mount bug\n"
    },
    {
      "commit": "f6f52270a9cae23760875adf24f31ab969e35b26",
      "tree": "f58e82db82cd9dfbdc1b0a2af4b9fe4186e1fe19",
      "parents": [
        "f994c2aac7cd88dede2adc0b68a8c58463244aa5"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 02:58:18 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 02:58:18 2011 -0700"
      },
      "message": "console log\n"
    },
    {
      "commit": "f994c2aac7cd88dede2adc0b68a8c58463244aa5",
      "tree": "3adcac62d14d686796aa2f341079f71d58a1929f",
      "parents": [
        "1b7a42e07598bc53e604b387a6e747039109020f"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 02:34:31 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 02:34:31 2011 -0700"
      },
      "message": "remove extra image\n"
    },
    {
      "commit": "1b7a42e07598bc53e604b387a6e747039109020f",
      "tree": "5d3a021bf0ea638dc59d37b4afa9b3c697705daa",
      "parents": [
        "78bd0cbd9865df211200a70d196b34eed1c02725"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 02:34:06 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 02:34:06 2011 -0700"
      },
      "message": "add build_kvm file\n"
    },
    {
      "commit": "78bd0cbd9865df211200a70d196b34eed1c02725",
      "tree": "18d149a5b3201ffd8c03258bf1dc426d61746bd2",
      "parents": [
        "fd709d8049427955d8fb3cd4dccda53b4d05ba9c"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 02:20:04 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 19 02:20:04 2011 -0700"
      },
      "message": "initial commit of build_kvm.sh\n"
    },
    {
      "commit": "fd709d8049427955d8fb3cd4dccda53b4d05ba9c",
      "tree": "0cc1b3f1120320aea40d8a8ae304f36a58d49d3c",
      "parents": [
        "583bad0b14b47b8933bb417acd8893bdd4f10baa"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 18 20:02:29 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 18 20:02:29 2011 -0700"
      },
      "message": "use diablo vintage dashboard\n"
    },
    {
      "commit": "d642f86144491e3f825608e363c56714241e5f92",
      "tree": "8314b299304cf6051759eb358923a8b2bc946d86",
      "parents": [
        "65d5c6a01bad21cf82a6eef3a07bc9bc0f172e40"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 14:55:10 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 18 16:15:57 2011 -0500"
      },
      "message": "Fix syslinux failure on new USB drive\n"
    },
    {
      "commit": "65d5c6a01bad21cf82a6eef3a07bc9bc0f172e40",
      "tree": "f0f256e6d48fecc096594c5143bfabb597276363",
      "parents": [
        "acf2d24b282e23e6e73d23c6af3a7feb7cdd468e",
        "583bad0b14b47b8933bb417acd8893bdd4f10baa"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 18 13:25:28 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Tue Oct 18 13:25:28 2011 -0500"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into rcb-master\n"
    },
    {
      "commit": "583bad0b14b47b8933bb417acd8893bdd4f10baa",
      "tree": "f0f256e6d48fecc096594c5143bfabb597276363",
      "parents": [
        "20a2caecfdce0969ab932511ef97cb8109d4e5c0"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 18 08:22:30 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Tue Oct 18 08:22:30 2011 -0700"
      },
      "message": "minor tweaks - source stackrc/localrc for excercise.sh.  Also, fix typo in build_lxc.sh\n"
    },
    {
      "commit": "20a2caecfdce0969ab932511ef97cb8109d4e5c0",
      "tree": "c665699df27e58100708ebe8189d3157c282677b",
      "parents": [
        "028cad16442924a4457dcbb1a12ec9117934218d"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 16:02:24 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 16:02:24 2011 -0700"
      },
      "message": "updates to exercise.sh to use some of the newer apis\n"
    },
    {
      "commit": "028cad16442924a4457dcbb1a12ec9117934218d",
      "tree": "325715cedbbb02f4a733441beca19cd7674897e8",
      "parents": [
        "1f27360089a6cb1a56efcf3fcc7b755d6b772d08"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 14:10:42 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 14:10:42 2011 -0700"
      },
      "message": "better pre-caching\n"
    },
    {
      "commit": "1f27360089a6cb1a56efcf3fcc7b755d6b772d08",
      "tree": "b5d3ceb29d514ad98feee6226119b592b8de8661",
      "parents": [
        "16515c17d15e5e2e19417ac340cc3c8e2dc6dba4"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 13:20:40 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 13:20:40 2011 -0700"
      },
      "message": "redux of reclone\n"
    },
    {
      "commit": "9122e7b17344dc80710f3a50aa6e8896f9ba8c71",
      "tree": "ac148e1e304ac3f85b7155e5918fe760315d265d",
      "parents": [
        "bd50e963e7a16cde77ccfaf9a5e769837fba1d30"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 14:07:11 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 14:08:42 2011 -0500"
      },
      "message": "Set stack user\u0027s home dir to DEST\n"
    },
    {
      "commit": "acf2d24b282e23e6e73d23c6af3a7feb7cdd468e",
      "tree": "c8004c72ed75ee4021e3085b453e062902f0e4ae",
      "parents": [
        "7a6d73a705b00917dcb54acc48e29090f28e8001",
        "16515c17d15e5e2e19417ac340cc3c8e2dc6dba4"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 13:46:08 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 13:46:08 2011 -0500"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into rcb-master\n"
    },
    {
      "commit": "16515c17d15e5e2e19417ac340cc3c8e2dc6dba4",
      "tree": "c8004c72ed75ee4021e3085b453e062902f0e4ae",
      "parents": [
        "ae8bc12d1ad5f4325a63e0efdbe902d6ab31b901",
        "59a285cd863ef2a7e2eed22eafbfd0a1fac6f1a9"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 10:40:11 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 10:40:11 2011 -0700"
      },
      "message": "Merge pull request #74 from cloudbuilders/reclone\n\nRESET_BRANCHES option (to force checkout new remote branch)"
    },
    {
      "commit": "59a285cd863ef2a7e2eed22eafbfd0a1fac6f1a9",
      "tree": "8f5511d4c90e38c08f51502ab704cdecc259948e",
      "parents": [
        "64c2ba225a936af765be4229243666c26ccd42b9"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 10:39:28 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Mon Oct 17 10:39:28 2011 -0700"
      },
      "message": "change variable to RESET_BRANCHES\n"
    },
    {
      "commit": "ae8bc12d1ad5f4325a63e0efdbe902d6ab31b901",
      "tree": "fb85a3c64beb69299a0a84a2bf474fb269fc0438",
      "parents": [
        "6b9d6dad6ad460b2b5fede659363cfca51e33c8d"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 10:38:05 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 10:38:05 2011 -0700"
      },
      "message": "automatically use the nameserver of the launching host if not specified\n"
    },
    {
      "commit": "bd50e963e7a16cde77ccfaf9a5e769837fba1d30",
      "tree": "0f75031984ae15933695b7e541185fc186435f07",
      "parents": [
        "0fdb2ec15fa40c5dd40244d01376e8b7a847df95",
        "da89268c9272e5e649d7d2332c86bf2fe68f57ee"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 12:22:01 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 12:22:01 2011 -0500"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into 4-run.sh\n"
    },
    {
      "commit": "6b9d6dad6ad460b2b5fede659363cfca51e33c8d",
      "tree": "6176e2c39f59fc1a4386381d412c435436cb8e4c",
      "parents": [
        "04db155a70a3e2baf91d1610bb05f921f8d37f09"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 10:12:22 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 10:12:22 2011 -0700"
      },
      "message": "force dep updates every run for now\n"
    },
    {
      "commit": "04db155a70a3e2baf91d1610bb05f921f8d37f09",
      "tree": "290efebfb3fb30af272631da9ac4ddba0e6dd948",
      "parents": [
        "da89268c9272e5e649d7d2332c86bf2fe68f57ee"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 09:40:45 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Mon Oct 17 09:40:45 2011 -0700"
      },
      "message": "make sure to kill tail on exit\n"
    },
    {
      "commit": "0fdb2ec15fa40c5dd40244d01376e8b7a847df95",
      "tree": "1b1a3c8e310154c1d6b7a1f2e27b5a4d361393b2",
      "parents": [
        "288f3bdc236f2c3c973db654694c4932ba44659f"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 10:48:21 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 10:48:21 2011 -0500"
      },
      "message": "Remove natty image fakery\n"
    },
    {
      "commit": "7a6d73a705b00917dcb54acc48e29090f28e8001",
      "tree": "cbb3b25a5ae70881dee1c46c2cce7b4348e93895",
      "parents": [
        "6d1f07b2fdba1d75ec18816ed016c2684600dfcb",
        "da89268c9272e5e649d7d2332c86bf2fe68f57ee"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 10:34:08 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Mon Oct 17 10:34:08 2011 -0500"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into rcb-master\n"
    },
    {
      "commit": "64c2ba225a936af765be4229243666c26ccd42b9",
      "tree": "e0171495d73883c24277b9828459ee0b542dd0c8",
      "parents": [
        "aa8bb244be4cda5a83d0e5faee9767e3f0171ff9"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 19:08:04 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 19:08:04 2011 -0700"
      },
      "message": "fixes anthony\u0027s comment about not working if you aren\u0027t switching branches\n"
    },
    {
      "commit": "aa8bb244be4cda5a83d0e5faee9767e3f0171ff9",
      "tree": "fd6ba5192998db60107849f8ba1d301b877bb8e6",
      "parents": [
        "b1304f2d353bc0de780f4d635fc9cbd48328bfcb"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 12:24:11 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 12:24:11 2011 -0700"
      },
      "message": "rearrange order of setup.py develop as novaclient is needed by nova in essex\n"
    },
    {
      "commit": "b1304f2d353bc0de780f4d635fc9cbd48328bfcb",
      "tree": "33cbac1aed5cd34f69e7b5c4d81e438415ffb0c5",
      "parents": [
        "da89268c9272e5e649d7d2332c86bf2fe68f57ee"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 12:18:50 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sun Oct 16 12:18:50 2011 -0700"
      },
      "message": "if RECLONE is set, reclone the directories\n"
    },
    {
      "commit": "da89268c9272e5e649d7d2332c86bf2fe68f57ee",
      "tree": "cbb3b25a5ae70881dee1c46c2cce7b4348e93895",
      "parents": [
        "d888e1cdcb7eadf6c6b3634631400a4fe4c97769"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 20:14:07 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 20:14:07 2011 -0700"
      },
      "message": "update the ping to ping, wait 5 second, really ping\n"
    },
    {
      "commit": "d888e1cdcb7eadf6c6b3634631400a4fe4c97769",
      "tree": "d9c3d0ca4d2a0edcc28479f1b5754f9c5c139d05",
      "parents": [
        "4e8847cd6a8bb4dce9c3a7c66636d61ba51b519c"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 20:01:12 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 20:01:12 2011 -0700"
      },
      "message": "update exercise to boot a server, ping it, then destroy it\n"
    },
    {
      "commit": "4e8847cd6a8bb4dce9c3a7c66636d61ba51b519c",
      "tree": "220a3d6d100c32f1fbaf6429b3ca5f8efb442578",
      "parents": [
        "b9c77d69a6be25bca73780df671ab7538997e1ac"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 19:29:55 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 19:29:55 2011 -0700"
      },
      "message": "update glance command in exercise.sh\n"
    },
    {
      "commit": "b9c77d69a6be25bca73780df671ab7538997e1ac",
      "tree": "1bcf157c1c533571be5dd2227473335087bc07a1",
      "parents": [
        "f43307d408924977a2603d5e4f4aa30f41dfe4fc"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 18:37:25 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 18:37:25 2011 -0700"
      },
      "message": "add debug logging and notes about generating token\n"
    },
    {
      "commit": "f43307d408924977a2603d5e4f4aa30f41dfe4fc",
      "tree": "07620635f7bb426bc034be008f0b5d080eb65aa1",
      "parents": [
        "25369c914aa928de1ce67b9dec56aa5e0c2b782f"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 17:40:38 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Sat Oct 15 17:40:38 2011 -0700"
      },
      "message": "exercise.sh was using wrong variable to generate token\n"
    },
    {
      "commit": "25369c914aa928de1ce67b9dec56aa5e0c2b782f",
      "tree": "9beef818fb1d70adb4811b0e09d50cdecfee46d3",
      "parents": [
        "9ff71acb08e4885d7da8cb44aedb2ff79f4e0909"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 16:50:27 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 16:50:27 2011 -0700"
      },
      "message": "make tail stop when stack.sh is finished\n"
    },
    {
      "commit": "9ff71acb08e4885d7da8cb44aedb2ff79f4e0909",
      "tree": "e1f5aa046d4f55624826601d4aa867fda518e0c0",
      "parents": [
        "1046d94ec15dc768a87bd5ad80416df133d1a945"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 15:02:20 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 15:02:20 2011 -0700"
      },
      "message": "make build_lxc.sh work on oneiric\n"
    },
    {
      "commit": "1046d94ec15dc768a87bd5ad80416df133d1a945",
      "tree": "8230331c39f8da0fc9c9a4fab1142c4325940d40",
      "parents": [
        "e8efef79809f8a88910926f4efeb3eb8d6b0ddcd",
        "d65c6bd79cb506c7baed0fd4256fa2176dfbb450"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 12:01:09 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 12:01:09 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027\n"
    },
    {
      "commit": "e8efef79809f8a88910926f4efeb3eb8d6b0ddcd",
      "tree": "60da3ec9e50775734b70bada9366a37fde1ed88b",
      "parents": [
        "ec7c89f677419c1b5eb748070568375f1a53ae57"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 12:00:50 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 12:00:50 2011 -0700"
      },
      "message": "move lxc to tools\n"
    },
    {
      "commit": "d65c6bd79cb506c7baed0fd4256fa2176dfbb450",
      "tree": "bd216273ae909b765de172987e317d292b9e08f6",
      "parents": [
        "ec7c89f677419c1b5eb748070568375f1a53ae57",
        "7a8989e9711ec0d3f3401f46a20bdc55c75fd8e9"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Fri Oct 14 10:57:35 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Fri Oct 14 10:57:35 2011 -0700"
      },
      "message": "Merge pull request #71 from cloudbuilders/image_config\n\nAllow configuration of glance images"
    },
    {
      "commit": "7a8989e9711ec0d3f3401f46a20bdc55c75fd8e9",
      "tree": "bd216273ae909b765de172987e317d292b9e08f6",
      "parents": [
        "120f4860cda1a946ebdba1acc03fc09caf2790de"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 10:20:30 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 10:20:30 2011 -0700"
      },
      "message": "fix doc\n"
    },
    {
      "commit": "120f4860cda1a946ebdba1acc03fc09caf2790de",
      "tree": "23e965fd9df400ada1b17a5a97abfe2f07f06d24",
      "parents": [
        "c84e0c4c1649e25b47a8792a0d3e0e867ad8e6b1"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:31:09 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:31:09 2011 -0700"
      },
      "message": "allow multiple images\n"
    },
    {
      "commit": "c84e0c4c1649e25b47a8792a0d3e0e867ad8e6b1",
      "tree": "8f0dfa3abd78e0a6942062b11f2dca62de4a1823",
      "parents": [
        "b76abcc71a839f49c86f2aa843f8963ff1d5b83e",
        "93947e59be5566391a3fa0a0b32906ce8c4ceffa"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:20:46 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:20:46 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/image_config\u0027 into image_config\n"
    },
    {
      "commit": "b76abcc71a839f49c86f2aa843f8963ff1d5b83e",
      "tree": "86275fec79209cce5993f3f246a9724f03b8643b",
      "parents": [
        "f2b5f8856f98f72fbdaac536387c2c3672dd5e64",
        "ec7c89f677419c1b5eb748070568375f1a53ae57"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:20:29 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Fri Oct 14 09:20:29 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into image_config\n"
    },
    {
      "commit": "93947e59be5566391a3fa0a0b32906ce8c4ceffa",
      "tree": "8f0dfa3abd78e0a6942062b11f2dca62de4a1823",
      "parents": [
        "0ab1d46e05c310a9977aebd3156b5269dffb91fc"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 23:07:56 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 23:07:56 2011 -0700"
      },
      "message": "improve docs\n"
    },
    {
      "commit": "0ab1d46e05c310a9977aebd3156b5269dffb91fc",
      "tree": "7fb53ee33025561223d49c8c83f65e88e4d67d88",
      "parents": [
        "696b6a3aae3671a4d1b12f7c1f97a35fa20e369c"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 23:03:23 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 23:03:23 2011 -0700"
      },
      "message": "Allow user to download and install arbitrary images\n"
    },
    {
      "commit": "696b6a3aae3671a4d1b12f7c1f97a35fa20e369c",
      "tree": "86275fec79209cce5993f3f246a9724f03b8643b",
      "parents": [
        "f2b5f8856f98f72fbdaac536387c2c3672dd5e64",
        "ec7c89f677419c1b5eb748070568375f1a53ae57"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 22:20:24 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 22:20:24 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into image_config\n"
    },
    {
      "commit": "ec7c89f677419c1b5eb748070568375f1a53ae57",
      "tree": "bc6831c6047bece754e6a2ffb30b803f88e074db",
      "parents": [
        "2e536a3faf3d699ef255b74793b4591779738624",
        "d1b1cdb04c4ba4e892f4eda722cf3f1daa260865"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 20:58:41 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 20:58:41 2011 -0700"
      },
      "message": "Merge pull request #58 from cloudbuilders/password_prompt\n\nPassword prompt (ask users for passwords instead of auto-gen)"
    },
    {
      "commit": "f2b5f8856f98f72fbdaac536387c2c3672dd5e64",
      "tree": "17103d917432b1f10696b99c6310aeb8513f8c63",
      "parents": [
        "2e536a3faf3d699ef255b74793b4591779738624"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 16:44:42 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 16:44:42 2011 -0700"
      },
      "message": "starting work to extract image configuration so it isn\u0027t hard coded\n"
    },
    {
      "commit": "d1b1cdb04c4ba4e892f4eda722cf3f1daa260865",
      "tree": "bc6831c6047bece754e6a2ffb30b803f88e074db",
      "parents": [
        "cf145b77e4dbe675108c2c7b788e7505d5818fed"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 15:25:38 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 15:25:38 2011 -0700"
      },
      "message": "tail run.sh.log instead of the stack.sh.log\n"
    },
    {
      "commit": "cf145b77e4dbe675108c2c7b788e7505d5818fed",
      "tree": "1a236d786f859bc1f75177a869a7d6517ee97318",
      "parents": [
        "f8dfba1c7324e39fada3b694ab3d1451e83de238"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 15:07:36 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 15:07:36 2011 -0700"
      },
      "message": "merge trunk, and also make sure localrc exists before running  build_lxc.sh\n"
    },
    {
      "commit": "288f3bdc236f2c3c973db654694c4932ba44659f",
      "tree": "373b37ecf1491027f64bceab6b8f204f368df553",
      "parents": [
        "7c076eeff5db638cba5e1e274fd85056f4dd67ed"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 13 15:50:44 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 13 15:50:44 2011 -0500"
      },
      "message": "Set hostname in ramdisk image\n"
    },
    {
      "commit": "6d1f07b2fdba1d75ec18816ed016c2684600dfcb",
      "tree": "a1aeff1c2ffa0e5ba17bf53cd5e016a06f4a041e",
      "parents": [
        "d5f4ca5307b831bcf2a9ab084359dc77efee75d7",
        "2e536a3faf3d699ef255b74793b4591779738624"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 13 14:01:48 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 13 14:01:48 2011 -0500"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into rcb-master\n"
    },
    {
      "commit": "f8dfba1c7324e39fada3b694ab3d1451e83de238",
      "tree": "91a19ac2e00d04e40c9b49002f7b782f8c78b899",
      "parents": [
        "b4db225494a2c8d19db523c48fc48cbaee0402a0",
        "2e536a3faf3d699ef255b74793b4591779738624"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 11:45:07 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Thu Oct 13 11:45:07 2011 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into password_prompt\n"
    },
    {
      "commit": "2e536a3faf3d699ef255b74793b4591779738624",
      "tree": "a1aeff1c2ffa0e5ba17bf53cd5e016a06f4a041e",
      "parents": [
        "c576a7cd6d752632d69fd9959033912e6add7322"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:40:16 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:40:16 2011 -0700"
      },
      "message": "add some docs\n"
    },
    {
      "commit": "c576a7cd6d752632d69fd9959033912e6add7322",
      "tree": "8389f7b21efab5b7ab577189faee5bbd100fb099",
      "parents": [
        "8abb812e9e55d5f7c9f31e66a695067514ec2eac",
        "d5d5b680f8ebcc17b9cf2cc9e32af62396a04406"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:37:42 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:37:42 2011 -0700"
      },
      "message": "Merge pull request #54 from chmouel/mycnf\n\nSet sensible default for mysql client"
    },
    {
      "commit": "8abb812e9e55d5f7c9f31e66a695067514ec2eac",
      "tree": "b70238a638244275014c205e87bdde3c7004c86a",
      "parents": [
        "71b9e4b9a03e5ffa39441e1e8fc1ff8335f63007",
        "9a60bfac1ecbbc858a0cbb932f88c046e3a65974"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:37:15 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:37:15 2011 -0700"
      },
      "message": "Merge pull request #66 from dtroyer/6-usb-boot\n\nAdd build_usb_boot"
    },
    {
      "commit": "71b9e4b9a03e5ffa39441e1e8fc1ff8335f63007",
      "tree": "8c7b7f588c39119b3c0552a1886ff21ff09e18e9",
      "parents": [
        "906d586bb082df17da99213d479f1e0f02139e28",
        "dd6636be060edb782e09a86364ad3b7db63c7d63"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:36:34 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 11:36:34 2011 -0700"
      },
      "message": "Merge pull request #65 from dtroyer/5-clean-pxe-boot\n\nClean build_pxe_boot"
    },
    {
      "commit": "d5f4ca5307b831bcf2a9ab084359dc77efee75d7",
      "tree": "a04b060aa885782759482c792f704ad970a705b4",
      "parents": [
        "336e0001a6dc807e024aebb3b5eb6d9d6fb26e49",
        "906d586bb082df17da99213d479f1e0f02139e28"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 13 13:28:23 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 13 13:28:23 2011 -0500"
      },
      "message": "Merge remote-tracking branch \u0027upstream/master\u0027 into rcb-master\n"
    },
    {
      "commit": "7c076eeff5db638cba5e1e274fd85056f4dd67ed",
      "tree": "63b36d39840f54bcb83c3058bbd41399cd47159d",
      "parents": [
        "8f851e716e0945cb5debeb2321ebd4cfe25843a5"
      ],
      "author": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 13 13:20:13 2011 -0500"
      },
      "committer": {
        "name": "Dean Troyer",
        "email": "dtroyer@gmail.com",
        "time": "Thu Oct 13 13:20:13 2011 -0500"
      },
      "message": "Add FLOATING_RANGE default\n"
    },
    {
      "commit": "d5d5b680f8ebcc17b9cf2cc9e32af62396a04406",
      "tree": "cb151e9f51bd308d7e11e7ff745f335ed6b4ff7b",
      "parents": [
        "906d586bb082df17da99213d479f1e0f02139e28"
      ],
      "author": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel.boudjnah@rackspace.co.uk",
        "time": "Thu Oct 13 18:45:42 2011 +0100"
      },
      "committer": {
        "name": "Chmouel Boudjnah",
        "email": "chmouel.boudjnah@rackspace.co.uk",
        "time": "Thu Oct 13 18:45:42 2011 +0100"
      },
      "message": "Set sensible default for mysql client\n\nUsing $HOME/.my.cnf to make easier for user to connect to mysql client.\n"
    },
    {
      "commit": "906d586bb082df17da99213d479f1e0f02139e28",
      "tree": "a04b060aa885782759482c792f704ad970a705b4",
      "parents": [
        "b69d6ce529be9e498dfc6d6b982713de4bd3bd4a"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 10:37:45 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 10:37:45 2011 -0700"
      },
      "message": "move readme to markdown\n"
    },
    {
      "commit": "b69d6ce529be9e498dfc6d6b982713de4bd3bd4a",
      "tree": "43eef52569e9b229694826bcf7f4ca484a90d456",
      "parents": [
        "2ea3c8b0e36f0642021561dc096a4ee12a18597d"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 10:36:00 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 10:36:00 2011 -0700"
      },
      "message": "update readme with note about gh-pages\n"
    },
    {
      "commit": "2ea3c8b0e36f0642021561dc096a4ee12a18597d",
      "tree": "a2f1ec0cca00c445a84da48c43cc690da77ed707",
      "parents": [
        "94c889ac1587e2e5096c4472e4a4385dfd76d331",
        "4bec581e4e5a15c204f1042f9ecd4701c33ac4ca"
      ],
      "author": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 09:26:50 2011 -0700"
      },
      "committer": {
        "name": "Jesse Andrews",
        "email": "anotherjesse@gmail.com",
        "time": "Thu Oct 13 09:26:50 2011 -0700"
      },
      "message": "Merge pull request #59 from smoser/localdev\n\nseveral changes, largest of which is logging output"
    },
    {
      "commit": "4bec581e4e5a15c204f1042f9ecd4701c33ac4ca",
      "tree": "a2f1ec0cca00c445a84da48c43cc690da77ed707",
      "parents": [
        "55c9d3f13dac9e4073d941cdbe55532f3f3f5279"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:32:16 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:32:16 2011 -0400"
      },
      "message": "add includedir entry to sudoers if its not there\n"
    },
    {
      "commit": "55c9d3f13dac9e4073d941cdbe55532f3f3f5279",
      "tree": "521f783f111a1c8a64120e429fcf2033808a24d0",
      "parents": [
        "df47967da46462e5f0b444a48d9019988449f94b"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:19:46 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:19:46 2011 -0400"
      },
      "message": "fix writing of 50_stack_sh in sudoers\n"
    },
    {
      "commit": "df47967da46462e5f0b444a48d9019988449f94b",
      "tree": "da6536ea3782bab6f5b95e0908b34cb1c585827e",
      "parents": [
        "102e440e2b4908051e314f7d88730270bc89f1fd"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:15:50 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:15:50 2011 -0400"
      },
      "message": "fix STACK_DIR variable\n"
    },
    {
      "commit": "102e440e2b4908051e314f7d88730270bc89f1fd",
      "tree": "b2255361ee70eea826ef19f9bc258e42f5997d6f",
      "parents": [
        "f9da5081222d2c353e577cb83c538912bca26972"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:00:34 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 20:00:34 2011 -0400"
      },
      "message": "fix bad usage of \u0027su\u0027.  instead use \u0027set -e\u0027.\n\nI had had tried to use -e argument to su, thinking that it would\ngo through to sh, but it does not.  instead, just use \u0027set -e\u0027\n"
    },
    {
      "commit": "b4db225494a2c8d19db523c48fc48cbaee0402a0",
      "tree": "62bbcf101b69d62ef2a381eea0e43b019d5cc5b9",
      "parents": [
        "66b8bbcbd85cefb044a3be54cd84d72fcb6b63be"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 14:08:08 2011 -0700"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 14:08:08 2011 -0700"
      },
      "message": "No need to check localrc for password.  Also use TOP_DIR as described by smoser.\n"
    },
    {
      "commit": "f9da5081222d2c353e577cb83c538912bca26972",
      "tree": "94f4a904287d4ef418f4ee3dd1feabfea37ef0c4",
      "parents": [
        "8ab1ade42ed3b4d4bda00c3dc5a6110c05c201e4"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Fri Oct 07 21:28:00 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:52:09 2011 -0400"
      },
      "message": "move setting variables and run-as-stack-user code\n\nChange the over all flow so that the default settings are\nfilled in in the outside shell (not inside the \u0027()\u0027 and \u0027tee\u0027).\n\nThis way, those variables pass through to the subshell, but they\u0027re\nalso available in the parent shell at the end for outputting status.\n\nAlso, exit failure rather than success if \u0027exec\u0027 to run as stack\nuser failed.\n"
    },
    {
      "commit": "8ab1ade42ed3b4d4bda00c3dc5a6110c05c201e4",
      "tree": "0d55142f6de4a559ee69b7b9bfce2937c020eb57",
      "parents": [
        "b94f4bf35b9c2acd469f839515a96f9c30a45331"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Fri Oct 07 21:03:16 2011 -0400"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:52:09 2011 -0400"
      },
      "message": "instead of \u0027newgrp\u0027 and a pipe, use \u0027sg\u0027\n\nsg and newgrp basically do the same thing, but sg takes a command to\nexecute rather than just executing sh. This just seems cleaner.\n"
    },
    {
      "commit": "b94f4bf35b9c2acd469f839515a96f9c30a45331",
      "tree": "9dc6cd1b8734c8d5b522587d1e0ddfc2ebd3935f",
      "parents": [
        "d67a18bb0716b6dca1cfcfced39c65ac3b41a6e3"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@ubuntu.com",
        "time": "Fri Oct 07 14:51:07 2011 +0000"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:52:09 2011 -0400"
      },
      "message": "move \u0027how to use cloud\u0027 info outside of xtrace\n\nmake the successful run output end with more clear messages.\nBy moving them outside of the \"do it all\" path, the xtrace output\nwill not mix with echo statements.\n"
    },
    {
      "commit": "d67a18bb0716b6dca1cfcfced39c65ac3b41a6e3",
      "tree": "16967a58a9939ff8e9a87e50d9be658469b6581b",
      "parents": [
        "0d2145a0f37da869fcc4754e41b1b8e0618679ea"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@ubuntu.com",
        "time": "Fri Oct 07 14:44:38 2011 +0000"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:52:09 2011 -0400"
      },
      "message": "make sure apt-get update is run\n\nPreviously, the only path that would only ensure that \u0027apt-get update\u0027\nwas run was when the stack user was created.\n\nArchives can be out of date, apt-get should be run.\n"
    },
    {
      "commit": "0d2145a0f37da869fcc4754e41b1b8e0618679ea",
      "tree": "f52999693d57d08e73c9f833dba264447d38c7b1",
      "parents": [
        "7c481189bdeda3c79029b1b47d8edd1bf8bd50fa"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@ubuntu.com",
        "time": "Fri Oct 07 15:18:10 2011 +0000"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:52:09 2011 -0400"
      },
      "message": "some improvements to \u0027create stack user\u0027 path\n\n* Increase the timeout from 3 to 10, so user has a bigger chance\n  to kill the script if being run interactively before a \u0027stack\u0027\n  user is created.\n* explicitly ask \u0027getent\u0027 for the stack user rather than getting\n  all users and grepping (which would match an \"openstack\" user,\n  or a user named \"bob.stack\")\n* use $PWD rather than `pwd`\n* create file in sudoers.d rather than modifying /etc/sudoers.\n"
    },
    {
      "commit": "7c481189bdeda3c79029b1b47d8edd1bf8bd50fa",
      "tree": "b25e35327bd01a0beda0ce29761ebbb91a49037e",
      "parents": [
        "c4e47ab8586069dea52b86fa939ad8a8deeacc2e"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@ubuntu.com",
        "time": "Fri Oct 07 13:50:21 2011 +0000"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:41:17 2011 -0400"
      },
      "message": "log output of stack.sh to logfile in current dir\n\nuse the variable LOGFILE to log stack.sh output for debugging\n"
    },
    {
      "commit": "c4e47ab8586069dea52b86fa939ad8a8deeacc2e",
      "tree": "9748999929cba4275a66126e9faafa194f41b18b",
      "parents": [
        "94c889ac1587e2e5096c4472e4a4385dfd76d331"
      ],
      "author": {
        "name": "Scott Moser",
        "email": "smoser@ubuntu.com",
        "time": "Fri Oct 07 13:29:29 2011 +0000"
      },
      "committer": {
        "name": "Scott Moser",
        "email": "smoser@brickies.net",
        "time": "Wed Oct 12 08:39:44 2011 -0400"
      },
      "message": "simplify script duration output\n\nBash contains a variable \u0027SECONDS\u0027 that indicates how long\nthe current shell has been alive.  It seems sane to just use that\nto indicate to the user how long the script took.\n"
    },
    {
      "commit": "66b8bbcbd85cefb044a3be54cd84d72fcb6b63be",
      "tree": "02352dd73e8c17802600c4eb4f89463a3ed8ba85",
      "parents": [
        "6015c82a2b3f0221f1f85e530878d2d0b70a2980"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:21:41 2011 +0000"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:21:41 2011 +0000"
      },
      "message": "update msg\n"
    },
    {
      "commit": "6015c82a2b3f0221f1f85e530878d2d0b70a2980",
      "tree": "8b32741e4d868960366e707782f7960a2914044e",
      "parents": [
        "7a549f40f5ce17dbee0274f2e9adc664394b0ab5"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:17:11 2011 +0000"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:17:11 2011 +0000"
      },
      "message": "use hard path to localrc\n"
    },
    {
      "commit": "7a549f40f5ce17dbee0274f2e9adc664394b0ab5",
      "tree": "e66f294d24885a7dd0a9d102bb9dc97c5c81d23a",
      "parents": [
        "94c889ac1587e2e5096c4472e4a4385dfd76d331"
      ],
      "author": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:13:13 2011 +0000"
      },
      "committer": {
        "name": "Anthony Young",
        "email": "sleepsonthefloor@gmail.com",
        "time": "Wed Oct 12 07:13:13 2011 +0000"
      },
      "message": "Prompt users for passwords, and write those passwords to localrc\n"
    }
  ],
  "next": "9a60bfac1ecbbc858a0cbb932f88c046e3a65974"
}
