)]}'
{
  "commit": "e4be32fc2c0530a6148cc93e354c95680d370598",
  "tree": "9567e099c1ae18e1d3e35d0457af232f50296b4b",
  "parents": [
    "45cbbc396013d526b3aa96cab9f95517196b45a6"
  ],
  "author": {
    "name": "Tony Mack",
    "email": "tmack@paris.CS.Princeton.EDU",
    "time": "Tue Mar 11 20:45:25 2014 -0400"
  },
  "committer": {
    "name": "Tony Mack",
    "email": "tmack@paris.CS.Princeton.EDU",
    "time": "Tue Mar 11 20:45:39 2014 -0400"
  },
  "message": "observer now supports remote openstack deployments\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "853e5ce19b6b982cf316bdc454879b2b387d1a37",
      "old_mode": 33188,
      "old_path": "planetstack/core/admin.py",
      "new_id": "996e22d860b2738f0cfccc4bd8e67d705b187640",
      "new_mode": 33188,
      "new_path": "planetstack/core/admin.py"
    },
    {
      "type": "modify",
      "old_id": "6926d902239b8229f98e111ddbaa5f7197c4006f",
      "old_mode": 33188,
      "old_path": "planetstack/core/models/__init__.py",
      "new_id": "7c10fc8fb66be349b398749547d2e430937a692e",
      "new_mode": 33188,
      "new_path": "planetstack/core/models/__init__.py"
    },
    {
      "type": "modify",
      "old_id": "edd937362d1d8b4fc4b2e4ad48f09e18b8f1bd78",
      "old_mode": 33188,
      "old_path": "planetstack/core/models/site.py",
      "new_id": "4256e7513d628bef4d6c9f1dc0b14339891aa66f",
      "new_mode": 33188,
      "new_path": "planetstack/core/models/site.py"
    },
    {
      "type": "modify",
      "old_id": "c39d09b79258893bb98d64094fc21e4481ef33ad",
      "old_mode": 33188,
      "old_path": "planetstack/core/models/slice.py",
      "new_id": "15d317f6b3fb81f9def8fe88576aeda7523fc7d2",
      "new_mode": 33188,
      "new_path": "planetstack/core/models/slice.py"
    },
    {
      "type": "modify",
      "old_id": "29ae0d4a659f750733165326cdb407cd4435c635",
      "old_mode": 33188,
      "old_path": "planetstack/core/models/sliver.py",
      "new_id": "ce46cac3d246842387c2d643c62a080b40df9dc9",
      "new_mode": 33188,
      "new_path": "planetstack/core/models/sliver.py"
    },
    {
      "type": "modify",
      "old_id": "1afb5fcdb01e677e9231778e10789b9e863ceabe",
      "old_mode": 33188,
      "old_path": "planetstack/core/models/user.py",
      "new_id": "62e5b91f32092368af7997446ab85e765d69a93b",
      "new_mode": 33188,
      "new_path": "planetstack/core/models/user.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f7383ea1e08d2504b716bf579f508fb6655f4d56",
      "new_mode": 33188,
      "new_path": "planetstack/deployment_auth.py"
    },
    {
      "type": "modify",
      "old_id": "bb29c9487ee25381dc91649e3fd5c3e6192dc805",
      "old_mode": 33188,
      "old_path": "planetstack/observer/deleters/site_deleter.py",
      "new_id": "a558eaf5ac1f3ce7970813bad8f7e8abe53940f6",
      "new_mode": 33188,
      "new_path": "planetstack/observer/deleters/site_deleter.py"
    },
    {
      "type": "modify",
      "old_id": "a13fd22398d5886f82a2916b329a92794722119f",
      "old_mode": 33188,
      "old_path": "planetstack/observer/steps/garbage_collector.py",
      "new_id": "34ecd775d015f63e2f3bce09e9fe0510df6b1ff1",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/garbage_collector.py"
    },
    {
      "type": "modify",
      "old_id": "09dc7edec9079278fb5b46114d43247cfac031a9",
      "old_mode": 33188,
      "old_path": "planetstack/observer/steps/sync_network_slivers.py",
      "new_id": "7e693307fca6319629ddd20417855bb05413d2c8",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_network_slivers.py"
    },
    {
      "type": "modify",
      "old_id": "a1f08030958aad7bedd376e058fa451596a5c6fd",
      "old_mode": 33188,
      "old_path": "planetstack/observer/steps/sync_nodes.py",
      "new_id": "bef0ca0cd2518b2bbea08dfa47d44e02fe63ff0a",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_nodes.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a996c85e232fe747220e40aa7da0d49a8de4400d",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_site_deployments.py"
    },
    {
      "type": "modify",
      "old_id": "8287d4433939a78a2b25f1e5245b3d9167eed66c",
      "old_mode": 33188,
      "old_path": "planetstack/observer/steps/sync_site_privileges.py",
      "new_id": "922f5797a955589adc52e91c087131ad1e6aed10",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_site_privileges.py"
    },
    {
      "type": "modify",
      "old_id": "2013c6d54fd2d266a14c2a0c161cdddab4251d92",
      "old_mode": 33188,
      "old_path": "planetstack/observer/steps/sync_sites.py",
      "new_id": "e128e9aba317206df445d5928f897e369ddcb736",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_sites.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0f92796d5de8fa2d70f3b936d2602b6b115703cc",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_slice_deployments.py"
    },
    {
      "type": "modify",
      "old_id": "ffc6eb80c11984d9fa3ac3cde534c59f120de224",
      "old_mode": 33188,
      "old_path": "planetstack/observer/steps/sync_slice_memberships.py",
      "new_id": "6def7946fbc1c7f8e27492b40b095ddf993a0630",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_slice_memberships.py"
    },
    {
      "type": "modify",
      "old_id": "f91c0fc37c6f57ac1c2a2162d6cd48e3caa32e62",
      "old_mode": 33188,
      "old_path": "planetstack/observer/steps/sync_slices.py",
      "new_id": "cc1220c44226ee20219e6ae279e6ea117454cd31",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_slices.py"
    },
    {
      "type": "modify",
      "old_id": "2d7f1f89377927d7f6f0ab5c25af74ea416dc71e",
      "old_mode": 33188,
      "old_path": "planetstack/observer/steps/sync_sliver_ips.py",
      "new_id": "83e33eb48dbf204bcdd6c53fc5e4929648863972",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_sliver_ips.py"
    },
    {
      "type": "modify",
      "old_id": "a3f423cb448f1c6695da4adf4817d6ac988e0a7a",
      "old_mode": 33188,
      "old_path": "planetstack/observer/steps/sync_slivers.py",
      "new_id": "03383d9957c76d3c38e6104f3564913f62f4371e",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_slivers.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7454b8eb6a98d66741af818e50f61534740bc3d",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_user_deployments.py"
    },
    {
      "type": "modify",
      "old_id": "25f093e69e4285f4691f4b54846fef804b109906",
      "old_mode": 33188,
      "old_path": "planetstack/observer/steps/sync_users.py",
      "new_id": "4bd282609618ac968fc01376dda26fa8953f7a07",
      "new_mode": 33188,
      "new_path": "planetstack/observer/steps/sync_users.py"
    },
    {
      "type": "modify",
      "old_id": "1a6386d04b35da4796bfa0ad136af16018ae3c18",
      "old_mode": 33188,
      "old_path": "planetstack/openstack/client.py",
      "new_id": "c6b6b1644a655d5700925dcf367d7f95f89fa274",
      "new_mode": 33188,
      "new_path": "planetstack/openstack/client.py"
    },
    {
      "type": "modify",
      "old_id": "8224c17dfb58bc92376d1f3310485681c347746c",
      "old_mode": 33188,
      "old_path": "planetstack/openstack/driver.py",
      "new_id": "174cf858b35e8fc3f88b947df94aaa54e368315c",
      "new_mode": 33188,
      "new_path": "planetstack/openstack/driver.py"
    },
    {
      "type": "modify",
      "old_id": "a250b29dbb8cab5357d178bd230b2ed3d531acd0",
      "old_mode": 33188,
      "old_path": "setup.py",
      "new_id": "267f282a997d1ec8e9bad061a9d0e33c56ffbfee",
      "new_mode": 33188,
      "new_path": "setup.py"
    }
  ]
}
