)]}'
{
  "log": [
    {
      "commit": "11a2f509fbba913430464781ead5995996a49eb4",
      "tree": "be2c5b604b1489fdaf274a12c8035a3c529f79de",
      "parents": [
        "760b54b4627d8f848260eda4250765c5ed120bc9"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 00:02:31 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 00:02:31 2015 -0800"
      },
      "message": "fix sync_network_slivers was using instance_id instead of instance_uuid\n"
    },
    {
      "commit": "99f49689b00d58351e41cbec35e7836ec3cff11e",
      "tree": "1317f0896f36d7c4d5bb281e458525ccdb79d192",
      "parents": [
        "47006110c4cdaaec7a48c04d233ec0aa3656e7bd"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:58:25 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:58:25 2015 +0000"
      },
      "message": "Separated \"provides\" and \"observes\" declarations in sync steps. Provides is for dependency management and observes is for retrieving obejcts that have changed.\n"
    },
    {
      "commit": "47006110c4cdaaec7a48c04d233ec0aa3656e7bd",
      "tree": "c16893eecbcc7715d35a867418c4c71dcd09a8b6",
      "parents": [
        "e122dcfcad8f281964f572b4d493de436a565e11"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:55:40 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:55:40 2015 +0000"
      },
      "message": "Implemented back off for failed object synchronizations\n"
    },
    {
      "commit": "e122dcfcad8f281964f572b4d493de436a565e11",
      "tree": "c9db9183397efd7f01d7a28e6e1d5fd91089d9b6",
      "parents": [
        "0926e653f59dbed4e8d37a8808cff96068b0dbf3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:54:17 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:54:17 2015 +0000"
      },
      "message": "Save Observer run time information for status view\n"
    },
    {
      "commit": "0926e653f59dbed4e8d37a8808cff96068b0dbf3",
      "tree": "878001ebbcc4e239c12d5e5efe23ae79deec7110",
      "parents": [
        "752f0f019163e4932b113d7aa72c4a935e6ae516"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:51:13 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:51:13 2015 +0000"
      },
      "message": "Reimplemented backend dependencies in the main Observer run loop\n"
    },
    {
      "commit": "6b6c21830b4d07fbd017baf37a600395f820e103",
      "tree": "ce74c9a07cce430e15f5345bb9e280d05f6b0a87",
      "parents": [
        "6b1b7fc410b63f7b6f74bff85e5e2ed1f06dcff5"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:58:11 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:58:11 2015 +0000"
      },
      "message": "Various bugfies to the main Observer loop\n"
    },
    {
      "commit": "6b1b7fc410b63f7b6f74bff85e5e2ed1f06dcff5",
      "tree": "260564ad76a4c99154f2e3667bb19e3f4cd8879b",
      "parents": [
        "5851db49ab77fadc22f40ae4f0f1874d51850319"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:54:29 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:54:29 2015 +0000"
      },
      "message": "Bugfix\n"
    },
    {
      "commit": "5851db49ab77fadc22f40ae4f0f1874d51850319",
      "tree": "fec02360fbcc67b7b8f2e28fb109448400c4db2e",
      "parents": [
        "b3048aa6a2864d29bf34bbb2999f9a14c0d356b5"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:52:43 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:52:43 2015 +0000"
      },
      "message": "Set backend status when saving backend version of object\n"
    },
    {
      "commit": "b3048aa6a2864d29bf34bbb2999f9a14c0d356b5",
      "tree": "63a24428883841fe3fbf9aa4b1790a0658fa789f",
      "parents": [
        "42a291fc9f8643ae8d3814ec1e3dcc18d3a22c50"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:52:19 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:52:19 2015 +0000"
      },
      "message": "Change dependencies to primitive objects\n"
    },
    {
      "commit": "1e5d34499bb3c2077bb95b9e490e596f1ece1639",
      "tree": "5e6788f09386b472e269cbf35a3e1981b4103e47",
      "parents": [
        "f814a8dfd26032ded6a1b647fb1cda4fafc357e6"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:26:46 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:26:46 2015 +0000"
      },
      "message": "Fix assignment of sliver IP Addresses, failing because of an import error\n"
    },
    {
      "commit": "f814a8dfd26032ded6a1b647fb1cda4fafc357e6",
      "tree": "5f826960ab951d1e3dc98642ef3318318d521e47",
      "parents": [
        "650107ce0c0a9ddcf787c53ef9a65cb1cc695138"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:24:42 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:24:42 2015 +0000"
      },
      "message": "Disable creation of an OpenStack gateway for private netwroks (and nat networks too, with the latter it does not matter)\n"
    },
    {
      "commit": "650107ce0c0a9ddcf787c53ef9a65cb1cc695138",
      "tree": "94d2c315ec1e8c7a20202e97efb910aa8ef55b38",
      "parents": [
        "d99b11205f00364961bd1e74471f48a19fc5a90c"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:22:27 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:22:27 2015 +0000"
      },
      "message": "Do not catch and ignore network instantiation errors, as doing so lets them pass unnoticed by hte Observer\n"
    },
    {
      "commit": "d99b11205f00364961bd1e74471f48a19fc5a90c",
      "tree": "f029a09cb5df5a694ef34f44333c708b30336431",
      "parents": [
        "b0464ba1ac41c57891e1a7d0542b5975bb66d2e3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:22:12 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:22:12 2015 +0000"
      },
      "message": "Fix bug in CIDR allocation\n"
    },
    {
      "commit": "b0464ba1ac41c57891e1a7d0542b5975bb66d2e3",
      "tree": "aba94217376ddfd497a90350d8babcdb83cba331",
      "parents": [
        "aabb9bdd8cf1ed697cce099ea21fe1a1427234ae"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:21:57 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:21:57 2015 +0000"
      },
      "message": "Defer error checking to ansible layer\n"
    },
    {
      "commit": "aabb9bdd8cf1ed697cce099ea21fe1a1427234ae",
      "tree": "0dcf263bcbef7dcd9b1352c8335da62469e478a6",
      "parents": [
        "f71b3b59a2ae3b77e077a89322557b59fbf73cd9"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:19:05 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:19:05 2015 +0000"
      },
      "message": "Add types to backend status messages\n"
    },
    {
      "commit": "f71b3b59a2ae3b77e077a89322557b59fbf73cd9",
      "tree": "0c22261f3b7cfbf51a7581c8306efde4169fa3dd",
      "parents": [
        "254198cd00e27a66d3395945b17d9992b3b33907"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:18:37 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:18:37 2015 +0000"
      },
      "message": "Drop some of the noise in observer logs\n"
    },
    {
      "commit": "254198cd00e27a66d3395945b17d9992b3b33907",
      "tree": "63d768f38998483030c284d4676f25193603f40b",
      "parents": [
        "6ac96b147aef3bc5000aad7f8bdf4bf119340fcb"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:17:12 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:17:12 2015 +0000"
      },
      "message": "Added model policies as a thread in the observer\n"
    },
    {
      "commit": "6ac96b147aef3bc5000aad7f8bdf4bf119340fcb",
      "tree": "5b7496d51ab73c5c0bd25febb6cc9f5f67ca2f90",
      "parents": [
        "76fd191c73e64060a4f959c0818aada2ec18bae9"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:16:27 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:16:27 2015 +0000"
      },
      "message": "Quote commands when running ansible\n"
    },
    {
      "commit": "76fd191c73e64060a4f959c0818aada2ec18bae9",
      "tree": "4e44adf297119792accf2ff284c12b1e9bcee366",
      "parents": [
        "96310de778f775f45daf24c5839bf6554e709323"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:15:37 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:15:37 2015 +0000"
      },
      "message": "Make error checking part of the ansible abstraction layer\n"
    },
    {
      "commit": "cb5c24a97506076445201bcb0cd854f1cd55d0d7",
      "tree": "1b219027c670c65f2cc1948eae562421f40bb357",
      "parents": [
        "c3876fbbd2a779f45a3c5a57337e41ae3ee195a0"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 20 20:59:24 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 20 20:59:24 2015 +0000"
      },
      "message": "Add uuid field to sliver\n"
    },
    {
      "commit": "f210e3d78b7ff7e3b79ae7b5c3f26f55a6fbf191",
      "tree": "69eb640229e9e0f9d3560b6eb6c9bb5fcdce59a1",
      "parents": [
        "78d4c3d47940f21d1451e4095bf51d60c3ea01a8"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Jan 19 15:19:24 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Jan 19 15:19:24 2015 -0500"
      },
      "message": "use flavor specified by user instead of defaulting to m1.medium\n"
    },
    {
      "commit": "43c7f8c655550fa5a92721ea7c47e36c3c7f8486",
      "tree": "4a134cf944289337f0a68ac63a9a4b592c705ce8",
      "parents": [
        "cb6f8d63639876f298d196990d43d8aaa5bd6e99"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sat Jan 17 01:04:10 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sat Jan 17 01:04:10 2015 +0000"
      },
      "message": "BUGFIX: Some steps would get skipped because of an incomplete check\n"
    },
    {
      "commit": "cb6f8d63639876f298d196990d43d8aaa5bd6e99",
      "tree": "95383424448b33e0e3f28ff955e01f035209a75c",
      "parents": [
        "085ed48cb1d0ca4b8b6b21fe779513b3fd2c2b1f"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sat Jan 17 01:03:52 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sat Jan 17 01:03:52 2015 +0000"
      },
      "message": "Add color to Observer logs\n"
    },
    {
      "commit": "e34efa050cf42c2e9a3324028db88808e7ecdddd",
      "tree": "5bde5f36ae19678ca6395e98df041360a06ea9b6",
      "parents": [
        "740f7ef19437f7c4d59a996b32430473517ff1f1"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:16:29 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:16:29 2015 +0000"
      },
      "message": "Changed dependency info for controller slices\n"
    },
    {
      "commit": "740f7ef19437f7c4d59a996b32430473517ff1f1",
      "tree": "60ead8287302142576ab1a792cb0860b5982ae7f",
      "parents": [
        "58243ad81479982d40b0c934df969eddd086cd8a"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:16:10 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:16:10 2015 +0000"
      },
      "message": "Changed dependency info for sync_slivers\n"
    },
    {
      "commit": "58243ad81479982d40b0c934df969eddd086cd8a",
      "tree": "8e9e82dfb40852f8c015e2d4284250f41fa7b7c5",
      "parents": [
        "8908425b41cfccdbd8fd75a319c8e8a3f50c9161"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:15:53 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:15:53 2015 +0000"
      },
      "message": "Changed dependecy info\n"
    },
    {
      "commit": "8908425b41cfccdbd8fd75a319c8e8a3f50c9161",
      "tree": "8c6039f9628e84080ff4f03ad43eac30d3ecf1ff",
      "parents": [
        "398a097d19cc469888971dee44201a5da54051f0"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:15:15 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:15:15 2015 +0000"
      },
      "message": "Changed dependecy information\n"
    },
    {
      "commit": "398a097d19cc469888971dee44201a5da54051f0",
      "tree": "d491a274e3fa6f48f351ae6f90b7f5c551d53d47",
      "parents": [
        "a4bc78b0a623081204e6f406df7c164ea38da692"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:14:53 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:14:53 2015 +0000"
      },
      "message": "Changed dependency information\n"
    },
    {
      "commit": "a4bc78b0a623081204e6f406df7c164ea38da692",
      "tree": "337dd8af3106d211d92ea8e8667aa117c351211a",
      "parents": [
        "d96372f70f3e33836c0887cfb155b014ff9b6cd4"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:14:16 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:14:16 2015 +0000"
      },
      "message": "Changed dependency information\n"
    },
    {
      "commit": "d96372f70f3e33836c0887cfb155b014ff9b6cd4",
      "tree": "2370b28a955c3f7d0d3429d769542ce8768079a7",
      "parents": [
        "90671a8ddad57f0ddc4043393a51926d798d4117"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:13:37 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:13:37 2015 +0000"
      },
      "message": "Quoted name and imagename to prevent sytnax error in ansible\n"
    },
    {
      "commit": "90671a8ddad57f0ddc4043393a51926d798d4117",
      "tree": "4b726a3c4a9a3dc29d7b3adc42a09f0c383b7c26",
      "parents": [
        "b118ce1701ebf1447be3e20931b7fcc5dc2b28dc"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:12:20 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:12:20 2015 +0000"
      },
      "message": "Changed dependencies for sync_controller_images\n"
    },
    {
      "commit": "b118ce1701ebf1447be3e20931b7fcc5dc2b28dc",
      "tree": "68c1baa0b256823f9498ee968d472cb011ffa7b5",
      "parents": [
        "a9be010d532edc31e30e661d25b587c3e571071d"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:11:16 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 16 22:11:16 2015 +0000"
      },
      "message": "Changed shell to /bin/bash, because dash (the default shell) on beta doesn\u0027t support source\n"
    },
    {
      "commit": "95f8e674c6412c66a9a602aef773a594c8b86603",
      "tree": "da194e27909ecfcc0a121dc1dca3327c07a58a4b",
      "parents": [
        "82df1d05060a709f5e64cf75bc8c3a8bebfe4155"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Thu Jan 15 13:32:54 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Thu Jan 15 13:32:54 2015 -0500"
      },
      "message": "remove extraneous white space from hostname\n"
    },
    {
      "commit": "e999be83bfcd4e1d25efdb2e4da5b2e8b472aabf",
      "tree": "0fb48a4f3ea79a62a78d8ac514a5ad4c2454f86c",
      "parents": [
        "aba9183232776e5e401200c5913e2bb486459ca0"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Jan 12 16:48:19 2015 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Jan 12 16:48:19 2015 -0500"
      },
      "message": "Load ceilometer credentials from controller\n"
    },
    {
      "commit": "bf0a90e625b4dcb9becf030739d21ddbc88f862b",
      "tree": "0bbeee8cb4c83f7e00a718592bdad1381d6a19de",
      "parents": [
        "d7e2b45d0c23ef4afcc611f8ca665fe2cb0279f6"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 10 22:31:26 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 10 22:32:10 2015 -0500"
      },
      "message": "fix bugs\n"
    },
    {
      "commit": "d7e2b45d0c23ef4afcc611f8ca665fe2cb0279f6",
      "tree": "bb9147ff77e32e47fc22e6474824147f63b0a1a5",
      "parents": [
        "3bc8ba45cdc8749dc84ea78c6c553eacc79a86a3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sat Jan 10 04:55:54 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sat Jan 10 04:55:54 2015 +0000"
      },
      "message": "Set average to zero when no statistics are returned\n"
    },
    {
      "commit": "a256305f8a42adab6fd8dd41e1d91e1850c4745b",
      "tree": "c2a8dd7e08f2db84f3b546d7ed1d3ebe99d4e361",
      "parents": [
        "854a3dc747cb7bdb86f8dfdf460937a7c95a03ea"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sat Jan 10 04:53:00 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sat Jan 10 04:53:00 2015 +0000"
      },
      "message": "Updated ceilometer driver to support new version of ceilometerclient library\n"
    },
    {
      "commit": "dd8746b5ff23ae9eebf43dcade3d37a61c78c323",
      "tree": "69310b83b9d7288759b96aed9d30aa339bad7aa3",
      "parents": [
        "ab98139e3f5f83fbbfdb924eaca54138a0412438"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 07 12:48:37 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 07 12:48:48 2015 -0500"
      },
      "message": "bugfixes and cleanup\n"
    },
    {
      "commit": "ab98139e3f5f83fbbfdb924eaca54138a0412438",
      "tree": "b1eacf5c14aee3b400f8d141f934f3d46f51e1c6",
      "parents": [
        "7c10fb27b18897ef95616bac5b8ae75e27e77056"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Jan 07 12:36:10 2015 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Jan 07 12:36:10 2015 -0500"
      },
      "message": "More indentation error\n"
    },
    {
      "commit": "7c10fb27b18897ef95616bac5b8ae75e27e77056",
      "tree": "f7ff25a5457b5d8a3181e58e3527fd18f122f693",
      "parents": [
        "49af8e248c523ccca89d29be85ccf1029d5c9c03"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Jan 07 12:35:05 2015 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Jan 07 12:35:05 2015 -0500"
      },
      "message": "Fixed indentation errors in ceilometer\n"
    },
    {
      "commit": "88d7ff77c5b9ca76666679f1c3c2477fad27ae84",
      "tree": "a2d3eced153aa9ad4af027e9c1dabfd3b21777b6",
      "parents": [
        "6e08c3ef8c3a6ffeadcc590c8e0788226fd906ef",
        "ffe6d8b0139819d238c279ed5f2df78f26f3b879"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Jan 07 01:11:47 2015 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Jan 07 01:11:47 2015 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.planet-lab.org/plstackapi\n"
    },
    {
      "commit": "6e08c3ef8c3a6ffeadcc590c8e0788226fd906ef",
      "tree": "d8ffb815607ba87a08e991a945c143160f071491",
      "parents": [
        "6fe8b52c3427c82109b818fbfe91f303f3ffe17b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Jan 07 01:09:58 2015 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Jan 07 01:09:58 2015 -0500"
      },
      "message": "Fetch statistics for any OpenCloud model\n"
    },
    {
      "commit": "ffe6d8b0139819d238c279ed5f2df78f26f3b879",
      "tree": "9f7ca2bcbac2e4f31889fec9cacb2a6f6c5f39fb",
      "parents": [
        "3375088f267ab5f527f64e62787e13de890f9303"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 23:48:02 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 23:48:02 2015 -0500"
      },
      "message": "checking in missing site/slice privilege steps\n"
    },
    {
      "commit": "3375088f267ab5f527f64e62787e13de890f9303",
      "tree": "ca53548192e8a979f14f5675bc41037a30755c07",
      "parents": [
        "4511248c0836080a8db910a07be7df4b4b16ad1b"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 18:27:48 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 18:28:03 2015 -0500"
      },
      "message": "bug fixes\n"
    },
    {
      "commit": "26564363b7b36fe560f8fe872192cdbfdfa5de4d",
      "tree": "d0e7722159fbfe002b2de945358e76398c7b6b84",
      "parents": [
        "8f30ebe689bffe4bbdd2548a80629fb8f2b38ef4"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 17:49:25 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 17:49:25 2015 -0500"
      },
      "message": "bug fixes\n"
    },
    {
      "commit": "8f30ebe689bffe4bbdd2548a80629fb8f2b38ef4",
      "tree": "4f74655152ee1371e74406de95b18523b8cb2b2a",
      "parents": [
        "a7dbd42b23b33ddcf9a5476bad62f9f26cc58983"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 15:08:20 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 15:08:20 2015 -0500"
      },
      "message": "fix bugs\n"
    },
    {
      "commit": "a7dbd42b23b33ddcf9a5476bad62f9f26cc58983",
      "tree": "b89e1d323ab485e1a84a61ea5214638428654771",
      "parents": [
        "9d8962391b178631f8bc6b34adf9729ee23e36f6"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Jan 05 22:48:11 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Jan 05 22:48:42 2015 -0500"
      },
      "message": "removing plural from model names. some cleanup\n"
    },
    {
      "commit": "b469d249152ad1fba3ac11a8feef109b1859a7f6",
      "tree": "ac06c6681d0211ea933326d8321c11c65ece7899",
      "parents": [
        "bcdfd06a83529a70e003ae94d62c5007c141cf98"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 19:37:39 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 19:37:53 2015 -0500"
      },
      "message": "Fix bugs. Reefactor.\n"
    },
    {
      "commit": "7f542c68b8af1ea14f7c79bab82962dde271c052",
      "tree": "f9f6e7fe1d3f637bd7a0819d9e8c0cb6744870e0",
      "parents": [
        "09f046b655708477088875d9f7460ab2ae398302"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 17:26:06 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 17:26:06 2015 -0500"
      },
      "message": "removing ControllerSiteDeployment object. Move tenant_id field to SiteDeployments model\n"
    },
    {
      "commit": "4c1c57cc65ff1e420a20c94c9d470f9eb8204dd6",
      "tree": "bc2574436c8cd4dd8979cee64d5204aa405d3f76",
      "parents": [
        "95bdf0aa710a90b6726322972b8dce0c7828a486"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 16:58:18 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 16:58:34 2015 -0500"
      },
      "message": "added policy for Site model\n"
    },
    {
      "commit": "cd5fded13c29f23cc4f75b50313b5ed4aa06d25f",
      "tree": "1e5b1c28951d1965ae84a739c5b30f2a52fc39d4",
      "parents": [
        "76d91200a0373a51f1964f9beb81c2b74b940743"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 15:21:50 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 15:22:12 2015 -0500"
      },
      "message": "refactor\n"
    },
    {
      "commit": "76d91200a0373a51f1964f9beb81c2b74b940743",
      "tree": "61ec0b92f430f376f69f0a4c9176578002e35344",
      "parents": [
        "2f5be4284ede2912180252f46a247f3bead63400"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 15:21:41 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 15:22:12 2015 -0500"
      },
      "message": "remove debugging\n"
    },
    {
      "commit": "81fa17f11009ea8f42e6267ce8886cef582c650f",
      "tree": "1a6cbf7904f38bebe8b480c89fe6a6519f3ceb17",
      "parents": [
        "2dced86b460614a891fa40bae60842a61f87c058"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 03 12:03:38 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 03 12:03:38 2015 -0800"
      },
      "message": "update to make use of renamed NetworkTemplate fields\n"
    },
    {
      "commit": "2471d2522c27a3ac630c9c9119ddd10667ab08ae",
      "tree": "51f19b0cebe4dec098399cf03f4ddc2bf2dc4916",
      "parents": [
        "c4ec14b02d9c12a3d510a793d03fefa366e8e77d"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 13:01:18 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 13:01:18 2014 -0500"
      },
      "message": "BUGFIX: Use sliver.controllerNetwrok instead of sliver.node.controller\n"
    },
    {
      "commit": "f3d21329fe6c83bd35bd58dff991b207ffb71235",
      "tree": "7e915b07b613926b9887bb38d878e37922ba409a",
      "parents": [
        "04470f2e4ac72a6a89d28eaea4884f0f98595250"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 11:50:47 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 11:50:47 2014 -0500"
      },
      "message": "Fixes to sync_slivers moved over from alpha\n"
    },
    {
      "commit": "f6db4db2af8c6ca1ed1a0aa4fcbfd500a7f503a9",
      "tree": "7abe63b92476b6eb7abd8fb2fb2972703ba23046",
      "parents": [
        "b5bf2df79b91b867abd510786e7b8b138752d385"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 11:25:31 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 11:25:31 2014 -0500"
      },
      "message": "Switched sync_controller_slices back to using the API instead of CLI\n"
    },
    {
      "commit": "b5bf2df79b91b867abd510786e7b8b138752d385",
      "tree": "e932c2387a7559a89ecbacf68016c4937e85b0b0",
      "parents": [
        "6271d8ce01b320c34e9996844702966e427f0619"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:45:04 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:45:04 2014 -0500"
      },
      "message": "BUGFIX\n"
    },
    {
      "commit": "6271d8ce01b320c34e9996844702966e427f0619",
      "tree": "a0c4c4a0947ddec7de2819d8ee6ace7c7fef3427",
      "parents": [
        "4e24f09298a65ae365246ecdf456bc46d4c40834"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:44:38 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:44:38 2014 -0500"
      },
      "message": "Controller-related updates to sync_controller_slices\n"
    },
    {
      "commit": "4e24f09298a65ae365246ecdf456bc46d4c40834",
      "tree": "e540f395fd320d7460e0b3b48195718dddf5567c",
      "parents": [
        "e15271770194f1419f3c5527a42732c56b90cf7c"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:44:13 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:44:13 2014 -0500"
      },
      "message": "Minor bug fix in sync_site_deployments\n"
    },
    {
      "commit": "e15271770194f1419f3c5527a42732c56b90cf7c",
      "tree": "a5be622a88d018f4d85ec2cf539b444e690d1599",
      "parents": [
        "ba74c7580c9214e790c9978a1afac9a7f8fa397e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:43:32 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:43:32 2014 -0500"
      },
      "message": "Fixed several typos and tab issues in sync_controller_networks\n"
    },
    {
      "commit": "ba74c7580c9214e790c9978a1afac9a7f8fa397e",
      "tree": "fa52e015fd1ecf55768d9bd5fae8a25edae59128",
      "parents": [
        "f10f75496ecf65082d58dacec6f4ab2cb48b5aa8"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:43:05 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:43:05 2014 -0500"
      },
      "message": "Adapted sync_nodes to controller objects\n"
    },
    {
      "commit": "f10f75496ecf65082d58dacec6f4ab2cb48b5aa8",
      "tree": "40b1a11e466c7068a5456172269654a6d3f19e95",
      "parents": [
        "6c1cb84a9da80d3d3e176eab0405c569e6e57018"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:42:38 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:42:38 2014 -0500"
      },
      "message": "Bug fixes to sync_controller_images.yaml\n"
    },
    {
      "commit": "6c1cb84a9da80d3d3e176eab0405c569e6e57018",
      "tree": "235ee8d26136ea03d8b5bcc3652da036f55856f2",
      "parents": [
        "e6f4f1446faf6e9ec23ef53673173061cac4627b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:42:18 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:42:18 2014 -0500"
      },
      "message": "Bug fixes to sync_controller_networks\n"
    },
    {
      "commit": "e6f4f1446faf6e9ec23ef53673173061cac4627b",
      "tree": "828f6c60a3475f0c257d4f9690c9f0760ee7795f",
      "parents": [
        "be623d2deff8ce528c863ccb74b05fee839a1d93"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:41:55 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:41:55 2014 -0500"
      },
      "message": "BUG Fixes to sync_controller_images\n"
    },
    {
      "commit": "be623d2deff8ce528c863ccb74b05fee839a1d93",
      "tree": "ec9de51de8fe7d8f2d1bcbda90452d9f0364fffd",
      "parents": [
        "8a1456e601e14bcfae31106fc52748da867ab95a"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:41:28 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 01:41:28 2014 -0500"
      },
      "message": "BUGFIX\n"
    },
    {
      "commit": "f2378a8674994c24f3fcd9053d4e1a1b247c2cba",
      "tree": "181124ee569565472fe71c04cb3a9438e324be0f",
      "parents": [
        "6255f827aa2ba964930f28c56cef598d576a386f"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Dec 21 02:33:52 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Dec 21 02:33:52 2014 -0500"
      },
      "message": "Changed placement of ansible on filesystem\n"
    },
    {
      "commit": "6255f827aa2ba964930f28c56cef598d576a386f",
      "tree": "db11a86ab44f05defe7f6a11744e657eca8b8ccf",
      "parents": [
        "142314ed64880bc3c33650ffc6ec65a6b975a5e6"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Dec 21 02:33:13 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Dec 21 02:33:13 2014 -0500"
      },
      "message": "Checked in a missing changeset\n"
    },
    {
      "commit": "f42c132efead732fcd877d629caac91e96f0d85a",
      "tree": "f06b66334ab7ad39c4e5ba9e00e51550dd5564a4",
      "parents": [
        "36fe3bb32a4321ed8d0b1cf492e944edb9c787f9"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 13:24:56 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:11:00 2014 -0500"
      },
      "message": "Added ansible recipes for images, networks\n"
    },
    {
      "commit": "36fe3bb32a4321ed8d0b1cf492e944edb9c787f9",
      "tree": "3d4219e80dbbb327e181210d5184fe6b6b868386",
      "parents": [
        "708f28231a3ce30d7aa876ff5b5641a1455c7e87"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:10:42 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:10:42 2014 -0500"
      },
      "message": "Fixed credentials in sync_slivers\n\nConflicts:\n\tplanetstack/openstack_observer/steps/sync_slivers.yaml\n"
    },
    {
      "commit": "708f28231a3ce30d7aa876ff5b5641a1455c7e87",
      "tree": "1b283fa10f5d308688c18883204171ccf4e02b5e",
      "parents": [
        "5e8bad0bf29060008c7398c9f57fbe7a142dbd5a"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 13:24:00 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:01:44 2014 -0500"
      },
      "message": "fixed a typo\n"
    },
    {
      "commit": "5e8bad0bf29060008c7398c9f57fbe7a142dbd5a",
      "tree": "8c3e140f15cb77345a536e076a36907a8ef037c0",
      "parents": [
        "189ed67ef296bcb601905e9b33dd0d0206e3115c"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 13:22:16 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:01:44 2014 -0500"
      },
      "message": "Dropped dead code in sync_controller_slices\n"
    },
    {
      "commit": "189ed67ef296bcb601905e9b33dd0d0206e3115c",
      "tree": "4bf0ec88275c1f00b267819b7ee0477077a56516",
      "parents": [
        "828a56c09dd1ab9c9f8834109cde502e9e653fe1"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 13:21:30 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:01:44 2014 -0500"
      },
      "message": "Sync networks fully converted over to ansible\n"
    },
    {
      "commit": "828a56c09dd1ab9c9f8834109cde502e9e653fe1",
      "tree": "d1ead858438f7a697b9d780e458b4cf07df939d3",
      "parents": [
        "a6a95afca2964756a7777ea43839da1709187a27"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 13:21:06 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:01:44 2014 -0500"
      },
      "message": "Sync images converted over to Ansible\n"
    },
    {
      "commit": "a6a95afca2964756a7777ea43839da1709187a27",
      "tree": "0a90dc3329076e256514ff17857605b2c8245d0f",
      "parents": [
        "0f37957e47dc6c7ec02f4ddf6f1fa31cbce75b95"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 13:20:02 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:01:44 2014 -0500"
      },
      "message": "Drop try/catch that causes uncaught errors in the Observer to be silently ignored\n"
    },
    {
      "commit": "528d422d6c16a708b0440fbeef9b9e9d8cb7efaa",
      "tree": "85933804751ecce258f8cfaa0411674955119821",
      "parents": [
        "336e0f9c04a776e2aed57cd7eca4aa8d3dbe2e2a"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Dec 05 17:13:08 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:01:38 2014 -0500"
      },
      "message": "refactor\n"
    },
    {
      "commit": "336e0f9c04a776e2aed57cd7eca4aa8d3dbe2e2a",
      "tree": "11eb24cc61c998a32bbfb22c4cda8a4b16ccd936",
      "parents": [
        "f3bbe471d954d5cf4fa6e710499027471e10d2db"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Nov 30 15:53:08 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:00:11 2014 -0500"
      },
      "message": "Controller replaces Deployment\n"
    },
    {
      "commit": "f3bbe471d954d5cf4fa6e710499027471e10d2db",
      "tree": "622d505667c6c6d83c1a8e5a14acbea06965a8de",
      "parents": [
        "148f5e1036f1dc2e5bb6904e6b8f046233b214b7"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Nov 30 15:33:35 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 13:58:11 2014 -0500"
      },
      "message": "introduce Controller model\n"
    },
    {
      "commit": "56410d552025ecd7c1e2e9ec056872f8108b5a41",
      "tree": "9b50aa445b350a52b5ef612b6c8d8a4c857e379d",
      "parents": [
        "b4f18124aa0e8b4f07cab64d9fd8b783ce80fbd1"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Dec 16 01:08:23 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Dec 16 01:08:23 2014 -0500"
      },
      "message": "Added ceilometer as monitor driver\n"
    },
    {
      "commit": "b15550f2b8400ed8437338b7a78e352ef905ed51",
      "tree": "de1a9cece4b87360529f70f2e6d2ebb6dce34e97",
      "parents": [
        "9f0ae19389080a76f86e3900d2b4fb07d984c843"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:27:56 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:27:56 2014 -0500"
      },
      "message": "Deletion recipe for slivers\n"
    },
    {
      "commit": "9f0ae19389080a76f86e3900d2b4fb07d984c843",
      "tree": "2cf190cd35bc743cd74ba02e2e60f8ce4669399a",
      "parents": [
        "3eecbda58bb129fe65e063d37cdfe99260bbe5b1"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:27:07 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:27:07 2014 -0500"
      },
      "message": "Switched deletion to ansible\n"
    },
    {
      "commit": "3eecbda58bb129fe65e063d37cdfe99260bbe5b1",
      "tree": "d4546f065c7c6c5bc82272bb3e5f1d8e0db0f863",
      "parents": [
        "5641981f117b5d219941757bd6013141f8487fd8"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:21:13 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:21:13 2014 -0500"
      },
      "message": "Need a different recipe to delete slivers\n"
    },
    {
      "commit": "5641981f117b5d219941757bd6013141f8487fd8",
      "tree": "4b218cfe35683479815987eb8e95ce1e4fb2947f",
      "parents": [
        "4f075ccf54849773a0bd5232b03c070f8f04c009"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:07:31 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:07:31 2014 -0500"
      },
      "message": "/sys for sync_user_deployments\n"
    },
    {
      "commit": "4f075ccf54849773a0bd5232b03c070f8f04c009",
      "tree": "587ba55950c4126361b8957568c01e71d828d569",
      "parents": [
        "391eb3e0a4f1ae478b7a9ae8ebc6913f16584c80"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:04:25 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:04:25 2014 -0500"
      },
      "message": "Don\u0027t make a backup of ansible recipe\n"
    },
    {
      "commit": "391eb3e0a4f1ae478b7a9ae8ebc6913f16584c80",
      "tree": "c1dbdc493fca61a888c73e79d7f45b61b5cbb403",
      "parents": [
        "6bb62d28c5cf3005485e70e8eccde1013a914fbf"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:01:38 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 01:01:38 2014 -0500"
      },
      "message": "Ansible doesn\u0027t like spaces in filenames\n"
    },
    {
      "commit": "6bb62d28c5cf3005485e70e8eccde1013a914fbf",
      "tree": "12c44c10357e022e20049cd913e906092dcb4357",
      "parents": [
        "5bfab5ed34ab88dd8517efc5f1437b9d24d2f80f"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 00:06:35 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 00:06:35 2014 -0500"
      },
      "message": "sync_user_deployments -\u003e /sys\n"
    },
    {
      "commit": "5bfab5ed34ab88dd8517efc5f1437b9d24d2f80f",
      "tree": "2f5780ce8e938918787038c4360a8db7d75f2ddf",
      "parents": [
        "d42e7a2fbc8271ec296242c914ff466d5516ef69"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 00:04:58 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 00:04:58 2014 -0500"
      },
      "message": "/sys for sync_slice_deployments\n"
    },
    {
      "commit": "d42e7a2fbc8271ec296242c914ff466d5516ef69",
      "tree": "7c3152c02d824171a5edabe7aa400b6f7995e167",
      "parents": [
        "8f425ebbce1436be66e65e0abcd5aaf7acf07851"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 00:03:56 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 00:03:56 2014 -0500"
      },
      "message": "Fill in missing availability zone in slivers yaml\n"
    },
    {
      "commit": "8f425ebbce1436be66e65e0abcd5aaf7acf07851",
      "tree": "8f1e7d9e0931f9b3aa64b1afe766ec7d46a5e0d8",
      "parents": [
        "d1a582d0ea2eca32285f797a285137a52598cd9c"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 00:02:55 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 00:02:55 2014 -0500"
      },
      "message": "Make sync_slice_deployments conform to sys interface\n"
    },
    {
      "commit": "d1a582d0ea2eca32285f797a285137a52598cd9c",
      "tree": "ff33174439a4cf2117c39d4f0f8850d1e1254aef",
      "parents": [
        "01cf3317ce33281223b683cae958dfd38ddc58ca"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 00:01:23 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Dec 03 00:01:23 2014 -0500"
      },
      "message": "Make sync_slivers conform to sys\n"
    },
    {
      "commit": "01cf3317ce33281223b683cae958dfd38ddc58ca",
      "tree": "23a0117461f5159ed878b36dc10350f8a62cdb9d",
      "parents": [
        "27a45add6ac4fa6690a60691f1a44e497ca74d12"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Dec 02 23:50:37 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Dec 02 23:50:37 2014 -0500"
      },
      "message": "Added sys_dir support for cataloging ansible recipes for objects\n"
    },
    {
      "commit": "27a45add6ac4fa6690a60691f1a44e497ca74d12",
      "tree": "c42155c2bde2880da87a62954307c1a9e4104fa3",
      "parents": [
        "5ac6abe2e4147ba9a3128190900e4c2b388c23cf"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Dec 02 18:21:11 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Dec 02 18:21:11 2014 -0500"
      },
      "message": "Prevent failure when the sliver creator does not have an account at the\nhosting deployment.\n"
    },
    {
      "commit": "c73d19e189139cde373d237e28bb6266182861f7",
      "tree": "d7cdd2f108ba6d86a716242cdb47cac591f01e0d",
      "parents": [
        "0f73a60bdfc8c98306c5eca67ad5c4d61cb63687"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Nov 21 16:41:54 2014 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Nov 21 16:41:54 2014 -0500"
      },
      "message": "fix AttributeError\n"
    },
    {
      "commit": "400f5b52b34353e17d6f8eb82c382d2affd6e0f7",
      "tree": "ca2f324920ca17c458234c46b8fdaffc10463a8c",
      "parents": [
        "848640399b8ec4fdb5b8098f21b6c5e28da808fb"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Nov 20 15:08:18 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Nov 20 15:08:18 2014 -0500"
      },
      "message": "Convention-breakers that escaped my eye in the last pass\n"
    },
    {
      "commit": "fbe0cd77e3374ae48e9c051495b4728ca8b5987a",
      "tree": "d839e122c7873a797ce1f0eae0fbdad8fbdc18a9",
      "parents": [
        "e019c8a79d065d95d9f72bcb9c9dbaa1f122ecdf"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Nov 19 18:01:13 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Nov 19 18:01:13 2014 -0800"
      },
      "message": "add --noobserver option to manage.py\n"
    },
    {
      "commit": "e019c8a79d065d95d9f72bcb9c9dbaa1f122ecdf",
      "tree": "63563a46ef47f9c287f6840caad041be2948a8a0",
      "parents": [
        "e3556156e7fcd9ae687f00419836e56b2b23bdc3",
        "44cfabaf2c3798a46d81f06d614506a0185d288c"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanbhatia@nat-oitwireless-inside-vapornet100-c-32154.Princeton.EDU",
        "time": "Wed Nov 19 15:26:27 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanbhatia@nat-oitwireless-inside-vapornet100-c-32154.Princeton.EDU",
        "time": "Wed Nov 19 15:26:27 2014 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "e3556156e7fcd9ae687f00419836e56b2b23bdc3",
      "tree": "38ff1eba0cafe1840506e84e435de9d7aa4b5a95",
      "parents": [
        "d2c59152f3c5224a30b8bd44fb72658fd3129d20"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanbhatia@nat-oitwireless-inside-vapornet100-c-32154.Princeton.EDU",
        "time": "Wed Nov 19 15:26:11 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanbhatia@nat-oitwireless-inside-vapornet100-c-32154.Princeton.EDU",
        "time": "Wed Nov 19 15:26:11 2014 -0500"
      },
      "message": "Manually copied over files that didn\u0027t get merged over from ansible branch\n"
    },
    {
      "commit": "d2c59152f3c5224a30b8bd44fb72658fd3129d20",
      "tree": "21b3d38f1deae748123d3ed06c7041dac6f9d780",
      "parents": [
        "a0b9175ff66bb7762e5fdbfde2265d28812d4ce3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanbhatia@nat-oitwireless-inside-vapornet100-c-32154.Princeton.EDU",
        "time": "Wed Nov 19 15:25:38 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanbhatia@nat-oitwireless-inside-vapornet100-c-32154.Princeton.EDU",
        "time": "Wed Nov 19 15:25:38 2014 -0500"
      },
      "message": "Manually copied files that did not get merged over from ansible branch\n"
    },
    {
      "commit": "44cfabaf2c3798a46d81f06d614506a0185d288c",
      "tree": "92c3b8d48d97dc0b29eb4c550c832cd9c647a97b",
      "parents": [],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 19 15:15:59 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 19 15:15:59 2014 -0500"
      },
      "message": "New migrations for the \"Big Rename\", excluding Model Renames\n"
    },
    {
      "commit": "3f72d085b92f208d87bc88b882e55d42b1dde171",
      "tree": "5595fd02a2808ec2319f5e9067c87436da96b834",
      "parents": [
        "9b53a4c787f77769f57f6946e97a6334aa7130fe"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Nov 12 10:11:09 2014 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Nov 12 10:11:09 2014 -0500"
      },
      "message": "fix NameError\n"
    },
    {
      "commit": "18b779cedfdf459776c96fdd9f6d33f67e3a3b5c",
      "tree": "70bdbd46fa3c77a09b21cdce4e9b9d70dd68034a",
      "parents": [
        "ab9f84b59ba4340eb8561f34b4f7df2446cf655e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 23:05:53 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 23:05:53 2014 -0500"
      },
      "message": "Renamed ImageDeployments-\u003eImageDeployment\n"
    }
  ],
  "next": "84ba65dba9ca540238488ad52dee2bfbad7cd198"
}
