)]}'
{
  "log": [
    {
      "commit": "cb60f8a2678b9320d58bf4a810ef57889c231b4f",
      "tree": "10ba55d755472ea301d02ca687aaf02903058685",
      "parents": [
        "4ff021c969f414b9e60a2ed2fe87411b194129e0"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 13:53:46 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 13:53:46 2015 -0800"
      },
      "message": "use rest_framework\u0027s permission denied\n"
    },
    {
      "commit": "4ff021c969f414b9e60a2ed2fe87411b194129e0",
      "tree": "1479ba3fcc5b077588d0f0d2458355ae060720f9",
      "parents": [
        "ca03b6420de0bba729e4a4e57a6dd57f58af86c2"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 13:37:29 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 13:37:29 2015 -0800"
      },
      "message": "remove legacy cassandra, kairos, and nagios from tree\n"
    },
    {
      "commit": "ca03b6420de0bba729e4a4e57a6dd57f58af86c2",
      "tree": "9f19e312dd78a65f69996e4f9cc19f451e0ff162",
      "parents": [
        "015a6a2c754f9c58bf02bbfc09d0a7382ffc64a7"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 11:00:53 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 11:00:53 2015 -0800"
      },
      "message": "fix permission error when creating slices with tenant view\n"
    },
    {
      "commit": "015a6a2c754f9c58bf02bbfc09d0a7382ffc64a7",
      "tree": "a7bfcd386e8903bf05e2865e0069d270a40b1792",
      "parents": [
        "960431e044b0ba41841f48c132145645062bb5c9",
        "b992577c94e4b04b4e8a8b0b6d3427124c6be0b9"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 10:41:19 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 10:41:19 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:open-cloud/xos\n"
    },
    {
      "commit": "960431e044b0ba41841f48c132145645062bb5c9",
      "tree": "0caa5a788d45f2614be2c8c9f989a40a4acde79b",
      "parents": [
        "7162106d6470976885dce6a7259383ce16fac909"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 10:41:12 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 10:41:12 2015 -0800"
      },
      "message": "return permission denied when anonymous user tries to use REST\n"
    },
    {
      "commit": "b992577c94e4b04b4e8a8b0b6d3427124c6be0b9",
      "tree": "9f1b88f618e6e6180fee6958e4fccc416275ad52",
      "parents": [
        "f0801979787f41ea032bf324637cca1ef788188c"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Feb 01 19:51:39 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Feb 01 19:51:39 2015 -0500"
      },
      "message": "A non-admin should not be able to set the creator of a slice to someone else\n"
    },
    {
      "commit": "f0801979787f41ea032bf324637cca1ef788188c",
      "tree": "d3310b476831fad79c1b534d70435231fbf66a3a",
      "parents": [
        "7162106d6470976885dce6a7259383ce16fac909"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sat Jan 31 05:29:49 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sat Jan 31 05:29:49 2015 +0000"
      },
      "message": "Modify Ansible\u0027s Keystone module to support password changes. Fixes #5.\n"
    },
    {
      "commit": "7162106d6470976885dce6a7259383ce16fac909",
      "tree": "d65fbf7a1c0e685bae69d2527c29a8098857104b",
      "parents": [
        "5e140a3998c81696cdbf62c769b23a657277ce0c"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 15:42:02 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 15:42:02 2015 -0800"
      },
      "message": "fix api.template.py to work with swagger\n"
    },
    {
      "commit": "5e140a3998c81696cdbf62c769b23a657277ce0c",
      "tree": "6632763915f12e3f3df89b8144b09215215f16e1",
      "parents": [
        "26dbd8da4e4f034e835b6503c3e6987bedff81de"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 15:41:39 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 15:41:39 2015 -0800"
      },
      "message": "latest autogenerated genapi.py, works with swagger\n"
    },
    {
      "commit": "26dbd8da4e4f034e835b6503c3e6987bedff81de",
      "tree": "e51c0cf00c4ff515d20c5447488673f12a872984",
      "parents": [
        "7d61efb76613e50c3c9e925ac373fbb112fa86b0"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 17:42:10 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 17:42:10 2015 -0500"
      },
      "message": "fix read_only fields for SliverAdmin\n"
    },
    {
      "commit": "7d61efb76613e50c3c9e925ac373fbb112fa86b0",
      "tree": "0c8fd910712143c240f937ec06cfab84949d1078",
      "parents": [
        "35515a43bf60bdf4867b6229d17e26af40026796"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 17:20:46 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 17:21:32 2015 -0500"
      },
      "message": "add \u0027all_ips_string\u0027 to list of read only fields in SliverAdmin\n"
    },
    {
      "commit": "35515a43bf60bdf4867b6229d17e26af40026796",
      "tree": "1f0ac3bb067418c8cb930fa96bb9b4ee9e4d20ce",
      "parents": [
        "2e6efd22adc10953dd246f346edeb4f0a517ae17",
        "d8336581bb83a7a3d94d77cee77f3f116f064026"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 12:13:06 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 12:13:06 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:open-cloud/xos\n"
    },
    {
      "commit": "2e6efd22adc10953dd246f346edeb4f0a517ae17",
      "tree": "e0ecf238e90e8d6c0dd52cf530b27674dbbba85e",
      "parents": [
        "c052e5fda03a89a5b588f77515958902af093afb"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 12:10:57 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 12:10:57 2015 -0800"
      },
      "message": "documentation link updated\n"
    },
    {
      "commit": "d8336581bb83a7a3d94d77cee77f3f116f064026",
      "tree": "5bb0a9e3e83f6672e341fe5bc5eb04293be71b9b",
      "parents": [
        "10812253b1567fbb76c7d42f6f79adf678ba1176"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 12:52:46 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 12:52:46 2015 -0500"
      },
      "message": "get ip address from Sliver.all_ips_string instead of Sliver.ip\n"
    },
    {
      "commit": "10812253b1567fbb76c7d42f6f79adf678ba1176",
      "tree": "1183b412a1a4bf1932b778d8950f07cf61496788",
      "parents": [
        "c052e5fda03a89a5b588f77515958902af093afb"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 10:58:29 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 11:07:08 2015 -0500"
      },
      "message": "move site_deployments tab from SiteAdmin page to DeploymentAdmin page\n"
    },
    {
      "commit": "c052e5fda03a89a5b588f77515958902af093afb",
      "tree": "93e9d3a2a1fe48639956be6876c379ddcb5a3249",
      "parents": [
        "11a2f509fbba913430464781ead5995996a49eb4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 07:37:19 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 07:37:19 2015 -0800"
      },
      "message": "fix sliver.all_ips() throwing traceback\n"
    },
    {
      "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": "760b54b4627d8f848260eda4250765c5ed120bc9",
      "tree": "01d12a6a0636963d97514091c691a4b877dfad31",
      "parents": [
        "d168ae050422005acdce99bfdd1b0a4c6329ad7f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:55:40 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:55:40 2015 -0800"
      },
      "message": "throw validation error if sliver has no creator\n"
    },
    {
      "commit": "d168ae050422005acdce99bfdd1b0a4c6329ad7f",
      "tree": "e9ccbca470284d26b4d554940ae3d1ba1ba0c555",
      "parents": [
        "22732bb74ebaa3dba43b6d412b525a1bdc297465"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:53:26 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:53:26 2015 -0800"
      },
      "message": "throw validation error if slice has no creator\n"
    },
    {
      "commit": "22732bb74ebaa3dba43b6d412b525a1bdc297465",
      "tree": "99ff3c131beca89bedae939316c357c9806dded9",
      "parents": [
        "b5c86978c79fefa428b5302df064163e9b24fc1a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:16:10 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:16:10 2015 -0800"
      },
      "message": "additional validation on slice.name\n"
    },
    {
      "commit": "b5c86978c79fefa428b5302df064163e9b24fc1a",
      "tree": "680f54c4c133a2f582d14d292d05fe6f1b774a7b",
      "parents": [
        "5e229c01974532debf8ddffb53d761ab81ecfbd3"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 14:46:14 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 14:46:14 2015 -0800"
      },
      "message": "fix spacing in html\n"
    },
    {
      "commit": "5e229c01974532debf8ddffb53d761ab81ecfbd3",
      "tree": "85e0bc651520806ca9409d686a5071a9dae49c76",
      "parents": [
        "1ee8bdf8389506d0761aca48fea8b65afc4a9ee4",
        "6e88406e79a746b4203309889114187b9cf8e5c4"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 21:28:16 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 21:28:16 2015 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:open-cloud/xos\n"
    },
    {
      "commit": "6e88406e79a746b4203309889114187b9cf8e5c4",
      "tree": "8cb6cc1a7206e036983e9f968852dd7bb456455d",
      "parents": [
        "6e9027f2086f6d216647060c7c9ca4477f908eeb"
      ],
      "author": {
        "name": "functor",
        "email": "mw",
        "time": "Thu Jan 29 16:26:15 2015 -0500"
      },
      "committer": {
        "name": "functor",
        "email": "mw",
        "time": "Thu Jan 29 16:26:15 2015 -0500"
      },
      "message": "Adding LICENSE file.\n"
    },
    {
      "commit": "1ee8bdf8389506d0761aca48fea8b65afc4a9ee4",
      "tree": "85e0bc651520806ca9409d686a5071a9dae49c76",
      "parents": [
        "8e6f53df3257067caf5716c085cbf66625fa2dbe"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 21:06:05 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 21:06:05 2015 +0000"
      },
      "message": "New default model-deps file, based on fixes to dependency generation recently\n"
    },
    {
      "commit": "8e6f53df3257067caf5716c085cbf66625fa2dbe",
      "tree": "028e4bf30f337bffb4dd7039b58e65acb05bc481",
      "parents": [
        "99f49689b00d58351e41cbec35e7836ec3cff11e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 21:05:39 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 21:05:39 2015 +0000"
      },
      "message": "Django view that exports Observer status\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": "752f0f019163e4932b113d7aa72c4a935e6ae516",
      "tree": "3a80c0174677f1c887aa9b65e8043fd662f8b44e",
      "parents": [
        "f841d9b0b86d2dd6633828353697dbb3bd8fe7c6"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:48:24 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:48:24 2015 +0000"
      },
      "message": "Enable user and site model policies\n"
    },
    {
      "commit": "f841d9b0b86d2dd6633828353697dbb3bd8fe7c6",
      "tree": "900e0b61f8c769ad63916c6070d06f157286e945",
      "parents": [
        "f0ad980ea23c20582cad41538b4b6a621970ef61"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:45:25 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:45:25 2015 +0000"
      },
      "message": "Bug fix in Slice model policy\n"
    },
    {
      "commit": "f0ad980ea23c20582cad41538b4b6a621970ef61",
      "tree": "c9e6cfbed9bd2c7a69e0af8dd8331cf4e9029b4f",
      "parents": [
        "cb7aa3a32d8f9f4450a3aaa87a24b83c3c0d29e1"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:44:46 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:44:46 2015 +0000"
      },
      "message": "Added model policies for controlleruser and controllersite\n"
    },
    {
      "commit": "cb7aa3a32d8f9f4450a3aaa87a24b83c3c0d29e1",
      "tree": "3e241a3796f8a015ef5d7d14c9c5641d94010fac",
      "parents": [
        "c1945a66745df642aea96cc80112b49d75cb3fcf"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:40:13 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:40:13 2015 +0000"
      },
      "message": "Support field name synonyms when discovering dependencies\n"
    },
    {
      "commit": "c1945a66745df642aea96cc80112b49d75cb3fcf",
      "tree": "8de46f12c67b64371da8080f7960054869ebca4e",
      "parents": [
        "df3a0460147b2e243b13d5d1264849920b1f20d2"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:36:45 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:36:45 2015 +0000"
      },
      "message": "Added scratchpad for Observer to bookkeep objects\n"
    },
    {
      "commit": "df3a0460147b2e243b13d5d1264849920b1f20d2",
      "tree": "8cb6cc1a7206e036983e9f968852dd7bb456455d",
      "parents": [
        "6e9027f2086f6d216647060c7c9ca4477f908eeb"
      ],
      "author": {
        "name": "mw",
        "email": "mw",
        "time": "Thu Jan 29 15:08:56 2015 -0500"
      },
      "committer": {
        "name": "mw",
        "email": "mw",
        "time": "Thu Jan 29 15:08:56 2015 -0500"
      },
      "message": "Adding LICENSE file.\n"
    },
    {
      "commit": "6e9027f2086f6d216647060c7c9ca4477f908eeb",
      "tree": "a5420ab52565b56e0c404d1ca129edf8dbb6e921",
      "parents": [
        "5ced6abd13ad38aedd012f75bca32b9579c55f3a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 10:55:53 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 10:55:53 2015 -0800"
      },
      "message": "remove Dashboard Views from user admin\n"
    },
    {
      "commit": "5ced6abd13ad38aedd012f75bca32b9579c55f3a",
      "tree": "1209f1932d26a987ee7abe93db06ba30ea1c0400",
      "parents": [
        "150ee86024d2b6c8cd4067816f6f86c51b8d2822"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:38:05 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:38:05 2015 -0800"
      },
      "message": "ask the PI to click save\n"
    },
    {
      "commit": "150ee86024d2b6c8cd4067816f6f86c51b8d2822",
      "tree": "b8ea6d800d6307f63f3a20294e13b1c49d0f3d0d",
      "parents": [
        "28e2e3aa4aac1c853df62c699b95395e65386f33"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:11:35 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:11:35 2015 -0800"
      },
      "message": "return an error when trying to register a deleted user\n"
    },
    {
      "commit": "28e2e3aa4aac1c853df62c699b95395e65386f33",
      "tree": "68be1547c671e8f487e38a5256909a82f9745c1e",
      "parents": [
        "92b1205fb3a9c7251e5a7b593d03a69403655380"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:03:40 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:03:40 2015 -0800"
      },
      "message": "fix tenant view temporary password email, display message if user tries to register again\n"
    },
    {
      "commit": "92b1205fb3a9c7251e5a7b593d03a69403655380",
      "tree": "a9870697d7731928c83a07627891d6ed681c0326",
      "parents": [
        "b2c407f6dac129bfc7f0a00087aa4de489de48b1"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:49:58 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:49:58 2015 -0500"
      },
      "message": "disable setting fields to readonly based on user\u0027s privilege in UserAdmin\n"
    },
    {
      "commit": "b2c407f6dac129bfc7f0a00087aa4de489de48b1",
      "tree": "900c67a9860b8f8685101821b445c7b5513a6acd",
      "parents": [
        "4bfcdc8d87257eed3a2a4c7fca502622d7e49752"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:37:12 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:37:12 2015 -0500"
      },
      "message": "only admins and pis can change/modify a user\u0027s site\n"
    },
    {
      "commit": "4bfcdc8d87257eed3a2a4c7fca502622d7e49752",
      "tree": "c74057d29825c34c564457409f00d074e399977d",
      "parents": [
        "b195b5f559f0867fc1a22e90187818e7108af70a"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:03:39 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:03:39 2015 -0500"
      },
      "message": "set is_admin default to False\n"
    },
    {
      "commit": "b195b5f559f0867fc1a22e90187818e7108af70a",
      "tree": "fc7d227503244e671d1ce71674194b15e2da04c5",
      "parents": [
        "bb2fb7edca0f1170592823704fef1637181db65d"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:03:15 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:03:15 2015 -0500"
      },
      "message": "dont list is_admin field twice in UserAdmin\n"
    },
    {
      "commit": "bb2fb7edca0f1170592823704fef1637181db65d",
      "tree": "79798fe461fce7037443ef87e8f6042d2bc496e7",
      "parents": [
        "ac543a7cb91a5bcfaa5414c01a47754f7fbb9a6e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 27 23:07:51 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 27 23:07:51 2015 -0800"
      },
      "message": "make sure users created through tenant view are not admins\n"
    },
    {
      "commit": "ac543a7cb91a5bcfaa5414c01a47754f7fbb9a6e",
      "tree": "4b6f4bfbe4301a9f15401e10c09685aa2e4ba481",
      "parents": [
        "0c6479a3096da40d7ebe68536b55376db95bc851"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 27 15:29:41 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 27 15:29:41 2015 -0800"
      },
      "message": "red and green observer status icons\n"
    },
    {
      "commit": "0c6479a3096da40d7ebe68536b55376db95bc851",
      "tree": "1a0f6d9e9a7a6ee1bdab08b7a0b9b6e52ea2a2b0",
      "parents": [
        "9fbad3b27d07c5f94b463b5ad2a0958309905a2a",
        "6b6c21830b4d07fbd017baf37a600395f820e103"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 26 22:12:47 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 26 22:12:47 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "9fbad3b27d07c5f94b463b5ad2a0958309905a2a",
      "tree": "d29e9953adf1472c475b6c2e115ed5976ca1f429",
      "parents": [
        "53a6adfa289209271dd072ddb454b67c704f25da"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 26 22:12:40 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 26 22:12:40 2015 -0800"
      },
      "message": "make nagios default to (select a controller)\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": "42a291fc9f8643ae8d3814ec1e3dcc18d3a22c50",
      "tree": "6762e549dc9b601881cf3f7b36b2d990a88f8a34",
      "parents": [
        "53a6adfa289209271dd072ddb454b67c704f25da"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:49:42 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:49:42 2015 +0000"
      },
      "message": "Show greens where status is 1 -\n"
    },
    {
      "commit": "53a6adfa289209271dd072ddb454b67c704f25da",
      "tree": "e3c0636634687b70e81eb635d82b9b72fca0e62e",
      "parents": [
        "9534e417939ae9163c68f54f33cf9a06cc359f47"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:51:35 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:51:35 2015 -0800"
      },
      "message": "repair the sliver filter logic in xosAdminDashboard\n"
    },
    {
      "commit": "9534e417939ae9163c68f54f33cf9a06cc359f47",
      "tree": "08ba1e954b818510a02d01175e9d77e8c5c402a4",
      "parents": [
        "da0c0f06d0709397c6e2e6f9e89113ca15fb6aff"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:17:57 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:17:57 2015 -0800"
      },
      "message": "sliver.deploymentNetwork -\u003e deployment network\n"
    },
    {
      "commit": "da0c0f06d0709397c6e2e6f9e89113ca15fb6aff",
      "tree": "4f9e4eed89278e8095358f68674a8c29e816b016",
      "parents": [
        "970314bc94b9d6b2a8faa2ced1a00f9b8e939e45",
        "6a32aca2a6b952ff681c68789c6aabc05156a979"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:16:24 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:16:24 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "970314bc94b9d6b2a8faa2ced1a00f9b8e939e45",
      "tree": "829d822ac68b0c702fc7a6d5e8e920c6ac7a4fed",
      "parents": [
        "a48873590a87994ca374352cb301e77a952d0df4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:16:13 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:16:13 2015 -0800"
      },
      "message": "display ssh command in sliver detail view\n"
    },
    {
      "commit": "6a32aca2a6b952ff681c68789c6aabc05156a979",
      "tree": "fdf2c6040f6efeb9d924347f7e57d351eb552c4c",
      "parents": [
        "504ed42c2108b7f7384362200658fa036064dc62"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 22:16:35 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 22:16:35 2015 -0500"
      },
      "message": "user\u0027s can\u0027t set/unset site in Login Details without the proper authorization\n"
    },
    {
      "commit": "504ed42c2108b7f7384362200658fa036064dc62",
      "tree": "643b9ba0b805c80ca056374122d8f9685c550376",
      "parents": [
        "6235fc80b66bbeb556999071c1940338b835a348",
        "a48873590a87994ca374352cb301e77a952d0df4"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 21:59:58 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 21:59:58 2015 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "6235fc80b66bbeb556999071c1940338b835a348",
      "tree": "6435fcdb1ee761c76a186bdadf14d90b76e4ad35",
      "parents": [
        "598eaf221c046e2137fbe020202ba1e99595d239"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 21:58:30 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 21:58:30 2015 -0500"
      },
      "message": "user\u0027s can\u0027t set/unset is_admin, is_active and is_readonly values in Login Details without the proper authorization.\n"
    },
    {
      "commit": "a48873590a87994ca374352cb301e77a952d0df4",
      "tree": "e821493a2585a142823d98fc2cd31739b3370276",
      "parents": [
        "9e0ea2364cbe8b42c49d0744f617daddb243b09b"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 17:05:14 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 17:05:14 2015 -0800"
      },
      "message": "download_ssh_commands view, deprecated\n"
    },
    {
      "commit": "9e0ea2364cbe8b42c49d0744f617daddb243b09b",
      "tree": "dfc90e167d9738cf547592bdc5ae4902f153dd7d",
      "parents": [
        "306d7e8ff0f64224c2d6d812b52d23063c648653"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 17:04:00 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 17:04:00 2015 -0800"
      },
      "message": "download button for ssh commands\n"
    },
    {
      "commit": "306d7e8ff0f64224c2d6d812b52d23063c648653",
      "tree": "dfa3c0da24919786368bb84c32bb82f71d0f921f",
      "parents": [
        "c0ec1d834549e03f2ec385aaa6deed01e7914299",
        "598eaf221c046e2137fbe020202ba1e99595d239"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 11:50:02 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 11:50:02 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "c0ec1d834549e03f2ec385aaa6deed01e7914299",
      "tree": "6576e8e87c641ac8eb47a4262c6e6f46857f3592",
      "parents": [
        "f587f4473731b909a543cac0a26c82bab47ee2e4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 11:49:56 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 11:49:56 2015 -0800"
      },
      "message": "view for download ssh commands\n"
    },
    {
      "commit": "598eaf221c046e2137fbe020202ba1e99595d239",
      "tree": "439d7d3505695cdb6ad05801c3dd2b4dba5281d6",
      "parents": [
        "f587f4473731b909a543cac0a26c82bab47ee2e4"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 12:35:29 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 12:35:29 2015 -0500"
      },
      "message": "Remove visible references to Reservations, Accounts, Billing, and Invoices\n"
    },
    {
      "commit": "f587f4473731b909a543cac0a26c82bab47ee2e4",
      "tree": "a59bcef2c93a7b25af9436ea24bee6464417e69b",
      "parents": [
        "682933b219ee1093bf01f1b629d80ab4c0d9920a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 13:33:26 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 13:33:26 2015 -0800"
      },
      "message": "add backend_status_icon to user admin list\n"
    },
    {
      "commit": "682933b219ee1093bf01f1b629d80ab4c0d9920a",
      "tree": "f25f65a6123a0a186d712fd35e264e4df09f8d6d",
      "parents": [
        "3e0352221da9f055a2ad7d212aeb42021999a8af"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 00:01:48 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 00:01:48 2015 -0800"
      },
      "message": "display APIException errors properly\n"
    },
    {
      "commit": "3e0352221da9f055a2ad7d212aeb42021999a8af",
      "tree": "9b10514c968d4b3b13700e64665f0f0562edeec0",
      "parents": [
        "ed5a10150c0c47367dbae57127a5e06b153879b3"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 00:01:29 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 00:01:29 2015 -0800"
      },
      "message": "return APIException for sliceplus errors instead of valueerror\n"
    },
    {
      "commit": "ed5a10150c0c47367dbae57127a5e06b153879b3",
      "tree": "bd8fef3c7da74573b503e3ed9412cb0106384131",
      "parents": [
        "6725c4cff588b90322be4a2121ac63aa761ad621"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 17:42:17 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 17:42:17 2015 -0800"
      },
      "message": "prevent script tags inside of error popup\n"
    },
    {
      "commit": "6725c4cff588b90322be4a2121ac63aa761ad621",
      "tree": "12fe2f6e128a3f2a66aff9510b7e08713c96a511",
      "parents": [
        "ba32c2a9851badaf6aac6d62b74f3ed2b2a108df",
        "1e5d34499bb3c2077bb95b9e490e596f1ece1639"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 16:38:24 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 16:38:24 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "ba32c2a9851badaf6aac6d62b74f3ed2b2a108df",
      "tree": "f7333a7675e238e1d40e33ded20e583da5985577",
      "parents": [
        "24fe511938e2d3a4b971421effd2c8ae05f220af"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 16:37:51 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 16:37:51 2015 -0800"
      },
      "message": "fix validator override call for slice/slicePlus, add network_ports validation, allow validators to be added on a per-model basis\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": "96310de778f775f45daf24c5839bf6554e709323",
      "tree": "c36c9ec9474682f3c32d161b60b395f4b48777c0",
      "parents": [
        "85320d3acbc8c083e5b105d06da59450ef4f3d58"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:11:51 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:11:51 2015 +0000"
      },
      "message": "Added new model policies for images and controllerslices\n"
    },
    {
      "commit": "85320d3acbc8c083e5b105d06da59450ef4f3d58",
      "tree": "42307e3815f50e8c89d6a4b43f00ad32a3ff4334",
      "parents": [
        "d49ba53d26a8d03e9b7976e834cf8cf00adb1162"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:11:29 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:11:29 2015 +0000"
      },
      "message": "Bug fixes in model policies\n"
    },
    {
      "commit": "d49ba53d26a8d03e9b7976e834cf8cf00adb1162",
      "tree": "1e9b907f52c5fde7eb5a295b90ef4e8262ca82a9",
      "parents": [
        "cc9d960049251b9b2a395a3b403c3487ea7d66ae"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:09:28 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:09:28 2015 +0000"
      },
      "message": "Made model policies a threaded run loop, and made policy executions transactional\n"
    },
    {
      "commit": "cc9d960049251b9b2a395a3b403c3487ea7d66ae",
      "tree": "36879a6d01503cbb490a4aacc1444c95a67ac632",
      "parents": [
        "103465dd615c86ec277c6678192764a56d058237"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:07:24 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:07:24 2015 +0000"
      },
      "message": "Added a type to backend_status\n"
    },
    {
      "commit": "103465dd615c86ec277c6678192764a56d058237",
      "tree": "804a434da1cd8e4d07d8b233a6893f4837e27d21",
      "parents": [
        "67400adfe5377093faace50ceab25c5e30f0591b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:02:09 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:02:09 2015 +0000"
      },
      "message": "Added timestamp for model policy scheduling to the User class\n"
    },
    {
      "commit": "67400adfe5377093faace50ceab25c5e30f0591b",
      "tree": "54b0ece204a6e61cd13f58dfba4ded8bd9dd66d9",
      "parents": [
        "24fe511938e2d3a4b971421effd2c8ae05f220af"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 15:59:55 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 15:59:55 2015 +0000"
      },
      "message": "Added timestamp to support model policy scheduling\n"
    },
    {
      "commit": "24fe511938e2d3a4b971421effd2c8ae05f220af",
      "tree": "ec3eeb592486d65d9fb4fd57944735f6282365bc",
      "parents": [
        "2190934fef02255db55542e51aaf76846a2ff7dc"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 00:22:17 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 00:22:17 2015 -0800"
      },
      "message": "network_ports validation, wip\n"
    },
    {
      "commit": "2190934fef02255db55542e51aaf76846a2ff7dc",
      "tree": "88be45dfb7d5c7fa31cb07a00729917aca70ebe2",
      "parents": [
        "f1b401581e171430796ca3434c14f3bd05757913"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:21:24 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:21:24 2015 -0800"
      },
      "message": "display count of ready slivers in tenant view\n"
    },
    {
      "commit": "f1b401581e171430796ca3434c14f3bd05757913",
      "tree": "a4eac1fe4ac62f8022e1faad97d2cc0951d862e6",
      "parents": [
        "5ff796b594abf3a66f98ab4133f91d55406a115b"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:16:34 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:16:34 2015 -0800"
      },
      "message": "filter sites with no nodes from tenant view\n"
    },
    {
      "commit": "5ff796b594abf3a66f98ab4133f91d55406a115b",
      "tree": "8637bae2335a7c9d92826da40793c41aa14b5fce",
      "parents": [
        "39293d7c439d352dc49959e0be340ff952f94f31"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:14:50 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:14:50 2015 -0800"
      },
      "message": "fix icon color in provisioning state\n"
    },
    {
      "commit": "39293d7c439d352dc49959e0be340ff952f94f31",
      "tree": "226b4a1e87f881cc17a1319939f09eaa5ce6d9a3",
      "parents": [
        "2ee762e991293185c96f8e7dc7d87ac50e0c66ba"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 21 16:24:07 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 21 16:24:07 2015 -0800"
      },
      "message": "fix filter code in sliver inline\n"
    },
    {
      "commit": "2ee762e991293185c96f8e7dc7d87ac50e0c66ba",
      "tree": "d499da073015b3a44d17a6a1c9b0f012948b1225",
      "parents": [
        "ba5c2f20e2f03a7f984ff8b2287a6946ad82633e"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 21 12:29:35 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 21 12:29:35 2015 -0500"
      },
      "message": "checking in clean initial migration\n"
    },
    {
      "commit": "ba5c2f20e2f03a7f984ff8b2287a6946ad82633e",
      "tree": "6ee64561f85225f75e06dc71de63c9f0cd4b123c",
      "parents": [
        "8864d4779f0b371f4c93019dba219c19e4dbe7ae"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:59:55 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:59:55 2015 -0800"
      },
      "message": "fix Chosen Sites empty in Deployment Admin\n"
    },
    {
      "commit": "8864d4779f0b371f4c93019dba219c19e4dbe7ae",
      "tree": "0e23aca6f1d22ee725846624eedba0b1dc3d24cb",
      "parents": [
        "e0e407a8cf9ba45e8fde086d5e8b2216d8ec3040"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:12:43 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:12:43 2015 -0800"
      },
      "message": "fix sitesdeployments typo\n"
    },
    {
      "commit": "e0e407a8cf9ba45e8fde086d5e8b2216d8ec3040",
      "tree": "dc65ba945048b1e368e534c4c5626f08df05de30",
      "parents": [
        "17a73067cc54d729702f6cc786fbe9610d167267"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:02:53 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:02:53 2015 -0800"
      },
      "message": "tenant view only shows sites the user should be able to see\n"
    },
    {
      "commit": "17a73067cc54d729702f6cc786fbe9610d167267",
      "tree": "ad64cf0b65fe61d6ac1d9091e45a81ac65741875",
      "parents": [
        "04ab7c8e694a0621615027ca1be714dd722d25eb",
        "815bc8a5fad0d699fa57f9894e4bfaeab520c72a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 13:30:49 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 13:30:49 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "04ab7c8e694a0621615027ca1be714dd722d25eb",
      "tree": "d0e794042209836cbe91fbcd89f98caf082a553b",
      "parents": [
        "c3876fbbd2a779f45a3c5a57337e41ae3ee195a0"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 13:30:40 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 13:30:40 2015 -0800"
      },
      "message": "save network_ports in sliceplus model\n"
    },
    {
      "commit": "815bc8a5fad0d699fa57f9894e4bfaeab520c72a",
      "tree": "54e6eac86025a1ab46a09c3dcc634c18675d34bc",
      "parents": [
        "cb5c24a97506076445201bcb0cd854f1cd55d0d7"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 20 21:00:15 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 20 21:00:15 2015 +0000"
      },
      "message": "iMigration script for uuids\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": "c3876fbbd2a779f45a3c5a57337e41ae3ee195a0",
      "tree": "c8505cbbe653853109d7ad46aaa205f3494497fb",
      "parents": [
        "51bacadb62a55a9e8bb28e43624406a4ea6b12cf"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 12:37:36 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 12:37:36 2015 -0800"
      },
      "message": "warning for Service Level as well\n"
    }
  ],
  "next": "51bacadb62a55a9e8bb28e43624406a4ea6b12cf"
}
