Hello community,

here is the log from the commit of package lxd.12244 for 
openSUSE:Leap:15.1:Update checked in at 2020-04-08 14:09:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.1:Update/lxd.12244 (Old)
 and      /work/SRC/openSUSE:Leap:15.1:Update/.lxd.12244.new.3248 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lxd.12244"

Wed Apr  8 14:09:38 2020 rev:1 rq:791153 version:4.0.0

Changes:
--------
New Changes file:

--- /dev/null   2020-04-01 01:12:57.297512941 +0200
+++ /work/SRC/openSUSE:Leap:15.1:Update/.lxd.12244.new.3248/lxd.changes 
2020-04-08 14:09:41.024828428 +0200
@@ -0,0 +1,245 @@
+-------------------------------------------------------------------
+Wed Apr  1 14:23:25 UTC 2020 - Aleksa Sarai <asa...@suse.com>
+
+- Update to LXD 4.0.0. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-4-0-lts-has-been-released/7231
+  boo#1168338
+
+  Breaking Changes:
+    * Removal of --container-only, replaced by --instance-only
+
+  + VM: Support for backup (import/export)
+  + PCI and USB devices in the resource API
+  + Support for multiple ipvlan NIC devices
+  + Support for host addresses on routed NIC
+  + Support for editing cluster roles
+  + Disk usage for custom volumes
+  + Disk usage for snapshots
+  + Support for passwordless PKI mode
+
+-------------------------------------------------------------------
+Sat Mar 21 04:55:09 UTC 2020 - Aleksa Sarai <asa...@suse.com>
+
+- Update to LXD 3.23. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-3-23-has-been-released/7140
+  boo#1167304
+  + Custom storage volumes in projects
+  + Schedule snapshots for custom storage volumes
+  + Expiry for custom storage volumes
+  + Limits for projects
+  + Restrictions for projects
+  + Improved backup/export logic
+  + VM: Support for migration
+  + VM: Support for publishing
+
+-------------------------------------------------------------------
+Sat Mar  7 14:49:16 UTC 2020 - Aleksa Sarai <asa...@suse.com>
+
+- Update to LXD 3.22. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-3-22-has-been-released/7027
+  boo#1165976
+  + Resource limits for projects
+  + nftables backend for firewalling
+  + Container: Hugepages in unprivileged containers
+  + VM: Support for 9p disk devices
+  + VM: File templating support
+
+-------------------------------------------------------------------
+Fri Feb 14 07:27:24 UTC 2020 - Aleksa Sarai <asa...@suse.com>
+
+- Update to LXD 3.21. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-3-21-has-been-released/6802
+  boo#1163651
+  + New way to attach to LXD managed networks
+  + Clustering: Configurable number of active and standby database members
+  * Ceph ported to new storage driver infrastructure
+  * VM: CPU pinning and topology
+  * VM: Network and storage optimizations
+  * VM: Agent-less reporting of IPv6 addresses
+- Remove upstreamed patch. boo#1156336
+  - boo1156336-0001-vfs-vfs__delete-fix-double-unlock-of-root-mutex.patch
+
+-------------------------------------------------------------------
+Mon Feb  3 15:03:49 UTC 2020 - Dominique Leuenberger <dims...@opensuse.org>
+
+- BuildRequire pkgconfig(libudev) instead of libudev-devel: Allow
+  OBS to shortcut through the -mini flavors.
+
+-------------------------------------------------------------------
+Sat Feb  1 23:37:24 UTC 2020 - Aleksa Sarai <asa...@suse.com>
+
+- Fix bash-completion by installing it to the correct path. boo#1162426
+
+-------------------------------------------------------------------
+Fri Jan 31 10:16:27 UTC 2020 - Aleksa Sarai <asa...@suse.com>
+
+- Backport https://github.com/canonical/dqlite/pull/207 to fix boo#1156336.
+  + boo1156336-0001-vfs-vfs__delete-fix-double-unlock-of-root-mutex.patch
+
+-------------------------------------------------------------------
+Fri Jan 31 00:33:47 UTC 2020 - Aleksa Sarai <asa...@suse.com>
+
+- Update to LXD 3.20. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-3-20-has-been-released/6673
+  boo#1162299
+  + Server side support of API collections
+  + New unix-hotplug device type
+  + Support for standby cluster members
+- Update packaging to use GOPATH="_dist" rather than trying to move everything
+  to vendor/. This is the recommended approach by upstream (and makes our
+  specfile marginally less horrific).
+
+-------------------------------------------------------------------
+Fri Jan 17 05:17:53 UTC 2020 - Aleksa Sarai <asa...@suse.com>
+
+- Update to LXD 3.19. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-3-19-has-been-released/6529
+  boo#1161615
+  + Virtual machine support
+  + Reworked storage layer
+  + Routed networking mode
+  + Custom mount options for disk devices
+  + Interception of the mount system call
+  + Multi-architecture clustering
+  + ...
+- Rework package handling to fake Go module builds.
+
+-------------------------------------------------------------------
+Wed Dec 11 23:55:40 UTC 2019 - Aleksa Sarai <asa...@suse.com>
+
+- Support older SLE systems which don't have "usermod -w -v".
+
+-------------------------------------------------------------------
+Thu Oct  3 01:53:53 UTC 2019 - Aleksa Sarai <asa...@suse.com>
+
+- Update to LXD 3.18. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-3-18-has-been-released/5869
+  boo#1152846
+  + New /1.0/instances endpoint
+  + Support for storing VM images
+  + Extended disk resources information
+  + Modification of image expiry date
+  + Clustering roles
+  + IPv4 configuration when in Fan mode
+
+-------------------------------------------------------------------
+Wed Sep 25 11:03:42 UTC 2019 - Aleksa Sarai <asa...@suse.com>
+
+- Clean up a few remaining specfile bits left over from the 3.17 update.
+
+-------------------------------------------------------------------
+Tue Sep 24 12:31:21 UTC 2019 - Aleksa Sarai <asa...@suse.com>
+
+- Completely drop all stripping -- it appears to cause all sorts of problems
+  with unresolved symbol errors.
+- Update to LXD 3.17. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-3-17-has-been-released/5679
+  boo#1151874
+  + Storage pool backed image tarballs and backups
+  + Container configuration as YAML on lxc init and lxc launch
+  * Ported to final Dqlite 1.0
+  * Database rework
+  * Container devices rework
+  * Storage rework
+
+-------------------------------------------------------------------
+Mon Jul 15 06:40:30 UTC 2019 - Aleksa Sarai <asa...@suse.com>
+
+- Update to LXD 3.15. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-3-15-has-been-released/5218
+  + Switch to dqlite 1.0.
+  * Reworked DHCP lease handling
+  * Reworked cluster heartbeat handling
+  * Better syscall interception framework
+  * More reliable unix socket proxying
+  + Hardware VLAN and MAC filtering on SR-IOV
+  + New storage-size option for lxd-p2c
+  + IPv4 and IPv6 filtering (spoof protection)
+  * Reworked resources API (host hardware)
+  + Control over uid, gid and cwd during command execution
+  + Quota support for custom storage volumes on dir backend
+  * Lots of bug fixes...
+
+-------------------------------------------------------------------
+Wed Jun 19 07:21:29 UTC 2019 - Aleksa Sarai <asa...@suse.com>
+
+- Update to LXD 3.14. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-3-14-has-been-released/5045
+  boo#1138770
+  + Cluster: Re-worked DNS forwarding
+  + Script to factory reset LXD
+  + Improvements to syscall interception
+  * Lots of bug fixes...
+
+-------------------------------------------------------------------
+Wed Jun 19 03:16:40 UTC 2019 - Aleksa Sarai <asa...@suse.com>
+
+- Update build to use go_nostrip, in order to attempt to fix the broken
+  binaries on Leap 15.1. boo#1138769
+
+-------------------------------------------------------------------
+Sun Jun  9 08:21:19 UTC 2019 - Aleksa Sarai <asa...@suse.com>
+
+- Explicitly require lxcfs-hooks-lxc. LXD supports lxcfs but it requires tha
+  the LXC configuration files be present.
+
+-------------------------------------------------------------------
+Sun Jun  2 17:22:35 UTC 2019 - Jan Engelhardt <jeng...@inai.de>
+
+- Trim filler wording from description.
+- Remove --with-pic which often has no point with --disable-static.
+- Avoid bash-specific sh code.
+
+-------------------------------------------------------------------
+Thu May  9 20:28:55 UTC 2019 - Aleksa Sarai <asa...@suse.com>
+
+- Update to LXD 3.13. The full upstream changelog is available from:
+  https://discuss.linuxcontainers.org/t/lxd-3-13-has-been-released/4738
++++ 48 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Leap:15.1:Update/.lxd.12244.new.3248/lxd.changes

