1. 05 Oct, 2011 1 commit
  2. 29 Sep, 2011 1 commit
    • Andrea Spadaccini's avatar
      Make migration RPC non-blocking · 6a1434d7
      Andrea Spadaccini authored
      To add status reporting for the KVM migration, the instance_migrate RPC
      must be non-blocking. Moreover, there must be a way to represent the
      migration status and a way to fetch it.
      * constants.py:
        - add constants representing the migration statuses
      * objects.py:
        - add the MigrationStatus object
      * hypervisor/hv_base.py
        - change the FinalizeMigration method name to FinalizeMigrationDst
        - add the FinalizeMigrationSource method
        - add the GetMigrationStatus method
      * hypervisor/hv_kvm.py
        - change the implementation of MigrateInstance to be non-blocking
          (i.e. do not poll the status of the migration)
        - implement the new methods defined in BaseHypervisor
      * backend.py, server/noded.py, rpc.py
        - add methods to call the new hypervisor methods
        - fix documentation of the existing methods to reflect the changes
      * cmdlib.py
        - adapt the logic of TLMigrateInstance._ExecMigration to reflect
          the changes
      Signed-off-by: default avatarAndrea Spadaccini <spadaccio@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
  3. 13 Sep, 2011 1 commit
  4. 30 Aug, 2011 1 commit
  5. 25 Aug, 2011 1 commit
  6. 24 Aug, 2011 1 commit
  7. 04 Aug, 2011 1 commit
  8. 21 Apr, 2011 1 commit
  9. 14 Apr, 2011 1 commit
  10. 08 Mar, 2011 1 commit
    • Apollon Oikonomopoulos's avatar
      Shared block storage support · b6135bbc
      Apollon Oikonomopoulos authored
      This patch introduces basic shared block storage support.
      It introduces a new storage backend, bdev.PersistentBlockDevice, to
      use as a backend for shared block storage. The new bdev requires a new
      BLOCKDEV_DRIVER_MANUAL constant with the value "manual" and uses it as
      the first part of the block device unique_id.
      A new disk template, DT_BLOCK is introduced as well and added to
      DTS_EXT_MIRROR and DTS_MAY_ADOPT. Also added DTS_MUST_ADOPT constant
      and use it to check for the presence of the adopt keyword during LU
      invocation. We enforce the /dev/disk limitation upon adoption, but we
      allow block devices to reside anywhere under /dev.
      This is very basic support and includes no storage manipulation (provisioning,
      resizing, renaming) which will have to be implemented through a "driver"
      Signed-off-by: default avatarApollon Oikonomopoulos <apollon@noc.grnet.gr>
      [iustin@google.com: slight changes to bdev.py]
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
  11. 01 Mar, 2011 1 commit
    • Apollon Oikonomopoulos's avatar
      Core shared file storage support · 4b97f902
      Apollon Oikonomopoulos authored
      This patch introduces core file storage support, consisting of the following:
      A configure-time switch for enabling/disabling shared file storage
      support and controlling the shared file storage location:
      --with-shared-file-storage-dir=.  Shared file storage configuration is then
      available as _autoconf.ENABLE_SHARED_FILE_STORAGE and
      _autoconf.SHARED_FILE_STORAGE_DIR and there is a cluster-wide ssconf
      key named "shared_file_storage_dir" for changing the file location.
      A new disk template named "sharedfile" (DT_SHARED_FILE), using
      Auxiliary functions in lib/config.py to handle shared file storage.
      Signed-off-by: default avatarApollon Oikonomopoulos <apollon@noc.grnet.gr>
      [iustin@google.com: small style fixes]
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
  12. 25 Feb, 2011 1 commit
  13. 24 Feb, 2011 1 commit
  14. 20 Jan, 2011 1 commit
  15. 13 Jan, 2011 1 commit
    • Iustin Pop's avatar
      Fix growing of DRBD disks · 6d33a6eb
      Iustin Pop authored
      Patch 03941a26
       made disk growth VG-aware, but the code has a bug: it
      only works for LD_LV disks, and not LD_DRBD. To fix it, we add a
      generic function to compute the per-VG growth requirements, and switch
      to using that instead of manual build.
      Furthermore, since the function _CheckNodesFreeDiskPerVG always takes
      its input from this new function or _ComputeDiskSizePerVG, we change
      the latter to always return a dict (possibly empty), instead of either
      a dict or None. This makes the types more consistent.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
  16. 11 Jan, 2011 1 commit
  17. 07 Jan, 2011 1 commit
  18. 14 Dec, 2010 1 commit
  19. 13 Dec, 2010 3 commits
  20. 08 Dec, 2010 2 commits
  21. 06 Dec, 2010 1 commit
  22. 02 Dec, 2010 1 commit
    • Dmitry Chernyak's avatar
      Make rpc.call_lv_list() VG-aware · 84d7e26b
      Dmitry Chernyak authored
      Changes to backend.GetVolumeList():
      - now accepts a list of VGs instead of one VG
      - returns LV names in the form "vg_name/lv_name"
      Corresponding changes are done in: VerifyDisks, VerifyNode,
      LUCreateInstance (for both disk creation and adoption cases)
      Now the syntax
      "gnt-instance add ... --disk N:adopt=LV_NAME,vg=VG_NAME"
      as was described earlier in the man page works.
      Signed-off-by: default avatarDmitry Chernyak <dmi.chernyak@gmail.com>
      [iustin@google.com: QA changes for reserved LVs, style fixes and a few
       extra error checks, reviewed by hansmi/rn]
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
  23. 29 Nov, 2010 2 commits
  24. 22 Nov, 2010 1 commit
  25. 27 Oct, 2010 1 commit
  26. 26 Oct, 2010 1 commit
    • Iustin Pop's avatar
      Rename node.nodegroup to node.group · f936c153
      Iustin Pop authored
      In the context of a node, its group has (at least today) only one
      meaning, that is the node's node group. As such, we rename
      node.nodegroup to just node.group.
      Note: if we want to keep node in there, it should be at least
      node_group, for consistency with the other node attributes.
      Similarly, we rename the OpAddNode nodegroup attribute to group.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
  27. 12 Oct, 2010 1 commit
  28. 05 Oct, 2010 1 commit
  29. 30 Sep, 2010 2 commits
    • Iustin Pop's avatar
      Add two new cluster settings · 546b1111
      Iustin Pop authored
      The new variables are:
      - a list of hidden OSes, that should not be displayed to the users in
        interactive selection (e.g. reinstall); however, if they are selected, they
        can be used
      - a list of OSes that should be hidden and blocked from install-time selection
      The filtering will apply at pure OS name level, not OS+variant level.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
    • Iustin Pop's avatar
      Abstract OS name/variant functions · 870dc44c
      Iustin Pop authored
      Currently, the computation of the 'pure' name or the variant is
      hardcoded and spread around the functions that need it. This is not
      nice, and in the future we'd spread it even more with more usage of
      variants/pure os names.
      This patch abstracts these functions into the OS class, and then
      replaces the hardcoded uses with the new functions.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
  30. 15 Sep, 2010 1 commit
  31. 14 Sep, 2010 4 commits
  32. 06 Sep, 2010 1 commit