1. 28 Nov, 2008 3 commits
  2. 27 Nov, 2008 12 commits
    • Iustin Pop's avatar
      Improve the node add operation · 87622829
      Iustin Pop authored
      Currently, the node add operation uses a job to query the node name and
      the bootstrap function directly reads the config file for the cluster
      name.
      
      This patch changes to that both the cluster name and the verification of
      the node is done via queries to the master.
      
      Reviewed-by: ultrotter
      87622829
    • Iustin Pop's avatar
      Fix logic bug in rev 2072 · f34901f8
      Iustin Pop authored
      In revision 2072 "ConfigWriter: change cluster serial meaning" I misread
      the serial_no update logic: it was about updating the serial number on
      the object itself, not on the cluster.
      
      So we don't actually have at all cluster serial number increase when a
      node is changed (not removed/added).
      
      This patch revers to the original always increase the target serial
      number and adds increase of the cluster serial number in case a node has
      been changed.
      
      Reviewed-by: ultrotter
      f34901f8
    • Iustin Pop's avatar
      jqueue: fix a bug in an error path · 33987705
      Iustin Pop authored
      Dictionaries raise KeyError, and not ValueError when invalid keys are
      passes to del.
      
      Reviewed-by: imsnah
      33987705
    • Iustin Pop's avatar
      ConfigWriter: change cluster serial meaning · cff4c037
      Iustin Pop authored
      Currently, we increase the cluster serial number for instance additions,
      removals and renames. This is conforming with the REST paradigm, however
      it means that for each of these operations, we need to push ssconf
      updates to all nodes.
      
      In order to support future cases with reduced set of master-eligible
      nodes, we want to reduce the ssconf pushes (which need to be to all
      nodes). This patch changes the meaning for the cluster serial number so
      that it doesn't track instance operations at all.
      
      This means that addition of an instance can fail due to concurrent
      additions, even if the cluster serial has not changed. It slightly
      breaks the REST paradigm, but IMHO it's better for actual usage.
      
      Reviewed-by: ultrotter
      cff4c037
    • Iustin Pop's avatar
      instance import: adapt to multi-disk/nic world · 50a707fa
      Iustin Pop authored
      This is mostly a copy from gnt-instance add; import works, but it's not
      optimal - device count/parametrs should be able to be reused.
      
      Reviewed-by: ultrotter
      50a707fa
    • Iustin Pop's avatar
      Fix gnt-backup export · 726d7d68
      Iustin Pop authored
      This patch fixes a bug in disk calculation for gnt-backup export, which
      completely broke one-disk instance export.
      
      The patch also corrects some error messages and style issues.
      
      Reviewed-by: ultrotter
      726d7d68
    • Iustin Pop's avatar
      Fix a message in LUExportInstance · 268b8e42
      Iustin Pop authored
      We never verified the node name before, so this is most likely not a
      non-retrieve but a wrong name case.
      
      Reviewed-by: ultrotter
      268b8e42
    • Iustin Pop's avatar
      Allow network-less instances · e0e31530
      Iustin Pop authored
      Currently there's no way to specify no NICs for an instance, even though
      this is a supported configuration.
      
      The patch adds a --no-nics option to gnt-instance add.
      
      Reviewed-by: amishchenko
      e0e31530
    • Iustin Pop's avatar
      Fix gnt-job submit · 9d5ba39a
      Iustin Pop authored
      The submit function was using a very old API. This patch brings it up to
      date.
      
      Reviewed-by: imsnah
      9d5ba39a
    • Iustin Pop's avatar
      Small change to job failure output · 0e050889
      Iustin Pop authored
      Currently, job failures are done by raising OpExecError(job result). For
      a one-opcode job that failed, this is very non-intuitive:
      Failure: command execution error:
      [u'Disk size change not possible, use grow-disk']
      
      This patch changes the output in two ways:
       - for a job which didn't have opcodes which succeeded, it changes it
         to:
         Failure: command execution error:
         Disk size change not possible, use grow-disk
       - for a job with partial completion, to:
         Failure: command execution error:
         partial failure (opcode 1): Cannot remove the last disk of an
         instance
      
      The actual error type is not changed. A job that doesn't have at least
      an error-ed opcode is shown as before.
      
      Reviewed-by: imsnah
      0e050889
    • Iustin Pop's avatar
      Fix file-based block devices · ecb091e3
      Iustin Pop authored
      We changed a while ago the protocol for opening block devices, but
      FileStorage was not changed. This patch makes it work again.
      
      Reviewed-by: imsnah
      ecb091e3
    • Iustin Pop's avatar
      Fix instance creation · 112050d9
      Iustin Pop authored
      This patch fixes the diskless and drbd/file based instances. Sorry :(
      
      Reviewed-by: ultrotter
      112050d9
  3. 26 Nov, 2008 6 commits
  4. 25 Nov, 2008 13 commits
    • Guido Trotter's avatar
      Move the MASTER_SOCKET to SOCKET_DIR · 227647ac
      Guido Trotter authored
      Before it was in the abstract linux namespace, where unfortunately we
      couldn't easily check from python the credentials of the connecting
      clients. Now we also have to remove the file on exit and when starting.
      
      Reviewed-by: imsnah
      227647ac
    • Guido Trotter's avatar
      ganeti-masterd: create SOCKET_DIR · d823660a
      Guido Trotter authored
      If SOCKET_DIR doesn't exist we create it in the master daemon, before
      trying to put a socket inside it.
      
      Reviewed-by: imsnah
      d823660a
    • Guido Trotter's avatar
      Add SOCKET_DIR_MODE constant · 5ecb7e48
      Guido Trotter authored
      We want the socket dir to have a restricted permission.
      
      Reviewed-by: imsnah
      5ecb7e48
    • Guido Trotter's avatar
      Add SOCKET_DIR constant · b4442fd9
      Guido Trotter authored
      This new directory under /var/run will be used for file based unix
      sockets.
      
      Reviewed-by: imsnah
      b4442fd9
    • Guido Trotter's avatar
      Add very basic online help to devel/upload · 68a5b97a
      Guido Trotter authored
      Reviewed-by: imsnah
      68a5b97a
    • Iustin Pop's avatar
      Implement support for multi devices changes · 24991749
      Iustin Pop authored
      This big patch adds support for:
        - changing NIC/disks in the multi-device model
        - adding/removing NICs
        - adding/removing disks
      
      The patch is big and not very nice; the error checking paths are not
      very clear.
      
      The biggest problem is that from a simple instance.ATTR=VAL change
      (which didn't throw errors before) now we are creating and removing
      disks in this LU.
      
      Reviewed-by: imsnah
      24991749
    • Iustin Pop's avatar
      Slight change to the LU initialization code · 4be4691d
      Iustin Pop authored
      This patch adds support for a separate LU.CheckArguments() method which
      should do syntactic checks without holding locks and without polluting
      the ExpandNames which is a lock-related function. See for example the
      FIXME in LUSetInstanceParams.CheckPrereq.
      
      The patch also removes the REQ_MASTER and IsCluster checks since with
      the current architecture, inside LU code we are always in a valid
      cluster and we are always running on the master node.
      
      Reviewed-by: ultrotter
      4be4691d
    • Iustin Pop's avatar
      Fix a bug in LUSetInstanceParams · b637ae4d
      Iustin Pop authored
      The wrong names were reused in a copy-paste.
      
      Reviewed-by: imsnah
      b637ae4d
    • Iustin Pop's avatar
      Show disk access mode in gnt-instance info · b6fdf8b8
      Iustin Pop authored
      The mode parameter needs to be exported and shown in the info output.
      
      Reviewed-by: imsnah
      b6fdf8b8
    • Iustin Pop's avatar
      Change _GenerateDiskTemplate iv_name generation · e2a65344
      Iustin Pop authored
      Currently the _GenerateDiskTemplate assumes it does initial creation of
      disks (i.e. it starts with index 0).
      
      For dynamic disk adds, we need to pass an additional offset. This patch
      adds this offset and modifies its sole current caller.
      
      Reviewed-by: imsnah
      e2a65344
    • Iustin Pop's avatar
      Slighly improve multi-nic in gnt-instance info · d2acfe27
      Iustin Pop authored
      Previously we had only one nic, so the NIC information was all on one
      line. This patch changes it to:
      
          - NICs:
            - nic/0: MAC: aa:00:00:e8:b2:ef, IP: None, bridge: None
            - nic/1: MAC: aa:00:00:53:ca:92, IP: None, bridge: xen-br0
            - nic/2: MAC: aa:00:00:ba:e5:30, IP: None, bridge: None
      
      Reviewed-by: ultrotter
      d2acfe27
    • Michael Hanselmann's avatar
      Pass ssconf values from master to node · 03d1dba2
      Michael Hanselmann authored
      Instead of parsing the configuration on the node, we pass the ssconf
      values from the master.
      
      Reviewed-by: iustinp
      03d1dba2
    • Michael Hanselmann's avatar
      ganeti.http: Don't reuse key and cert objects · 65c6b8e0
      Michael Hanselmann authored
      Reusing the private key and certificate objects gave us problems. This
      patch changes the code to only cache the PEM data, but the objects
      themselves. For every socket, the private key and certificate objects
      are created again.
      
      Reviewed-by: iustinp
      65c6b8e0
  5. 24 Nov, 2008 6 commits