New:
----
  lxd-4.0.0.tar.gz
  lxd-4.0.0.tar.gz.asc
  lxd-rpmlintrc
  lxd.changes
  lxd.dnsmasq
  lxd.keyring
  lxd.service
  lxd.spec
  lxd.sysctl

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lxd.spec ++++++
#
# spec file for package lxd
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# nodebuginfo


%go_nostrip

%define _buildshell /bin/bash
%define import_path github.com/lxc/lxd

Name:           lxd
Version:        4.0.0
Release:        0
Summary:        Container hypervisor based on LXC
License:        Apache-2.0
Group:          System/Management
URL:            https://linuxcontainers.org/lxd
Source:         
https://linuxcontainers.org/downloads/%{name}/%{name}-%{version}.tar.gz
Source1:        
https://linuxcontainers.org/downloads/%{name}/%{name}-%{version}.tar.gz.asc
Source2:        %{name}.keyring
Source3:        %{name}-rpmlintrc
# LXD upstream doesn't use systemd, they use snapd.
Source100:      %{name}.service
# Additional runtime configuration.
Source200:      %{name}.sysctl
Source201:      %{name}.dnsmasq
BuildRequires:  fdupes
BuildRequires:  golang-packaging
BuildRequires:  libacl-devel
BuildRequires:  libcap-devel
BuildRequires:  patchelf
BuildRequires:  pkg-config
BuildRequires:  rsync
BuildRequires:  golang(API) >= 1.10
BuildRequires:  pkgconfig(libudev)
BuildRequires:  pkgconfig(lxc) >= 3.0.0
# Needed to build the sqlite fork and dqlite.
BuildRequires:  autoconf
BuildRequires:  libtool
BuildRequires:  pkgconfig(libuv) >= 1.8.0
BuildRequires:  pkgconfig(tcl)
# Bits required for images and other things at runtime.
Requires:       acl
Requires:       ebtables
BuildRequires:  dnsmasq
Requires:       criu >= 2.0
Requires:       dnsmasq
Requires:       lxcfs
Requires:       lxcfs-hooks-lxc
Requires:       rsync
Requires:       squashfs
Requires:       tar
Requires:       xz
# Storage backends -- we don't recommend ZFS since it's not *technically* a
# blessed configuration.
Recommends:     lvm2
Recommends:     thin-provisioning-tools
Recommends:     btrfsprogs
Suggests:       zfs

