1. 17 Dec, 2013 2 commits
  2. 11 Nov, 2013 1 commit
  3. 04 Nov, 2013 1 commit
  4. 24 Oct, 2013 1 commit
    • Dimitris Aragiorgis's avatar
      Hotplug: cmdlib support · ba924970
      Dimitris Aragiorgis authored
      
      
      Hotplugging is done by functions invoked by ApplyContainerMods(). In
      order hotplugging to take place the --hotplug option must be passed
      otherwise the modifications will take place after reboot.
      
      NIC hotplug supports add, remove and modify. The modify is done by removing
      the existing NIC and adding a new one in the same pci slot.
      
      Disk hotplug supports add and remove.  Before hotplugging a Disk it
      must be assembled. Use blockdev_assemble RPC, get the device link_name
      and then call hotplug RPC command.
      
      In order to remove a disk (with blockdev_remove) it must be shutdown. So
      after unplugging the disk ShutdownDiskInstanceDisks() must be invoked.
      
      For both device types we use the generic RPC call_hotplug_device.
      
      Also adapt unit tests to follow the change.
      Signed-off-by: default avatarDimitris Aragiorgis <dimara@grnet.gr>
      Signed-off-by: default avatarThomas Thrainer <thomasth@google.com>
      Reviewed-by: default avatarThomas Thrainer <thomasth@google.com>
      ba924970
  5. 24 Sep, 2013 3 commits
  6. 12 Sep, 2013 1 commit
  7. 28 Aug, 2013 1 commit
  8. 15 Jul, 2013 3 commits
  9. 10 Jul, 2013 1 commit
  10. 03 Jul, 2013 1 commit
    • Helga Velroyen's avatar
      Fix propagation of storage parameters to/from backend · 52a8a6ae
      Helga Velroyen authored
      
      
      This patch fixes two problems with the storage reporting
      that showed up in the QA for exclusive storage:
      
      - The processing of storage space information for instance
        operations wrongly assumed that the volume group's
        storage information is always the first in the list.
      - The storage parameter 'exclusive storage' was not
        correctly extracted from the list of storage parameters.
      - There was a bug in the preparation of storage unit for
        the node info call in the iallocator. The exclusive
        storage flag was not set for spindles and the format
        of the storage parameters for LVM vgs was a boolean
        and not a list.
      Signed-off-by: default avatarHelga Velroyen <helgav@google.com>
      Reviewed-by: default avatarKlaus Aehlig <aehlig@google.com>
      Reviewed-by: default avatarMichele Tartara <mtartara@google.com>
      52a8a6ae
  11. 02 Jul, 2013 1 commit
  12. 28 Jun, 2013 2 commits
  13. 20 Jun, 2013 1 commit
    • Thomas Thrainer's avatar
      Index instances by their UUID · da4a52a3
      Thomas Thrainer authored
      
      
      No longer index instances by their name but by their UUID in the cluster
      config. This change changes large parts of the code, as the following
      adjustments were necessary:
       * Change the index key to UUID in the configuration and the
         ConfigWriter, including all methods.
       * External interfaces (command line interface, IAllocator interface,
         hook scripts, etc.) are kept stable.
       * Instance UUID's are resolved in ExpandNames and then stored in the
         OpCode. This allows to check for instance renames if the OpCode is
         reloaded after a cluster restart. This check is currently only done
         for single instance parameters.
       * Instance locking unfortunately can't use instances UUID as
         identifiers. The reasons is that new instances (which have no UUID
         yet) have to be locked as well, so the instance name is used.
       * Variable names are renamed to follow the following pattern:
         - Suffix is 'inst' or 'insts': Variable holds Instance objects
         - Suffix is 'name' or 'names': Variable holds Instance names
         - Suffix is 'uuid' or 'uuids': Variable holds Instance UUID's
       * Tests are adapted.
      Signed-off-by: default avatarThomas Thrainer <thomasth@google.com>
      Reviewed-by: default avatarKlaus Aehlig <aehlig@google.com>
      da4a52a3
  14. 14 Jun, 2013 1 commit
  15. 13 Jun, 2013 2 commits
    • Thomas Thrainer's avatar
      Inline simple "alias" variables · d0d7d7cf
      Thomas Thrainer authored
      
      
      Remove variables in the form "var = self.var" throughout all LU's. Those
      "alias" variables make it harder to read the code (it's no longer
      immediately clear what's a field and what's a local variable), and can
      introduce subtle bug (especially when not used consistently and when
      they are re-assigned).
      Signed-off-by: default avatarThomas Thrainer <thomasth@google.com>
      Reviewed-by: default avatarKlaus Aehlig <aehlig@google.com>
      d0d7d7cf
    • Thomas Thrainer's avatar
      Index nodes by their UUID · 1c3231aa
      Thomas Thrainer authored
      
      
      No longer index nodes by their name but by their UUID in the cluster
      config. This change changes large parts of the code, as the following
      adjustments were necessary:
       * Change the index key to UUID in the configuration and the
         ConfigWriter, including all methods.
       * Change all cross-references to nodes to use UUID's.
       * External interfaces (command line interface, IAllocator interface,
         hook scripts, etc.) are kept stable.
       * RPC-calls can resolve UUID's as target node arguments, if the RPC
         runner is based on a ConfigWriter instance. The result dictionary is
         presented in the form the nodes are addressed: by UUID if UUID's were
         given, or by name if names were given.
       * Node UUID's are resolved in ExpandNames and then stored in the
         OpCode. This allows to check for node renames if the OpCode is
         reloaded after a cluster restart. This check is currently only done
         for single node parameters.
       * Variable names are renamed to follow the following pattern:
         - Suffix is 'node' or 'nodes': Variable holds Node objects
         - Suffix is 'name' or 'names': Variable holds node names
         - Suffix is 'uuid' or 'uuids': Variable holds node UUID's
       * Tests are adapted.
      Signed-off-by: default avatarThomas Thrainer <thomasth@google.com>
      Reviewed-by: default avatarKlaus Aehlig <aehlig@google.com>
      1c3231aa
  16. 12 Jun, 2013 1 commit
  17. 05 Jun, 2013 1 commit
  18. 03 Jun, 2013 1 commit
  19. 28 May, 2013 3 commits
  20. 23 May, 2013 3 commits
  21. 21 May, 2013 1 commit
    • Helga Velroyen's avatar
      RPC 'node_info': <storage_type,key> instead of vg_names · 4b92e992
      Helga Velroyen authored
      
      
      This replaces the field 'vg_names' in the RPC call of 'node info' by
      'storage_units'. A storage unit is a tuple <storage_type,key>
      and a generalization of a vg_name. The list of vg names is replaced by
      a list of storage units. The modified RPC call will be used to report
      storage space for more than just lvm volume groups. What the 'key' is
      depends on the storage type. For storage type lvm-vg, the key is the
      volume group name. To keep backward compatibility, all functions that
      use the old vg_names, convert them to a list where every volume group
      is mapped to a tuple [('lvm-vg',volume_group)] before making the call.
      Signed-off-by: default avatarHelga Velroyen <helgav@google.com>
      Reviewed-by: default avatarBernardo Dal Seno <bdalseno@google.com>
      4b92e992
  22. 17 May, 2013 2 commits