1. 04 Aug, 2008 1 commit
    • Iustin Pop's avatar
      Implement job submission for scripts · 94428652
      Iustin Pop authored
      This patch adds the infrastructure for executing a job in background,
      instead of foreground, via a new “--submit” option. The behaviour is
      that the job ID is printed and the script will immediately exit.
      
      The patch also converts gnt-node list to this model (yes, this will be a
      query in the future).
      
      Reviewed-by: imsnah
      94428652
  2. 30 Jul, 2008 3 commits
    • Iustin Pop's avatar
      Fix cluster destroy · 140aa4a8
      Iustin Pop authored
      With the recent startup/shutdown changes (and with the master daemon in
      place), the cluster destroy needs some fixing.
      
      This patch moves the finalization of the destroy out from cmdlib into
      bootstrap, so we can nicely shutdown the rapi and master daemons.
      
      Reviewed-by: ultrotter
      140aa4a8
    • Iustin Pop's avatar
      Fix gnt-cluster getmaster · ce7151ae
      Iustin Pop authored
      This is special in the sense that it can run on any node. As such, we
      just instantiate ssconf and read the data from it.
      
      Reviewed-by: ultrotter
      ce7151ae
    • Iustin Pop's avatar
      Rework master startup/shutdown/failover · b1b6ea87
      Iustin Pop authored
      This (big) patch reworks the master startup/shutdown and the fixes the
      master failover.
      
      What does the patch do?
      
      For master start/stop:
        - remove the old ganeti-master script and its associated man page
        - moves the ip start/stop directly into the backend.(Start|Stop)Master
        - adds start/stop of the master/rapi daemon into these functions,
          selectively based on the start/stop arguments
        - makes the master call via rpc StartMaster(start_daemons=False) to
          the local node so that the master IP is started
        - and finally changes the example init.d script to directly start and
          stop all three daemons, since they do the right thing (depending on
          master/not master role)
      
      For master failover:
        - moves the code from LUMasterFailover into bootstrap.MasterFailover,
          since we need to start/stop the master during this operation and
          thus it can't be executed from the master
        - removes the LUMasterFailover and its associated opcode
      
      Notes: ubuntu's /etc/lsb-base-logging.sh is dumb, so the messages 'not
      master' are not seen during startup on non-master nodes.
      
      Reviewed-by: ultrotter
      b1b6ea87
  3. 28 Jul, 2008 2 commits
  4. 24 Jul, 2008 1 commit
  5. 23 Jul, 2008 1 commit
  6. 14 Jul, 2008 1 commit
  7. 11 Jul, 2008 1 commit
    • Michael Hanselmann's avatar
      Make "gnt-job list" work again · af30b2fd
      Michael Hanselmann authored
      "gnt-job list" was broken after my recent changes in the RPC
      between clients and the master. This patch makes it work again.
      
      Reviewed-by: iustinp
      af30b2fd
  8. 03 Jul, 2008 1 commit
  9. 01 Jul, 2008 1 commit
  10. 27 Jun, 2008 2 commits
    • Guido Trotter's avatar
      AddNode: move the initial setup to boostrap · 827f753e
      Guido Trotter authored
      From the master node we can't start ssh and connect to the remote node,
      nor we can do it from ganeti-noded as this ssh section will possibly ask
      for key confirmation and password. So the code to copy the ganeti-noded
      password and SSL key has been moved to bootstrap.py, and it's called by
      gnt-node before the AddNode opcode.
      
      Reviewed-by: iustinp
      827f753e
    • Guido Trotter's avatar
      AddNode: Check for node existance · 05ccd983
      Guido Trotter authored
      In the "new world" we'll need to setup ganeti-noded via ssh on the node
      before calling the AddNode opcode. Before doing it we'll check that the
      node is not already in the cluster, if --readd was not passed. This
      guarantees we're not going to restart ganeti-noded on a running node.
      
      This patch also incidentally fixes a non-style-guide conformant
      docstring.
      
      Reviewed-by: iustinp
      05ccd983
  11. 25 Jun, 2008 1 commit
    • Michael Hanselmann's avatar
      Cleanup old DRBD 0.7.x code · 00fb8246
      Michael Hanselmann authored
      Apparently there were still some leftovers. While removing an instance,
      I got the message "unhandled exception 'module' object has no attribute
      'LD_MD_R1'".
      
      Reviewed-by: iustinp
      00fb8246
  12. 23 Jun, 2008 1 commit
    • Iustin Pop's avatar
      Fix gnt-cluster “command” and “copyfile” · b3989551
      Iustin Pop authored
      Since the disabling of forking in the master daemon, the two ssh-based
      subcommands were not working anymore. However, there is no need at all
      for the commands to be run from the master daemon (permissions to read
      the cluster private ssh key notwithstanding), they can be run directly
      from the command line utilities.
      
      The patch removes the two opcodes OpRunClusterCommand and
      OpClusterCopyFile (and their associated LUs) and changes the code in
      ‘gnt-cluster’ to query the list of nodes and run directly the SshRunner
      over the list. As such, all forking is done from the gnt-cluster script,
      and the commands are working again.
      
      Reviewed-by: imsnah
      b3989551
  13. 22 Jun, 2008 1 commit
    • Iustin Pop's avatar
      Add a ‘tags’ field to instance and node listing · 130a6a6f
      Iustin Pop authored
      Currently there isn't any easy way to list all nodes or instance and
      their tags; you have to query each node in turn, or list all the tags
      via something like “gnt-cluster search-tags '.*'”. Of course, this is
      not optimal.
      
      The patch adds a new fields to “gnt-instance list” and “gnt-node list”
      called ‘tags’, that will list the tags of the object in comma-separated
      form. This field will be empty if there are no tags (when using a
      separator this output can still be parsed by other scripts).
      
      At opcode level, there is a new fields called ‘tags’ that returns a
      (python) list of the object tags.
      
      Reviewed-by: ultrotter
      130a6a6f
  14. 19 Jun, 2008 1 commit
  15. 17 Jun, 2008 1 commit
  16. 12 Jun, 2008 1 commit
  17. 31 May, 2008 4 commits
  18. 30 May, 2008 1 commit
    • Iustin Pop's avatar
      Complete removal of md/drbd 0.7 code · abdf0113
      Iustin Pop authored
      This patch removes the last of the md and drbd 0.7 code. Cluster which
      have the old device types will be broken if they have this applied.
      
      Reviewed-by: imsnah
      abdf0113
  19. 15 May, 2008 1 commit
  20. 13 May, 2008 3 commits
    • Iustin Pop's avatar
      Small style fixes · 8d59409f
      Iustin Pop authored
      [Trunk version]
      
      Reviwed-by: imsnah
      8d59409f
    • Iustin Pop's avatar
      Revert "CLI: remove command opts/args in "gnt-X"" · 9a033156
      Iustin Pop authored
      This reverts commit 976.
      
      Reviewed-by: ultrotter
      9a033156
    • Iustin Pop's avatar
      CLI: remove command opts/args in "gnt-X" · 57d0151e
      Iustin Pop authored
      [Forward-port of the 1.2 branch patch]
      
      This patch removes all the parameters and options from the output
      "gnt-X" (i.e. the subcommand list for command). This is done in order to
      uniformize the output, currently only some parameters are shown and they
      are not always consistent (e.g. required versus important parameters).
      
      Reviewed-by: ultrotter
      57d0151e
  21. 05 May, 2008 3 commits
    • Iustin Pop's avatar
      Minor doc/help update · 872c949f
      Iustin Pop authored
      This shortens the help output in gnt-node so that the output looks
      nicer, and improves the manual page for gnt-instance with the new
      'status' field.
      
      Reviewed-by: ultrotter
      872c949f
    • Iustin Pop's avatar
      Improve the gnt-* list field selection · 48c4dfa8
      Iustin Pop authored
      This patch allows the '-o' option to the list subcommands to add more
      fields to the default list instead of replacing the default list by
      prefixing the fields list with '+'.
      
      The patch also moves the listing (in the help output) of the default
      field list from hardcoded to built at runtime from the actual list.
      
      Reviewed-by: ultrotter
      48c4dfa8
    • Iustin Pop's avatar
      Add node cpu count to gnt-node list · e8a4c138
      Iustin Pop authored
      This patch adds the backend and frontend changes needed for being able
      to list the cpu count.
      
      Reviewed-by: ultrotter
      e8a4c138
  22. 28 Apr, 2008 2 commits
  23. 24 Apr, 2008 1 commit
    • Iustin Pop's avatar
      Implement replace secondary via the iallocator · b6e82a65
      Iustin Pop authored
      This patch implements secondary replace via the iallocator. The new
      opcode parameter 'iallocator' behaves like this: if passed, it will
      always compute and assign a new secondary, behaving in effect as if the
      secondary node has been passed. It conflicts with actually giving the
      secondary too.
      
      [Note: not tested with remote_raid1, but the code should behave the
      same, we only touch CheckPrereq and we assign a node.]
      
      The patch also adds burnin support for the replace secondary operation;
      with this in place, burnin can fully work with auto-assigned nodes.
      
      Reviewed-by: ultrotter
      b6e82a65
  24. 23 Apr, 2008 1 commit
  25. 16 Apr, 2008 4 commits
    • Michael Hanselmann's avatar
      Add --readd option to “gnt-node add” · e7c6e02b
      Michael Hanselmann authored
      This allows us to readd a node after it failed and required a
      reinstallation or replacement.
      
      Reviewed-by: iustinp
      e7c6e02b
    • Iustin Pop's avatar
      A pure whitespace change for style compliance · 35a0d128
      Iustin Pop authored
      Reviewed-by: amishchenko
      35a0d128
    • Iustin Pop's avatar
      IAllocator part 3: LUCreateInstance changes · 538475ca
      Iustin Pop authored
      This (final) patch allows the instance's nodes to be selected
      automatically based on the passed allocator algorithm.
      
      The patch changes the pnode opcode parameter from required to optional,
      now either the pnode or the iallocator must be passed.
      
      A possible improvement could be to organize all the _IAllocator
      functions into a separate class, but that can come later and the current
      version is functionally ok.
      
      Reviewed-by: ultrotter
      538475ca
    • Iustin Pop's avatar
      Allocator framework, 1st part: allocator input generation · d61df03e
      Iustin Pop authored
      In preparation for the introduction of automatic instance allocator,
      this patch adds an allocator simulation opcode, that based on the input
      parameters, will return either the input message to the allocator
      (implemented) or the result of the allocator run (not yet implemented).
      
      This allows algorithm tests against simulated allocations and the
      current cluster state.
      
      The patch adds the following:
        - a function that generates the generic cluster information for the
          allocator
        - a function that generates the 'new instance' information
        - a function that generates the 'replace_secondary' information
      
      These three functions will be used by the allocator framework later to
      generate the actual information for the external algorithms. Currently
      we just return the json-serialized text.
      
      Reviewed-by: imsnah
      d61df03e