1. 20 May, 2009 1 commit
  2. 19 May, 2009 4 commits
    • Iustin Pop's avatar
      Fix the SafeEncoding behaviour · d392fa34
      Iustin Pop authored
      
      
      Currently we have bad behaviour in SafeEncode:
        - binary strings are actually not handled correctly (ahem)
        - the encoding is not stable, due to use of string_escape
      
      For this reason, we replace the use of string_escape with part of the
      code of string escape (PyString_Repr in Objects/stringobject.c); we
      don't escape backslashes or single quotes, since that is that makes it
      nonstable. Furthermore, we only use the encode('ascii', ...) for unicode
      inputs.
      
      The patch also adds unittests for the function that test basic
      behaviour.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      d392fa34
    • Iustin Pop's avatar
      Move more hypervisor strings into constants · 835528af
      Iustin Pop authored
      
      
      This patch adds constants for the mouse and boot order strings; while
      there are still some issues remaining, we're trying to cleanup hardcoded
      strings from the hypervisors.
      
      Since the formatting of frozensets is currently wrong, we also add an
      utility function for this and change all the error messages to use it.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      835528af
    • Iustin Pop's avatar
      Add -H/-B startup parameters to gnt-instance · d04aaa2f
      Iustin Pop authored
      
      
      This patch modifies the start instance script, opcode and logical unit
      to support temporary startup parameters.
      
      Different from 1.2, where only the kernel arguments were supporting
      changes (and thus xen-pvm specific), this version supports changing all
      hypervisor and backend parameters (with appropriate checks).
      
      This is much more flexible, and allows for example:
        - start with different, temporary kernel
        - start with different memory size
      
      Note: in later versions, this should be extended to cover disk
      parameters as well (e.g. start with drbd without flushes, start with
      drbd in async mode, etc.).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      d04aaa2f
    • Iustin Pop's avatar
      call_instance_start: add optional hv/be parameters · 0eca8e0c
      Iustin Pop authored
      
      
      This patch modifies the rpc.call_instance_start - the master side - to
      take optional hv/be parameters. The noded side is unchanged and
      oblivious to the change.
      
      This will allow implementation of single-user capability and such on
      startup (temporary, as opposed to permanent).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      0eca8e0c
  3. 18 May, 2009 1 commit
  4. 15 May, 2009 2 commits
  5. 13 May, 2009 4 commits
  6. 11 May, 2009 1 commit
  7. 07 May, 2009 2 commits
  8. 06 May, 2009 3 commits
  9. 05 May, 2009 6 commits
  10. 04 May, 2009 5 commits
  11. 27 Apr, 2009 1 commit
  12. 24 Apr, 2009 5 commits
    • Guido Trotter's avatar
      Update gnt-instance(8) for info · d09ebf6f
      Guido Trotter authored
      Add the --all argument, and reword a bit the basic information.
      
      Reviewed-by: iustinp
      d09ebf6f
    • Guido Trotter's avatar
      gnt-instance info --all · 220cde0b
      Guido Trotter authored
      Don't show all instances info by default, but require --all to be passed
      for this time consuming operation.
      
      Reviewed-by: iustinp
      220cde0b
    • Iustin Pop's avatar
      LUDiagnoseOS: change locking and error handling · a6ab004b
      Iustin Pop authored
      Since the “list OSes” call is exported via RAPI, this can be used pretty
      easily to DOS the master daemon during long jobs.
      
      The implementation of LUDiagnoseOS makes an RPC call to all nodes; we
      lock nodes here in order to prevent node removal.
      
      However, after closer examination, the worst case is:
        - we get the list of nodes from the config
        - another thread removes a node
        - our RPC queries reach the removed node
      
      As this point, if ganeti-noded is stopped or doesn't accept our queries,
      the RPC call will return failed, and in the current implementation all
      OSes will become invalid.
      
      If we change the ‘failed RPC’ handling to ignore such nodes, this allows
      us to both remove locking, and to handle transient RPC failures better
      (not invalidating all OSes).
      
      This patch does both these things, with a single drawback: in gnt-os
      diagnose, the down nodes do not appear at all. I think this is a small
      drawback, and the alternative is to add them with status failed; this
      works (3-line patch), but then the output of “list” and “diagnose” will
      no longer be consistent. As such, my proposal is to not list the nodes.
      
      Reviewed-by: ultrotter
      a6ab004b
    • Iustin Pop's avatar
      Fix verify-disks with broken volume groups · ea9ddc07
      Iustin Pop authored
      When a remote node returns invalid LVM data, we check it, but we don't
      stop and continue with the rest of the checks (which require a valid
      volume group). This raises an internal error and breaks verify disks.
      
      This seems unchanged for a long while, I don't know why it surfaced just
      recently.
      
      Reviewed-by: ultrotter
      ea9ddc07
    • Iustin Pop's avatar
      Prevent errors when xenvg is broken cluster verify · 9a198532
      Iustin Pop authored
      When vg_name is not returned at all, we currently abort with an internal
      error. This is because we don't catch KeyError.
      
      This patch adds a custom message for this case, and also adds KeyError
      to the list of catched exceptions, just for safety.
      
      On the other hand, we could also just remove this piece of code since
      it's not used at all the ["dfree"] value.
      
      Reviewed-by: ultrotter
      9a198532
  13. 15 Apr, 2009 1 commit
    • Iustin Pop's avatar
      A bunch of doc and other small fixes · 949bdabe
      Iustin Pop authored
      This patch adds a couple of both externally and internally reported
      issues:
        - missing SGML tags (Issue 54), report and patch by superdupont
        - wrong variable used in the init.d script, report and patch by
          Karsten Keil <karsten-keil@t-online.de>
        - man page for gnt-instance reinstall needs clarification (Issue 56)
        - gnt-instance man page missing --disks documentation for
          replace-disks
        - gnt-node modify help output is unclear about the -C/-D/-O input
          format, and the man page doesn't document this command at all
        - “gnt-node modify -C yes” for offline or drained nodes had wrong
          error message
        - “gnt-instance reinstall --select-os” has wrong prompt, we only
          accept a number for the OS and not the template name
      
      Reviewed-by: ultrotter
      949bdabe
  14. 14 Apr, 2009 1 commit
  15. 08 Apr, 2009 1 commit
    • Iustin Pop's avatar
      Release 2.0rc3 · 5bbefdec
      Iustin Pop authored
      Burnin tests were successful, release rc3.
      
      Reviewed-by: imsnah
      5bbefdec
  16. 07 Apr, 2009 1 commit
    • Iustin Pop's avatar
      Distribute built documentation · 2ab2b9f5
      Iustin Pop authored
      This patch changes the way documentation is built in order to distribute
      the generated output in the 'dist' archive, and thus no longer
      requiring the presence of the docbook/rst toolchains during build time.
      This will lower the requirements for installation and also makes the
      build time insignificant.
      
      First, we remove the docbook2pdf rules and variables, since we no longer
      build this kind of docs. Furthermore, the rst source files are not
      (today) processed via replace_vars_sed, so the whole .in rules for doc/
      go away.
      
      Next, we change the ".sgml|.rst -> replace_vars_sed -> .in -> processor
      -> final file" processing to ".sgml|.rst -> generator -> .in ->
      replace_vars_sed -> final file"; this means we first process the file
      using the formatter, with the @VARIABLE@ entries in it, and save the
      output as .in; this output we distribute, and on the user side, the
      replace_vars_sed will use the new configure flags to transform the
      (almost final .in form) to the final form, without needing the
      toolchain.
      
      In configure.ac we also change from ERROR to WARN for the documentation
      generators, and extra tests in Makefile.am check that the programs have
      been found.
      
      This was tested with distcheck and works as expected.
      
      Reviewed-by: ultrotter
      2ab2b9f5
  17. 06 Apr, 2009 1 commit
    • Iustin Pop's avatar
      Disable synchronous (locking) queries · 77921a95
      Iustin Pop authored
      This patch raises an error in the master daemon in case the user
      requests a locking query; accordingly, all clients were modified to send
      only lockless queries. This is short-term fix, for proper fix the
      clients should be modified to submit a job when the user request a
      locking query.
      
      The other approach would be to ignore the flag passed by the client;
      this would be worse as client's wouldn't get at least an error.
      
      The possible impact of this is multiple:
        - some commands could have been not converted, and thus fail; this
          can be remedied easily
        - the consistency of commands is lost; e.g. node failover will not
          lock the node *while we get the node info*, so we could miss some
          data; this is again in the thread of atomic operations which are
          missing in the current model of query-and-act from gnt-* scripts
      
      Reviewed-by: imsnah, ultrotter
      77921a95