%description
LXD is a system container manager. It offers a user experience
similar to virtual machines but uses Linux containers (LXC) instead.

%package bash-completion
Summary:        Bash Completion for %{name}
Group:          System/Management
Requires:       %{name} = %{version}
Supplements:    packageand(%{name}:bash-completion)
BuildArch:      noarch

%description bash-completion
Bash command line completion support for %{name}.

%prep
%setup -q

# Create fake "go mod"-like import paths. This is going to be really fun to
# maintain but it's unfortunately necessary because openSUSE doesn't have nice
# "go mod" support in OBS...
ln -s . _dist/src/github.com/cpuguy83/go-md2man/v2

%build
# Make sure any leftover go build caches are gone.
go clean -cache

# Set up GOPATH.
export GOPATH="$PWD/.gopath"
export PKGDIR="$GOPATH/src/%{import_path}"
mkdir -p "$PKGDIR"
cp -a * "$PKGDIR"

# Set up temporary installation paths.
export INSTALL_ROOT="$PKGDIR/.install"
export INSTALL_INCLUDEDIR="$INSTALL_ROOT/%{_includedir}"
export INSTALL_LIBDIR="$INSTALL_ROOT/%{_libdir}/%{name}"

# We first need to build all of the LXD-specific dependencies. To avoid binary
# bloat, we build them as dylibs -- but we then later need to mess around with
# the ELF headers to stop the openSUSE packaging scripts from freaking out.
export CFLAGS="%{optflags} -fPIC -DPIC"

