1. 17 Jun, 2008 6 commits
    • Iustin Pop's avatar
      Fix an error-handling case · c7cdfc90
      Iustin Pop authored
      There is a mistake in handling grow-disk for an invalid disk. This patch
      fixes it.
      
      Reviewed-by: imsnah
      c7cdfc90
    • Iustin Pop's avatar
      Manpage updates for the new grow-disk command · eb65d354
      Iustin Pop authored
      The patch documents the steps needed to complete a user-visible grow
      (i.e. not only grow-disk, but also filesystem resize is needed, etc.)
      
      Reviewed-by: imsnah
      eb65d354
    • Iustin Pop's avatar
      Implement gnt-instance grow-disk · c6e911bc
      Iustin Pop authored
      This patch exposes at command line level the grow-disk operation.
      
      Reviewed-by: imsnah
      c6e911bc
    • Iustin Pop's avatar
      Implement disk grow at LU level · 8729e0d7
      Iustin Pop authored
      This patch adds a new opcode and LU for growing an instance's disk.
      
      The opcode allows growing only one disk at time, and will throw an error
      if the operation fails midway (e.g. on the primary node after it has
      been increased on the secondary node). As such, it might actually leave
      different sized LVs on different nodes, but this will not create
      problems.
      
      Reviewed-by: imsnah
      8729e0d7
    • Iustin Pop's avatar
      Add method to update a disk object size · acec9d51
      Iustin Pop authored
      This patch adds a method that implements updating of a disk
      (object.Disk) size, together with its children.
      
      While this will not track the exact disk size, it allows at least an
      approximate size to be recorded in the configuration (and queried).
      
      Reviewed-by: imsnah
      acec9d51
    • Iustin Pop's avatar
      Implement block device grow at the rpc layer · 4c8ba8b3
      Iustin Pop authored
      This simple patch exposes the block device grow operation at the rpc
      layer. It does not increase the protocol version as it has been recently
      changed by the live failover rpc call.
      
      Reviewed-by: imsnah
      4c8ba8b3
  2. 16 Jun, 2008 5 commits
    • Iustin Pop's avatar
      Expose block device grow in backend.py · 594609c0
      Iustin Pop authored
      This patch adds a wrapper over the block device grow operation that
      converts the input and output parameters as needed for the rpc layer.
      
      Reviewed-by: imsnah
      594609c0
    • Iustin Pop's avatar
      bdev: implement disk resize for lvm/drbd8 · 1005d816
      Iustin Pop authored
      This patch implements disk resize at the bdev level for the LVM and
      DRBD8 disk types. It is not implemented for DRBD7 and MD since the way
      MD works with its underlaying devices makes it harder and this
      combination is also deprecated.
      
      The LVM resize operation is tried three times, with different allocation
      policies:
        - contiguous first, since this is best for allocation purposes (it
          won't fragment too much the PV)
        - cling, which is supported only by more recent LVM versions, will try
          to place the new extents on the same PV as the rest of the LV
        - and finally normal, which is the default
      
      Reviewed-by: imsnah
      1005d816
    • Guido Trotter's avatar
      Move SetKey to WritableSimpleStore and use it · 05f86716
      Guido Trotter authored
      Before we used to be able to update SimpleStore by just calling SetKey, this
      feature is now moved to an external class, which inherits from it. In this
      patch the new WritableSimpleStore class is also put to use, in the LUs that
      need it. Rather than making each LU instantiate it, we have a new LogicalUnit
      flag REQ_WSSTORE which defaults to False, but when declared to be True asks the
      LogicalUnit to be initialized with a writeable version of the SimpleStore.
      LUMasterFailover and LURenameCluster are then changed to use it.
      
      InitCluster is also changed to instantiate a WritableSimpleStore, rather
      than a normal one.
      
      Reviewed-by: imsnah
      05f86716
    • Iustin Pop's avatar
      Add migration support at the rpc layer · 2a10865c
      Iustin Pop authored
      This patch adds the migration rpc call and its implementation in the
      backend. The patch does not deal with the correct activation of disks.
      
      Because of the new RPC, the protocol version is increased.
      
      Reviewed-by: imsnah
      2a10865c
    • Iustin Pop's avatar
      hypervisor: add live migration support · 6e7275c0
      Iustin Pop authored
      This is just the hypervisor-level migration (e.g. “xm migrate”) not the
      whole node coordination work.
      
      Reviewed-by: ultrotter
      6e7275c0
  3. 15 Jun, 2008 4 commits
    • Guido Trotter's avatar
      Activate down instances' disks on replace-disks · 22985314
      Guido Trotter authored
      When replacing disks or evacuating nodes with instances administratively
      down ganeti fails because the instance disks are not active. This patch
      activates them, performs the replacement, and shuts them down again.
      Changing this also fixes the same issue on gnt-node evacuate.
      
      Reviewed-by: iustinp
      
      22985314
    • Guido Trotter's avatar
      FailoverInstance: change AddInstance with Update · b6102dab
      Guido Trotter authored
      We're not adding a new instance, just making configuration changes to
      the one we're working on.
      
      Reviewed-by: imsnah
      
      b6102dab
    • Guido Trotter's avatar
      Burnin: Use iallocator in import/export · f9af35c8
      Guido Trotter authored
      Currently the iallocator option is ignored by burnin at import/export
      time even if passed in. With this patch it becomes used. The log message
      used by the importer is also changed to reflect this.
      
      This patch also improves import/export on the non-iallocator case:
        - The secondary node is not passed anymore on non-mirrored templates
        - On mirrored templates the secondary node is logged
      
      Reviewed-by: imsnah
      
      f9af35c8
    • Iustin Pop's avatar
      Fix an error message in instance add · 3e91897b
      Iustin Pop authored
      There is a mistake in the error message generated when we can't reach a
      node for checking for available disk space. Without it, the error
      message is:
      Failure: prerequisites not met for this operation:
      Cannot get current information from node '{u'gnte2.lab.k1024.org':
      {'cpu_total': 1, 'memory_free': 480, 'vg_size': 131068, 'memory_total':
      504, 'bootid': '2176dd3b-2f96-42f0-8b6e-2873ecaf5f9c', 'memory_dom0':
      134, 'vg_free': 130172}, u'gnte1.lab.k1024.org': False}'
      
      instead of the expected:
      Failure: prerequisites not met for this operation:
      Cannot get current information from node 'gnte2.lab.k1024.org'
      
      Reviewed-by: imsnah
      3e91897b
  4. 13 Jun, 2008 4 commits
  5. 12 Jun, 2008 7 commits
  6. 11 Jun, 2008 1 commit
    • Guido Trotter's avatar
      Remove SimpleStore cache · c9673d92
      Guido Trotter authored
      SimpleStore is instantiated anew most of the times it's used, so having
      a cache inside it serves no purpose. Removing it.
      
      Reviewed-by: iustinp
      c9673d92
  7. 06 Jun, 2008 9 commits
  8. 31 May, 2008 4 commits