1. 28 Nov, 2010 1 commit
  2. 26 Nov, 2010 1 commit
    • Iustin Pop's avatar
      RPC call_node_info: change protocol · cb6a0296
      Iustin Pop authored
      
      
      Currently, the call_node_info RPC does always check both the VG free
      space and the hypervisor information. However, in ⅔ of the uses, we only
      care about one or the other. Therefore, we change it so that if any of
      the passed parameters is None, we don't perform the respective check. We
      also modify its callers to only pass in what they need.
      
      This also helps if the "default" hypervisor is broken and we want to
      create an instance for another hypervisor.
      
      With this patch, the duration of this rpc changes from 500ms to 90ms for
      a normal LVM+Xen PVM node, when we only require the LVM data; when we
      only require the hypervisor data, it doesn't change (as the “xm list”
      time is dominant).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      cb6a0296
  3. 03 Nov, 2010 1 commit
  4. 28 Oct, 2010 1 commit
    • Iustin Pop's avatar
      Add support for vm_capable in cluster verify · 8964ee14
      Iustin Pop authored
      
      
      The method to make vm_capable integrate easily into cluster verify is as follows:
      
      - we add a new NV_VMNODES that represents *non*-vm-capable nodes
      - the LU populates this list (it's expected that non-vm_capable nodes
        are few compared to vm_capable nodes)
      - backend skips the checks that are related to VM hosting
      - in the LU, we reorder the VM-related checks so that they occur after
        the non-VM (generic) tests, and we only execute them conditionally
      
      Additionally, we add some support to the instance checks to detect
      instances living on bad nodes.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      8964ee14
  5. 26 Oct, 2010 1 commit
  6. 25 Oct, 2010 1 commit
  7. 22 Oct, 2010 2 commits
  8. 30 Sep, 2010 1 commit
    • Iustin Pop's avatar
      Abstract OS name/variant functions · 870dc44c
      Iustin Pop authored
      
      
      Currently, the computation of the 'pure' name or the variant is
      hardcoded and spread around the functions that need it. This is not
      nice, and in the future we'd spread it even more with more usage of
      variants/pure os names.
      
      This patch abstracts these functions into the OS class, and then
      replaces the hardcoded uses with the new functions.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      870dc44c
  9. 23 Sep, 2010 1 commit
  10. 13 Sep, 2010 1 commit
  11. 07 Sep, 2010 1 commit
  12. 03 Sep, 2010 1 commit
  13. 23 Aug, 2010 1 commit
  14. 20 Aug, 2010 1 commit
  15. 19 Aug, 2010 2 commits
  16. 18 Aug, 2010 2 commits
    • Manuel Franceschini's avatar
      Support for resolving hostnames to IPv6 addresses · b705c7a6
      Manuel Franceschini authored
      
      
      This patch enables IPv6 name resolution by using socket.getaddrinfo
      instead of socket.gethostbyname_ex.
      
      It renames the HostInfo class to Hostname and unifies its use throughout
      the code. This is achieved by using static calls where no object is
      needed and removes some obsolete code.
      
      For now, we just resolve to IPv4 addresses, but this will change once it
      is needed.
      Signed-off-by: default avatarManuel Franceschini <livewire@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      b705c7a6
    • Manuel Franceschini's avatar
      Introduce new IPAddress classes · 8b312c1d
      Manuel Franceschini authored
      
      
      This patch unifies the netutils functions dealing with IP addresses to
      three classes:
      - IPAddress: Common IP address functionality
      - IPv4Address: IPv4 specific functionality
      - IPv6address: IPv6-specific functionality
      
      Furthermore it adds methods to check whether an address is a loopback
      address, replacing the .startswith("127") for IPv4 and adding IPv6
      support.
      
      It also provides the basis for future IPv6 address handling. Methods to
      convert IP strings to their corresponding interger values will allow to
      canonicalize IPv6 addresses.
      Signed-off-by: default avatarManuel Franceschini <livewire@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      8b312c1d
  17. 29 Jul, 2010 1 commit
    • Iustin Pop's avatar
      Instance migration: remove error on missing link · b8ebd37b
      Iustin Pop authored
      
      
      Since we don't support upgrades from 1.2.4 without restarting the
      instance, the 'not restarted since 1.2.5' check/error is
      wrong/misleading.
      
      Since the live migration works anyway without the links (it recreates
      them during the disk reconfiguration anyway), we remove the check and we
      transform it into a warning (to the node daemon log only,
      unfortunately).
      
      For 2.3, we'll need to change the symlink creation from instance start
      time to disk activation time (but that requires more RPC changes).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      b8ebd37b
  18. 26 Jul, 2010 1 commit
    • Iustin Pop's avatar
      Change the meaning of call_node_start_master · 91492e57
      Iustin Pop authored
      
      
      Currently, backend.StartMaster (the function behind this RPC call) will
      activate the master IP and then, if the start_daemons parameter is true,
      it will also activate the master role.
      
      While this works, it has two issues:
      
      - first, it will activate the master IP unconditionally, even if this
        node will not start the master daemon due to missing votes
      - second, the activation of the IP is done twice if start_daemons is
        true, because the master daemon does its own activation too
      
      This behaviour seems to be unmodified since Summer 2008, so probably any
      rationale on why this is done in two places is forgotten.
      
      The patch changes so that this function does *either* IP activation or
      master role activation but not both. So the IP will be activated only
      once (from the master daemon or from LURenameCluster), and it will only
      be done if the masterd got enough votes for startup.
      
      I can see only one downside to this change: if masterd won't actually
      start (due to missing votes), RAPI will still start, and without the
      master IP activated. But this is no worse than before, when both RAPI
      was running and the IP was activated.
      
      Note that the behaviour of StopMaster remains the same, as noone else
      does the IP removal.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      91492e57
  19. 09 Jul, 2010 1 commit
  20. 06 Jul, 2010 2 commits
  21. 30 Jun, 2010 1 commit
  22. 28 Jun, 2010 1 commit
  23. 25 Jun, 2010 1 commit
  24. 23 Jun, 2010 6 commits
  25. 15 Jun, 2010 1 commit
  26. 14 Jun, 2010 4 commits
  27. 11 Jun, 2010 1 commit
  28. 08 Jun, 2010 1 commit