1. 08 Oct, 2007 2 commits
  2. 04 Oct, 2007 2 commits
    • Guido Trotter's avatar
      Remove redundant check. · 0ee60a28
      Guido Trotter authored
      This isdir() check leads to a broken error message. Even fixing it creates some
      cases in which the error message is nebulous and unclear while removing it
      makes this situation be dealt with a lot better by the _OSOndiskVersion checks.
      
      
      Reviewed-by: iustinp
      
      0ee60a28
    • Guido Trotter's avatar
      Ship (and display) path for InvalidOS errors too. · 305a7297
      Guido Trotter authored
      - Document the expected change to errors.InvalidOS
      - Always pass the additional argument
      - Modify DiagnoseOS output to show the path
      
      
      Reviewed-by: iustinp, imsnah
      
      305a7297
  3. 03 Oct, 2007 2 commits
  4. 28 Sep, 2007 1 commit
  5. 25 Sep, 2007 2 commits
  6. 17 Sep, 2007 3 commits
    • Iustin Pop's avatar
      A few minor fixes in backend.py · 9716fdce
      Iustin Pop authored
      This uses the recently-added Instance.FindDisk() method instead of
      hard coded find-disk code.
      
      It also renames one parameter to AddNode from ssh to sshkey in order not
      to shadow the ganeti.ssh module.
      
      Reviewed-by: imsnah
      9716fdce
    • Iustin Pop's avatar
      Implement instance rename operation · decd5f45
      Iustin Pop authored
      This patch adds support for instance rename operation at all remaining
      layers: RPC, OpCode/LU and CLI.
      
      Reviewed-by: imsnah
      decd5f45
    • 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
  7. 13 Sep, 2007 1 commit
    • Iustin Pop's avatar
      Fix the ssh change which breaks remote ssh commands · 72f0f7fd
      Iustin Pop authored
      Explanation: since we use lists and not a string, every argument we give
      is passed unchanged to the remote shell. So, for example, passing
      '/etc/init.d/ganeti restart' to the remote shell, it will try to run the
      path /etc/init.d/ganeti\ restart. With the s space included. This
      breaks, for example, gnt-node add and gnt-cluster command.
      
      The original problem with the backup routines that led to the "'" change
      is that they use a plain " ".join(list), but we don't need to quote the
      whole ssh remote command for this. We can simply use the existing
      utils.ShellQuoteCmd(list) which does the proper quoting of the ';' or
      '&&' metacharacters.
      
      With this change, both gnt-node add, gnt-cluster command and
      export/import work.
      
      This also improves the error-handling behaviour of one cat command by
      making it conditional on the preceding mkdir.
      
      Reviewed-by: ultrotter
      72f0f7fd
  8. 07 Sep, 2007 1 commit
    • Guido Trotter's avatar
      Make import/export use the auxiliary ssh library to build the remote commands. · 00003458
      Guido Trotter authored
      This avoids forgetting some parameters, as it's happening right now 
      (the correct known host file is not being passed)
      
      In order to do so we split SSHCall into an auxiliary BuildSSHCmd which builds
      the command but doesn't actually call it, and SSHCall itself which runs RunCmd
      on top of BuildSSHCmd's result. BuildSSHCmd is then explicitely called by 
      import/export who has to build a more complex command to be run later.
      00003458
  9. 30 Aug, 2007 1 commit
  10. 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
  11. 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
  12. 03 Aug, 2007 2 commits
  13. 26 Jul, 2007 1 commit
  14. 25 Jul, 2007 1 commit
  15. 24 Jul, 2007 1 commit
  16. 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
  17. 16 Jul, 2007 1 commit