1. 12 Mar, 2009 1 commit
  2. 10 Mar, 2009 1 commit
  3. 09 Mar, 2009 3 commits
    • Iustin Pop's avatar
      watcher: fix startup sequence locking the master · cc962d58
      Iustin Pop authored
      Currently, the watcher startup sequence does:
        - open a luxi client
        - get the instance list
        - get the node boot ids
        - open and lock the status file, and:
          - archive jobs
          - restart the down instances
          - check disks
      
      This, of course, can lead to problems when a node is (genuinely or not)
      locked for more than (watcher interval * maximum query clients) time. At
      that time, the master is completely unresponsive until the node is
      unlocked and all the watchers exit with error due to the state file
      being locked by the first instance.
      
      This patch reworks the startup sequence to first open/lock the status
      file, and only then open a luxi client. This should prevent the above
      case.
      
      Reviewed-by: ultrotter
      cc962d58
    • Iustin Pop's avatar
      Handle ghost instances in temp DRBD map · c614e5fb
      Iustin Pop authored
      Currently cluster-verify doesn't handle the (admitedly invalid) case where we
      have reservation for instances that were removed in the meantime.
      
      This patch adds a check for this and prevents code errors in cluster-verify in
      this case:
       * Verifying node node4.example.com (master candidate)
         - ERROR: ghost instance \'instance3.example.com\' in temporary DRBD map
      
      Reviewed-by: imsnah
      c614e5fb
    • Iustin Pop's avatar
      Fix error handling in replace-disks with new node · 82759cb1
      Iustin Pop authored
      Currently the _CreateSingleBlockDev function only raises OpExecError and not
      BlockDeviceError. This means that we don't release the instance's temporary
      minors properly, and this creates problems later if the instance is removed
      without master restart.
      
      We could just use OpExecError, but adding it and leaving
      BlockDeviceError in seems safer.
      
      Reviewed-by: imsnah
      82759cb1
  4. 06 Mar, 2009 1 commit
    • Iustin Pop's avatar
      Fix serial_no field on instances · 6f285030
      Iustin Pop authored
      The instance objects did not get a serial_no field. This patch adds a
      new constants for the field name and uses it for all three cases
      (cluster, nodes, instances).
      
      Reviewed-by: imsnah
      6f285030
  5. 05 Mar, 2009 1 commit
    • Guido Trotter's avatar
      Update gnt-cluster(8) for be/hyp parameter syntax · 555918b3
      Guido Trotter authored
      Now it displays:
      
      --hypervisor-parameters hypervisor:hv-param=value [ ,hv-param=value ... ]
      --backend-parameters be-param=value [ ,be-param=value ... ]
      
      Sorry for the super-long lines :( Is there a better way to insert spaces
      without pushing them to the resulting man page?
      
      Reviewed-by: iustinp
      555918b3
  6. 04 Mar, 2009 3 commits
    • Iustin Pop's avatar
      Complete the cfgupgrade script for 2.0 migrations · ac4d25b6
      Iustin Pop authored
      This patch makes the cfgupgrade script to handle:
        - instance changes
        - disk changes
        - further cluster fixes
        - adds configuration checks at the end, in non-dry-run mode
      
      Reviewed-by: ultrotter
      ac4d25b6
    • Iustin Pop's avatar
      First run at cfgupgrade for 2.0 upgrades · a421fdeb
      Iustin Pop authored
      This patch makes cfgupgrade work on empty cluster (i.e. no instances),
      up to a point that the config file can be converted from 1.2 to 2.0.
      This is not yet complete, though.
      
      Reviewed-by: ultrotter
      a421fdeb
    • Iustin Pop's avatar
      Fix bash completion for cluster copyfile/command · 75615bd3
      Iustin Pop authored
      “copyfile” takes a file argument, so we enable file-completion for it.
      “gnt-cluster command” takes a command, so we enable command completion.
      
      Reviewed-by: imsnah
      75615bd3
  7. 02 Mar, 2009 6 commits
    • Iustin Pop's avatar
      Release 2.0rc1 · a2370b24
      Iustin Pop authored
      This patch updates the NEWS file and increases the version to 2.0 rc1.
      
      Reviewed-by: ultrotter
      a2370b24
    • Iustin Pop's avatar
      Export tags to cluster verify hooks · 35e994e9
      Iustin Pop authored
      This patch export the cluster and node tags to the cluster verify hook
      scripts. The tags are exported as a space-separated list, which allows
      easy parsing from the shell (e.g. “for tag in $GANETI_CLUSTER_TAGS; do
      ...”) and therefore requires the previous “Don't allow spaces in tag
      names” patch.
      
      The patch also fixes a minor line length style problem.
      
      Reviewed-by: ultrotter
      35e994e9
    • Iustin Pop's avatar
      Don't allow spaces in tag names · 28ab6fed
      Iustin Pop authored
      This patch restricts the use of spaces in tags, as this does not allow
      nice exporting of tags to environment in hooks. One can use underscores
      or dashes instead of spaces.
      
      Reviewed-by: schreiberal
      28ab6fed
    • Iustin Pop's avatar
      Update the iallocator documentation · 77031881
      Iustin Pop authored
      This updates the iallocator documentation to 2.0, bumps up the
      iallocator version (and moves a constants to lib/constants.py), and
      fixes a style on install.rst.
      
      Reviewed-by: ultrotter
      77031881
    • Iustin Pop's avatar
      Fix a bug in utils.EnsureDirs · 1b2c8f85
      Iustin Pop authored
      This fixes a bug introduced in rev 2562 and also fixes the indentation.
      
      Reviewed-by: ultrotter
      1b2c8f85
    • Iustin Pop's avatar
      A doc update and a small indentation fix · b806661b
      Iustin Pop authored
      This adds a small paragraph about the “master” role of a node, and fixes
      a wrong indentation in the bash completion file.
      
      Reviewed-by: imsnah
      b806661b
  8. 27 Feb, 2009 6 commits
    • Guido Trotter's avatar
      Use EnsureDirs in KVM as well. · 9afb67fe
      Guido Trotter authored
      The KVM hypervisor has also code to ensure a list of directories exist.
      Substitute it with our new utils function.
      
      Reviewed-by: iustinp
      9afb67fe
    • Guido Trotter's avatar
      Create runtime dir in bootstrap · 9dae41ad
      Guido Trotter authored
      Some hypervisors (KVM) need RUN_GANETI_DIR to exist even at cluster init
      time. This patch creates it in InitCluster just before hv parameter
      checking. Since the code to make list of directories is already repeated
      twice in the code, and this would be the third time, we abstract it into
      an utils.EnsureDirs function and we call that one from ganti-noded,
      ganeti-masterd and bootstrap.
      
      Reviewed-by: iustinp
      9dae41ad
    • Guido Trotter's avatar
      LUVerifyCluster: Handle the "no volume group" case · cc9e1230
      Guido Trotter authored
      If we're only file based and out volume group is set to "None" there's
      no point in asking nodes for their volume groups, logical volumes, and
      drbd devices, and checking those.
      
      Reviewed-by: iustinp
      cc9e1230
    • Iustin Pop's avatar
      Convert the RAPI document to restructured text · 4352bf6d
      Iustin Pop authored
      This patch changes the RAPI document, and the RAPI resources
      autogenerated-documentation to restructured text. This meant changing
      the autogen tool.
      
      The new fragment can be included via RST directives, and doesn't need
      passing through replace-sed-vars. This was also the last sgml document
      in doc/, so we remove old makefile rules about it.
      
      Reviewed-by: imsnah
      4352bf6d
    • Iustin Pop's avatar
      Fix some epydoc style issues · 5fcc718f
      Iustin Pop authored
      99% of the epydoc return tags are "@return:", but each of the modified files
      had one "@returns:" line. We fix this for consistency.
      
      Reviewed-by: imsnah
      5fcc718f
    • Iustin Pop's avatar
      Convert the install document to restructured text. · 28e15341
      Iustin Pop authored
      This switches back to the hardcoding of the version number, as we don't
      yet have a wrapper for rst files that passes them through
      replace-sed-vars.
      
      Reviewed-by: imsnah
      28e15341
  9. 26 Feb, 2009 3 commits
    • Iustin Pop's avatar
      Fix the Makefile after the bash_completion patch · f72f8622
      Iustin Pop authored
      I've somehow left these two out. Sorry!
      
      Reviewed-by: imsnah
      f72f8622
    • Iustin Pop's avatar
      Add bash-completion rules · e2a2a2eb
      Iustin Pop authored
      This is a not-complete bash completion file for ganeti commands (gnt-*)
      and the burnin tool. It is based on previous work by Minghua Ye
      <yeminghua@google.com> for Ganeti 1.1, which wasn't used because the
      lack of ssconf keys (which allow easy inspection by the shell of the
      existing nodes and instances) made it too slow.
      
      The file works as expected, however I realized that our custom (like
      comma-separated, or a=b:c,e:f) options are not very nice for
      auto-completion. There are a few FIXMEs in the source for that.
      
      The file is not installed at make install time, but it should be put in
      the correct place by packages.
      
      Reviewed-by: imsnah
      e2a2a2eb
    • Michael Hanselmann's avatar
      Fix typos in utils.WriteFile's docstring · 69efe319
      Michael Hanselmann authored
      Reviewed-by: iustinp
      69efe319
  10. 25 Feb, 2009 5 commits
    • Iustin Pop's avatar
      Fix mixed pvm/hvm clusters and instance listing · b33b6f55
      Iustin Pop authored
      The current implementation of the combining of the instance lists will
      only do this for instances whose all four-fields match in both
      hypervisors; however, this is broken for the dynamic fields (state,
      times) which can change between the invocations of the two different
      hypervisors if the instance is busy.
      
      The patch checks only the memory and VCPUs, and makes mixed clusters
      work even with 100% CPU instances.
      
      Reviewed-by: imsnah
      b33b6f55
    • Iustin Pop's avatar
      Fix xen-hvm and KERNEL_ARGS · b399ce1e
      Iustin Pop authored
      xen-hvm doesn't have KERNEL_ARGS, and I just changed blindly all old
      extra_args to HV_KERNEL_ARGS. This makes xen-hvm work again.
      
      Reviewed-by: imsnah
      b399ce1e
    • Iustin Pop's avatar
      Update some version-related constants · f3e2e4c6
      Iustin Pop authored
      Since we are quite close to final RPC and hooks APIs, we update the hooks and
      protocol_version constants.
      
      Reviewed-by: imsnah
      f3e2e4c6
    • Iustin Pop's avatar
      Convert the hooks document to restructured text · 4d6443f4
      Iustin Pop authored
      This also updates the hooks document to 2.0.
      
      Reviewed-by: ultrotter
      4d6443f4
    • Iustin Pop's avatar
      Update some hooks settings · 2c2690c9
      Iustin Pop authored
      While reviewing the hooks document, I realised we are not correctly
      exporting the instance properties.
      
      This patch fixes:
        - export the disk and disk template in all LUs, not only (hardcoded)
          in the instance create
        - removes the instance create INSTANCE_ prefix on some non-instance
          variables (those are LU-related, not instance-related)
        - adds a couple of more variables to other LUs
      
      The hook document will be updated in a separate patch.
      
      Reviewed-by: ultrotter
      2c2690c9
  11. 24 Feb, 2009 7 commits
    • Iustin Pop's avatar
      Remove the extra_args parameter in instance start · 07813a9e
      Iustin Pop authored
      This patch removes the extra_args parameter and instead switches the
      instance to the HV_KERNEL_ARGS hypervisor option.
      
      This is a big change, but it's a needed cleanup, this extra parameter on
      all RPC calls is not generic and we also need to have a persistent value
      here.
      
      Reviewed-by: imsnah
      07813a9e
    • Iustin Pop's avatar
      Simplify a little the hypervisor routines · a985b417
      Iustin Pop authored
      Instead of “instance.hvparams”, we use a shorter “hvp” name to make readability
      better.
      
      Reviewed-by: imsnah
      a985b417
    • Iustin Pop's avatar
      Add definitions for the root_args hypervisor param · f9d6542d
      Iustin Pop authored
      This patch adds a new hypervisor parameter for the hypervisors that can
      actually start and instance with external kernels.
      
      Reviewed-by: imsnah
      f9d6542d
    • Iustin Pop's avatar
      Convert iallocator.sgml to restructured text · 876860a3
      Iustin Pop authored
      This is a no-contents change, this doc will need update to conform to
      2.0 message contents (and also the code will need increase to version 2
      of the iallocator protocol).
      
      Reviewed-by: imsnah
      876860a3
    • Iustin Pop's avatar
      Convert the admin guide to restructured text · ffa6869f
      Iustin Pop authored
      The RST format holds a little bit less information, as all the <file
      class="directory"> and <userinput> tags are gone, however we're not
      really losing important context here. And it's way easier to read and
      update.
      
      Reviewed-by: imsnah
      ffa6869f
    • Guido Trotter's avatar
      gnt-instance info: remove hvattr descriptions · dfff41f8
      Guido Trotter authored
      Having hvattr descriptions is only confusing for the user, because even
      if they explain better what an attribute is about, they don't help in
      deciding what keyword should be used to actually set it. If in the
      future we want descriptions they should probably live in constants.py,
      and be displayed together with the key, rather than instead of it.
      
      This patch also changes the handling of the vnc console connection
      description, making compatible work with both kvm and xen-hvm.
      
      Reviewed-by: iustinp
      dfff41f8
    • Iustin Pop's avatar
      Make gnt-instance info work with offline nodes · 9854f5d0
      Iustin Pop authored
      This simply makes LUQueryInstanceData return the same information as for
      a static query when one or both of the nodes are down.
      
      Reviewed-by: imsnah
      9854f5d0
  12. 20 Feb, 2009 2 commits
  13. 19 Feb, 2009 1 commit