1. 08 Jul, 2014 5 commits
  2. 26 Jun, 2014 2 commits
  3. 24 Jun, 2014 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Store image version additional to UUID · 547b4672
      Christos Stavrakakis authored
      Store the image's version together with the image's UUID, in order to
      track the exact image (Pithos file) that has been used for a server or
      volume. This is required because Pithos files retain their UUID when the
      file's data or metadata are updated. The (uuid, version) tuple is
      required in order to fully determine the file that has been used.
      547b4672
  4. 29 May, 2014 4 commits
  5. 21 May, 2014 3 commits
  6. 14 May, 2014 2 commits
  7. 14 Apr, 2014 1 commit
    • Vangelis Koukis's avatar
      Switch license to GPLv3 · 02071b96
      Vangelis Koukis authored
      According to the decision of the GRNET Board of Directors,
      switch license to GPLv3.
      
      This commit will be propagated to the release
      and master branches based on git flow, and the next
      release will be licensed as GPLv3.
      02071b96
  8. 31 Mar, 2014 11 commits
    • Christos Stavrakakis's avatar
      Add missing licence to volume files · 5bd8300e
      Christos Stavrakakis authored
      5bd8300e
    • Christos Stavrakakis's avatar
      4620d9df
    • Christos Stavrakakis's avatar
      cyclades: Validate length of fields · fa999091
      Christos Stavrakakis authored
      fa999091
    • Christos Stavrakakis's avatar
      cyclades: Update volume and snapshots commands · c736bef3
      Christos Stavrakakis authored
      Create new management commands:
      
      * snapshot-modify
      * snapshot-show
      * volume-modify
      
      Also, fix various small issues in other commands.
      c736bef3
    • Christos Stavrakakis's avatar
      cyclades: Check image and snapshots states · 2b6c70f9
      Christos Stavrakakis authored
      When creating a volume from an image or snapshot we must check that
      the image/snapshot is in 'AVAILABLE' status.
      2b6c70f9
    • Christos Stavrakakis's avatar
      cyclades: Merge handling of images and snapshots · 2265b417
      Christos Stavrakakis authored
      Also, rename 'checksum' to 'mapfile'.
      2265b417
    • Christos Stavrakakis's avatar
      cyclades: Add 'disk_template' to Volumes · 57469aaa
      Christos Stavrakakis authored
      Also check GANETI_CLONE_PROVIDERS.
      57469aaa
    • Christos Stavrakakis's avatar
      cyclades: Create servers with volumes · fc96f8c6
      Christos Stavrakakis authored
      Extend Cyclades POST /servers API endpoint to support specifying volumes
      when creating a server. The call is extended with the
      'block_device_mapping_v2' field that contains a list of dictionaries,
      each of which contains the following information about the devices that
      the server must have:
      
      * source_type: One of'image', 'snapshot', 'volume' or 'blank'
      * uuid: The UUID of the object that is specified by source_type (if
              source_type is not blank)
      * size: The size of the volume
      * delete_on_termination: Whether the volume will be preserved or
                               automaticaly deleted when the server is deleted
      
      If no volume is specified, then a volume is automatically created with
      the size of the flavor and with source the image that is specified in
      the 'imageRef' field of the API call.
      
      The follow restrictions apply:
      * Source_type can be other than 'blank', only if the disk template is
        ext_ or if the volume is created as a root volume of a server, so
        it will be filled with data by snf-image.
      * The root volume cannot be blank.
      * In order to use a volume, it must be in AVAILABLE status. This will
        never happen until detachable volumes are implemented. However, the
        user can "clone" a user volume either by creating a new volume from
        cinder and then using this new volume, or by taking a snapshot and then
        use the snapshot as a source.
      * The size field is required if the source is image, snapshot or blank.
        Also, the size of the volume must be equal or bigger from the source
        size (if any).
      
      Finally, move some code from 'servers' module to 'server_attachments'
      and 'commands' to avoid cyclic imports.
      fc96f8c6
    • Christos Stavrakakis's avatar
      cyclades: Implement server actions for volumes · 5bb624cc
      Christos Stavrakakis authored
      Implement 'attach_volume' and 'detach_volume' server actions. Also, add
      'GANETI_MAX_DISKS_PER_INSTANCE' setting, to force a hard limit on the
      maximum number of disks a server can have.
      5bb624cc
    • Christos Stavrakakis's avatar
      cyclades: Various fixes relative for volumes · 6487b4f5
      Christos Stavrakakis authored
      * Do not store source_{volume_id, image_id, snapshot_id} as seperate
        fields. Instead store them in the 'source' field, with a special prefix
        to indicate the source type.
      * Add 'origin' field to Volume model to contain the origin that will be
        passed to Ganeti disk
      * Check that 'source' option is used only for ext_* volumes
      * Check that if a volume is used as source, the volume is in 'AVAILABLE'
        state
      * Implement deleting a volume by detaching it from the corresponding
        server. Also, forbid detaching the root volume(index=0) of a server
      * Rename 'hotplug' to 'hotplug_if_possible' in Ganeti methods.
      * Rename 'name' and 'description' API attributes to 'display_name' and
        'display_description'
      6487b4f5
    • Christos Stavrakakis's avatar
      cyclades: Implement volumes and snapshots · b7a83431
      Christos Stavrakakis authored
      First implementation of volumes and snapshots.
      b7a83431