)]}'
{
  "log": [
    {
      "commit": "732913407cc255ab864e39522585e1b98e654af1",
      "tree": "511d3abfdd0943edfa5d35590848e33854fc4686",
      "parents": [
        "30fd4291ad7fdb809bb8ebbf738c3195436c2455",
        "0406283b933e66188b997e3a407bf5481e52364d"
      ],
      "author": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Fri May 10 10:50:08 2013 -0400"
      },
      "committer": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Fri May 10 10:50:08 2013 -0400"
      },
      "message": "Merge pick up, tweaked role/site/plcore_base or os_manager path when OpenStack not present\n"
    },
    {
      "commit": "30fd4291ad7fdb809bb8ebbf738c3195436c2455",
      "tree": "2c5e1b69e67018e4f059956cf92f82a90dfd8aa0",
      "parents": [
        "ed163d7e298e629f18131bde592fac6ae68ebc09"
      ],
      "author": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Fri May 10 08:59:56 2013 -0400"
      },
      "committer": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Fri May 10 08:59:56 2013 -0400"
      },
      "message": "Refactor to /opt/planetstack, final tweaks to make sure planetstack can run in non-openstack mode, adjustments to GUI for model focus changes\n"
    },
    {
      "commit": "0406283b933e66188b997e3a407bf5481e52364d",
      "tree": "c210598539d8f3a872b33bc10978f85c75f64bb6",
      "parents": [
        "c14de8f27621434dd8638403dc363d46c827d720"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Fri May 10 08:22:44 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Fri May 10 08:22:44 2013 -0400"
      },
      "message": "role base filtering for main admin pages\n"
    },
    {
      "commit": "c14de8f27621434dd8638403dc363d46c827d720",
      "tree": "58ad957385157a03035437ed3bad423db63426aa",
      "parents": [
        "9b5dd7518bf84f73415e2ba4363758829cc2e8b8"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 21:44:17 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 21:44:17 2013 -0400"
      },
      "message": "role based filtering for keys\n"
    },
    {
      "commit": "9b5dd7518bf84f73415e2ba4363758829cc2e8b8",
      "tree": "2ce1d5239793127a1bd7c728fd1e58895f49e9c4",
      "parents": [
        "41945e02476d03f7070776ca836d5e02cfc0416c"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 20:33:21 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 20:33:21 2013 -0400"
      },
      "message": "added add_external_route(), delete_external_route()\n"
    },
    {
      "commit": "41945e02476d03f7070776ca836d5e02cfc0416c",
      "tree": "cbe5954a64869f09ec595b37182457fb0de11987",
      "parents": [
        "b6a29b1bb7d0d28821db3db9145877289201916d"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 19:25:10 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 19:25:10 2013 -0400"
      },
      "message": "refactor\n"
    },
    {
      "commit": "b6a29b1bb7d0d28821db3db9145877289201916d",
      "tree": "573512d6355454a24a704783b5fe04ac607c4bdf",
      "parents": [
        "d84caefae90d7329ed5b71872782dceb08ba2edf"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 17:31:33 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 17:31:33 2013 -0400"
      },
      "message": "fix bug\n"
    },
    {
      "commit": "d84caefae90d7329ed5b71872782dceb08ba2edf",
      "tree": "dbca0aec83124ec75e6aebe75c51e78e58868ea3",
      "parents": [
        "85d1883963609902c5915f752762355e0c5ac186"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 17:22:31 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 17:22:31 2013 -0400"
      },
      "message": "alway give user \u0027user\u0027 role at their home site\n"
    },
    {
      "commit": "85d1883963609902c5915f752762355e0c5ac186",
      "tree": "2364b95255292c7418b88677300d65f6aaf1d317",
      "parents": [
        "416c0f206ed1c60aeef14358b9bc907f5d57bdc0"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 17:02:31 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 17:02:31 2013 -0400"
      },
      "message": "allow openstack fields to contain null/blank values. separate User.is_admin from User.is_staff. expose User.is_admin on mdole admin form\n"
    },
    {
      "commit": "416c0f206ed1c60aeef14358b9bc907f5d57bdc0",
      "tree": "2d13c8f54dcaa3e14dea98b19e7c534c18f99317",
      "parents": [
        "13acdd69840cccda8b7d644d5b8b3339b7286966"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 16:59:09 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 09 16:59:09 2013 -0400"
      },
      "message": "specify SliverInline.readonly_fields\n"
    },
    {
      "commit": "13acdd69840cccda8b7d644d5b8b3339b7286966",
      "tree": "9c6c7938cb5890f23adec4bf4260fe18a1740ae1",
      "parents": [
        "3777b01c2b556b5ca30531927afdb02cd22eefcb"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed May 08 17:42:56 2013 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed May 08 17:42:56 2013 -0700"
      },
      "message": "only save numberCores to OS metadata if it changes\n"
    },
    {
      "commit": "3777b01c2b556b5ca30531927afdb02cd22eefcb",
      "tree": "2d30b754fa98c325a7615bfd4d8ce73f1a2c07ca",
      "parents": [
        "be50d3efb0cf2b516c02eee2cbd6aba75b0a3b97"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 21:38:06 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 21:38:06 2013 -0400"
      },
      "message": "specify SliverInline.readonly_fields\n"
    },
    {
      "commit": "be50d3efb0cf2b516c02eee2cbd6aba75b0a3b97",
      "tree": "1c6133fed7ce6b28990d2275a812a6a9f73460f9",
      "parents": [
        "f2720e3247359e9d23ef92221507f7c4e93ca359"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 21:37:21 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 21:37:21 2013 -0400"
      },
      "message": "adjust unicode name\n"
    },
    {
      "commit": "f2720e3247359e9d23ef92221507f7c4e93ca359",
      "tree": "518cdc7d908949cfb947ebed45a27767c2bc6a45",
      "parents": [
        "1d6b85ff2338001f2eaf5d27ad3a0f6d74369bc0"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 18:49:39 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 18:49:39 2013 -0400"
      },
      "message": "whitespace\n"
    },
    {
      "commit": "1d6b85ff2338001f2eaf5d27ad3a0f6d74369bc0",
      "tree": "842ce8feec69fdcda97b42ac0f39af33ab28cbc7",
      "parents": [
        "93a91ac118ab4e7280562bd0cfac0ea964ae0a7e"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 18:49:14 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 18:49:14 2013 -0400"
      },
      "message": "make some fields on the sliver page read only when updating an existing sliver\n"
    },
    {
      "commit": "93a91ac118ab4e7280562bd0cfac0ea964ae0a7e",
      "tree": "23aecae509d66ea902828423ae28fa6d6a65c228",
      "parents": [
        "4022ec1f5d986b6997eff46cf8364aed428c6593"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:30:51 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:30:51 2013 -0400"
      },
      "message": "remove auth_check import\n"
    },
    {
      "commit": "4022ec1f5d986b6997eff46cf8364aed428c6593",
      "tree": "55cdbb87cc0b6709717f393ad5c58585502c4ff7",
      "parents": [
        "8ce1fc48cf111295fa278b5d4be4d63d2a18851c"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:29:14 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:29:14 2013 -0400"
      },
      "message": "remove reference to Subnet\n"
    },
    {
      "commit": "8ce1fc48cf111295fa278b5d4be4d63d2a18851c",
      "tree": "14ad599028deb0ed29ca1c81e728a7834f4ebb26",
      "parents": [
        "4df0eaa52b365262a0164dd93359a104c4f00172"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:27:29 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:27:29 2013 -0400"
      },
      "message": "remove reference to Subnet\n"
    },
    {
      "commit": "4df0eaa52b365262a0164dd93359a104c4f00172",
      "tree": "fea0ea10c52f531cdb5452ec94a3f5ecb5a89a28",
      "parents": [
        "9af0d77de1547a4f68f57501e50ee5f5b494dedf"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:23:26 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:23:26 2013 -0400"
      },
      "message": "fix typo\n"
    },
    {
      "commit": "9af0d77de1547a4f68f57501e50ee5f5b494dedf",
      "tree": "5a61a60db08d3eee3a897fcfd34da47f21071566",
      "parents": [
        "78568886993ab2d47948b146d00ab19b4719c2eb"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:22:22 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:22:22 2013 -0400"
      },
      "message": "remove reference to subnet\n"
    },
    {
      "commit": "78568886993ab2d47948b146d00ab19b4719c2eb",
      "tree": "ecfe7bbb8a768b00f8f8a0a693af70f3b6b77ed0",
      "parents": [
        "276fa80d2b07d479b4d3ef0013b87860b32f0171"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:21:15 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:21:15 2013 -0400"
      },
      "message": "import Config before try/except block\n"
    },
    {
      "commit": "276fa80d2b07d479b4d3ef0013b87860b32f0171",
      "tree": "74835c0fe0108b2f077c08905208b94f7bc71361",
      "parents": [
        "1b34e88cce6c434132ec533d1d53774f93b4383d"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:18:16 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 15:18:16 2013 -0400"
      },
      "message": "add core/models to packages path\n"
    },
    {
      "commit": "1b34e88cce6c434132ec533d1d53774f93b4383d",
      "tree": "c682ce6b6d1d786fa8ed67ba7386934ba1ced5dd",
      "parents": [
        "585160ecca3ac3323f5391b3d87b7de7604c0fef"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:31:41 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:31:41 2013 -0400"
      },
      "message": "subnet model no longer exists\n"
    },
    {
      "commit": "585160ecca3ac3323f5391b3d87b7de7604c0fef",
      "tree": "32e2ec5bdaf323506a92db17695ca1f9a2e7bee5",
      "parents": [
        "1e7169e7d7b97450a534c5907ffea176e9651a82"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:15:59 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:15:59 2013 -0400"
      },
      "message": "create subnet in save_slice(), cleanup subnet in delete_slice()\n"
    },
    {
      "commit": "1e7169e7d7b97450a534c5907ffea176e9651a82",
      "tree": "171fc9def5aee57a508f7cddf829ead6506cb33d",
      "parents": [
        "f77b859af1dd22061930a09dbbea63cad5855c81"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:09:57 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:09:57 2013 -0400"
      },
      "message": "add subnet_id field to slice model\n"
    },
    {
      "commit": "f77b859af1dd22061930a09dbbea63cad5855c81",
      "tree": "8d32cdccc9dcff93727256179aae173643650038",
      "parents": [
        "6abe485e4532d50a91cb60c1539a8ba34cf6bc44"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:09:24 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:09:24 2013 -0400"
      },
      "message": "add subnet_id field to slice model\n"
    },
    {
      "commit": "6abe485e4532d50a91cb60c1539a8ba34cf6bc44",
      "tree": "f75666bf21ddaab6b5ba269a73f6f84264f2dc4e",
      "parents": [
        "e33545d4155ff7229602a9bba62b61fa4afa3b70"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:08:46 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:08:46 2013 -0400"
      },
      "message": "remove unused files\n"
    },
    {
      "commit": "e33545d4155ff7229602a9bba62b61fa4afa3b70",
      "tree": "abe3cb604491d5f5876c48d0de839159b26c9a2c",
      "parents": [
        "3ce90671549f81c499a02fd4c088192eb8fc3832"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:06:23 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:06:23 2013 -0400"
      },
      "message": "remove references to subnet\n"
    },
    {
      "commit": "3ce90671549f81c499a02fd4c088192eb8fc3832",
      "tree": "6c29a7fb283e72bfaaa0f2deea566007a8b5e151",
      "parents": [
        "10082020a7c21346a4de39ccc24fa6945f958c10"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:05:52 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue May 07 11:05:52 2013 -0400"
      },
      "message": "remove SubnetAdmin\n"
    },
    {
      "commit": "10082020a7c21346a4de39ccc24fa6945f958c10",
      "tree": "769a55b3bf7117347f6d7c0de2951f57d4d32c15",
      "parents": [
        "659dd52fcd50b58549f1eaa2812223792b4e4104"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon May 06 17:15:00 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon May 06 17:15:00 2013 -0400"
      },
      "message": "remove sliver.name field from admin page. generate sliver.name for user when it isn\u0027t specified\n"
    },
    {
      "commit": "659dd52fcd50b58549f1eaa2812223792b4e4104",
      "tree": "1d732268c4da58019d98c9c732c89447cd8103b9",
      "parents": [
        "b30ac0582534c294cacb3599a96ce1960d637cf1"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon May 06 17:06:37 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon May 06 17:06:37 2013 -0400"
      },
      "message": "remove Slice.instantiation field\n"
    },
    {
      "commit": "b30ac0582534c294cacb3599a96ce1960d637cf1",
      "tree": "8a938e422676847fa348723491f6b408ae47316f",
      "parents": [
        "09080c6ea23c6f60c987850e7e885ccf1905534d"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon May 06 16:58:21 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon May 06 16:58:21 2013 -0400"
      },
      "message": "removing\n"
    },
    {
      "commit": "09080c6ea23c6f60c987850e7e885ccf1905534d",
      "tree": "2f1db1cd51dd85189faa83cc1e8ba96d2d66755f",
      "parents": [
        "ddc21c75ace3745a21ac2abb0bea79e830ba7a37"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon May 06 16:57:54 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon May 06 16:57:54 2013 -0400"
      },
      "message": "update restapi to use OpenStackManager instead of OpenStackDriver\n"
    },
    {
      "commit": "ddc21c75ace3745a21ac2abb0bea79e830ba7a37",
      "tree": "f9217d1c4f084c89b19cb88dd9a2042fc627d71e",
      "parents": [
        "8f5cf5f3a93fcd39205933fbeeac048e15b4cd48"
      ],
      "author": {
        "name": "smbaker",
        "email": "smbaker@fc8-storktest.lan",
        "time": "Sun May 05 13:58:52 2013 -0700"
      },
      "committer": {
        "name": "smbaker",
        "email": "smbaker@fc8-storktest.lan",
        "time": "Sun May 05 13:58:52 2013 -0700"
      },
      "message": "default numberCores to 0\n"
    },
    {
      "commit": "8f5cf5f3a93fcd39205933fbeeac048e15b4cd48",
      "tree": "3dc116dd7ad4b54f037ec99283ee6fa580cc8048",
      "parents": [
        "386419db9e7183cdda4abe5c3e63beca559246ff"
      ],
      "author": {
        "name": "smbaker",
        "email": "smbaker@fc8-storktest.lan",
        "time": "Sun May 05 13:58:16 2013 -0700"
      },
      "committer": {
        "name": "smbaker",
        "email": "smbaker@fc8-storktest.lan",
        "time": "Sun May 05 13:58:16 2013 -0700"
      },
      "message": "plumb numberCores attribute through to nova metadata\n"
    },
    {
      "commit": "386419db9e7183cdda4abe5c3e63beca559246ff",
      "tree": "463de6b65b7b86006ecc1e4d2f052f6c9647b948",
      "parents": [
        "38e247c0495c3f1e2eca899c13f89fcee3dbf8a5"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sun May 05 11:48:43 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sun May 05 11:48:43 2013 -0400"
      },
      "message": "give new users a role\n"
    },
    {
      "commit": "38e247c0495c3f1e2eca899c13f89fcee3dbf8a5",
      "tree": "83a959c235eabe39520b8f5afa6808ed82e50948",
      "parents": [
        "6f0e3539e8a84130b7f24163ee222f96a5490d72"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sun May 05 11:48:14 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sun May 05 11:48:14 2013 -0400"
      },
      "message": "update OSModleAdmin\n"
    },
    {
      "commit": "6f0e3539e8a84130b7f24163ee222f96a5490d72",
      "tree": "fdb76515d9ddf4f61e49bfd52d0e8d49f311e074",
      "parents": [
        "5e71a66942850fed241aac7c23ccc0787f881e32"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sun May 05 11:47:16 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sun May 05 11:47:16 2013 -0400"
      },
      "message": "only call set_password() once\n"
    },
    {
      "commit": "5e71a66942850fed241aac7c23ccc0787f881e32",
      "tree": "8f13b219865eb3440cc9ba730db1155c0287f3a8",
      "parents": [
        "f17fc266278b273e1593a64a07587c559c3fbea7"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Fri May 03 23:30:41 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Fri May 03 23:30:41 2013 -0400"
      },
      "message": "PlainTextWidget no longer wipes out the form field value\n"
    },
    {
      "commit": "f17fc266278b273e1593a64a07587c559c3fbea7",
      "tree": "93c1a82e229b2e813522c6562e5d86d0dc972699",
      "parents": [
        "620f0f3899ad9215925856498890fc552c58f744"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Fri May 03 23:30:12 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Fri May 03 23:30:12 2013 -0400"
      },
      "message": "fix syntax error\n"
    },
    {
      "commit": "620f0f3899ad9215925856498890fc552c58f744",
      "tree": "0ca7d6f9cb4797ba229008b3436b08b54a2b0990",
      "parents": [
        "ed163d7e298e629f18131bde592fac6ae68ebc09"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Fri May 03 14:18:31 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Fri May 03 14:18:31 2013 -0400"
      },
      "message": "fix ability to work without openstack libs\n"
    },
    {
      "commit": "ed163d7e298e629f18131bde592fac6ae68ebc09",
      "tree": "09c0c5907a62b9d7a803f6461c2f60cfa5ec7a08",
      "parents": [
        "951dab466ef578ef99acb9ff38094bcee4d1bcf8"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 20:05:42 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 20:05:42 2013 -0400"
      },
      "message": "remove references to OpenStackDriver and OpenStackClient outside of OpenStackManager\n"
    },
    {
      "commit": "951dab466ef578ef99acb9ff38094bcee4d1bcf8",
      "tree": "9ec5115ef43d099be4e831efe84d014eabdb5336",
      "parents": [
        "1826181be0bd9936cdc4b5354002b7264b55beb6"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 19:51:45 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 19:51:45 2013 -0400"
      },
      "message": "subnets and slivers work when openstack is disable or unavailable\n"
    },
    {
      "commit": "1826181be0bd9936cdc4b5354002b7264b55beb6",
      "tree": "b567a437b71aefae835db7a77d1abd735c5ea607",
      "parents": [
        "875e58a074862ba905466f54cc57ee307dc817d3"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 16:39:20 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 16:39:20 2013 -0400"
      },
      "message": "added isntance_name to sliver page\n"
    },
    {
      "commit": "875e58a074862ba905466f54cc57ee307dc817d3",
      "tree": "15927c0d01206923ded7dbfc388590d16fb2d93e",
      "parents": [
        "b9042704fb9548d28c99896f76a405559eb17038"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 15:46:27 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 15:46:27 2013 -0400"
      },
      "message": "fix api call\n"
    },
    {
      "commit": "b9042704fb9548d28c99896f76a405559eb17038",
      "tree": "6242df4295d423beb984cc251f43605fee375db9",
      "parents": [
        "227d9ab401eb8c5ecc28dca7ff700213acc68cc5"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 15:44:49 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 15:44:49 2013 -0400"
      },
      "message": "update get_slices()\n"
    },
    {
      "commit": "227d9ab401eb8c5ecc28dca7ff700213acc68cc5",
      "tree": "4db0938f863f2c33311c9fe99df62a4d60a1eefb",
      "parents": [
        "cdb85aa5ac734698889c05010b26d0459d9667ff"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 15:44:32 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 15:44:32 2013 -0400"
      },
      "message": "updated url regex\n"
    },
    {
      "commit": "cdb85aa5ac734698889c05010b26d0459d9667ff",
      "tree": "a1ed7d8be184e427e8dd069d26afb0dc988ed072",
      "parents": [
        "93048c2934db8efa983036dc6e931b5606fedd3f"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 15:09:45 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 15:09:45 2013 -0400"
      },
      "message": "default dns server should be 8.8.4.4\n"
    },
    {
      "commit": "93048c2934db8efa983036dc6e931b5606fedd3f",
      "tree": "084b5609b0b02ed317798a062e7eae6e2a67f698",
      "parents": [
        "6072206079cb0cc3c33fb7bce93f9c7424effc46"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 11:20:26 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 11:20:26 2013 -0400"
      },
      "message": "slices, slice memberships and site privileges work when openstack is disabled or unavailable\n"
    },
    {
      "commit": "6072206079cb0cc3c33fb7bce93f9c7424effc46",
      "tree": "9de3ca0cf682c6a005651993fa37884f99a80394",
      "parents": [
        "d685bfa5ed612efda76048802ad5bbb3d53d4e53"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 10:57:04 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 10:57:04 2013 -0400"
      },
      "message": "sites work when openstack is disabled or unavailable\n"
    },
    {
      "commit": "d685bfa5ed612efda76048802ad5bbb3d53d4e53",
      "tree": "4f15e003882c7022fe0db7feb13139f72c563413",
      "parents": [
        "d1cd5dfcc6df38e882a0d518d10b3856ffd432f9"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 10:09:51 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 10:10:03 2013 -0400"
      },
      "message": "keys and users work when openstack is disabled or unavailable\n"
    },
    {
      "commit": "d1cd5dfcc6df38e882a0d518d10b3856ffd432f9",
      "tree": "8c80c1524c7bdbb97580e12295fecbcde53b1a4b",
      "parents": [
        "f79140689a92f9efdc6fac8bb81ed4599faea5b5",
        "02755d4e646bc1c13889b19cd0fe827c0dbef966"
      ],
      "author": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Thu May 02 06:02:36 2013 -0400"
      },
      "committer": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Thu May 02 06:02:36 2013 -0400"
      },
      "message": "Merged with Tony\u0027s changes -- added numberCores to SliverAdmins\n"
    },
    {
      "commit": "f79140689a92f9efdc6fac8bb81ed4599faea5b5",
      "tree": "4699fded1e04e1c4dc11ddc651f79b50a3d091f7",
      "parents": [
        "231f4c8e62da2bfd5165ff7e3d27d11834f6ae8e"
      ],
      "author": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Thu May 02 05:50:30 2013 -0400"
      },
      "committer": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Thu May 02 05:50:30 2013 -0400"
      },
      "message": "Added serviceClass to SliceAdmin\n"
    },
    {
      "commit": "231f4c8e62da2bfd5165ff7e3d27d11834f6ae8e",
      "tree": "9e12fc5edb2f10b631940e22f254d4d0f87d86bb",
      "parents": [
        "ffab0f262c544cc1a8c6c4f4d56e061d13a860fd"
      ],
      "author": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Thu May 02 05:47:24 2013 -0400"
      },
      "committer": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Thu May 02 05:47:24 2013 -0400"
      },
      "message": "Added in serviceClass to Slice, and numberCores to Sliver, adjusted admin.py accordingly\n"
    },
    {
      "commit": "02755d4e646bc1c13889b19cd0fe827c0dbef966",
      "tree": "36a58c994bbd397573177d0aadbcc25dc707c514",
      "parents": [
        "5cd13204975f86b9968020e313a356626ab6cd16"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 00:00:10 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Thu May 02 00:00:10 2013 -0400"
      },
      "message": "RoleAdmin and Role model work when openstack is disable\n"
    },
    {
      "commit": "5cd13204975f86b9968020e313a356626ab6cd16",
      "tree": "29522d74dd3fa33996123b08b484df28ab639cde",
      "parents": [
        "f9f4afb2ef1c82e4fcea2380aadc7d659d58017c"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed May 01 21:48:38 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed May 01 21:48:38 2013 -0400"
      },
      "message": "fix add/delete inlines on site and deployemnt network pages\n"
    },
    {
      "commit": "f9f4afb2ef1c82e4fcea2380aadc7d659d58017c",
      "tree": "3d7b5ec4fb42a93ef8ef6c30e075fb4befa1f199",
      "parents": [
        "36538abfa8c2ba6c6e64274d416d8bfa7c8ecf3b"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed May 01 21:02:12 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed May 01 21:02:12 2013 -0400"
      },
      "message": "call user.set_password() in PLUser.save() instead of PLUserAdmin.save()\n"
    },
    {
      "commit": "36538abfa8c2ba6c6e64274d416d8bfa7c8ecf3b",
      "tree": "d7506c0a51c79a6a8931128730594fbce43ebff1",
      "parents": [
        "79748614aac46debf940cc3a558d8816d9f683bd"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed May 01 17:24:46 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed May 01 17:24:46 2013 -0400"
      },
      "message": "dont overwrite /root/.ssh/authorized_keys with empty file\n"
    },
    {
      "commit": "79748614aac46debf940cc3a558d8816d9f683bd",
      "tree": "f80a56982bd74210a530f7e478bf56b5f2b1b771",
      "parents": [
        "6ada7bf3154b69e772102b7e0b118161b07fa264"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed May 01 14:52:03 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed May 01 14:52:37 2013 -0400"
      },
      "message": "fix add/delete sliver using inline on slice page\n"
    },
    {
      "commit": "6ada7bf3154b69e772102b7e0b118161b07fa264",
      "tree": "9f75686a0f56c7f4affd1646f14d4ea5c7a066bd",
      "parents": [
        "ea4de1a217286044ec4eb1742fb01f8b3dba4881"
      ],
      "author": {
        "name": "smbaker",
        "email": "smbaker@fc8-storktest.lan",
        "time": "Tue Apr 30 18:15:48 2013 -0700"
      },
      "committer": {
        "name": "smbaker",
        "email": "smbaker@fc8-storktest.lan",
        "time": "Tue Apr 30 18:15:48 2013 -0700"
      },
      "message": "added methods for updating and deleting instance metadata\n"
    },
    {
      "commit": "ea4de1a217286044ec4eb1742fb01f8b3dba4881",
      "tree": "34a89e7b869a6cdc38b3a9590a9528ad0540a87f",
      "parents": [
        "ab05c3bd615fd557169ced0cc83c5ee27943ae35"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 19:07:45 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 19:07:45 2013 -0400"
      },
      "message": "fix bugs\n"
    },
    {
      "commit": "ab05c3bd615fd557169ced0cc83c5ee27943ae35",
      "tree": "eeeb7c8bbf14501af7eaea3b75237d2a6fd29d59",
      "parents": [
        "0eb8b7eb296eb946cb964d916317f098c3f7a93a"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 18:30:21 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 18:30:21 2013 -0400"
      },
      "message": "removing refrences to flavor\n"
    },
    {
      "commit": "0eb8b7eb296eb946cb964d916317f098c3f7a93a",
      "tree": "7726264d03ac9551d244290ef119e37069cc78aa",
      "parents": [
        "cd6bf66111f2066c5ba39cf046136a4e3fd331db"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 18:24:33 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 18:24:33 2013 -0400"
      },
      "message": "removing flavor model\n"
    },
    {
      "commit": "cd6bf66111f2066c5ba39cf046136a4e3fd331db",
      "tree": "0c462d0b39c53d9a7f00a201091b77eb45c81630",
      "parents": [
        "e7e304f5d307805fae1869a2b18cf174727c0262"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 18:20:27 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 18:20:27 2013 -0400"
      },
      "message": "run site agent once on startup\n"
    },
    {
      "commit": "e7e304f5d307805fae1869a2b18cf174727c0262",
      "tree": "947b886c7d981e5567546a7cee0dd3fdd2ce913f",
      "parents": [
        "3811937cf1348f21e52cc79838bf11b1da184209"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 18:18:03 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 18:18:03 2013 -0400"
      },
      "message": "remove refrences to flavor. use m1.small as the default flavor\n"
    },
    {
      "commit": "3811937cf1348f21e52cc79838bf11b1da184209",
      "tree": "f86caa5a1557d6d722a6e91b230799a99e209aa3",
      "parents": [
        "bd3b26e14ce377819e2bd4182ba927d3c95edce1"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 18:17:38 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 18:17:38 2013 -0400"
      },
      "message": "remove refrences to flavor. use m1.small as the default flavor\n"
    },
    {
      "commit": "bd3b26e14ce377819e2bd4182ba927d3c95edce1",
      "tree": "414dd82ca803ba67b9a48e19edf534d5e10b5c8e",
      "parents": [
        "ffab0f262c544cc1a8c6c4f4d56e061d13a860fd"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 17:43:48 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 30 17:43:48 2013 -0400"
      },
      "message": "initial checkin\n"
    },
    {
      "commit": "ffab0f262c544cc1a8c6c4f4d56e061d13a860fd",
      "tree": "2d9a0bca717f338b47dc5c074f9ad0126f14c35d",
      "parents": [
        "0dc2f560e90f02971034779b796f3e0318fd5fe2"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 19:42:20 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 19:42:20 2013 -0400"
      },
      "message": "update credentials to use name of slice/tenant of sliver\n"
    },
    {
      "commit": "0dc2f560e90f02971034779b796f3e0318fd5fe2",
      "tree": "4bde37368ee3f2a7275d968eb4bb27e03325a288",
      "parents": [
        "5d0ce61ef2d155d8c282f74d6e103c1a0f6d9bb2"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 19:41:39 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 19:41:39 2013 -0400"
      },
      "message": "give admin user the admin role to every tenant created by OpenStackDriver\n"
    },
    {
      "commit": "5d0ce61ef2d155d8c282f74d6e103c1a0f6d9bb2",
      "tree": "1942c648b73b3bf15f9fb5eba2e7b9543bd4a4c6",
      "parents": [
        "0c0e05d33859e34cf1b0cd6644ed6c884db44692"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 17:53:07 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 17:53:07 2013 -0400"
      },
      "message": "refresh openstack credentials when creating a slice\u0027s network and router\n"
    },
    {
      "commit": "0c0e05d33859e34cf1b0cd6644ed6c884db44692",
      "tree": "f50add3186dc841a0a9cf9521a72d6c658adf625",
      "parents": [
        "c1665b13b4cdd40641525996899ca46bbd3993b5"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 17:52:37 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 17:52:37 2013 -0400"
      },
      "message": "remove call to remove_gateway_router()\n"
    },
    {
      "commit": "c1665b13b4cdd40641525996899ca46bbd3993b5",
      "tree": "449875f5c5e64bd6171d9399a1efb5892f2a9bd3",
      "parents": [
        "9bcbe4f97aefc3e4679bafe1f37ac5e049f56621"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 16:45:14 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 16:45:14 2013 -0400"
      },
      "message": "fix bug in delete_network_ports()\n"
    },
    {
      "commit": "9bcbe4f97aefc3e4679bafe1f37ac5e049f56621",
      "tree": "3a0fa6428bf1f97405607a5f9e40f696245747af",
      "parents": [
        "54304c693d7996577ee21729c5bac6fd07a67556"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 08:13:27 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 29 08:13:27 2013 -0400"
      },
      "message": "fix bugs\n"
    },
    {
      "commit": "54304c693d7996577ee21729c5bac6fd07a67556",
      "tree": "90651571a71d84ff803cc7a3e28f2b0780687b43",
      "parents": [
        "00d361f893df2241849d6e6ef3fe31e50087b5e0"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sun Apr 28 11:27:07 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sun Apr 28 11:27:07 2013 -0400"
      },
      "message": "Fix bugs\n"
    },
    {
      "commit": "00d361f893df2241849d6e6ef3fe31e50087b5e0",
      "tree": "808bae9ee4c43dc0f2a90bc55c42acfbaa70b56d",
      "parents": [
        "53106f3b838a34c37bfbb971826903802b62c0ff"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sun Apr 28 10:28:42 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sun Apr 28 10:28:42 2013 -0400"
      },
      "message": "update SitePrivilegeAdmin and SliceMembershipAdmin\n"
    },
    {
      "commit": "53106f3b838a34c37bfbb971826903802b62c0ff",
      "tree": "65660af56f6b94a77c1d384655f94e52482e57e5",
      "parents": [
        "fdd4d807ab9d592c2e6d0b59454dfcbcf5b50c20"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sat Apr 27 16:43:01 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sat Apr 27 16:43:01 2013 -0400"
      },
      "message": "update user admin\n"
    },
    {
      "commit": "fdd4d807ab9d592c2e6d0b59454dfcbcf5b50c20",
      "tree": "2d303e4bef7e35d29df6ef26846c9a1d626f7716",
      "parents": [
        "956104dac8f3efbcb30478e58b1fd39da581d4b4"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sat Apr 27 13:02:33 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sat Apr 27 13:02:33 2013 -0400"
      },
      "message": "create OSModelAdmin. Update some Admin definitions to subclass OSModelAdmin\n"
    },
    {
      "commit": "956104dac8f3efbcb30478e58b1fd39da581d4b4",
      "tree": "86f57a6a98f53ab45773bc1cf72ffe418b3a6128",
      "parents": [
        "0e723b9354898fa2d6ed2c072ee492183d7fabea"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sat Apr 27 12:36:19 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sat Apr 27 12:36:19 2013 -0400"
      },
      "message": "filter keys user is allowed to see\n"
    },
    {
      "commit": "0e723b9354898fa2d6ed2c072ee492183d7fabea",
      "tree": "20ae0f02f1abec71f561a25630dd8bfb0cc85947",
      "parents": [
        "e59a7c83b68ef7d388d94bce8256d791dac2db9d"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sat Apr 27 11:08:19 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sat Apr 27 11:08:19 2013 -0400"
      },
      "message": "bug fixes\n"
    },
    {
      "commit": "e59a7c83b68ef7d388d94bce8256d791dac2db9d",
      "tree": "b84e04ba16700edd92e93eda1de36c4d58dabb44",
      "parents": [
        "31c2b8f8f7d25d3cd6f74b625a949f17d9fd62a2"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sat Apr 27 11:08:10 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Sat Apr 27 11:08:10 2013 -0400"
      },
      "message": "save() and delete() uses caller\u0027s credentials to init openstackdriver client\n"
    },
    {
      "commit": "31c2b8f8f7d25d3cd6f74b625a949f17d9fd62a2",
      "tree": "0c615141e6b3bd2d18ef8cb940e8d1bc8ef020df",
      "parents": [
        "5343728471276810ce3f808f6b557271d5991384"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Fri Apr 26 20:01:42 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Fri Apr 26 20:04:55 2013 -0400"
      },
      "message": "register a signal that caches the user\u0027s credentials on login\n"
    },
    {
      "commit": "5343728471276810ce3f808f6b557271d5991384",
      "tree": "3f7b72e9ba56ae390ed94912fd867473f556ebec",
      "parents": [
        "814922b434f36c524773e569832e55e08a930121"
      ],
      "author": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Fri Apr 26 19:30:27 2013 -0400"
      },
      "committer": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Fri Apr 26 19:30:27 2013 -0400"
      },
      "message": "Added in PLUser as custom user, replacing the django base user.  Reformatted initial_data for content with more readable 4 space indent for ability to do diffs\n"
    },
    {
      "commit": "814922b434f36c524773e569832e55e08a930121",
      "tree": "fad5921723a906e1dc58c85c09a4901c8945849b",
      "parents": [
        "aa6b750e4cf840bf24e395884e8fe514331c5d1b"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Apr 24 14:51:53 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Apr 24 14:51:53 2013 -0400"
      },
      "message": "fix NameError\n"
    },
    {
      "commit": "aa6b750e4cf840bf24e395884e8fe514331c5d1b",
      "tree": "544bee457c6b343434bd11ce0f2b6141c7c26b19",
      "parents": [
        "745bf6e4c13fc51b481017f304274178b2d12206"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Apr 17 21:58:34 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Apr 17 21:58:34 2013 -0400"
      },
      "message": "disable setting route until we have consistent way to determine external ip address\n"
    },
    {
      "commit": "745bf6e4c13fc51b481017f304274178b2d12206",
      "tree": "2ea6a32497f1edaa2476dd3b8052cd2dd891644e",
      "parents": [
        "704c1b03a19715990b39374f852a47d2d350b45e"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Apr 17 11:06:35 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Apr 17 11:06:35 2013 -0400"
      },
      "message": "fix bug\n"
    },
    {
      "commit": "704c1b03a19715990b39374f852a47d2d350b45e",
      "tree": "d062fcfc594d8ae0ae2a81932276c8133183c11c",
      "parents": [
        "cafd0b0293dde6c6404e1d6e3566f2f491a42086"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Apr 17 10:45:45 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Apr 17 10:48:38 2013 -0400"
      },
      "message": "start the sliver agent\n"
    },
    {
      "commit": "cafd0b0293dde6c6404e1d6e3566f2f491a42086",
      "tree": "ef773a02b5157b923339b97759aaf9d73b62fcb8",
      "parents": [
        "c47c39d5ed7fd09d900f98c87ff3fb9400a85a03"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Apr 17 10:45:12 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Apr 17 10:48:38 2013 -0400"
      },
      "message": "initial checkin. Fills in null sliver ips\n"
    },
    {
      "commit": "c47c39d5ed7fd09d900f98c87ff3fb9400a85a03",
      "tree": "7943011ca76d31a2ec526424906e56b6d1d6fd77",
      "parents": [
        "1eeeae9b1b838309fac41153b1107268d8cbc44c"
      ],
      "author": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Wed Apr 17 06:47:26 2013 -0400"
      },
      "committer": {
        "name": "Siobhan Tully",
        "email": "stully@verivue.com",
        "time": "Wed Apr 17 06:47:26 2013 -0400"
      },
      "message": "Adjusted SliverInline to only show valid fields for create/view.  Used admin::Sliver as reference.\n"
    },
    {
      "commit": "1eeeae9b1b838309fac41153b1107268d8cbc44c",
      "tree": "84d02b24ce4e7da1adc62e680cc60112f7d87f87",
      "parents": [
        "d90cdbf57462bac32cf35e5ff401b5d560851d78"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 23:04:44 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 23:04:44 2013 -0400"
      },
      "message": "switch Sliver.ip from IpAddressField to GenericIPAddressField\n"
    },
    {
      "commit": "d90cdbf57462bac32cf35e5ff401b5d560851d78",
      "tree": "961e5639388a5b4437377d3dfc031cdd0581b921",
      "parents": [
        "d8a837a8c10d9871a85d05a4e2f1e08630ec8b48"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 22:48:40 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 22:48:40 2013 -0400"
      },
      "message": "add pain text ip address field to Sliver form\n"
    },
    {
      "commit": "d8a837a8c10d9871a85d05a4e2f1e08630ec8b48",
      "tree": "9de8e23a2c1c20c905881782f7da3e56d8640e4f",
      "parents": [
        "8e92dc51a6e20848caaa93ca575f23f709643e4d"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 22:07:22 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 22:07:22 2013 -0400"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "8e92dc51a6e20848caaa93ca575f23f709643e4d",
      "tree": "5149274a1e3fcfa53e76b252c1bad3b52e00bb03",
      "parents": [
        "2b241cf1523bbb26039e0645507dca3a76b7cabb"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 21:58:39 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 21:58:39 2013 -0400"
      },
      "message": "raise exception if sliver\u0027s slice has no subnet\n"
    },
    {
      "commit": "2b241cf1523bbb26039e0645507dca3a76b7cabb",
      "tree": "d8069e270adad0b8214e8e48ef1b77cd9a91b091",
      "parents": [
        "94c6ea010bcab8b88eb579ac8e0850e122e7260c"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 21:57:55 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 21:57:55 2013 -0400"
      },
      "message": "raise exception if sliver\u0027s slice has no subnet\n"
    },
    {
      "commit": "94c6ea010bcab8b88eb579ac8e0850e122e7260c",
      "tree": "b6b537a5a03da3ebf6ae44ad7eee3945e988bfb6",
      "parents": [
        "79b28cafced7e3516dd75d6251d0bd4bc60693e0"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 21:41:50 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Apr 16 21:41:50 2013 -0400"
      },
      "message": "clean up ports when deleting networks and subnets\n"
    },
    {
      "commit": "79b28cafced7e3516dd75d6251d0bd4bc60693e0",
      "tree": "3f8b0f5acafa32fa80c4531e7405db351d3981c9",
      "parents": [
        "b09cedb99f3efeb4f1e9c8d5ef927c872e867acf"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 21:47:45 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 21:47:45 2013 -0400"
      },
      "message": "specify instance host using availability_zone arg instead of scheduler_hints\n"
    },
    {
      "commit": "b09cedb99f3efeb4f1e9c8d5ef927c872e867acf",
      "tree": "d5d8ac53ee94e6b25ef6813a8735de2219e339cc",
      "parents": [
        "acf16f649c63610efe86dfbd1a11b99bbdd9415f"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 07:19:25 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 07:19:25 2013 -0400"
      },
      "message": "fix Subnet bugs\n"
    },
    {
      "commit": "acf16f649c63610efe86dfbd1a11b99bbdd9415f",
      "tree": "b213aababde1076cbf59e9ee8f947a083915d7c7",
      "parents": [
        "cdec090d2a527e57f0df2d1ced8d1d022ba9f928"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 00:45:09 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 00:45:09 2013 -0400"
      },
      "message": "update Sliver admin\n"
    },
    {
      "commit": "cdec090d2a527e57f0df2d1ced8d1d022ba9f928",
      "tree": "bbdca8b0d39f824f8ca5db960d8815feae75a948",
      "parents": [
        "4ecbb2a2feb4f017e2fece9f20571261088d65bf"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 00:38:49 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 00:38:49 2013 -0400"
      },
      "message": "update Sliver admin\n"
    },
    {
      "commit": "4ecbb2a2feb4f017e2fece9f20571261088d65bf",
      "tree": "c5b748867cfd8e984a4ca3f44660d7cc3076f7d3",
      "parents": [
        "31d34138591e930afb8ee48ab363faad98ec3113"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 00:03:42 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 00:03:42 2013 -0400"
      },
      "message": "update Subnet admin\n"
    },
    {
      "commit": "31d34138591e930afb8ee48ab363faad98ec3113",
      "tree": "8f61f852e243226fc5ff8b4607eb9079fb9adf47",
      "parents": [
        "62bc59a048c55f5e6ab29007f06cb37104ff2be6"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 00:02:06 2013 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Apr 15 00:02:06 2013 -0400"
      },
      "message": "update Subnet admin\n"
    }
  ],
  "next": "62bc59a048c55f5e6ab29007f06cb37104ff2be6"
}
