1. 19 Dec, 2008 2 commits
  2. 17 Dec, 2008 1 commit
    • Michael Hanselmann's avatar
      Add job queue size limit · f87b405e
      Michael Hanselmann authored
      A job queue with too many jobs can increase memory usage and/or make
      the master daemon slow. The current limit is just an arbitrary number.
      A "soft" limit for automatic job archival is prepared.
      
      Reviewed-by: iustinp
      f87b405e
  3. 16 Dec, 2008 2 commits
  4. 09 Dec, 2008 1 commit
    • Michael Hanselmann's avatar
      RPC: Compress file upload data · 12bce260
      Michael Hanselmann authored
      Adding compression to larger amounts of data is more efficient than
      transferring it (len(nodes) - 1) times over the network without
      compression. We were able to compress a 800KB config file to about
      30 KB, which is about 40 KB with Base64 encoding (required due to
      the way SimpleJson handles strings).
      
      Reviewed-by: ultrotter
      12bce260
  5. 05 Dec, 2008 1 commit
  6. 03 Dec, 2008 1 commit
  7. 02 Dec, 2008 5 commits
    • Iustin Pop's avatar
      Fix gnt-cluster verify w.r.t. rpc changes · 25361b9a
      Iustin Pop authored
      This partially reorganizes the cluster verify LU:
        - introduce constants for the node verify rpc call
        - move from additional rpc calls to a single rpc call, the
          call_node_info, which gaters all data needed
      
      Also fix a small error (self.LogWarning instead of self.Warning).
      
      Reviewed-by: imsnah
      25361b9a
    • Iustin Pop's avatar
      burnin: add instance reinstall and reboot · 00f91f29
      Iustin Pop authored
      These two operations were missing from burnin. The reboot is done with
      all valid modes (a new constant is added), and the reinstall is done
      both with and without specifying the OS (to account for the two code
      paths in the LU).
      
      Reviewed-by: imsnah
      00f91f29
    • Guido Trotter's avatar
      Add constants.VALUE_TRUE and VALUE_FALSE · 1817f49b
      Guido Trotter authored
      Reviewed-by: imsnah
      1817f49b
    • Iustin Pop's avatar
      Add the list of master candidates to ssconf · f56618e0
      Iustin Pop authored
      Reviewed-by: imsnah
      f56618e0
    • Iustin Pop's avatar
      Revert "Get rid of ssconf" · 93384844
      Iustin Pop authored
      This partially reverts the "Get rid of ssconf" patch.
      
      It adds back a simpler version of the SimpleStore class, and drops the
      WritableSimpleStore class. The new version of the class also has
      node_list as a new key, and increases the size of the keys so that big
      clusters will fit the node list. Also, the SS_* constants are moved to
      constants.py, since the ConfigWriter class will need them too in order
      to generate the values dictionary.
      
      It also changes the GetMasterAndMyself function to use the SimpleStore
      by default, and the backend._GetConfig to use it too (it has all the
      needed keys).
      
      Reviewed-by: imsnah
      93384844
  8. 28 Nov, 2008 1 commit
  9. 26 Nov, 2008 1 commit
  10. 25 Nov, 2008 4 commits
    • Guido Trotter's avatar
      Move the MASTER_SOCKET to SOCKET_DIR · 227647ac
      Guido Trotter authored
      Before it was in the abstract linux namespace, where unfortunately we
      couldn't easily check from python the credentials of the connecting
      clients. Now we also have to remove the file on exit and when starting.
      
      Reviewed-by: imsnah
      227647ac
    • Guido Trotter's avatar
      Add SOCKET_DIR_MODE constant · 5ecb7e48
      Guido Trotter authored
      We want the socket dir to have a restricted permission.
      
      Reviewed-by: imsnah
      5ecb7e48
    • Guido Trotter's avatar
      Add SOCKET_DIR constant · b4442fd9
      Guido Trotter authored
      This new directory under /var/run will be used for file based unix
      sockets.
      
      Reviewed-by: imsnah
      b4442fd9
    • Iustin Pop's avatar
      Implement support for multi devices changes · 24991749
      Iustin Pop authored
      This big patch adds support for:
        - changing NIC/disks in the multi-device model
        - adding/removing NICs
        - adding/removing disks
      
      The patch is big and not very nice; the error checking paths are not
      very clear.
      
      The biggest problem is that from a simple instance.ATTR=VAL change
      (which didn't throw errors before) now we are creating and removing
      disks in this LU.
      
      Reviewed-by: imsnah
      24991749
  11. 21 Nov, 2008 1 commit
  12. 20 Nov, 2008 2 commits
    • Michael Hanselmann's avatar
      ganeti.ssconf: Add function to write ssconf files · 0c223ea9
      Michael Hanselmann authored
      This function will be used to write ssconf files from the node daemon.
      By creating a lock file, we synchronize different child processes of
      ganeti-noded to not overwrite each other's changes. Also, external
      processes could use this lock to make sure they don't read ssconf
      files while changes are going on.
      
      The socket module is not used (anymore) in ganeti.ssconf, removing it.
      
      Reviewed-by: iustinp
      0c223ea9
    • Iustin Pop's avatar
      Initial multi-disk/multi-nic support · 08db7c5c
      Iustin Pop authored
      This patch adds support for mult-disk/multi-nic in:
        - instance add
        - burnin
      
      The start/stop/failover/cluster verify work as expected. Replace disk
      and grow disk are TODO.
      
      There's also a change gnt-job to allow dictionaries to be listed in
      gnt-job info.
      
      Reviewed-by: imsnah
      08db7c5c
  13. 21 Oct, 2008 1 commit
    • Iustin Pop's avatar
      Fix whitespace-at-EOL · 16653425
      Iustin Pop authored
      Please configure your editors to strip it, or enable your git hooks...
      
      Reviewed-by: ultrotter
      16653425
  14. 20 Oct, 2008 1 commit
    • Guido Trotter's avatar
      Add VALUE_AUTO and VALUE_GENERATE constants · 4c566ede
      Guido Trotter authored
      'auto' is used in multiple place in the code with a meaning similar to
      'default', 'generate' will be used to force generation of mac addresses
      when the default would be to reuse an old one.
      
      Forward-port-of: r1884, Reviewed-by: iustinp
      
      Reviewed-by: imsnah
      4c566ede
  15. 18 Oct, 2008 1 commit
  16. 17 Oct, 2008 3 commits
  17. 16 Oct, 2008 1 commit
  18. 15 Oct, 2008 1 commit
    • Iustin Pop's avatar
      Implement the job queue drain flag · 686d7433
      Iustin Pop authored
      We add a (per-node) queue drain flag that blocks new job submission.
      There is not yet an interface to add/remove the flag (will come in next
      patches).
      
      Reviewed-by: imsnah
      686d7433
  19. 14 Oct, 2008 4 commits
  20. 08 Oct, 2008 1 commit
    • Iustin Pop's avatar
      Sanitize the hypervisor names · 00cd937c
      Iustin Pop authored
      Since in 2.0 the user will possibly have more interaction with the
      hypervisor names, we sanitize them by removing the version numbers
      (the version can be a prerequisite for the ganeti installation, we
      shouldn't document it in variable names).
      
      Reviewed-by: schreiberal
      00cd937c
  21. 07 Oct, 2008 1 commit
    • Iustin Pop's avatar
      Implement job 'waiting' status · e92376d7
      Iustin Pop authored
      Background: when we have multiple jobs in the queue (more than just a
      few), many of the jobs (up to the number of threads) will be in state
      'running', although many of them could be actually blocked, waiting for
      some locks. This is not good, as one cannot easily see what is
      happening.
      
      The patch extends the opcode/job possible statuses with another one,
      waiting, which shows that the LU is in the acquire locks phase. The
      mechanism for doing so is simple, we initialize (in the job queue) the
      opcode with OP_STATUS_WAITLOCK, and when the processor is ready to give
      control to the LU's Exec, it will call a notifier back into the
      _JobQueueWorker that sets the opcode status to OP_STATUS_RUNNING (with
      the proper queue locking). Because this mechanism does not save the job,
      all opcodes on disk will be in status WAITLOCK and not RUNNING anymore,
      so we also change the load sequence to consider WAITLOCK as RUNNING.
      
      With the patch applied, creating in parallel (via burnin) five instances
      on a five node cluster shows that only two are executing, while three
      are waiting for locks.
      
      Reviewed-by: imsnah
      e92376d7
  22. 01 Oct, 2008 1 commit
  23. 29 Sep, 2008 2 commits
    • Iustin Pop's avatar
      Move a hardcoded constant to constants.py · 3c03759a
      Iustin Pop authored
      For now we only use the ‘C’ protocol so we can put it in constants.py
      instead of hardcoding it.
      
      Reviewed-by: imsnah
      3c03759a
    • Iustin Pop's avatar
      Enable the use of shared secrets · 2899d9de
      Iustin Pop authored
      This patch enables the use of the shared secrets for DRBD8 disks, using
      (hardcoded in constants.py) the md5 digest algorithm.
      
      For making this more flexible, either we implement a cluster parameter
      (once the new model is in place), or we can make it ./configure-time
      selectable.
      
      Reviewed-by: imsnah
      2899d9de
  24. 09 Sep, 2008 1 commit