1. 09 2月, 2018 13 次提交
    • D
      build: explicitly link all modules with libvirt.so · 21639744
      Daniel P. Berrangé 提交于
      The dlopened modules we currently build all use various symbols from
      libvirt.so, but don't actually link to it. They rely on the libvirtd
      daemon re-exporting the libvirt.so symbols. This means that at the
      time the modules are linked, they contain a huge number of undefined
      symbols. It also means that these undefined symbols are not versioned,
      so despite us providing a LIBVIRT_PRIVATE_XXXX version that
      intentionally changes on every release, the loadable modules could
      actually be loaded into any libvirtd regardless of version.
      
      This change explicitly links all modules against libvirt.so so
      that they don't rely on the re-export behave and can be fully resolved
      at build time. This will give us a stronger guarantee modules will
      actually be loadable at runtime and that we're using modules from the
      matched build.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      21639744
    • D
      storage: export virStoragePoolLookupByTargetPath as a public API · 7aa0e8c0
      Daniel P. Berrangé 提交于
      The storagePoolLookupByTargetPath() method in the storage driver is used
      by the QEMU driver during block migration. If there's a valid use case
      for this in the QEMU driver, then external apps likely have similar
      needs. Exposing it in the public API removes the direct dependancy from
      the QEMU driver to the storage driver.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      7aa0e8c0
    • D
      conf: move virStorageTranslateDiskSourcePool into domain conf · fee840cc
      Daniel P. Berrangé 提交于
      The virStorageTranslateDiskSourcePool method modifies a virDomainDiskDef
      to resolve any storage pool reference. For some reason this was added
      into the storage driver code, despite working entirely in terms of the
      public APIs. Move it into the domain conf file and rename it to match the
      object it modifies.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      fee840cc
    • D
      network: remove conditional declarations · 456c0486
      Daniel P. Berrangé 提交于
      The networkDnsmasqConfContents() method is only used by the test suite
      and that's only built with WITH_NETWORK is set. So there is no longer
      any reason to conditionalize the declaration of this method.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      456c0486
    • D
      conf: expand network device callbacks to cover resolving NIC type · a455d41e
      Daniel P. Berrangé 提交于
      Currently the QEMU driver will call directly into the network driver
      impl to modify resolve the atual type of NICs with type=network. It
      has todo this before it has allocated the actual NIC. This introduces
      a callback system to allow us to decouple the QEMU driver from the
      network driver.
      
      This is a short term step, as it ought to be possible to achieve the
      same end goal by simply querying XML via the public network API. The
      QEMU code in question though, has no virConnectPtr conveniently
      available at this time.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      a455d41e
    • D
      qemu: replace networkGetNetworkAddress with public API calls · 9069331b
      Daniel P. Berrangé 提交于
      The QEMU driver calls into the network driver to get the first IP
      address of the network. This information is readily available via the
      formal public API by fetching the XML doc and then parsing it.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      9069331b
    • D
      conf: expand network device callbacks to cover bandwidth updates · 1438aea4
      Daniel P. Berrangé 提交于
      Currently the QEMU driver will call directly into the network driver
      impl to modify network device bandwidth for interfaces with
      type=network. This introduces a callback system to allow us to decouple
      the QEMU driver from the network driver.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      1438aea4
    • D
      conf: introduce callback registration for domain net device allocation · 5b13570a
      Daniel P. Berrangé 提交于
      Currently virt drivers will call directly into the network driver impl
      to allocate domain interface devices where type=network. This introduces
      a callback system to allow us to decouple the virt drivers from the
      network driver.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      5b13570a
    • D
      build: link libvirt_lxc against libvirt.so · 5cbe0b10
      Daniel P. Berrangé 提交于
      Rather than static linking in various of the helper libraries to
      libvirt_lxc, just link against the main libvirt.so. This is more memory
      and time efficient because it will already be cached in memory and
      sharable between processes.
      
      CAPNG flags need adding because the LXC code directly calls various
      libcapng APIs and no longer inherits the CAPNG flags via the statically
      linked .a libs.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      5cbe0b10
    • D
      rpc: don't link in second copy of RPC code to libvirtd & lockd plugin · c3b24e70
      Daniel P. Berrangé 提交于
      The libvirt_driver_remote.la static library is linked into the
      libvirt.so dynamic library, providing both the generic RPC layer code
      and the remote protocol client driver. The libvirtd daemon the itself
      links to libvirt_driver_remote.la, in order to get access to the generic
      RPC layer code and the XDR functions for the remote driver. This means
      we get multiple copies of the same code in libvirtd, one direct and one
      indirect via libvirt.so. The same mistake affects the lockd plugin.
      
      The libvirtd daemon should instead just link aganist the generic RPC
      layer code that's in libvirt.so. This is easily doable if we add exports
      for the few symbols we've previously missed, and wildcard export xdr_*
      to expose the auto-generated XDR marshallers.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      c3b24e70
    • D
      storage: move storage file backend framework into util directory · 064fec69
      Daniel P. Berrangé 提交于
      The QEMU driver loadable module needs to be able to resolve all ELF
      symbols it references against libvirt.so. Some of its symbols can only
      be resolved against the storage_driver.so loadable module which creates
      a hard dependancy between them. By moving the storage file backend
      framework into the util directory, this gets included directly in the
      libvirt.so library. The actual backend implementations are still done as
      loadable modules, so this doesn't re-add deps on gluster libraries.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      064fec69
    • D
      storage: extract storage file backend from main storage driver backend · 3be2d168
      Daniel P. Berrangé 提交于
      The storage driver backends are serving the public storage pools API,
      while the storage file backends are serving the internal QEMU driver and
      / or libvirt utility code.
      
      To prep for moving this storage file backend framework into the utility
      code, split out the backend definitions.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      3be2d168
    • T
      fix regex to check CN from server certificate · d0a60771
      Tiago M. Vieira 提交于
      Currently when the script validates the PKI files and
      the certificate 'Subject:' field contains RDNs after
      the Common Name (CN), these values are also included,
      creating a false result that the CN is not correct.
      
      A small change to the sed regex fixes this issue, by
      extracting only the value for CN and nothing else. The
      regex is replaced with the exact same regex used to
      extract the CN value from the client certificate.
      d0a60771
  2. 08 2月, 2018 1 次提交
  3. 07 2月, 2018 8 次提交
  4. 06 2月, 2018 12 次提交
  5. 05 2月, 2018 6 次提交