1. 14 Oct, 2008 11 commits
    • Iustin Pop's avatar
      Some fixes related to auto_balance · c0f2b229
      Iustin Pop authored
      Change the constant name to match the value (autobalance ->
      Also add the auto_balance header so that gnt-instance can list it.
      Reviewed-by: ultrotter
    • Iustin Pop's avatar
      Fix auto_balance and memory modification · 647a5d80
      Iustin Pop authored
      The secondary nodes should not be checked for free memory in case of non
      auto-balanced instances.
      This is a forward-port from rev 1567 on the 1.2 branch.
      Reviewed-by: ultrotter
    • Iustin Pop's avatar
      Use the auto_balance in cluster verify · 3924700f
      Iustin Pop authored
      This patch changes the cluster verify in two ways:
        - do not use instances marked with auto_balance=False in N+1 memory
        - report, if any, the number of instances with auto_balance=False
      Forward port from rev 1562 on the 1.2 branch.
      Reviewed-by: ultrotter
    • Iustin Pop's avatar
      Fix ordering of instance/nodes · c1f1cbb2
      Iustin Pop authored
      After the locking changes, and the partial locking of nodes, the
      instance/node list is not ordered anymore. Reorder so that it behaves as
      Reviewed-by: ultrotter
    • Iustin Pop's avatar
      Change over to beparams · 338e51e8
      Iustin Pop authored
      This big patch changes the master code to use the beparams. Errors might
      have crept in, but it passes a small burnin.
      Reviewed-by: ultrotter
    • Iustin Pop's avatar
      Fix a bug with instance creation and hvparameters · 8705eb96
      Iustin Pop authored
      When creating an instance, we need to check not the opcode hvparams, but
      the final, filled hvparams against validity. While we do this for the
      remote node calls (i.e. ValidateParams), we didn't do this for
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Allow instance info to only query the config file · 57821cac
      Iustin Pop authored
      This patch adds a new '-s' parameter to ‘gnt-instance info’ that makes
      it return only 'static' information. This is much faster, especially for
      drbd instances.
      This is a forward-port of rev 1570 on the ganeti-1.2 branch, resending
      due to some conflicts.
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Convert gnt-instance info to the hvparams model · 24838135
      Iustin Pop authored
      Some informations are not printed nicely (e.g. “virtual CDROM: False”),
      but this is the first step.
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Change gnt-instance modify to the hvparams model · 74409b12
      Iustin Pop authored
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Change gnt-instance list to the hvparams model · 5018a335
      Iustin Pop authored
      This is just a change of the various hvm_ and pvm parameters to the hv
      model. Parameters are queried via hv/$name or via the whole dict as
      returned by hvparams.
      Reviewed-by: ultrotter,imsnah
    • Iustin Pop's avatar
      Switch instance hypervisor parameters to hvparams · 6785674e
      Iustin Pop authored
      This big patch changes instance create to the new hvparams structure.
      Old parameters are removed, so old jobs or old instances file will break
      current clusters.
      Reviewed-by: ultrotter
  2. 12 Oct, 2008 1 commit
    • Iustin Pop's avatar
      Abstract checking own address into a function · caad16e2
      Iustin Pop authored
      Currently, we check if we have a given ip address (i.e. it's alive on
      one of our interfaces) but manually calling TcpPing(source=localhost).
      This works, but having it spread all over the code makes it hard to
      change the implementation.
      The patch abstracts this into a separate utils.OwnIpAddress(addr)
      function. We add a rpc call for it, which we use instead of the
      (single-use of) call_node_tcp_ping. We leave node_tcp_ping in, as seems
      useful and eventually it should be removed in a separate patch.
      Reviewed-by: imsnah
  3. 10 Oct, 2008 4 commits
    • Guido Trotter's avatar
      LUVerifyCluster: fix error from rpc call · 2eb78bc8
      Guido Trotter authored
      When calling node_verify leads to an error _VerifyNodes tries to iterate
      over a non-sequence. Catch the error before and avoid this from
      Reviewed-by: iustinp
    • Iustin Pop's avatar
      Convert rpc module to RpcRunner · 72737a7f
      Iustin Pop authored
      This big patch changes the call model used in internode-rpc from
      standalong function calls in the rpc module to via a RpcRunner class,
      that holds all the methods. This can be used in the future to enable
      smarter processing in the RPC layer itself (some quick examples are not
      setting the DiskID from cmdlib code, but only once in each rpc call,
      There are a few RPC calls that are made outside of the LU code, and
      these calls are left as staticmethods, so they can be used without a
      class instance (which requires a ConfigWriter instance).
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Cleanup in cmdlib for standalone function calls · b9bddb6b
      Iustin Pop authored
      This patch is a cleanup of the standalone functions in cmdlib. Many of
      them too as argument a ConfigWriter instance, but some also took other
      parameters from the lu (e.g. proc), and in the future, if we want to
      also pass the RpcRunner, we would have to add yet another parameter.
      One option is to make all these methods of top-level LogicalUnit class.
      I took another approach, and made (almost) all these functions take as
      first parameter the lu instance. It's like methods, just not declared
      under LogicalUnit.
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Small random fixes · 7b3a8fb5
      Iustin Pop authored
      Indentation in bootstrap was wrong and some names in cmdlib.py were not
      Reviewed-by: imsnah
  4. 09 Oct, 2008 1 commit
  5. 08 Oct, 2008 2 commits
    • Iustin Pop's avatar
      Sanitize the hypervisor names · 00cd937c
      Iustin Pop authored
      Since in 2.0 the user will possibly have more interaction with the
      hypervisor names, we sanitize them by removing the version numbers
      (the version can be a prerequisite for the ganeti installation, we
      shouldn't document it in variable names).
      Reviewed-by: schreiberal
    • Iustin Pop's avatar
      Move the hypervisor attribute to the instances · e69d05fd
      Iustin Pop authored
      This (big) patch moves the hypervisor type from the cluster to the
      instance level; the cluster attribute remains as the default hypervisor,
      and will be renamed accordingly in a next patch. The cluster also gains
      the ‘enable_hypervisors’ attribute, and instances can be created with
      any of the enabled ones (no provision yet for changing that attribute).
      The many many changes in the rpc/backend layer are due to the fact that
      all backend code read the hypervisor from the local copy of the config,
      and now we have to send it (either in the instance object, or as a
      separate parameter) for each function.
      The node list by default will list the node free/total memory for the
      default hypervisor, a new flag to it should exist to select another
      hypervisor. Instance list has a new field, hypervisor, that shows the
      instance hypervisor. Cluster verify runs for all enabled hypervisor
      The new FIXMEs are related to IAllocator, since now the node
      total/free/used memory counts are wrong (we can't reliably compute the
      free memory).
      Reviewed-by: imsnah
  6. 06 Oct, 2008 2 commits
    • Iustin Pop's avatar
      backend.py change to get cluster name from master · 62c9ec92
      Iustin Pop authored
      Currently there are three function in backend that need the cluster name
      in order to instantiate an SshRunner. The patch changes these to get the
      cluster name from the master in the rpc call; once the multi-hypervisor
      change is implemented, then very few places in which we need the SCR
      remain in the backend.
      Reviewed-by: killerfoxi, imsnah
    • Iustin Pop's avatar
      Fix SshRunner breakage from the changed API · 6b0469d2
      Iustin Pop authored
      More places actually use the SshRunner than just the gnt-cluster
      Reviewed-by: ultrotter
  7. 01 Oct, 2008 5 commits
  8. 29 Sep, 2008 1 commit
    • Iustin Pop's avatar
      Extend DRBD disks with shared secret attribute · f9518d38
      Iustin Pop authored
      This patch, which is similar to r1679 (Extend DRBD disks with minors
      attribute), extends the logical and physical id of the DRBD disks with a
      shared secret attribute. This is generated at disk creation time and
      saved in the config file.
      The generation of the secret is done so that we don't have duplicates in
      the configuration (otherwise the goal of preventing cross-connection
      will not be reached), so we add to config.py more than just a simple
      call to utils.GenerateSecret().
      The patch does not yet enable the use of the secrets.
      Reviewed-by: imsnah
  9. 27 Sep, 2008 2 commits
  10. 25 Sep, 2008 2 commits
    • René Nussbaumer's avatar
      Fix iallocator name · 1ce4bbe3
      René Nussbaumer authored
      port forward of patch from revision 1690 with following message:
      Patch on revision 1686 used the wrong field: ial.name, which is the instance
      name and not the iallocator name. self.op.iallocator is the right field.
      Sorry for this inconvenience.
      Reviewed-by: imsnah
    • René Nussbaumer's avatar
      Fix a broken format string · 207a6c74
      René Nussbaumer authored
      This patch fixes a broken format string. It's expecting 3 parameters, but only
      gets 2. This change will add the missing parameter. This is a forward-port
      of the fix in Ganeti 1.2
      Reviewed-by: imsnah
  11. 23 Sep, 2008 2 commits
    • Iustin Pop's avatar
      Switch to static minors for DRBD · a1578d63
      Iustin Pop authored
      With some todos remaining, this patch switches the DRBD devices to use
      the passed minors, and the cmdlib code (add instance and replace disks)
      to request and assign minors to the DRBD disks.
        - look at the disk RPC calls to see which can be optimized away, since
          we now know the minor beforehand
        - remove the _FindUnusedMinor usage from the few places it's still
          used (not for actual disks, but for temporary use in meta devs) and
          eventually replace with _CheckMinorUnused or such
      Of course, this and/or the previous two patches break existing clusters.
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Fix disk replace secondary with static minors · 468b46f9
      Iustin Pop authored
      The code in 'updating instance configuration' section of the replace
      disks with change secondary node was setting a wrong new logical_id for
      the drbd devices (only set the new node, not the new minor). The patch
      fixes this by remembering the new logical_id that we use for activating
      the drbd and reusing it (instead of recomputing).
      Since the minors are not needed to be allocated before the LVs are
      created, we also move the minor allocation step (currently as None)
      after this step.
      Reviewed-by: imsnah
  12. 22 Sep, 2008 1 commit
    • Iustin Pop's avatar
      Extend DRBD disks with minors attribute · ffa1c0dc
      Iustin Pop authored
      This patch converts the DRBD disks to contain also a minor (per each
      node) attribute. This minor is not yet used and is always initialized
      with None, so the patch does not have any real-world impact - except for
      automatically upgrading config files (it adds the minors as None, None).
      Reviewed-by: imsnah
  13. 18 Sep, 2008 2 commits
    • Guido Trotter's avatar
      Apply filter properly in LUQuery{Nodes, Instances} · 3fa93523
      Guido Trotter authored
      Currently when not locking all nodes/instances are returned, regardless
      if the user asked only for some of them. With this patch we return to
      the previous behaviour:
        - if no names are specified return info on all current ones
        - if some names are specified and are not found give an error
        - otherwise return only info on the specified names
      Reviewed-by: iustinp
    • Guido Trotter's avatar
      Remove auto_balance from burnin/cmdlib · c2c2a903
      Guido Trotter authored
      There is no such feature in trunk yet.
      Reviewed-by: iustinp
  14. 11 Sep, 2008 4 commits