1. 26 Jan, 2010 1 commit
  2. 23 Jan, 2009 1 commit
    • Iustin Pop's avatar
      Introduce more configuration consistency checks · 4a89c54a
      Iustin Pop authored
      This patch enhances the duplicate DRBD minors checks (currently just a
      few) and adds automatic checks of configuration consistency at
      configuration file writing time.
      
      In order to do so and show meaningful error messages, the
      _UnlockedComputeDRBDMap function is changed to not raise errors in case
      of duplicates, but instead return both the minors map and the duplicate
      list, and its callers now raise the error. This allows the VerifyConfig
      function to return a complete list of duplicates.
      
      The new checks required some small updates to the unittests for the
      config module.
      
      Reviewed-by: ultrotter
      4a89c54a
  3. 01 Oct, 2008 3 commits
  4. 08 Jul, 2008 1 commit
  5. 18 Mar, 2008 1 commit
    • Michael Hanselmann's avatar
      Add function to write cluster SSH key to known_hosts file · 75a5f456
      Michael Hanselmann authored
      The whole Ganeti cluster has a single SSH key. Its fingerprint is
      written to Ganeti's known_hosts file, together with an alias. This
      allows us to always use that alias instead of the real hostname,
      making management of the known_hosts file much easier.
      
      This patch does not handle an upgrade from an earlier version.
      
      Reviewed-by: ultrotter
      75a5f456
  6. 09 Nov, 2007 1 commit
    • Iustin Pop's avatar
      Soften the requirements for hooks execution · 2395c322
      Iustin Pop authored
      Currently, an unreachable node (or one that return undetermined failure)
      in the hooks pre-phase will abort the curren operation. This is not
      good, as a down node could prevent many operation on the cluster.
      
      This patch changes a RPC-level failure (and not a hook execution
      failure) into a warning. It also modifies the related test cases.
      
      This fixes issue 11.
      
      Reviewed-by: ultrotter
      2395c322
  7. 10 Oct, 2007 1 commit
    • Iustin Pop's avatar
      Remove the shebang from modules · 2f31098c
      Iustin Pop authored
      Since modules are not directly executables, remove the shebang from
      them. This helps with lintian warnings.
      
      Also make the autogenerated _autoconf.py contain two comment lines at
      the beginning, like the other modules.
      
      Reviewed-by: ultrotter
      2f31098c
  8. 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
  9. 12 Sep, 2007 2 commits
  10. 27 Jul, 2007 1 commit
    • Iustin Pop's avatar
      Move the cluster name from ConfigWriter to SimpleStore. · 5fcdc80d
      Iustin Pop authored
      Reason: if left ConfigWriter, nodes don't know to which cluster they belong.
      This will bite us later when we'll revisit node join operation.
      
      Cons: we lose the cluster name from the config file, which means a
      standalone "cluster.data" is a little bit harder to analyze. But I have
      a plan for this which will follow shortly.
      
      Implementing this will also allow us to cleanly fix "gnt-cluster
      getmaster".
      
      Reviewed-by: imsnah
      5fcdc80d
  11. 23 Jul, 2007 1 commit
    • Iustin Pop's avatar
      Big change/cleanup in relation to the master startup: · 880478f8
      Iustin Pop authored
        - move the master node name from the ConfigWriter to SimpleStore (all
          nodes need this, and it was the only thing pulled in from the
          ConfigWriter on nodes)
        - fix mcpu.py and the testing w.r.t. this change; for testing, rename
          the fake_config.py to mocks.py and add a FakeSStore object
        - then add a ganeti-master script which can be run on any node at boot
          and which will not do anything if not master on start (on stop it
          will still try to remove the ip address)
        - also add a new cluster-wide variable (master_netdev) that determines
          on which interface we add this ip address; it's customizable at
          cluster init time
        - also remove the cluster name file which was separately handled from
          ssconf (not needed anymore)
        - remove the master init.d links from the list of config files as this
          is not our responsibility now
      
      880478f8
  12. 16 Jul, 2007 1 commit