)]}'
{
  "log": [
    {
      "commit": "963831e9327fd8dd057c72c5a3afc0cf9e3f80ef",
      "tree": "181124ee569565472fe71c04cb3a9438e324be0f",
      "parents": [
        "b2cef885fc966fb33796ecb16bc4ed42a25a8eab"
      ],
      "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": "b2cef885fc966fb33796ecb16bc4ed42a25a8eab",
      "tree": "db11a86ab44f05defe7f6a11744e657eca8b8ccf",
      "parents": [
        "6d1241c13d228284708c6c17c9bf3649887dd6aa"
      ],
      "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": "7419af0efe16c8b7c609a26e7786cfefa1993e64",
      "tree": "f06b66334ab7ad39c4e5ba9e00e51550dd5564a4",
      "parents": [
        "ba746bd479764e6aef1833bb2a35d74e0c129a08"
      ],
      "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": "ba746bd479764e6aef1833bb2a35d74e0c129a08",
      "tree": "3d4219e80dbbb327e181210d5184fe6b6b868386",
      "parents": [
        "011a50c4d6bb5abc91784b18cc07f115ff96efc0"
      ],
      "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": "011a50c4d6bb5abc91784b18cc07f115ff96efc0",
      "tree": "1b283fa10f5d308688c18883204171ccf4e02b5e",
      "parents": [
        "c220f2a54056b191e60774aacd8931790e203624"
      ],
      "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": "c220f2a54056b191e60774aacd8931790e203624",
      "tree": "8c3e140f15cb77345a536e076a36907a8ef037c0",
      "parents": [
        "bc13cb7d664e9496e57ae376320a0ffeadfe9f26"
      ],
      "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": "bc13cb7d664e9496e57ae376320a0ffeadfe9f26",
      "tree": "4bf0ec88275c1f00b267819b7ee0477077a56516",
      "parents": [
        "d9a4e1f05e81231ada8317f7067adf54a4c94ec6"
      ],
      "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": "d9a4e1f05e81231ada8317f7067adf54a4c94ec6",
      "tree": "d1ead858438f7a697b9d780e458b4cf07df939d3",
      "parents": [
        "03b6c52ae618e71a18e7aeab3eb093db48807e50"
      ],
      "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": "03b6c52ae618e71a18e7aeab3eb093db48807e50",
      "tree": "0a90dc3329076e256514ff17857605b2c8245d0f",
      "parents": [
        "ac0bf9a2db83e5c971ce8709012bb0d3da0ab70a"
      ],
      "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": "d14d48f26d89055a14b2dc38fe3997c7b2c5c654",
      "tree": "85933804751ecce258f8cfaa0411674955119821",
      "parents": [
        "06c8e4784530ddfb55757d9f0fe4c63756a206b4"
      ],
      "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": "06c8e4784530ddfb55757d9f0fe4c63756a206b4",
      "tree": "11eb24cc61c998a32bbfb22c4cda8a4b16ccd936",
      "parents": [
        "51c4a7da168cc676ff8b6bc1b7db35b0c1fbe1b8"
      ],
      "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": "51c4a7da168cc676ff8b6bc1b7db35b0c1fbe1b8",
      "tree": "622d505667c6c6d83c1a8e5a14acbea06965a8de",
      "parents": [
        "d923b813adf079320f90208dbb949a72a9a67d78"
      ],
      "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": "6d7e7bd7048fb47d8e940a31aab18ef1f72ea4ce",
      "tree": "9b50aa445b350a52b5ef612b6c8d8a4c857e379d",
      "parents": [
        "df3130c5ab6a86a91e05f443ddac6577560eacae"
      ],
      "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": "d3e961746763eed9a85a1c812702cd3b4a053b7a",
      "tree": "de1a9cece4b87360529f70f2e6d2ebb6dce34e97",
      "parents": [
        "01d89175b605affcf10478843af2af7e19c3539a"
      ],
      "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": "01d89175b605affcf10478843af2af7e19c3539a",
      "tree": "2cf190cd35bc743cd74ba02e2e60f8ce4669399a",
      "parents": [
        "a3df7785d8a8f248f623fdc9d8d0b6fff1745163"
      ],
      "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": "a3df7785d8a8f248f623fdc9d8d0b6fff1745163",
      "tree": "d4546f065c7c6c5bc82272bb3e5f1d8e0db0f863",
      "parents": [
        "bd9bc25cd62aaf0d3cdf7e1ead255378edb2b5e4"
      ],
      "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": "bd9bc25cd62aaf0d3cdf7e1ead255378edb2b5e4",
      "tree": "4b218cfe35683479815987eb8e95ce1e4fb2947f",
      "parents": [
        "edb2deb13e399fe708704c38eaf028d329083813"
      ],
      "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": "edb2deb13e399fe708704c38eaf028d329083813",
      "tree": "587ba55950c4126361b8957568c01e71d828d569",
      "parents": [
        "0301887f47dadc30d449f3bec2a69cd4610adc86"
      ],
      "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": "0301887f47dadc30d449f3bec2a69cd4610adc86",
      "tree": "c1dbdc493fca61a888c73e79d7f45b61b5cbb403",
      "parents": [
        "b5b10700c17ad4fa4b793a0b6a1978286d00e2a6"
      ],
      "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": "b5b10700c17ad4fa4b793a0b6a1978286d00e2a6",
      "tree": "12c44c10357e022e20049cd913e906092dcb4357",
      "parents": [
        "2f06523ffa9a8a2966b1d0eac88fe36f3bc2fd4e"
      ],
      "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": "2f06523ffa9a8a2966b1d0eac88fe36f3bc2fd4e",
      "tree": "2f5780ce8e938918787038c4360a8db7d75f2ddf",
      "parents": [
        "28b9c43be873e14d81556c7b3a89392275afc2fe"
      ],
      "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": "28b9c43be873e14d81556c7b3a89392275afc2fe",
      "tree": "7c3152c02d824171a5edabe7aa400b6f7995e167",
      "parents": [
        "dda880730e4ece244f882c6245dd7bae156b11af"
      ],
      "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": "dda880730e4ece244f882c6245dd7bae156b11af",
      "tree": "8f1e7d9e0931f9b3aa64b1afe766ec7d46a5e0d8",
      "parents": [
        "6a97562268f8d18eb885c439ec142b0d82beb0aa"
      ],
      "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": "6a97562268f8d18eb885c439ec142b0d82beb0aa",
      "tree": "ff33174439a4cf2117c39d4f0f8850d1e1254aef",
      "parents": [
        "810240ccb15a212693601395134b150daf303ce0"
      ],
      "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": "810240ccb15a212693601395134b150daf303ce0",
      "tree": "23a0117461f5159ed878b36dc10350f8a62cdb9d",
      "parents": [
        "5aa26756b5f2d8d1194599394b491c9f94712317"
      ],
      "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": "5aa26756b5f2d8d1194599394b491c9f94712317",
      "tree": "c42155c2bde2880da87a62954307c1a9e4104fa3",
      "parents": [
        "0ceb56849003e0999ea43f45b459e7665a9b8d1d"
      ],
      "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": "0e183387d2d5c0010a1e6f3aee154b18a4a70515",
      "tree": "d7cdd2f108ba6d86a716242cdb47cac591f01e0d",
      "parents": [
        "c2692a9565cc462323abf1f94c1610199529140e"
      ],
      "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": "a0beef87954d57aee96d29577660d5e0f575d455",
      "tree": "ca2f324920ca17c458234c46b8fdaffc10463a8c",
      "parents": [
        "3cd944bbc239c9e56e53e87e2ef4ad2b715fd334"
      ],
      "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": "d3a5a2eabb33a6129edfc2663087620c30e23a5b",
      "tree": "d839e122c7873a797ce1f0eae0fbdad8fbdc18a9",
      "parents": [
        "a41115476c3752befe12dfef3baf2897786f4714"
      ],
      "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": "a41115476c3752befe12dfef3baf2897786f4714",
      "tree": "63563a46ef47f9c287f6840caad041be2948a8a0",
      "parents": [
        "d8e129a0a3120a755ee74d3a53b334ac3f9220f4",
        "0e624d0a6bb1c99d0f1546e063a091e1d6534997"
      ],
      "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": "d8e129a0a3120a755ee74d3a53b334ac3f9220f4",
      "tree": "38ff1eba0cafe1840506e84e435de9d7aa4b5a95",
      "parents": [
        "88181f28f7cc5ed1ec2684baf662050af53d0ded"
      ],
      "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": "88181f28f7cc5ed1ec2684baf662050af53d0ded",
      "tree": "21b3d38f1deae748123d3ed06c7041dac6f9d780",
      "parents": [
        "b1e29c1dc6d497380fc95a902c566da05ba47630"
      ],
      "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": "0e624d0a6bb1c99d0f1546e063a091e1d6534997",
      "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": "4f9a5dea96132d4197fbd9fc35b9f65734007481",
      "tree": "5595fd02a2808ec2319f5e9067c87436da96b834",
      "parents": [
        "a881224bcb1caed698b028254ad803909d093d3b"
      ],
      "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": "b19c22aa1c0d47bbc3eac773f8252321e38f25e7",
      "tree": "70bdbd46fa3c77a09b21cdce4e9b9d70dd68034a",
      "parents": [
        "f83ea3070f52ee3b72093c3234e6d5a5106aa32d"
      ],
      "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"
    },
    {
      "commit": "bfe716a1dd0b78cb3ff57e0cf5911902d773b8eb",
      "tree": "9d0a514da6ff4edf748dcac31727b1aeaf6cc9bb",
      "parents": [
        "18e01e35cfc3b1b44fbb6214553f02df705e869d"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:44:35 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:44:35 2014 -0500"
      },
      "message": "Renamed UserDeployments-\u003eUserDeployment\n"
    },
    {
      "commit": "18e01e35cfc3b1b44fbb6214553f02df705e869d",
      "tree": "9b2d038160cbab18a8cdce91bc52002b02bb12b6",
      "parents": [
        "3d872e574d5faf42fb95a92b7e46413c08dbe1ac"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:43:31 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:43:31 2014 -0500"
      },
      "message": "Renamed SliceDeployments --\u003e SliceDeployment\n"
    },
    {
      "commit": "3d872e574d5faf42fb95a92b7e46413c08dbe1ac",
      "tree": "5673c4c31400b8ea7a43c267d0d330f1a3c9328b",
      "parents": [
        "d2d5dd807407ee03b6788f0f42871d0ffd0ef8fc"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:41:12 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:41:12 2014 -0500"
      },
      "message": "Renamed SiteDeployments-\u003eSiteDeployment\n"
    },
    {
      "commit": "78c6b988858e1171a9283ad64b58780dfa6b9a71",
      "tree": "a00754630efbec6742ef058c34c9fc6d3952b63d",
      "parents": [
        "ce52e240009b06d034dc2dfa80a60b01046bd079"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Nov 05 09:05:14 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Nov 05 09:05:14 2014 -0800"
      },
      "message": "merge changes not committed\n"
    },
    {
      "commit": "14356b7e265d73c90190d43eba41d197334b5689",
      "tree": "4fd3857c6e332fc037e992ba288876d29ba31196",
      "parents": [
        "ed12d51a350e04fb2b6e82dc78a6e9a998fb4c3b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 05 10:32:41 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 05 10:32:41 2014 -0500"
      },
      "message": "Merged ansible branch into master\n"
    },
    {
      "commit": "959252867cf8f419acfe78b497bd82190bc8f3f5",
      "tree": "9d58fb604845030779414f4ca1f7a40330be7625",
      "parents": [
        "38e7ae55a99391ade1c01c7c296caa7360a50860"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Sep 24 10:22:31 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Sep 24 10:22:31 2014 -0400"
      },
      "message": "fix attribute error\n"
    },
    {
      "commit": "c217c0ffbd7280bb233c072b805d61fed571b462",
      "tree": "adaa9aba2108b66c18367e0c16f9f8e1329f37e3",
      "parents": [
        "cb6f9153f870fe6c6bb24706df6029e4bb95d696"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Sep 22 17:46:35 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Sep 22 17:46:35 2014 -0700"
      },
      "message": "reverted out change; not sure it was safe when spawning Openstack instances\n"
    },
    {
      "commit": "c195450bcd6474ea15a7a62b63b3fa0962c00102",
      "tree": "65473f65574092d4bd816a0f6a4170a3a445e438",
      "parents": [
        "02b59521e1cf980a44403bbad84241c71da1f4d5"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Sep 22 17:16:32 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Sep 22 17:16:32 2014 -0700"
      },
      "message": "convert hostnames to lowercase when adding to data model\n"
    },
    {
      "commit": "2e6c9a4ee551c96f7f321546a1b5e5b4b57179cf",
      "tree": "b94c788149ea239354e195bb45a6a2748a654aac",
      "parents": [
        "074e2ffbf66d549907c5d303c62ca8d6713def81"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Sep 05 14:48:38 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Sep 05 14:48:38 2014 -0700"
      },
      "message": "ensure db connection is closed at the end of each thread\n"
    },
    {
      "commit": "074e2ffbf66d549907c5d303c62ca8d6713def81",
      "tree": "9713777e3eaf6bc33ee70d034547e66e651dc4ed",
      "parents": [
        "9ae9e4e4d6662126f2f957f5f595b9c49ae5cc6c"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Sep 04 16:55:08 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Sep 04 16:55:08 2014 -0700"
      },
      "message": "plumb flavors through to openstack\n"
    },
    {
      "commit": "9ae9e4e4d6662126f2f957f5f595b9c49ae5cc6c",
      "tree": "77962b842efc2204b3ab66ab380def058b8a6dc6",
      "parents": [
        "1fd5d2269d2028584b3ed3fb16eb6701d1310849"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Sep 04 15:13:40 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Sep 04 15:13:40 2014 -0700"
      },
      "message": "do not sync objects for deployments that are not configured\n"
    },
    {
      "commit": "1fd5d2269d2028584b3ed3fb16eb6701d1310849",
      "tree": "6cecd3a1782584747183b14e463659e338dae188",
      "parents": [
        "72aa9300a50d7bf8dc93112a64d36c721ca67511"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Sep 04 11:04:27 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Sep 04 11:04:27 2014 -0700"
      },
      "message": "skip unreachable/misconfigured deployments in sync_nodes\n"
    },
    {
      "commit": "72aa9300a50d7bf8dc93112a64d36c721ca67511",
      "tree": "88844376996c50cd07382b7fce2a0ddcd94dc4a3",
      "parents": [
        "0d17ec2c974c534e848c4de48f23e958e73fee56"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Sep 04 10:36:51 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Sep 04 10:36:51 2014 -0700"
      },
      "message": "more logging; fix SyncSiteDeployments waiting on self; fix unknown identifier when adding failed step\n"
    },
    {
      "commit": "0d17ec2c974c534e848c4de48f23e958e73fee56",
      "tree": "23a7a882a7afa5bf12464ac667c1da23534793ae",
      "parents": [
        "af633c6518319308588de4ba12ce03ad31b34d4c"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Sep 04 09:48:30 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Sep 04 09:48:30 2014 -0700"
      },
      "message": "copied from observer code on alpha\n"
    },
    {
      "commit": "2bb8aa0ac55c3ffd85232525130a547baa8dc215",
      "tree": "33a3dad7ac51c2f879241df657c6e0e73ff4719e",
      "parents": [
        "d820f4342fce662be5e6ac15400ca9a12fe41cd2"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 15:43:04 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 15:43:04 2014 -0400"
      },
      "message": "Drop Slice policy code from Observer\n"
    },
    {
      "commit": "d820f4342fce662be5e6ac15400ca9a12fe41cd2",
      "tree": "845b104784534f71bf234c364a23accff170203e",
      "parents": [
        "79684afcfec1bc37e7229f67945a34b470b89476"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 15:42:39 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 15:42:39 2014 -0400"
      },
      "message": "Drop user policy code from observer\n"
    },
    {
      "commit": "79684afcfec1bc37e7229f67945a34b470b89476",
      "tree": "21e7a02c2c6fbe69bf69bc07a403614ba1512354",
      "parents": [
        "3a5ef2b669fa08a0d700636efc6f89ccf773ca4e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 15:41:49 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 15:41:49 2014 -0400"
      },
      "message": "Drop network model policy from Observer\n"
    },
    {
      "commit": "ab202a6d8c546a6202351eb4fdcf6940bd2c75c2",
      "tree": "7e6dda7f81c5256991c606d1f7bdc41911bf65f6",
      "parents": [
        "d1f1df83306fab171ac7bb2a000476605c841639"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 11:30:21 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 11:30:21 2014 -0400"
      },
      "message": "Updated OpenStack observer to parallel implementation\n"
    },
    {
      "commit": "51f489340de333158a57d0fafeb5c284cd34b946",
      "tree": "9e60c9736f38f10c825e2ee83237814f6fb0a75a",
      "parents": [
        "9c308fca43f8248a4d0880791b6fd3a8a2acc71d"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Aug 25 04:17:12 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Aug 25 04:17:12 2014 -0400"
      },
      "message": "Initial plumbing for parallel Observer\n"
    },
    {
      "commit": "9c308fca43f8248a4d0880791b6fd3a8a2acc71d",
      "tree": "e7ede7f46fa672b1e6ba9a0c36f21f45e784ac98",
      "parents": [
        "8fd852b544000d421993119a02c8fe641fa5f796"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Aug 22 03:07:59 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Aug 22 03:07:59 2014 -0400"
      },
      "message": "Sometimes, backend_status can fail because of unicode issues. Ignore\nfor now.\n"
    },
    {
      "commit": "8fd852b544000d421993119a02c8fe641fa5f796",
      "tree": "fd95f9cd6c2f28c6574ee420fcdb77b4a195fbd0",
      "parents": [
        "7e482ded46c064ef3822af4a2a78e0b4ba56537f"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Aug 22 03:06:03 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Aug 22 03:06:03 2014 -0400"
      },
      "message": "More verbose backend_status field\n"
    },
    {
      "commit": "7e482ded46c064ef3822af4a2a78e0b4ba56537f",
      "tree": "342b91530feabd22ed4c33bb271a52cb13423304",
      "parents": [
        "cfef6ef7f9874d8878bbaa125734e702a88de264"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Aug 22 03:05:13 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Aug 22 03:05:13 2014 -0400"
      },
      "message": "Propagate backend_status to failed dependent objects\n"
    },
    {
      "commit": "cfef6ef7f9874d8878bbaa125734e702a88de264",
      "tree": "8196b64e9a47b943985b2ece3e46d83a5fd21c0a",
      "parents": [
        "d9468eb76bdc1e574270205778f681336bdaede3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Aug 20 03:04:03 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Aug 20 03:04:03 2014 -0400"
      },
      "message": "Bug fix from Scott Baker. If a peer object is not set, it means there is\nno dependency.\n"
    },
    {
      "commit": "d9468eb76bdc1e574270205778f681336bdaede3",
      "tree": "9774ab6a9bf4bd98e1439ebb27164351a269b3a6",
      "parents": [
        "cf219ce51ea3b9dacce089e82ac78345b9a1a741"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Aug 20 03:03:12 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Aug 20 03:03:12 2014 -0400"
      },
      "message": "Minor bug fix\n"
    },
    {
      "commit": "cf219ce51ea3b9dacce089e82ac78345b9a1a741",
      "tree": "d69d4a50ecf415805c34f0688b1b9ae22c51ec3c",
      "parents": [
        "1d5ec8da9aa352d8e35559c63730ace1ef1ccff3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 03:01:37 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 03:01:37 2014 -0400"
      },
      "message": "Switched sync_users to new style of deletion\n"
    },
    {
      "commit": "1d5ec8da9aa352d8e35559c63730ace1ef1ccff3",
      "tree": "4e6810e54ad1cc7c3d3b30cdafa0ce56e48f3621",
      "parents": [
        "df8fda32ef95783dab704e1cc9f751b85b61f114"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 03:00:20 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 03:00:20 2014 -0400"
      },
      "message": "Deleting sync_sliver_ips, now obsoleted by sync_network_slivers\n"
    },
    {
      "commit": "df8fda32ef95783dab704e1cc9f751b85b61f114",
      "tree": "a6720f6e1fe3643aa644b21d4f379c141868d372",
      "parents": [
        "e89c4bb17a6df6eef3617e740235db2e32585eec"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 02:59:34 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 02:59:34 2014 -0400"
      },
      "message": "Switched sync_slices to new style of deletion\n"
    },
    {
      "commit": "e89c4bb17a6df6eef3617e740235db2e32585eec",
      "tree": "4a71b146d369878017f35c7c98fd34dd9c969b18",
      "parents": [
        "3db773c92a65f37c75bfbf468c43d3994b6ba461"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 02:59:00 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 02:58:59 2014 -0400"
      },
      "message": "Switched sync_networks to new style of deletion\n"
    },
    {
      "commit": "3db773c92a65f37c75bfbf468c43d3994b6ba461",
      "tree": "3271408e2082f7017b5f02905637182b435045c0",
      "parents": [
        "64a7963024701e47e235cb719bfb50d95ca7d774"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 02:58:32 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 02:58:32 2014 -0400"
      },
      "message": "Merged change from alpha\n"
    },
    {
      "commit": "64a7963024701e47e235cb719bfb50d95ca7d774",
      "tree": "bc800aa0d09efe7fa4565bc3165ac2550a5f328e",
      "parents": [
        "0f727b8796356ff8b416f23ca97b61bea46adbe3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 02:58:04 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Aug 19 02:58:04 2014 -0400"
      },
      "message": "Switched sync_sites to new style of deletion\n"
    },
    {
      "commit": "0f727b8796356ff8b416f23ca97b61bea46adbe3",
      "tree": "391accee600ff33925b7f1cb9911adde5503a9e2",
      "parents": [
        "f1d3d273b14a40859229c0d03bc4b2b16e2d93c2"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Aug 18 02:44:20 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Aug 18 02:44:20 2014 -0400"
      },
      "message": "Make it easier to disable deletions for debugging.\n"
    },
    {
      "commit": "f1d3d273b14a40859229c0d03bc4b2b16e2d93c2",
      "tree": "a7d6a0de7f4804f9e8423b883847a661a8cd3bb4",
      "parents": [
        "6810db24d99643479924046a6587c10fc9ad5ad8"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Aug 18 02:24:22 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Aug 18 02:24:22 2014 -0400"
      },
      "message": "Trying to commit an unsaved object with fields set causes the database\nto lock up.\n"
    },
    {
      "commit": "0652f4e589dd85d3632219af5dc90f40418a6fc1",
      "tree": "f23604cab23c8ecaeec27eef1bd4953842c53454",
      "parents": [
        "a2e881cf7ea904854044c29943fc19a9ad1aba99"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Aug 19 15:49:27 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Aug 19 15:49:27 2014 -0700"
      },
      "message": "fix failed dependencies not taking type of objects into account\n"
    },
    {
      "commit": "f24b92753bfc40d16bb7a4e254bd328ffd58dc7a",
      "tree": "56fe119a982dfe40e230492fb12d5d87e0bf5ab0",
      "parents": [
        "36f09c01e343c959ce36c2bd964287212bf2bfa5"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Aug 14 17:35:05 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Aug 14 17:35:05 2014 -0700"
      },
      "message": "make sync_sliver_ips a no-op -- maybe remove it soon\n"
    },
    {
      "commit": "36f09c01e343c959ce36c2bd964287212bf2bfa5",
      "tree": "54d34c77dc8d4350ab1888e9ebbd3c7ecde65b94",
      "parents": [
        "adae55f696049d0b6cf4f0ef7c5280d2e0dee2e0"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Aug 14 17:33:36 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Aug 14 17:33:36 2014 -0700"
      },
      "message": "sync all network deployments, even the nat-net\n"
    },
    {
      "commit": "5bbaa23b56772545221bf59e632d74c8ab1ca617",
      "tree": "ab48653df0fd9f8e61b595805ad7868262734fab",
      "parents": [
        "feb13440d8d9ddbf40496a0003130d94e9286f6c"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Aug 14 17:23:15 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Aug 14 17:23:15 2014 -0700"
      },
      "message": "punch through portfwd; fix not all ports used in sync_network_slivers\n"
    },
    {
      "commit": "8f5d518e49a01d3727f9fba9da42181e7ba367e1",
      "tree": "db8f38048f90a0873d7fd49d60ccedeb55630d27",
      "parents": [
        "f3e71518204c1b20f9ee4e144602c16f0bf2144e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Aug 12 18:05:56 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Aug 12 18:05:56 2014 -0700"
      },
      "message": "remove comment\n"
    },
    {
      "commit": "f3e71518204c1b20f9ee4e144602c16f0bf2144e",
      "tree": "6fbb682d9bfe483f256adc039f39483184191be3",
      "parents": [
        "378b322001e3a6f984d6ff5b3f3411dd7050fa8d"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Aug 12 18:05:04 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Aug 12 18:05:04 2014 -0700"
      },
      "message": "use shared network id for shared networks; stop creating private nets for shared nets\n"
    },
    {
      "commit": "378b322001e3a6f984d6ff5b3f3411dd7050fa8d",
      "tree": "c08ad4359bc6236138d65938ad6b15f84762bc1e",
      "parents": [
        "53567da440907bfbfcfd8515cfd1a606e993defc"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Aug 12 18:00:35 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Aug 12 18:00:35 2014 -0700"
      },
      "message": "fix NetworkSliver objects not created, and not working with shared network templates\n"
    },
    {
      "commit": "72c2e70653b589c54dbc9b137da024025e57e63e",
      "tree": "07d1e071f80a2b7ba609805ddbba91891688f7df",
      "parents": [
        "dea04a58e99a38905c7279d0041615917c9a489e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Aug 11 18:58:52 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Aug 11 18:58:52 2014 -0700"
      },
      "message": "fix ips not set in sliver.ip\n"
    },
    {
      "commit": "db0a110b779b68f11d311fef5e2f6e359ef328a4",
      "tree": "af11f3afedd2a598207f28d0fbeef7602ca86f76",
      "parents": [
        "c3439c3b5bf57e550115a6c2bf5be60d841585b4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Aug 08 09:57:28 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Aug 08 09:57:28 2014 -0700"
      },
      "message": "set default userdata\n"
    },
    {
      "commit": "13d8915e1ee1f120441c2591040c3349c84d8bb9",
      "tree": "43d83cf8152cb739b20a112d9134428b8439c2fe",
      "parents": [
        "a3d15a72afe2f1c73b4d75e04645c03fe6a5c161"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 10:35:33 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:54 2014 -0400"
      },
      "message": "Minor bug fixes\n"
    },
    {
      "commit": "e82f5e5d223182820127c6ddd26e0c568d5bded3",
      "tree": "ed042cf144d31aa8fbe16b7c6014f737ce7efcb9",
      "parents": [
        "393db39737a82008bfe84f63bf19b2b96e88cd3a"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 10:02:45 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:53 2014 -0400"
      },
      "message": "Update OpenStack Observer\u0027s event loop from EC2 observer\n"
    },
    {
      "commit": "393db39737a82008bfe84f63bf19b2b96e88cd3a",
      "tree": "7c5367d485f031c483b102955c0bd0a3a162e13c",
      "parents": [
        "b83643ce3eae320f38520812fb733d0e1ce4d4f6"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 10:01:22 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:16 2014 -0400"
      },
      "message": "Removed old-style deleters\n"
    },
    {
      "commit": "b83643ce3eae320f38520812fb733d0e1ce4d4f6",
      "tree": "6d68d3325ceb8205bd0bbf30efce8af6c711f2b6",
      "parents": [
        "d97caf30a4d58e52c5a9881510938d9d51484fcf"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:59:32 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:16 2014 -0400"
      },
      "message": "Steps in which deletion is not supported have to return an empty list\nwhen queried for deleted objects.\n"
    },
    {
      "commit": "d97caf30a4d58e52c5a9881510938d9d51484fcf",
      "tree": "d83ada6020dca5d8077c8ed07fcd69983986311f",
      "parents": [
        "663626eecf08d38c076f3b0565a840ee97957284"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:53:53 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:16 2014 -0400"
      },
      "message": "Slice deployment deleter, refactored\n"
    },
    {
      "commit": "663626eecf08d38c076f3b0565a840ee97957284",
      "tree": "a04f98d40c71661b9fc923fdd1ba36ce683e8c4b",
      "parents": [
        "5f4aff27c6003239fd10594dd097e69431412cc2"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:50:33 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:16 2014 -0400"
      },
      "message": "Site deployment step, refactored\n"
    },
    {
      "commit": "5f4aff27c6003239fd10594dd097e69431412cc2",
      "tree": "3e33cdc17727fb65e8e272051303778e5283d05c",
      "parents": [
        "881f62e9595dbeda783f46ac52916a22ad6f821c"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:48:55 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:16 2014 -0400"
      },
      "message": "Network sliver deleter, refactored\n"
    },
    {
      "commit": "881f62e9595dbeda783f46ac52916a22ad6f821c",
      "tree": "ffeb206ca987767a681650a8e7b55aac6965a9d7",
      "parents": [
        "ef3ae35afe674ee096a46ada49cab94ec702cf73"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:45:23 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:16 2014 -0400"
      },
      "message": "Network deployment deleter, refactored\n"
    },
    {
      "commit": "ef3ae35afe674ee096a46ada49cab94ec702cf73",
      "tree": "d423d5fed34ff5746cb6e9e06145eb768868b94d",
      "parents": [
        "9650004cea2667f8f9f458f4aecb834b31ead06a"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:43:20 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:16 2014 -0400"
      },
      "message": "User deployments deleter refactored\n"
    },
    {
      "commit": "9650004cea2667f8f9f458f4aecb834b31ead06a",
      "tree": "ba58661bd95fbeea35a07aca8909df09f3b18865",
      "parents": [
        "cd99f4d0b3e0b13dd8c4cb7b4c938af7353c0298"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:37:19 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:16 2014 -0400"
      },
      "message": "Sliver deleter, refactored\n"
    },
    {
      "commit": "cd99f4d0b3e0b13dd8c4cb7b4c938af7353c0298",
      "tree": "0e9e91f2d6d85c5d14d51d07708ecdd9923e3d33",
      "parents": [
        "4f4591df95bfa3d1d2ea5cee3ebd4ff7075afd66"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:34:16 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:15 2014 -0400"
      },
      "message": "Deleters should not be calling delete on the data model.\n"
    },
    {
      "commit": "4f4591df95bfa3d1d2ea5cee3ebd4ff7075afd66",
      "tree": "d107b4e5db5e573bedbd4ec4b02a646373a5bb9d",
      "parents": [
        "88a2369a9c0ef77ac481fd5fe88bc1f11493ac1a"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:34:02 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:15 2014 -0400"
      },
      "message": "User deleter, refactored\n"
    },
    {
      "commit": "88a2369a9c0ef77ac481fd5fe88bc1f11493ac1a",
      "tree": "c873f3eea7fed03314f98cc9fa128875964ababf",
      "parents": [
        "18c64cfa92ca76a4e170527c5bc5d6231fca7111"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:33:44 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:15 2014 -0400"
      },
      "message": "Slice deleter, refactored\n"
    },
    {
      "commit": "18c64cfa92ca76a4e170527c5bc5d6231fca7111",
      "tree": "c961e32b46a50fcdd458fe332850cdf838b0a92c",
      "parents": [
        "c3827068b21aa78a7e7d4826c6831d7ecfb31236"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:05:38 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:15 2014 -0400"
      },
      "message": "Refactored site deleter.\n"
    },
    {
      "commit": "c3827068b21aa78a7e7d4826c6831d7ecfb31236",
      "tree": "cef2596cd121c7eafe46cc9ec219446efe09d8de",
      "parents": [
        "217656607c29b37706b21ad487f9b9f37d04eb28"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 09:03:42 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:15 2014 -0400"
      },
      "message": "This is in the default implementation of sync_step now\n"
    },
    {
      "commit": "217656607c29b37706b21ad487f9b9f37d04eb28",
      "tree": "daad21185d7d851434854a1477f46a6a7063e463",
      "parents": [
        "a5593a23a625c033f5133df873c819daacb31e98"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 08:59:30 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:15 2014 -0400"
      },
      "message": "Provide default implementation of fetch_pending to remove redundant code\nfrom steps.\n"
    },
    {
      "commit": "a5593a23a625c033f5133df873c819daacb31e98",
      "tree": "c855b69a205c99784d5135f03e9cd16389ce1eed",
      "parents": [
        "e7e4ca172fd160c9a589ecd3206abae08e948356"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 08:51:18 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:15 2014 -0400"
      },
      "message": "Networks deleter for OpenStack\n"
    },
    {
      "commit": "a358f0fb280d3da6938575be3d9c5d4a4a7e3f7a",
      "tree": "1ded187cbecc3c1a2068839a98547d35da21ff50",
      "parents": [
        "511ea5f61a5db72e000c801789bf5f88e8c7009a"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Jul 21 23:21:23 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:23:48 2014 -0400"
      },
      "message": "Rename observer to openstack_observer, making room for more convenient\nswitching to a different observer.\n"
    }
  ]
}
