Skip to content
Snippets Groups Projects
  1. Jun 22, 2011
    • Apollon Oikonomopoulos's avatar
      Add config objects and methods for IP pools · 62a7762b
      Apollon Oikonomopoulos authored
      
      This patch introduces the following changes to lib.config and lib.objects to
      facilitate IP pool management.
      
      - Add a "networks" key to objects.cluster to hold link -> subnet relations.
        Each link is assumed to be associated with at most one IPv4 and at most one
        IPv6 subnet. Currently only IPv4 subnets are used.
      - Add a TemporaryReservationManager for IP address reservations.
      - Add config.{_UnlockedCommitIp,CommitIp,_UnlockedReleaseIp,ReleaseIp} to write
        IP pool changes to the config file.
      - Add config.{ReserveIp,GenerateIp} for use with the _temporary_ips
        TemporaryReservationManager.
      - Commit succesful reservations/releases to the IP pools in config.AddInstance
        and config.RemoveInstance
      
      Signed-off-by: default avatarApollon Oikonomopoulos <apollon@noc.grnet.gr>
      62a7762b
  2. Apr 20, 2011
    • Iustin Pop's avatar
      Fix shared_file_storage_dir on upgrades · 528140fb
      Iustin Pop authored
      
      If the cluster was upgraded from 2.4 or earlier, this key won't exist
      (it's only set to a correct value on cluster init), so we need to
      properly set it to a null string (disabled).
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      528140fb
    • Apollon Oikonomopoulos's avatar
      Shared block storage support · 391d0261
      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>
      391d0261
    • Apollon Oikonomopoulos's avatar
      Core shared file storage support · 53197381
      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>
      53197381
  3. Feb 25, 2011
  4. Jan 20, 2011
  5. Jan 13, 2011
    • 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
  6. Jan 11, 2011
  7. Jan 07, 2011
  8. Dec 14, 2010
  9. Dec 13, 2010
  10. Dec 08, 2010
  11. Dec 06, 2010
  12. Dec 02, 2010
    • 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
  13. Nov 29, 2010
  14. Nov 22, 2010
  15. Oct 27, 2010
  16. Oct 26, 2010
  17. Oct 12, 2010
  18. Oct 05, 2010
  19. Sep 30, 2010
    • 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
    • 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>
      870dc44c
  20. Sep 15, 2010
  21. Sep 14, 2010
  22. Sep 06, 2010
  23. Aug 19, 2010
  24. Jul 26, 2010
  25. Jul 08, 2010
  26. Jul 06, 2010
  27. Jun 28, 2010
  28. Jun 23, 2010
Loading