1. 08 Oct, 2007 14 commits
  2. 04 Oct, 2007 5 commits
  3. 03 Oct, 2007 2 commits
  4. 02 Oct, 2007 2 commits
  5. 01 Oct, 2007 1 commit
  6. 28 Sep, 2007 1 commit
  7. 27 Sep, 2007 5 commits
  8. 26 Sep, 2007 1 commit
    • Michael Hanselmann's avatar
      Enhance QA. · 5d640672
      Michael Hanselmann authored
      - Test “gnt-backup export” and “gnt-backup import”.
      - Move “ResolveInstanceName” to qa_utils.py.
      - Fix tests for “ganeti-watcher”.
      - Make instance shutdown and startup configurable.
      
      Reviewed-by: schreiberal
      
      5d640672
  9. 25 Sep, 2007 4 commits
  10. 24 Sep, 2007 3 commits
  11. 21 Sep, 2007 2 commits
    • Iustin Pop's avatar
      Change class hierarchy in objects.py · ec29fe40
      Iustin Pop authored
      It makes sense to make the TaggableObject a child of the ConfigObject,
      since in this case we can derive the Instance, Node and Cluster objects
      only from the TaggableObject and have a cleaner hierarchy.
      
      For consistency child classes will have to declare their slots by adding
      their parents on top.
      
      Reviewed-by: imsnah,ultrotter
      ec29fe40
    • Iustin Pop's avatar
      Remove requirement that host names are FQDN · 89e1fc26
      Iustin Pop authored
      We currently require that hostnames are FQDN not short names
      (node1.example.com instead of node1). We can allow short names as long
      as:
        - we always resolve the names as returned by socket.gethostname()
        - we rely on having a working resolver
      
      These issues are not as big as may seem, as we only did gethostname() in
      a few places in order to check for the master; we already required
      working resolver all over the code for the other nodes names (and thus
      requiring the same for the current node name is normal).  The patch
      moves some resolver calls from within execution path to the checking
      path (which can abort without any problems). It is important that after
      this patch is applied, no name resolving is called from the execution
      path (LU.Exec() or other code that is called from within those methods)
      as in this case we get much better code flow.
      
      This patch also changes the functions for doing name lookups and
      encapsulates all functionality in a single class.
      
      The final change is that, by requiring working resolver at all times, we
      can change the 'return None' into an exception and thus we don't have to
      check manually each time; only some special cases will check
      (ganeti-daemon and ganeti-watcher which are not covered by the
      generalized exception handling in cli.py). The code is cleaner this way.
      
      Reviewed-by: imsnah
      89e1fc26