1. 21 Dec, 2012 3 commits
  2. 20 Dec, 2012 1 commit
    • Constantinos Venetsanopoulos's avatar
      Implement the External Storage Interface · 376631d1
      Constantinos Venetsanopoulos authored
      
      
      With this commit we introduce the External Storage Interface
      to Ganeti, abbreviated: ExtStorage Interface.
      
      The ExtStorage Interface provides Ganeti with the ability to interact
      with externally connected shared storage pools, visible by all
      VM-capable nodes. This means that Ganeti is able to handle VM disks
      that reside inside a NAS/SAN or any distributed block storage provider.
      
      The ExtStorage Interface provides a clear API, heavily inspired by the
      gnt-os-interface API, that can be used by storage vendors or sysadmins
      to write simple ExtStorage Providers (correlated to gnt-os-interface's
      OS Definitions). Those Providers will glue externally attached shared
      storage with Ganeti, without the need of preprovisioned block devices
      on Ganeti VM-capable nodes as confined be the current `blockdev' disk
      template.
      
      To do so, we implement a new disk template called `ext' (of type
      DTS_EXT_MIRROR) that passes control to externally provided scripts
      (the ExtStorage Provider) for the template's basic functions:
      
       create / attach / detach / remove / grow
      
      The scripts reside under ES_SEARCH_PATH (correlated to OS_SEARCH_PATH)
      and only one ExtStorage Provider is supported called `ext'.
      
      The disk's logical id is the tuple ('ext', UUID.ext.diskX), where UUID
      is generated as in disk template `plain' and X is the disk's index.
      Signed-off-by: default avatarConstantinos Venetsanopoulos <cven@grnet.gr>
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      [iustin@google.com: small simplification in bdev code, pylint fixes]
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      376631d1
  3. 04 Dec, 2012 1 commit
    • Michael Hanselmann's avatar
      iallocator: Add node whitelist · fb60bc6a
      Michael Hanselmann authored
      
      
      In the future instance creations might have a lock on all nodes as was
      the case until the implementation of opportunistic locking. Nodes for
      which the lock is not held will be shown to the iallocator plugin as if
      they were marked offline.
      
      This patch adds a new parameter named “node_whitelist” to
      “IAReqInstanceAlloc”. If set to a list, only nodes contained within are
      shown as online.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarHelga Velroyen <helgav@google.com>
      fb60bc6a
  4. 20 Nov, 2012 2 commits
  5. 26 Sep, 2012 1 commit
  6. 24 Sep, 2012 2 commits
  7. 18 Sep, 2012 1 commit
  8. 12 Sep, 2012 7 commits
  9. 10 May, 2012 1 commit
    • René Nussbaumer's avatar
      cmdlib: Adapt the rpc calls · 62bfbc7d
      René Nussbaumer authored
      
      
      The following (blockdev) RPC calls are not converted yet (as they are
      not straight forward or need more research):
      
      * bdev_sizes
      * blockdev_remove
      * blockdev_shutdown
      * blockdev_removechildren
      * blockdev_close
      * blockdev_getsize
      * drbd_disconnect_net
      * blockdev_rename (has already a special encoder, needs further research
        if needed at all)
      * blockdev_getmirrorstatus (not sure if we have everywhere a clear link
        to the instance the disk belongs)
      * blockdev_getmirrorstatus_multi (same here, further research)
      
      Then special cases where we take care later in the patch series:
      
      * blockdev_create (special cased)
      * blockdev_find (special cased, like blockdev_create)
      Signed-off-by: default avatarRené Nussbaumer <rn@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      62bfbc7d
  10. 22 Mar, 2012 1 commit
  11. 01 Dec, 2011 1 commit
  12. 01 Nov, 2011 1 commit
  13. 29 Sep, 2011 1 commit
  14. 03 Aug, 2011 2 commits
  15. 29 Jul, 2011 1 commit
  16. 03 Feb, 2011 1 commit
    • Iustin Pop's avatar
      Import-export: fix logging of daemon output · c9300bb3
      Iustin Pop authored
      
      
      In case of failures, the recent daemon output is logged as %r on a
      list of unicode strings, which results in the (ugly):
      
      Thu Feb  3 05:13:34 2011 snapshot/0 failed to send data: Exited with status 1 (recent output: [u'  DUMP: Date of this level 0 dump: Thu Feb  3 05:13:18 2011', u'  DUMP: Dumping /dev/mapper/6369a5f7-1e67-4d0d-a4f0-956b3649c6d7.disk0_data.snap-1 (an unlisted file system) to standard output', u'  DUMP: Label: none', u'  DUMP: Writing 10 Kilobyte records', u'  DUMP: mapping (Pass I) [regular files]', u'  DUMP: mapping (Pass II) [directories]', u'  DUMP: estimated 54301 blocks.', u'  DUMP: Volume 1 started with block 1 at: Thu Feb  3 05:13:19 2011', u'  DUMP: dumping (Pass III) [directories]', u'  DUMP: dumping (Pass IV) [regular files]', u'socat: E SSL_write(): Connection reset by peer', u"dd: dd: writing `standard output': Broken pipe", u'  DUMP: Broken pipe', u'  DUMP: The ENTIRE dump is aborted.'])
      
      This patch joins this list and makes it a non-unicode string, thus
      resulting in the more readable (and ~10% shorter):
      
      Thu Feb  3 05:16:04 2011 snapshot/0 failed to send data: Exited with status 1 (recent output:   DUMP: Date of this level 0 dump: Thu Feb  3 05:15:58 2011\n  DUMP: Dumping /dev/mapper/6369a5f7-1e67-4d0d-a4f0-956b3649c6d7.disk0_data.snap-1 (an unlisted file system) to standard output\n  DUMP: Label: none\n  DUMP: Writing 10 Kilobyte records\n  DUMP: mapping (Pass I) [regular files]\n  DUMP: mapping (Pass II) [directories]\n  DUMP: estimated 54350 blocks.\n  DUMP: Volume 1 started with block 1 at: Thu Feb  3 05:15:59 2011\n  DUMP: dumping (Pass III) [directories]\nsocat: E SSL_write(): Connection reset by peer\ndd: dd: writing `standard output': Broken pipe\n  DUMP: Broken pipe\n  DUMP: The ENTIRE dump is aborted.)
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      c9300bb3
  17. 20 Jan, 2011 1 commit
  18. 02 Dec, 2010 1 commit
  19. 29 Nov, 2010 1 commit
  20. 18 Aug, 2010 1 commit
  21. 10 Aug, 2010 1 commit
  22. 09 Jul, 2010 1 commit
  23. 28 Jun, 2010 1 commit
    • Guido Trotter's avatar
      Remove pred from compat.any/all · 403f5172
      Guido Trotter authored
      
      
      This makes it compatible with the python builtin, and we can even use
      the builtin when running under the right version of python. The all and
      any functions are renamed to _all and _any, so that they can be tested,
      and (non)existing unittests are updated (translation: there are no unit
      tests, so none are updated).
      
      This patch also moves the code deciding which partial to use next to
      the definition of the _partial function, rather than after TryToRoman.
      Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      403f5172
  24. 14 Jun, 2010 4 commits
  25. 08 Jun, 2010 2 commits