# We have a temporary-install directory which contains all of the dylib deps.
export PKG_CONFIG_SYSROOT_DIR="$INSTALL_ROOT"
export PKG_CONFIG_PATH="$INSTALL_LIBDIR/pkgconfig"

# SQLite
pushd "$PKGDIR/_dist/deps/sqlite"
autoreconf -fiv
%configure \
        --libdir="%{_libdir}/%{name}" \
        --disable-static \
        --enable-replication \
        --disable-tcl
make clean
make %{?_smp_mflags}
make DESTDIR="$INSTALL_ROOT" install
popd

# libco
pushd "$PKGDIR/_dist/deps/libco"
make \
        CFLAGS="$CFLAGS" \
        PREFIX="" \
        INCLUDEDIR="%{_includedir}" \
        LIBDIR="%{_libdir}/%{name}" \
        DESTDIR="$INSTALL_ROOT" \
        all install
popd

# raft
pushd "$PKGDIR/_dist/deps/raft"
autoreconf -fiv
%configure \
        --libdir="%{_libdir}/%{name}" \
        --disable-static
make %{?_smp_mflags}
make DESTDIR="$INSTALL_ROOT" install
popd

# dqlite
pushd "$PKGDIR/_dist/deps/dqlite"
(
autoreconf -fiv
%configure \
        --libdir="%{_libdir}/%{name}" \
        --disable-static
make clean
make %{?_smp_mflags}
make DESTDIR="$INSTALL_ROOT" install
)
popd

# Find all of the main packages using go-list.
readarray -t mainpkgs \
        <<<"$(go list -f '{{.Name}}:{{.ImportPath}}' %{import_path}/... | \
              awk -F: '$1 == "main" { print $2 }' | \
              grep -Ev '^github.com/lxc/lxd/(test|shared)')"

# _dist/src is effectively an old-school "vendor/" tree, so add it to GOPATH.
export GOPATH="$GOPATH:$PKGDIR/_dist"

# And now we can finally build LXD and all of the related binaries.
mkdir bin
for mainpkg in "${mainpkgs[@]}"
do
        binary="$(basename "$mainpkg")"
        (
                # We need to link against our particular dylib deps.
                export \
                        CGO_CFLAGS="-I $INSTALL_INCLUDEDIR" \
                        CGO_LDFLAGS="-L $INSTALL_LIBDIR" ||:
                go build -buildmode=pie -tags "libsqlite3" -o "bin/$binary" 
"$mainpkg"
        )
done

# This part is quite ugly, so I apologise upfront.
#
# We want to have our _dist/deps/* libraries be dylibs so that we don't bloat
# our lxd binary. Unfortunately, we are presented with a few challenges:
#
#  * Doing this naively (put it in {_libdir}) results in sqlite3 package
#    conflicts -- and we aren't going to maintain sqlite3 for all of openSUSE
#    here.
#
#  * Putting everything in a hidden {_libdir}/{name} with RUNPATH configured
#    accordingly works a little better, but still results in lxd ending up with
#    {Provides,Requires}: libsqlite3.so.0. This results in more esoteric
#    conflicts but is still an issue (we'd need to add Prefer: libsqlite3-0
#    everywhere).
#
# So, the only reasonable choice left is to use absolute paths as DT_NEEDED
# entries -- which bypasses the need for RUNPATH and allows us to set garbage
# sonames for our _dist/deps/* libraries. Absolute paths for DT_NEEDED is
# *slightly* undefined behaviour, but glibc has had this behaviour for a very
# long time -- and others have considered using it in a similar manner[1].
#
# What F U N.
#
# [1]: https://github.com/NixOS/nixpkgs/issues/24844

(
        # A simple check that lxd isn't broken. We can't do this after patchelf
        # because we'd need to chroot(2) into {buildroot} which isn't permitted 
due
        # to user namespaces being blocked inside rpmbuild. boo#1138769
        export LD_LIBRARY_PATH="$INSTALL_LIBDIR"
        ./bin/lxd help
)

