1. 22 Nov, 2011 1 commit
  2. 16 Nov, 2011 1 commit
  3. 14 Nov, 2011 1 commit
  4. 10 Nov, 2011 1 commit
  5. 04 Nov, 2011 1 commit
  6. 03 Nov, 2011 1 commit
  7. 12 Oct, 2011 1 commit
    • Iustin Pop's avatar
      Rename filter and filter_ to qfilter · 2e5c33db
      Iustin Pop authored
      
      
      We currently use 'filter' as the OpCode, QueryRequest and RAPI field
      name for representing a query filter. However, since 'filter' is a
      built-in function, we actually have to use filter_ throughout the code
      in order to not override the built-in function.
      
      This patch simply goes and does a global sed over the code. Due to the
      fact that the RAPI interface already exposed this field, we add
      compatibility code for now which handles both forms.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      2e5c33db
  8. 05 Oct, 2011 1 commit
  9. 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>
      6a1434d7
  10. 13 Sep, 2011 1 commit
  11. 30 Aug, 2011 1 commit
  12. 25 Aug, 2011 1 commit
  13. 24 Aug, 2011 1 commit
  14. 04 Aug, 2011 1 commit
  15. 21 Apr, 2011 1 commit
  16. 14 Apr, 2011 1 commit
  17. 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"
      framework.
      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>
      b6135bbc
  18. 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
      ganeti.bdev.FileStorage.
      
      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>
      4b97f902
  19. 25 Feb, 2011 1 commit
  20. 24 Feb, 2011 1 commit
  21. 20 Jan, 2011 1 commit
  22. 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>
      6d33a6eb
  23. 11 Jan, 2011 1 commit
  24. 07 Jan, 2011 1 commit
  25. 14 Dec, 2010 1 commit
  26. 13 Dec, 2010 3 commits
  27. 08 Dec, 2010 2 commits
  28. 06 Dec, 2010 1 commit
  29. 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>
      84d7e26b
  30. 29 Nov, 2010 2 commits
  31. 22 Nov, 2010 1 commit
  32. 27 Oct, 2010 1 commit
  33. 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>
      f936c153
  34. 12 Oct, 2010 1 commit
  35. 05 Oct, 2010 1 commit
  36. 30 Sep, 2010 1 commit
    • 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>
      546b1111