1. 24 Feb, 2009 3 commits
    • 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
  2. 20 Feb, 2009 2 commits
  3. 19 Feb, 2009 1 commit
  4. 17 Feb, 2009 2 commits
  5. 16 Feb, 2009 9 commits
    • Iustin Pop's avatar
      QA: add support for burnin rename · 4dc76b24
      Iustin Pop authored
      This patch adds support for optionally doing the rename burnin test, and
      adds an example to the sample QA file. To disable, either remove or
      specify an empty rename target.
      
      Reviewed-by: imsnah
      4dc76b24
    • Iustin Pop's avatar
      Fix some bugs in reboot · ae48ac32
      Iustin Pop authored
      There are two issues fixed in this patch:
        - first, the recent RPC changes caused loss of data in hard reboot
          type; we weren't reporting any results from the stop/start instance
          calls;
        - second, in soft or hard reboots, we didn't initialized the disk
          physical ID; based on the last state of the instance's disks, this
          can create a failure in identifying the disks
      
      After this patch, burnin works again with reboot, and reports errors
      correctly.
      
      Reviewed-by: imsnah
      ae48ac32
    • Iustin Pop's avatar
      Burnin: fix rename · 2e39ab98
      Iustin Pop authored
      In rename, we must stop different names in the first and second phases,
      so we create two different opcodes for this purpose (instead of using
      the same one twice, which doesn't work).
      
      Reviewed-by: imsnah
      2e39ab98
    • Iustin Pop's avatar
      Update NEWS for beta 2 · 2fb85b64
      Iustin Pop authored
      Reviewed-by: imsnah
      2fb85b64
    • Iustin Pop's avatar
      Convert IOErrors for /proc/drbd into our errors · f6eaed12
      Iustin Pop authored
      If /proc/drbd can't be opened, this raises an IOError, but all the
      error-handling behaviour in backend treats only BlockDeviceErrors. This
      creates a plain failure in cluster verify and in other RPC calls.
      
      This patch simply converts EnvironmentErrors into BlockDeviceErrors, and
      also changes the RPC result for NV_DRBDLIST and its handling to be able
      to show the error. The other RPC calls work by default now, due the
      existing error handling.
      
      Reviewed-by: ultrotter
      f6eaed12
    • Guido Trotter's avatar
      DEVNOTES: we have no --enable-rapi anymore · 04be7ec6
      Guido Trotter authored
      Remove it from the suggested development ./configure line
      
      Reviewed-by: iustinp
      04be7ec6
    • Guido Trotter's avatar
      Convert default root partition to msdos style · 1cd8141c
      Guido Trotter authored
      As discussed with 2.0 msdos partition style should be the default in the
      instance OS, so we're changing the default instance params accordingly.
      A followup patch will update the debootstrap os.
      
      Reviewed-by: iustinp
      1cd8141c
    • Iustin Pop's avatar
      watcher: fix checking of boot IDs · 3448aa22
      Iustin Pop authored
      The recent change (commit 2151) to the watcher to make it handle offline
      nodes also saves the offline attribute to the state file, but this is
      not needed and also breaks the checking of the boot ID. This patch
      simply removes it, restoring the correct behaviour.
      
      Reviewed-by: imsnah
      3448aa22
    • Iustin Pop's avatar
      watcher: autoarchive old jobs · f07521e5
      Iustin Pop authored
      This patch adds auto-archiving of jobs older than 6 hours to the
      watcher.
      
      Reviewed-by: imsnah
      f07521e5
  6. 13 Feb, 2009 9 commits
    • Iustin Pop's avatar
      RAPI: documentation updates · bf4a90af
      Iustin Pop authored
      This patch fixes the version and does some update to the RAPI resources
      docs.
      
      Reviewed-by: imsnah
      bf4a90af
    • Iustin Pop's avatar
      RAPI: fixes related to write mode · 6e99c5a0
      Iustin Pop authored
      This patch fixes many small issues related to write functions:
        - update documentations w.r.t. how to add users
        - update the instance add function for latest API
        - add instance delete
        - fix addition of tags
        - update some error messages
      
      Reviewed-by: imsnah
      6e99c5a0
    • Iustin Pop's avatar
      Some small improvements to the fake hypervisor · bfc30ec0
      Iustin Pop authored
      This patch modifies the fake hypervisor to substract the memory “used”
      by “running” instances from the free memory, so the actual node
      information changes based on the running instances.
      
      Also some style changes and fixes are added.
      
      Reviewed-by: ultrotter
      bfc30ec0
    • Iustin Pop's avatar
      Implement the backward-compatible ‘-s’ disk option · c0e4a2c3
      Iustin Pop authored
      This patch adds back to the instance creation command (gnt-instace add,
      gnt-backup import) the ‘-s’ short form option for specifying a
      single-disk instance.
      
      Also a small bug in gnt-backup import is fixed.
      
      Reviewed-by: ultrotter
      c0e4a2c3
    • Guido Trotter's avatar
      SetInstanceParams: export nic changes to hooks · d8dcf3c9
      Guido Trotter authored
      Currently we export the old instance "as is" and any nic changes get
      lost, so hooks won't know of a different ip, bridge, or mac address.
      This patch fixes it by putting the nics in the override dict, if any
      changes are done.
      
      Reviewed-by: iustinp
      d8dcf3c9
    • Guido Trotter's avatar
      Remove two fixed FIXME and convert one to TODO · ea5a5b74
      Guido Trotter authored
      The cli FIXME is not something broken, but rather some better handling
      feature we'd rather have, and the two backend FIXME are done (disks have
      their read only parameter set, and the error is raised and thus reaches
      the master).
      
      Reviewed-by: iustinp
      ea5a5b74
    • Iustin Pop's avatar
      RAPI: format error messages as JSON · 1f8588f6
      Iustin Pop authored
      This patch changes the format of the HTTP error messages from text/html, which
      is hard to parse from RAPI clients, to JSON which can be automatically parsed.
      
      The error message is an object, which contains always three keys:
        - code, an integer with the error code
        - message, a short description
        - explain, holding (if available) a description of the error
      
      In order to implement this, there is a bit of change to the http server
      and executor classes. I've tested and the error handling still works
      (but less optimal, no error message) in case the error formatting itself
      raises an exception.
      
      Reviewed-by: imsnah
      1f8588f6
    • Iustin Pop's avatar
      Make RAPI return 502/504 errors for luxi errors · 77e1d753
      Iustin Pop authored
      This changes the RAPI error codes for luxi errors; a timeout error is
      now reported properly as 504, while any other luxi error is reported as
      502.
      
      It would be good to convert even more errors into proper return codes in
      the future.
      
      Reviewed-by: imsnah
      77e1d753
    • Iustin Pop's avatar
      Fix ganeti-rapi startup with missing certificate · 6bb258a7
      Iustin Pop authored
      This patch displays a nicer error message compared to the default
      stacktrace.
      
      Reviewed-by: imsnah
      6bb258a7
  7. 12 Feb, 2009 14 commits
    • Iustin Pop's avatar
      job queue: log the opcode error too · 0f6be82a
      Iustin Pop authored
      Currently we only log "Error in opcode ...", but we don't log the error itself.
      This is not good for debugging.
      
      Reviewed-by: ultrotter
      0f6be82a
    • Guido Trotter's avatar
      LUSetInstanceParams: Fix nic handling · 5c44da6a
      Guido Trotter authored
      CheckArguments:
        Use constants.VALUE_NONE rather than hardcoding the string "none"
        If we're adding a nic fill the nic_dict with default values
        Check if the mac is syntactically valid, if we have one
        Don't allow the mac to be 'auto' when modifying a nic
      
      CheckPrereq:
        Check that bridge and mac if present in the dict are not None
          (before this wasn't handled at all)
        Generate the nic mac address here if demanded
      
      Exec:
        Do not generate nics and macs
      
      Reviewed-by: iustin
      5c44da6a
    • Guido Trotter's avatar
      ConfigWriter.AddInstance check instance mac · e4640214
      Guido Trotter authored
      There is a race condition in CreateInstance, since the mac address is
      generated early and only added to the config (and thus really assured to
      be unique) only at this point. Since it's possible that another instance
      gets the same mac address in the meantime with this check we'll make the
      instance creation fail before modifying the config data and thus having
      a wrong in-memory config (which is bad!!).
      
      Note that the same race condition exists, for example, in
      SetInstanceParams, and should be fully addressed by a way to revert
      config changes if writing them fails!
      
      Reviewed-by: iustin
      e4640214
    • Guido Trotter's avatar
      Instance Creation: generate nics earlier · 295728df
      Guido Trotter authored
      We want the real nic to be shown to the hooks and the allocators, so
      we'll generate them in CheckPrereq. We also write a comment about the
      race condition we generate. This race condition existed even before, so
      moving this generation will just lenghen it a bit. A separate patch
      mitigates its effects.
      
      This patch also adds an ENDIF comment for a very long if, and removes a
      double empty line inside the CheckPrereq function of LUCreateInstance.
      
      Reviewed-by: iustin
      295728df
    • Iustin Pop's avatar
      Handle better broken disks · fd965830
      Iustin Pop authored
      While running burnin:
        File "/usr/lib/python2.4/site-packages/ganeti/objects.py", line 497, in __str__
          val += ", size=%dm)>" % self.size
      TypeError: int argument required
      
      This happened while handling another error, so we lose the original
      error information.
      
      So we should try to handle this better.
      
      Reviewed-by: ultrotter
      fd965830
    • Iustin Pop's avatar
      Update the command line scripts man pages for 2.0 · d3b4cf9f
      Iustin Pop authored
      This patch updates the gnt-* scripts to show the new 2.0 syntax. It's
      not guaranteed to be 80% complete.
      
      Reviewed-by: ultrotter
      d3b4cf9f
    • Iustin Pop's avatar
      Some command line scripts fixes · f1de3563
      Iustin Pop authored
      This patch changes the gnt-node and gnt-job list commands to accept
      argument and list only the selected items, which is useful when having
      many nodes or jobs.
      
      It also removes the “--units” option from gnt-job list as we don't
      actually use it.
      
      Reviewed-by: imsnah
      f1de3563
    • Iustin Pop's avatar
      Do not check 'None' disk IDs for duplicates · 25ae22e4
      Iustin Pop authored
      In case of 'None' logical or physical IDs, we don't need to check them
      for duplicates. This case can happen for DRBD devices in case of newly
      added disks, for example.
      
      Reviewed-by: imsnah
      25ae22e4
    • Iustin Pop's avatar
      Prevent race condition on MAC addresses · e7d81ba0
      Iustin Pop authored
      This patch adds a temporary set for MACs that have been requested but
      are not yet in the configuration (as part of an instance NIC). The MACs
      of an instance are automatically removed from this set when the instance
      is updated (or first added to the config).
      
      Reviewed-by: ultrotter
      e7d81ba0
    • Iustin Pop's avatar
      Always use the same short option for iallocator · 633b36db
      Iustin Pop authored
      This patch changes the scripts so that the short name for the
      “--iallocator” option is always ‘-I’.
      
      Reviewed-by: ultrotter
      633b36db
    • Iustin Pop's avatar
      Some batcher fixes · 4082e6f9
      Iustin Pop authored
      Currently the batcher hypervisor parameter must be a dict with one
      element (e.g. {"xen-hvm": { "acpi": true }}). This is overly complex and
      hard to validate correctly; the patch splits it in two:
        - one "hypervisor" string parameter, with the name of the hypervisor
        - one "hvparams" dictionary, with the hypervisor parameters
      
      The patch also changes the error handling in parsing the definition file
      - since this is not a long-running file, we are less concerned with safe
      closing of the file, and more with presenting meaningful error
      messages.
      
      Reviewed-by: killerfoxi
      4082e6f9
    • Iustin Pop's avatar
      Some small fixes · 5b460366
      Iustin Pop authored
      This patch removes the admin_ram LUQueryInstances field (is broken
      anyway) and fixes the VNC address checks in the Xen Hypervisor.
      
      Reviewed-by: imsnah
      5b460366
    • Iustin Pop's avatar
      Fix LUQueryInstances fields. · 8aec325c
      Iustin Pop authored
      The query fields are now regular expressions. We need to quote the dots,
      otherwise invalid fields will be accepted but they will lose special
      formatting in the cli scripts.
      
      Reviewed-by: imsnah
      8aec325c
    • Guido Trotter's avatar
      Apply the right permissions to /etc/hosts · 9b977740
      Guido Trotter authored
      In the current Ganeti version when modifying /etc/hosts we mistakenly
      give it the permissions of the temporary file we create to define its
      content, which is by default 0600. This breaks most non-root
      applications, and thus must be corrected. This patch forces the mode to
      be 0644 (but we might decide to just use the mode of the previous
      /etc/hosts, if we want to be more polite against any eventual
      administrative choice). We also add a new assertFileMode() method for
      unit tests and actually check in the SetEtcHostsEntry and
      RemoveEtcHostsEntry tests that the mode is correct, to be sure not to
      reintroduce this bug again. Also, a FIXME is added in the original
      functions stating that it would be nice to use WriteFile+fn() rather
      than reimplementing its functionality again.
      
      Reviewed-by: iustinp
      9b977740