for lib in "$INSTALL_LIBDIR"/lib*.so
do
        # Strip off last two version digits.
        name="$(basename "$(readlink "$lib")" | sed -E 's/\.[0-9]+\.[0-9]+$//')"
        # Give our libraries unrecognisable DT_SONAME entries.
        patchelf --set-soname "._LXD_INTERNAL-$name" "$lib"
        # Make sure they're executable.
        chmod +x "$lib"
done

# Switch to absolute DT_NEEDED for all dylibs we have as well as the main LXD
# binary. We do this for all dylibs to make sure we don't end up with weird
# chain-loading problems.
for target in bin/* "$INSTALL_LIBDIR"/lib*.so
do
        # Drop RPATH in case it got included during builds.
        patchelf --remove-rpath "$target"
        # And now replace all the possible DT_NEEDEDs to absolute paths.
        for lib in "$INSTALL_LIBDIR"/lib*.so
        do
                # Strip off last two version digits.
                name="$(basename "$(readlink "$lib")" | sed -E 
's/\.[0-9]+\.[0-9]+$//')"
                patchelf --replace-needed {,%{_libdir}/%{name}/}"$name" 
"$target"
        done
done

# Generate man pages.
mkdir man
./bin/lxc manpage man/

pushd bin/
for bin in *
do
        # Ensure that all our binaries are dynamic. boo#1138769
        file "$bin" | grep 'dynamically linked'
        # Check what they are linked against.
        ldd "$bin"
done
popd

%install
export GOPATH="$PWD/.gopath"
export PKGDIR="$GOPATH/src/%{import_path}"
export INSTALL_LIBDIR="$PKGDIR/.install/%{_libdir}/%{name}"

install -d -m 0755 %{buildroot}%{_libdir}/%{name}
# We can't use install because *.so.$n are symlinks.
cp -avt %{buildroot}%{_libdir}/%{name}/ "$INSTALL_LIBDIR"/lib*.so.*

# Install all the binaries.
pushd bin/
for bin in *
do
        install -D -m 0755 "$bin" "%{buildroot}%{_bindir}/$bin"
done
popd

# Install man pages.
pushd man/
for man in *
do
        section="${man##*.}"
        install -D -m 0644 "$man" "%{buildroot}%{_mandir}/man$section/$man"
done
popd

# bash-completion.
install -D -m 0644 scripts/bash/lxd-client 
%{buildroot}%{_datadir}/bash-completion/completions/lxc

# sysv-init and systemd setup.
install -D -m 0644 %{S:100} %{buildroot}%{_unitdir}/%{name}.service
mkdir -p %{buildroot}%{_sbindir}
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}

# Run-time configuration.
install -D -m 0644 %{S:200} %{buildroot}%{_sysctldir}/60-lxd.conf
install -D -m 0644 %{S:201} %{buildroot}%{_sysconfdir}/dnsmasq.d/60-lxd.conf

# Run-time directories.
install -d -m 0711 %{buildroot}%{_localstatedir}/lib/%{name}
install -d -m 0755 %{buildroot}%{_localstatedir}/log/%{name}

%fdupes %{buildroot}

%pre
# Group which owns the lxd socket, which allows people to administer it.
getent group %{name} >/dev/null || groupadd -r %{name}

# /etc/sub[ug]id should exist already (it's part of shadow-utils), but older
# distros don't have it. LXD just parses it and doesn't need any special
# shadow-utils helpers.
touch /etc/subuid /etc/subgid ||:

# Add sub[ug]ids for LXD's unprivileged containers -- in order to support
# isolated containers we add quite a few subuids. Since LXD runs as root we add
# them for the root user (not the lxd group). We only bother if there aren't
# any mappings available already.
#
# We have no guarantee that the range we pick will be unique -- which ideally
# we would want it to be. There isn't a nice way to do this without
# reimplementing a bunch of range-handling code for /etc/sub[ug]id in bash. So
# we just pick the 400-900 million range, and hope for the best (most tutorials
# use the 1-million range, so we avoid that pitfall).
#
# This default setting of 500 million is enough for ~8000 isolated containers,
# which should be enough for most users.
grep -q '^root:' /etc/subuid || \
        usermod -v 400000000-900000000 root &>/dev/null || \
        echo "root:400000000:500000001" >>/etc/subuid ||:
grep -q '^root:' /etc/subgid || \
        usermod -w 400000000-900000000 root &>/dev/null || \
        echo "root:400000000:500000001" >>/etc/subgid ||:

%service_add_pre %{name}.service

%post
%sysctl_apply
%service_add_post %{name}.service

%preun
%service_del_preun %{name}.service

%postun
%sysctl_apply
%service_del_postun %{name}.service

%files
%defattr(-,root,root)
%doc AUTHORS README.md doc/
%license COPYING
%{_bindir}/*
%{_mandir}/man*/*
%{_libdir}/%{name}

