1. 29 Oct, 2007 1 commit
    • Iustin Pop's avatar
      Implement replace-disks for drbd8 devices · a9e0c397
      Iustin Pop authored
      This patch adds three modes of disk replacement for drbd8:
        - replace the disk on the primary node
        - replace the disk on the secondary node
        - replace the secondary node
      
      It also adds some debugging code to backend.py and increments the
      protocol version for the recent changes of the rpc layer.
      
      Reviewed-by: imsnah
      a9e0c397
  2. 24 Oct, 2007 1 commit
    • Iustin Pop's avatar
      Initial implementation of drbd8 template type · a1f445d3
      Iustin Pop authored
      This is a partially working drbd8 template type. It does:
        - add/remove
        - startup/failover/shutdown
      
      Not working is replace disks, which needs custom code for this template.
      
      Reviewed-by: imsnah
      a1f445d3
  3. 19 Oct, 2007 2 commits
    • Iustin Pop's avatar
      Some tiny style fixes · aa4260ca
      Iustin Pop authored
      Reviewed-by: imsnah
      aa4260ca
    • Iustin Pop's avatar
      Abstract more strings values into constants · fe96220b
      Iustin Pop authored
      Currently, the disk types are defined using constants in the code.
      Convert those into constants so that we can easily find them and check
      their usage.
      
      Note that we don't rename the values of the constants as they are used
      in the configuration file, and as such it's best to leave them as they
      are.
      
      Reviewed-by: imsnah
      fe96220b
  4. 17 Oct, 2007 1 commit
    • Alexander Schreiber's avatar
      Patch series for reboot feature, part 1 · 007a2f3e
      Alexander Schreiber authored
      This patch series implements the reboot command for gnt-instance. It
      supports three types of reboot: soft (hypervisor reboot), hard (instance
      config rebuild and reboot) and full (full instance shutdown and startup
      again).
      
      This patch contains the backend and rpc part of the patch.
      
      
      Reviewed-by: iustinp
      
      007a2f3e
  5. 16 Oct, 2007 1 commit
    • Iustin Pop's avatar
      Replace more ssh paths with proper constants · 70d9e3d8
      Iustin Pop authored
      The node's ssh keys filenames are now provided as constants; this should
      allow easier customization.
      
      Also, the user's ssh key computing has been abstracted into ssh.py
      
      Reviewed-by: imsnah
      70d9e3d8
  6. 12 Oct, 2007 1 commit
    • Iustin Pop's avatar
      Remove some hardcoded names/paths from backend.py · 7900ed01
      Iustin Pop authored
      This patch does the following:
        - add constants.GANETI_RUNAS = "root", which is used to compute
          the homedir (and thus the .ssh directory) instead of hardcoding
          "/root/.ssh" in backend.AddNode and backend.LeaveCluster
        - add constants.SSH_CONFIG_DIR (currently hardcoded to /etc/ssh) that
          is used in backend instead of hardcoding it (preparation for
          selecting that at ./configure time)
        - some more internal cleanup in backend.AddNode
      
      Reviewed-by: imsnah
      7900ed01
  7. 11 Oct, 2007 1 commit
    • Iustin Pop's avatar
      Implement post-configuration-update hook · 6a4aa7c1
      Iustin Pop authored
      This patch adds a special hook: the post-configuration update hook. This
      hook has only a post phase that runs after a top-level LU that modified
      the configuration.
      
      Since the hook is a post-phase one, no error checking is done on the
      results. The hook runs only on the master.
      
      Reviewed-by: imsnah
      6a4aa7c1
  8. 10 Oct, 2007 5 commits
    • Alexander Schreiber's avatar
      Remove fping as a dependency for Ganeti. · 16abfbc2
      Alexander Schreiber authored
      This patch completely  gets rid of fping
       - replace all fping invocations with TcpPing calls
       - update documentation accordingly.
       - associated cleanups (use constant for localhost IP, use more sensible
         defaults for TcpPing and _use_ those)
      
      Reviewed-by: iustinp
      
      16abfbc2
    • Iustin Pop's avatar
      Implement gnt-node evacuate · a5bc662a
      Iustin Pop authored
      This patch adds a new 'evacuate' subcommand to gnt-node. The command
      will do a replace disks for all instances having that node as secondary
      with the new target being the new node given.
      
      The syntax is:
        gnt-node evacuate src_node target_node
      
      The command by itself doesn't do any resource checks, and instead relies
      on the LUFailoverInstance code to do that.
      
      Reviewed-by: imsnah
      a5bc662a
    • Michael Hanselmann's avatar
      Make Xen DomU kernel and initrd configurable at build time. · f00b46bc
      Michael Hanselmann authored
      Reviewed-by: iustinp
      
      f00b46bc
    • 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
    • Michael Hanselmann's avatar
      Detect node restarts and reactivate disks. · 5a3103e9
      Michael Hanselmann authored
      - Change format of watcher state file to JSON.
      - Move log path for watcher script to constants.py.
      
      Reviewed-by: iustinp
      
      5a3103e9
  9. 04 Oct, 2007 1 commit
  10. 28 Sep, 2007 1 commit
  11. 27 Sep, 2007 1 commit
  12. 25 Sep, 2007 1 commit
  13. 21 Sep, 2007 1 commit
    • Iustin Pop's avatar
      Move a constant from ganeti-master to constants.py · 619fdc8e
      Iustin Pop authored
      The EXIT_NODESETUP_ERROR is a useful constant and ganeti-watcher could
      use it too. This patch moves it to constants.py and modifed the
      ganeti-master script to use it from there.
      
      Reviewed-by: imsnah
      619fdc8e
  14. 17 Sep, 2007 1 commit
    • Iustin Pop's avatar
      Add support for rename operation in the OS API · 386b57af
      Iustin Pop authored
      This patch adds support for renaming at OS level. Because of this, we
      need to bump up the version of the OS api from 4 to 5.
      
      The patch also documents the new script interface in the
      ganeti-os-interface(7) man page and adds a section on upgrading the OS
      definitions to the new version.
      
      Reviewed-by: imsnah
      386b57af
  15. 04 Sep, 2007 1 commit
  16. 03 Sep, 2007 1 commit
  17. 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
  18. 08 Aug, 2007 1 commit
  19. 03 Aug, 2007 1 commit
  20. 02 Aug, 2007 2 commits
  21. 25 Jul, 2007 2 commits
  22. 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
  23. 16 Jul, 2007 1 commit