1. 12 Jul, 2012 1 commit
  2. 10 Jul, 2012 1 commit
  3. 06 Jul, 2012 2 commits
  4. 03 Jul, 2012 3 commits
  5. 02 Jul, 2012 1 commit
  6. 29 Jun, 2012 4 commits
  7. 28 Jun, 2012 1 commit
  8. 27 Jun, 2012 1 commit
  9. 21 Jun, 2012 4 commits
  10. 12 Jun, 2012 2 commits
  11. 11 Jun, 2012 1 commit
  12. 07 Jun, 2012 2 commits
    • Leigh B Stoller's avatar
    • Leigh B Stoller's avatar
      Add new API call CreateImage; create/snapshot a geni sliver node. · 750be519
      Leigh B Stoller authored
      This call allows a geni user to create a sliver, customise the node,
      and then take a snapshot (possibly creating a new image descriptor)
      without having to use the Emulab web interface. The API looks like:
      
        int CreateImage(slice_urn, sliver_urn, imagename, credentials[]);
      
      The slice must be unlocked and the sliver in the ready state. Once
      the operation starts, the slice is locked until the backend finishes.
      This is something that I might revisit later, but this was the easiest
      approach that ensures consistency. 
      
      The imagename is looked up in the current project the node is attached
      to. If it does not exists, create it. Then snapshot the node. You can
      call this again of course, to take a new snapshot, without having to
      provide a new imagename.
      
      The image file is written to the images directory of the project,
      which is available to the node via /proj, so the user can get to it
      (since the user might not have a local account).
      750be519
  13. 27 May, 2012 2 commits
  14. 18 May, 2012 4 commits
  15. 14 May, 2012 3 commits
  16. 07 May, 2012 1 commit
  17. 03 May, 2012 1 commit
  18. 30 Apr, 2012 1 commit
  19. 27 Apr, 2012 1 commit
  20. 26 Apr, 2012 2 commits
  21. 25 Apr, 2012 1 commit
    • Leigh B Stoller's avatar
      Add ReadHistoryRecords() API to download the aggregate history · d3c74dc7
      Leigh B Stoller authored
      from the CH database.
      
      Requires a credential (possibly delegated) with the "readhistory"
      privilege.
      
         ReadHistoryRecords(credential, int index, int count);
      
      where index and count are optional, but to be useful you will want to
      track the index and ask for "count" records at a time until you get
      back an error saying there are no more to give you. You are limited to
      max 100 (the default is 10) time at a time.
      
      The return value is a list of records, where each record is an array
      of the data in the aggregate_history table and the manifest. There
      might be multiple records if the slice was updated, since there will
      be multiple manifests. I won't describe it, you can just print out a
      record and see it, it is all pretty obvious.
      d3c74dc7
  22. 24 Apr, 2012 1 commit