1. 02 8月, 2016 30 次提交
  2. 01 8月, 2016 2 次提交
  3. 29 7月, 2016 2 次提交
    • M
      conf: Catch invalid memory model earlier · 1e058463
      Michal Privoznik 提交于
      Consider the following XML snippet:
      
          <memory model=''>
            <target>
              <size unit='KiB'>523264</size>
              <node>0</node>
            </target>
          </memory>
      
      Whats wrong you ask? The @model attribute. This should result in
      an error thrown into users faces during virDomainDefine phase.
      Except it doesn't. The XML validation catches this error, but if
      users chose to ignore that, they will end up with invalid XML.
      Well, they won't be able to start the machine - that's when error
      is produced currently. But it would be nice if we could catch the
      error like this earlier.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      1e058463
    • E
      admin: Fix default uri config option name s/admin_uri_default/uri_default · f5f32bcd
      Erik Skultety 提交于
      The original name 'admin_uri_default' was introduced to our code by commit
      dbecb87f. However, at that time we already had a separate config file for
      admin library but the commit mentioned above didn't properly adjust the
      config's option name. The result is that when we're loading the config, we
      check a non-existent config option (there's not much to do with the URIs
      anyway, since we only allow local connection). Additionally, virt-admin's man
      page documents, that the default URI can be altered by setting
      admin_uri_default option. So the fix proposed by this patch leaves the
      libvirt-admin.conf as is and adjusts the naming in the code as well as in the
      virt-admin's man page.
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      f5f32bcd
  4. 28 7月, 2016 5 次提交
    • J
      qemu: Need to free fileprops in error path · 8ad7eceb
      John Ferlan 提交于
      The virJSONValueObjectCreate only consumes the object on success, so on
      failure we must free - from commit id 'f4441017' (found by Coverity).
      8ad7eceb
    • J
      iscsi: Establish connection to target via static target login · 5d8c31c6
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1356436
      
      Commit id '56057900' altered the discovery of iSCSI node targets by
      using the "--op nonpersistent". This caused issues for clean environments
      or if by chance a "-m node -o delete" was executed.
      
      Since each iSCSI Storage Pool has the required iSCSI target path, use
      that and the virISCSINodeNew API in order to generate the iSCSI node record.
      5d8c31c6
    • J
      util: Introduce virISCSINodeNew · ae65c908
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1356436
      
      According to RFC 3721 (https://www.ietf.org/rfc/rfc3721.txt), there are
      two ways to "discover" targets in/for the iSCSI environment. Discovery
      is the process which allows the initiator to find the targets to which
      it has access and at least one address at which each target may be
      accessed.
      
      The method currently implemented in libvirt using the virISCSIScanTargets
      API is known as "SendTargets" discovery. This method is more useful when
      the target IP Address and TCP port information are available, e.g. in
      libvirt terms the "portal". It returns a list of targets for the portal.
      From that list, the target can be found. This operation can also fill an
      iSCSI node table into which iSCSI logins may occur. Commit id '56057900'
      altered that filling by adding the "--op nonpersistent" since it was
      not necessarily desired to perform that for non libvirt related targets.
      
      The second method is "Static Configuration". This method not only needs
      the IP Address and TCP port (e.g. portal), but also the iSCSI target name.
      In libvirt terms this would be the device path field from the iSCSI pool
      <source> XML. This patch implements the second methodology using that
      required device path as the targetname.
      ae65c908
    • D
      storage: remove "luks" storage volume type · a48c7141
      Daniel P. Berrange 提交于
      The current LUKS support has a "luks" volume type which has
      a "luks" encryption format.
      
      This partially makes sense if you consider the QEMU shorthand
      syntax only requires you to specify a format=luks, and it'll
      automagically uses "raw" as the next level driver. QEMU will
      however let you override the "raw" with any other driver it
      supports (vmdk, qcow, rbd, iscsi, etc, etc)
      
      IOW the intention though is that the "luks" encryption format
      is applied to all disk formats (whether raw, qcow2, rbd, gluster
      or whatever). As such it doesn't make much sense for libvirt
      to say the volume type is "luks" - we should be saying that it
      is a "raw" file, but with "luks" encryption applied.
      
      IOW, when creating a storage volume we should use this XML
      
        <volume>
          <name>demo.raw</name>
          <capacity>5368709120</capacity>
          <target>
            <format type='raw'/>
            <encryption format='luks'>
              <secret type='passphrase' uuid='0a81f5b2-8403-7b23-c8d6-21ccd2f80d6f'/>
            </encryption>
          </target>
        </volume>
      
      and when configuring a guest disk we should use
      
        <disk type='file' device='disk'>
          <driver name='qemu' type='raw'/>
          <source file='/home/berrange/VirtualMachines/demo.raw'/>
          <target dev='sda' bus='scsi'/>
          <encryption format='luks'>
            <secret type='passphrase' uuid='0a81f5b2-8403-7b23-c8d6-21ccd2f80d6f'/>
          </encryption>
        </disk>
      
      This commit thus removes the "luks" storage volume type added
      in
      
        commit 318ebb36
        Author: John Ferlan <jferlan@redhat.com>
        Date:   Tue Jun 21 12:59:54 2016 -0400
      
          util: Add 'luks' to the FileTypeInfo
      
      The storage file probing code is modified so that it can probe
      the actual encryption formats explicitly, rather than merely
      probing existance of encryption and letting the storage driver
      guess the format.
      
      The rest of the code is then adapted to deal with
      VIR_STORAGE_FILE_RAW w/ VIR_STORAGE_ENCRYPTION_FORMAT_LUKS
      instead of just VIR_STORAGE_FILE_LUKS.
      
      The commit mentioned above was included in libvirt v2.0.0.
      So when querying volume XML this will be a change in behaviour
      vs the 2.0.0 release - it'll report 'raw' instead of 'luks'
      for the volume format, but still report 'luks' for encryption
      format.  I think this change is OK because the storage driver
      did not include any support for creating volumes, nor starting
      guets with luks volumes in v2.0.0 - that only since then.
      Clearly if we change this we must do it before v2.1.0 though.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      a48c7141
    • D
      virstoragefile: refactor virStorageFileMatchesNNN methods · 970f42ab
      Daniel P. Berrange 提交于
      Refactor the virStorageFileMatchesNNN methods so that
      they don't take a struct FileFormatInfo parameter, but
      instead get the actual raw dat items they needs. This
      will facilitate reuse in other contexts.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      970f42ab
  5. 27 7月, 2016 1 次提交