1. 20 Nov, 2008 1 commit
    • Iustin Pop's avatar
      Change Xen hypervisor to not use iv_name · 2864f2d9
      Iustin Pop authored
      Currently the iv_name is very linux-specific, and will break with the
      multi-disk changes.
      The patch changes this to generate sdX names based on the disk index in
      the disks structure, instead of relying on the iv_name.
      Reviewed-by: imsnah
  2. 19 Nov, 2008 4 commits
  3. 18 Nov, 2008 5 commits
    • Iustin Pop's avatar
      Skip another testWaitingXblocksY · a143be68
      Iustin Pop authored
      The waiting sharer blocks exclusive is another not-possible to test
      right now.
      Sorry for missing it the first time; there are no other testWaiting...
      Reviewed-by: ultrotter
    • Iustin Pop's avatar
      Allow querying of variable number of parameters · 71c1af58
      Iustin Pop authored
      This patch adds support for querying in gnt-instance list of:
        - disk.count
        - nic.count
        - disk.size/$N
        - nic.(ip|mac|bridge)/$N
      The patch also disables the exception raised when the header description
      is missing, that should be fixed in the future (together with better
      handling of variable numeric fields).
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Convert cmdlib.py to _FieldSet · 31bf511f
      Iustin Pop authored
      This patch converts the current usage of _CheckOutputFields to the
      FieldSet class, but it doesn't start to use its variable matching
      Reviewed-by: ultrotter
    • Iustin Pop's avatar
      Add a FieldSet class for variable parameter sets · 6de7c41d
      Iustin Pop authored
      This patch adds a _FieldSet class that can be used for the new variable
      parameter sets: e.g. the sda_size will change to disk/0.size (or
      similar) and we need to both check validity and extract the index of the
      parameter easily.
      The patch also sorts the unittest list in Makefile.am.
      Reviewed-by: ultrotter
    • Iustin Pop's avatar
      Skip the waitingExclusiveBlockSharer test · e6416152
      Iustin Pop authored
      Until we have a way to properly test this, we'll skip the test.
      Reviewed-by: imsnah
  4. 17 Nov, 2008 2 commits
    • Iustin Pop's avatar
      More updates to the documentation · 6c2d0b44
      Iustin Pop authored
      This patch removes the client-api.txt document (since it's obsoleted by
      the documentation inside the design-2.0.rst document) and adds many
      updates to the latter.
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Fix distcheck with the new dot/png rules · b8195800
      Iustin Pop authored
      Adding a new filetype/make rule requires more work than the previous
      patch. Sorry! Now pases distcheck.
      Reviewed-by: imsnah
  5. 16 Nov, 2008 2 commits
    • Iustin Pop's avatar
      Add a cluster architecture diagram · f86e82ef
      Iustin Pop authored
      This adds a simple diagram for the cluster architecture and also adds a
      dependency on graphviz (both doc and in configure).
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Combine the 2.0 design documents into one · 5c0c1eeb
      Iustin Pop authored
      This patch combines all the design documents for 2.0 except the
      security one into a single document, in order to ease reading and reduce
      duplication of information.
      Future patches will start removing wrong pointers to old document names
      and some better integration between the sections.
      Reviewed-by: imsnah
  6. 14 Nov, 2008 2 commits
  7. 12 Nov, 2008 9 commits
  8. 11 Nov, 2008 10 commits
    • Michael Hanselmann's avatar
      ganeti.http: Implement SSL for HTTP client · 438a366a
      Michael Hanselmann authored
      Implementing SSL for the HTTP client required more work than I expected.
      For correct error handling, quite a lot of code is needed. To avoid
      code duplication, I moved a lot of the socket handling code into a
      single function named _SocketOperation. It takes care of the polling
      and error handling for OpenSSL. At the same time, the functions calling
      it become a lot smaller.
      This patch brings a few more changes:
      - Error handling for socket.connect_ex (e.g. name resolution failures)
      - Rename "ResponseError" exception class to "_HttpClientError" --
        it's an internal class anyway
      Reviewed-by: iustinp
    • Michael Hanselmann's avatar
      ganeti.daemon: Add timers to Mainloop · b11c9e5c
      Michael Hanselmann authored
      This is a fallout from my work on the HTTP client class. Repeating
      timers are prepared, but not yet implemented.
      Reviewed-by: iustinp
    • Iustin Pop's avatar
      Convert trunk to posix-compatibility · d868edb4
      Iustin Pop authored
      We change two functions to use RunCmd without shell, and the other
      (which needs a ssh command line) is changed to the '>... 2>&1' syntax.
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Abstract runtime creation of dirs into a function · 8adbffaa
      Iustin Pop authored
      Currently the dir creation in ganeti-noded is in the main function. This
      is not nice: we move it into a separate function and also add creation
      of the OS_LOG_DIR (with different permissions, but in the same way).
      This will permit cleanup of the creation of the OS_LOG_DIR from the
      backend module (it's done multiple places currently).
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Remove zombie special case from IsProcessAlive · 44bf25ff
      Iustin Pop authored
      Based on the discussion on the mailing list, we remove the special
      casing of zombie processes.
      Note we don't use kill -0 since that has a different meaning than "check
      process is alive", so this function is still linux-specific.
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Add cleanup of processes to utils.KillProcess · ff5251bc
      Iustin Pop authored
      In case the process we want to signal is our own process, and the signal
      we send is a deadly one, we should also cleanup after the process.
      This patch adds a new parameter waitpid to this function that does this,
      and changes its unittest to pass this new parameter.
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Fix instance rename · cb4e8387
      Iustin Pop authored
      As can be seen from the patch, we remove from the locking manager
      inst.name. However, we do this right after cfg.RenameInstance, which
      changes inst.name to the new name. So we need to remove old_name not
      the new name.
      The real question is why does the glm allow me to remove a not-existing
      instance name...
      The symptom before the patch was: run rename, then:
      $ gnt-instance list
      Unhandled protocol error while talking to the master daemon:
      Caught exception: 'NoneType' object has no attribute 'primary_node'
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Make the makefile not recreate ganeti every time · 01f3e7b1
      Iustin Pop authored
      Currently the makefile always recreates the ganeti symlink. Make it so
      that it does only when it doesn't exist or it's not a symlink.
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Fix gnt-instance reinstall · bb2ee932
      Iustin Pop authored
      Commit 1881 changed a rpc call but didn't fix all its users. This should
      fix it (but I can't test as HTTP is broken).
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Implement working directory for utils.RunCmd · 8797df43
      Iustin Pop authored
      In order to replace usage of the shell just for 'cd %s; ...' we need to
      be able to specify the working directory for childs.
      The patch also changes the default working directory (when not
      specified) to "/", as opposed to the current dir; since the daemos run
      with cwd=/ anyway, this should not change things.
      Reviewed-by: imsnah
  9. 10 Nov, 2008 3 commits
  10. 07 Nov, 2008 1 commit
  11. 06 Nov, 2008 1 commit
    • Michael Hanselmann's avatar
      Add new HTTP client class · 8a0b06d2
      Michael Hanselmann authored
      It is based on the WorkerPool class which is already used for the job
      queue and master daemon. Each request must be encapsulated in an
      instance of HttpClientRequest, which will then be passed to
      HttpClientManager for processing. Upon completion, the request object
      contains the response or error message.
      While not yet enabled, the HTTP client implementation has been designed
      with HTTP/1.1 and keep-alive in mind. For now it only uses HTTP/1.0,
      HttpClientManager will likely need more changes when integrating with
      the RPC layer. SSL will also be integrated in a second step.
      Reviewed-by: iustinp, ultrotter