1. 08 Oct, 2007 3 commits
  2. 21 Sep, 2007 1 commit
    • 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
  3. 19 Sep, 2007 2 commits
    • Iustin Pop's avatar
      Allow 'add instance' to not start the new instance · bdd55f71
      Iustin Pop authored
      This patch allows 'gnt-instance add' to not start the newly-created
      instance. It also allow 'gnt-instance add' and 'gnt-backup import' to
      not check for IP conflicts (only when not starting the instance).
      
      Reviewed-by: ultrotter
      bdd55f71
    • Iustin Pop's avatar
      Change resolved hostname from dict to a class · bcf043c9
      Iustin Pop authored
      The current result of utils.LookupHostname() is a dict, but this does
      not allow static checkers to check the correctness of the code. This
      patch introduces a new class names HostInfo and changes LookupHostname
      to return an instance of this class; this allows better checking of the
      code (and also the code is cleaner).
      
      Reviewed-by: ultrotter
      bcf043c9
  4. 18 Sep, 2007 1 commit
    • Iustin Pop's avatar
      Implement cluster rename operation · 07bd8a51
      Iustin Pop authored
      This patch adds a new OpCode (and corresponding LU) that implements the
      cluster rename functionality.
      
      This is done by shutting down the master role, making the needed sstore
      modifications and distributing the changed files to all nodes, and then
      re-enabling the master role.
      
      The modification to the man page of gnt-cluster also moves the section
      on gnt-cluster destroy in order to correct alphabetical ordering.
      
      Reviewed-by: imsnah
      07bd8a51
  5. 17 Sep, 2007 1 commit
  6. 14 Sep, 2007 5 commits
    • Iustin Pop's avatar
      Change OpQueryNodes nodes attribute to names · 246e180a
      Iustin Pop authored
      Change this to have the exact same parameters as OpQueryInstances.
      
      Also fix burnin which is broken since r146.
      
      Reviewed-by: imsnah
      246e180a
    • Iustin Pop's avatar
      Enable LUQueryInstances to work with a given list of instances · 069dcc86
      Iustin Pop authored
      As per the changes to LUQueryNodes, the QueryInstances LU is modified to
      accept a list of instances for which to compute and return information.
      
      Reviewed-by: imsnah
      069dcc86
    • Iustin Pop's avatar
      Remove OpQueryNodeData and LUQueryNodeData · 4a72cc75
      Iustin Pop authored
      Now that LUQueryNodes supports all the functionality of LUQueryNodeData,
      let's migrate gnt-node.ShowNodeConfig to use it and remove all traces of
      OpQueryNodeData and LUQueryNodeData.
      
      Reviewed-by: imsnah
      4a72cc75
    • Iustin Pop's avatar
      Change LUQueryNodes to return raw values and support selective listing · ec223efb
      Iustin Pop authored
      LUQueryNodes it's very similar to LUQueryNodeData, but it lacks two
      features:
        - instance list (it has count though), both primary and secondary
        - selective node listing
      
      In order to support these features, we change it to return raw values
      instead of stringified ones (like the recent change to LUQueryInstances)
      and to support query-ing of a restricted set of nodes.
      
      This CL also modifies the gnt-node script to conform to the new protocol
      and the opcode OpQueryNodes to support the new "nodes" attribute.
      
      Reviewed-by: imsnah
      ec223efb
    • Iustin Pop's avatar
      Change _GetWanted* to return names instead of objects · a7ba5e53
      Iustin Pop authored
      On closer look, all except one of the current users of _GetWantedNodes are
      using only the name of the nodes and throw away the other attributes. It makes
      sense to make this function return only the name list (as in the future this
      might be faster than computing all attributes).
      
      Reviewed-by: imsnah
      a7ba5e53
  7. 13 Sep, 2007 1 commit
    • Iustin Pop's avatar
      Move string formatting out of LUQueryInstances · 8a23d2d3
      Iustin Pop authored
      Currently, LUQueryInstances will provide strings for its results. This makes it
      hard for other consumers than "gnt-instance list" to use the OpQueryInstances
      opcode for whatever they wish to.
      
      The change moves the formatting in five of the six cases where this happens to
      the actual gnt-instance.ListInstances procedure and removes the unconditional
      convert to string in LUQueryInstances.Exec()
      
      Reviewed-by: imsnah
      8a23d2d3
  8. 12 Sep, 2007 1 commit
    • Iustin Pop's avatar
      Clone cmdlib._GetWantedNodes into _GetWantedInstances · 3312b702
      Iustin Pop authored
      This duplicates _GetWantedNodes to _GetWantedInstances, after doing some
      changes to it:
        - fix an indentation error that should result in only the last node
          name passed being chosen
        - change the function to have a single return statement
        - remove a redundant 'is not None' check
      
      Reviewed-by: imsnah
      3312b702
  9. 30 Aug, 2007 2 commits
  10. 28 Aug, 2007 1 commit
    • Iustin Pop's avatar
      Refuse nodes with non-FQDN hostnames. · ff98055b
      Iustin Pop authored
      This changes the cluster init and node join to refuse a node that has a
      different hostname than what the resolver returns.
      
      Reviewed-by: imsnah
      ff98055b
  11. 24 Aug, 2007 1 commit
    • Iustin Pop's avatar
      Rework ssh known-hosts handling. · 82122173
      Iustin Pop authored
      This changes:
        - cluster setup, we no longer edit /etc/ssh/ssh_known_hosts but our
          own file
        - node add, we no longer remove root's known_hosts (twice)
        - gnt-instance console, both the LU and the script: since now the ssh
          setup is not standard, we need to build the ssh cmdline in the LU
          (instead of manually building it in the script) with the correct
          parameters and use the command line as returned in the script
        - ssh.py, many changes, split options in module-level constants so
          that building the command line in different places is easier/more
          logical
        - backend.py, we no longer remove root's known_hosts in Add node, and
          we allow our own known_hosts file to be uploaded
      
      Reviewed-by: imsnah
      82122173
  12. 23 Aug, 2007 1 commit
    • Iustin Pop's avatar
      Improve LURunClusterCommand · 02715459
      Iustin Pop authored
      This function used a hand-coded ssh call to remote nodes. Fix it to use the
      ssh.SSHCall function, and in the process drop the command field from the
      results, as it's too verbose and we can use (in gnt-cluster) what we passed in.
      
      Reviewed-by: schreiberal
      02715459
  13. 22 Aug, 2007 1 commit
  14. 20 Aug, 2007 2 commits
  15. 16 Aug, 2007 1 commit
    • Iustin Pop's avatar
      Some small fixes. · 8925faaa
      Iustin Pop authored
      It fixes the main Makefile.am to create $localstatedir/{lib,log}/ganeti.
      It fixes the testing Makefile.am after the rename fake_config.py ->
      mocks.py.  It strips the output of "ip link show" to have a nicer output
      if the master netdev does not exist.
      8925faaa
  16. 14 Aug, 2007 1 commit
    • Iustin Pop's avatar
      Style changes for pep-8 and python-3000 compliance. · 3ecf6786
      Iustin Pop authored
      This changes the raising of exceptions from:
        raise Exception, value
      to
        raise Exception(value)
      
      as the first form will be removed in python-3000 and the second form is
      preferred now.
      
      The changes also involve a few cases of changing from raising standard
      exceptions and use our own ones.
      
      The new version also fixes many pylint-generated warnings, especially in
      ganeti-noded where I changed many methods to @staticmethod.
      
      There is no functionality changed (barring any bugs).
      3ecf6786
  17. 08 Aug, 2007 1 commit
  18. 06 Aug, 2007 1 commit
  19. 03 Aug, 2007 2 commits
  20. 30 Jul, 2007 1 commit
  21. 27 Jul, 2007 5 commits
  22. 26 Jul, 2007 2 commits
  23. 25 Jul, 2007 2 commits
  24. 24 Jul, 2007 1 commit