1. 25 Aug, 2011 1 commit
  2. 23 Jun, 2011 1 commit
    • Guido Trotter's avatar
      remove bootstrap._InitSharedFileStorage · 0376655e
      Guido Trotter authored
      
      
      This function is a copy of bootstrap._InitFileStorage with the following
      differences:
        - check constants.ENABLE_SHARED_FILE_STORAGE and not
          constants.ENABLE_FILE_STORAGE
        - use different local variable names
        - one different error string
      
      Thus:
        - move the constant check outside of the function call
        - change error string so it's clear where the error is
        - call the same function twice
      Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      0376655e
  3. 31 Mar, 2011 1 commit
  4. 01 Mar, 2011 2 commits
  5. 28 Feb, 2011 1 commit
  6. 26 Jan, 2011 2 commits
  7. 04 Jan, 2011 1 commit
  8. 08 Dec, 2010 1 commit
  9. 01 Dec, 2010 1 commit
  10. 29 Nov, 2010 3 commits
  11. 22 Oct, 2010 2 commits
    • Iustin Pop's avatar
      ConfigWriter: prevent using a foreign config · eb180fe2
      Iustin Pop authored
      
      
      If the configuration file doesn't denote this node as master, we prevent
      startup. This would have detected our previous race condition more
      easily, hence we add it as a permanent check.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      eb180fe2
    • Iustin Pop's avatar
      Fix bootstrap.MasterFailover race with watcher · 21004460
      Iustin Pop authored
      
      
      This fixes a recently diagnosed race condition between master failover
      and the watcher.
      
      Currently, the master failover first stops the master daemon, checks
      that the IP is no longer reachable, and then distributes the updated
      configuration. Between the stop and the distribution, it can happen that
      the watcher starts the master daemon on the old node again, since ssconf
      still points the master to it (and all nodes vote so).
      
      In even more weird cases, the master daemon starts and before it manages
      to open the configuration file, it is updated, which means the master
      will respond to QueryClusterInfo with another node as the real master.
      
      This patch reorders the actions during master failover:
      
      - first, we redistribute a fixed config; this means the old master will
        refuse to update its own config file and ssconf, and that most jobs
        that change state will fail to finish
      - we then immediately kill it; after this step, the watcher will be
        unable to start it, since the master will refuse startup
      - and only then we check for IP reachability, etc.
      
      I've tested the new version against concurrent launch of the watcher;
      while my tests are not very exhaustive, two things can happen: watcher
      see the daemons as dead, and tries to restart them, which also fail; or
      it simply get an error while reading from the master daemon. Both these
      should be OK.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      21004460
  12. 12 Oct, 2010 1 commit
  13. 15 Sep, 2010 2 commits
  14. 25 Aug, 2010 1 commit
  15. 23 Aug, 2010 1 commit
  16. 20 Aug, 2010 2 commits
  17. 19 Aug, 2010 2 commits
  18. 18 Aug, 2010 4 commits
  19. 21 Jul, 2010 1 commit
  20. 09 Jul, 2010 1 commit
  21. 08 Jul, 2010 1 commit
  22. 07 Jul, 2010 1 commit
  23. 06 Jul, 2010 2 commits
  24. 30 Jun, 2010 1 commit
  25. 09 Jun, 2010 1 commit
  26. 16 Apr, 2010 1 commit
  27. 15 Apr, 2010 2 commits
    • Iustin Pop's avatar
      Fix cluster behaviour with disabled file storage · 0e3baaf3
      Iustin Pop authored
      
      
      There are a few issues with disabled file storage:
      - cluster initialization is broken by default, as it uses the 'no'
        setting which is not a valid path
      - some other parts of the code require the file storage dir to be a
        valid path; we workaround by skipping such code paths when it is
        disabled
      
      A side effect is that we abstract the storage type checks into a
      separate function and add validation in RepairNodeStorage (previously a
      luxi client which didn't use cli.py and submitted an invalid type would
      get "storage units of type 'foo' can not be repaired").
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      0e3baaf3
    • Iustin Pop's avatar
      Fix cfgupgrade with non-default DATA_DIR · aeefe835
      Iustin Pop authored
      Commit 43575108 added bootstrap.GenerateclusterCrypto and commit
      7506a7f1
      
       changed cfgupgrade to use it. However, this lost the
      functionality of upgrading in non-default DATA_DIR.
      
      To fix this, we enhance bootstrap.GenerateclusterCrypto to accept custom
      file paths for the three files it modifies. If more files will be needed
      in the future, we could just pass in modified DATA_DIR, but for now it
      suffices.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      aeefe835