%{_sbindir}/rc%{name}
%{_unitdir}/%{name}.service

%dir %{_localstatedir}/lib/%{name}
%dir %{_localstatedir}/log/%{name}

%{_sysctldir}/60-lxd.conf
%config(noreplace) %{_sysconfdir}/dnsmasq.d/60-lxd.conf

%files bash-completion
%defattr(-,root,root)
%{_datadir}/bash-completion/

%changelog
++++++ lxd-rpmlintrc ++++++
# The linking against full paths underneath /usr/lib64/lxd/ is intentional, as
# our shared libraries are internal and aren't meant to be used outside LXD.
# This error only appears in old SLE versions.
addFilter ("^lxd.* E: invalid-filepath-dependency .* /usr/lib(32|64)?/lxd/")
++++++ lxd.dnsmasq ++++++
# WARNING: DO NOT MODIFY THIS FILE.
# Changes to this file will be lost when the lxd package is updated or removed.
# Instead, add changes to /etc/dnsmasq.d/.

# Tell any system-wide dnsmasq instance to make sure to bind to interfaces
# instead of listening on 0.0.0.0.
bind-interfaces
except-interface=lxdbr0
++++++ lxd.keyring ++++++
pub   rsa4096/0xC638974D64792D67 2010-10-23 [SC]
      602F567663E593BCBD14F338C638974D64792D67
uid                   [ unknown] Stéphane Graber <stgra...@stgraber.org>
uid                   [ unknown] Stéphane Graber <stgra...@ubuntu.com>
sub   rsa4096/0x9E4B2A99D7B3258F 2010-10-23 [E]

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=JVth
-----END PGP PUBLIC KEY BLOCK-----
++++++ lxd.service ++++++
[Unit]
Description=LXD Container Hypervisor
After=network-online.target lxcfs.service
Requires=network-online.target lxcfs.service
Documentation=man:lxd(1)

[Service]
ExecStart=/usr/bin/lxd --group=lxd --logfile=/var/log/lxd/lxd.log
ExecStartPost=/usr/bin/lxd waitready --timeout=600
TimeoutStartSec=600s
TimeoutStopSec=30s
Restart=on-failure

# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity

# No need to add a task limit.
TasksMax=infinity

# Set delegate yes so that systemd does not mess with LXD cgroups.
Delegate=yes

# Kill only the LXD process, not all processes in the cgroup.
KillMode=process

[Install]
WantedBy=multi-user.target
++++++ lxd.sysctl ++++++
# WARNING: DO NOT MODIFY THIS FILE.
# Changes to this file will be lost when the lxd package is updated or removed.
# Instead, add changes to /etc/sysctl.d/.

# These defaults come from doc/production-setup.md, but have been slightly
# modified to be less extreme. The recommended value is included as a comment
# below each changed value.

# inotify limits.
fs.inotify.max_queued_events  = 131072 # 1048576
fs.inotify.max_user_instances = 131072 # 1048576
fs.inotify.max_user_watches   = 131072 # 1048576

# Number of memory mappings a process can have (lxd can have quite a lot).
#vm.max_map_count = 262144

# Deny container access to kmsg, but this also blocks non-root host users so
# it's disabled by default. This isn't a bad hardening measure in general.
#kernel.dmesg_restrict = 1

# ARP table size (one per container)
net.ipv4.neigh.default.gc_thresh3 = 2048 # 8192
net.ipv6.neigh.default.gc_thresh3 = 2048 # 8192

# Number of kernel keyrings for unprivileged users (one per container).
kernel.keys.maxkeys = 2048

Reply via email to