X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=TODO;fp=TODO;h=43b69681a808ab96b654ed6d7b3932e2324ca7fe;hb=ae695cb23d75f9b43f0a302285bfae6a7565d6cc;hp=40d7d788fd1b9b3dbae4e9a570a83e72f1a49309;hpb=ebbac6d948b9d323b3d57bfd7c3513776e591dc1;p=elogind.git diff --git a/TODO b/TODO index 40d7d788f..43b69681a 100644 --- a/TODO +++ b/TODO @@ -12,10 +12,6 @@ Bugfixes: Environment=ONE='one' "TWO='two two' too" THREE= ExecStart=/bin/python3 -c 'import sys;print(sys.argv)' $ONE $TWO $THREE -* MEMORY return code is overloaded for syntax errors in the command line. - str_split_quoted() should return a real return code, so spawn_child can - report the failure properly. - * When systemctl --host is used, underlying ssh connection can remain open. bus_close does not kill children? @@ -23,46 +19,93 @@ External: * Fedora: add an rpmlint check that verifies that all unit files in the RPM are listed in %systemd_post macros. -* Fedora: move kernel image to /usr/lib/modules/, kernel-install will take care of populating /boot - -* Fedora: remove /etc/resolv.conf tmpfiles hack - * wiki: update journal format documentation for lz4 additions * When lz4 gets an API for lz4 command output, make use of it to compress coredumps in a way compatible with /usr/bin/lz4. -Before 220: +Features: + +* introduce an NSS module that uses machined info to give container UIDs pretty names when user namespacing is used. -* rework fsckd/fsck's connection logic or remove fsck entirely +* stop using off_t, it's a crazy type. Use uint64_t instead. -* fix userns support in nspawn, or remove it entirely +* logind: follow PropertiesChanged state more closely, to deal with quick logouts and relogins -* make unmount-on-eject work again +* change to KillMode=mixed by default -* bus-proxy: GetConnectionSELinuxSecurityContext() is completely broken +* introduce argv0contains= -* logind: make sure the syncrhonous polkit checks are not interactive, i.e. supporess client side interactive bus message header flag for them +* invent a better systemd-run scheme for naming scopes, that works with remoting -* timer units triggering services with failing conditions run busy: - http://lists.freedesktop.org/archives/systemd-devel/2015-April/030095.html +* add journalctl -H that talks via ssh to a remote peer and passes through binary logs data -Features: +* change journalctl -M to acquire fd to journal directory via machined, and then operate on that via openat() instead of absolute paths -* the default stop timeout for units is not documented anywhere. +* add a version of --merge which also merges /var/log/journal/remote -* .timer units should optionally support CLOCK_BOOTTIME in addition to CLOCK_MONOTONIC +* log accumulated resource usage after each service invocation + +* networkd: dhcp server: try to assign stable IP addresses based on client's MAC address + +* nspawn: a nice way to boot up without machine id set, so that it is set at boot automatically for supporting --ephemeral. Maybe hash the host machine id together with the machine name to generate the machine id for the container + +* logind: rename session scope so that it includes the UID. THat way + the session scope can be arranged freely in slices and we don't have + make assumptions about their slice anymore. + +* journalctl: -m should access container journals directly by enumerating them via machined, and also watch containers coming and going. Benefit: nspawn --ephemeral would start working nicely with the journal. + +* nspawn: don't copy /etc/resolv.conf from host into container unless we are in shared-network mode + +* nspawn: optionally automatically add FORWARD rules to iptables whenever nspawn is running, remove them when shut down. + +* importd: generate a nice warning if mkfs.btrfs is missing + +* nspawn: add a logic for cleaning up read-only, hidden container images in /var/lib/machines that are not ancestors of any non-hidden containers + +* nspawn: Improve error message when --bind= is used on a non-existing source directory -* rm_rf() should be able to remove subvolumes +* nspawn: maybe make copying of /etc/resolv.conf optional, and skip it if --read-only is used -* systemd-run should support a mode where we wait for the unit to be started up +* man: document how update dkr images works with machinectl + http://lists.freedesktop.org/archives/systemd-devel/2015-February/028630.html + +* nspawn: as soon as networkd has a bus interface, hook up --network-interface=, --network-bridge= with networkd, to trigger netdev creation should an interface be missing + +* networkd: make DHCP server IP range configurable, including only with a single IP address + +* rework C11 utf8.[ch] to use char32_t instead of uint32_t when referring + to unicode chars, to make things more expressive. + +* "machinectl migrate" or similar to copy a container from or to a + difference host, via ssh + +* tmpfiles: creating new directories/subvolumes/fifos/device nodes + should not follow symlinks. None of the other adjustment or creation + calls follow symlinks. + +* fstab-generator: default to tmpfs-as-root if only usr= is specified on the kernel cmdline + +* docs: bring http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime up to date + +* mounting and unmounting mount points manually with different source + devices will result in collected collected on all devices used. + http://lists.freedesktop.org/archives/systemd-devel/2015-April/030225.html + +* add a job mode that will fail if a transaction would mean stopping + running units. Use this in timedated to manage the NTP service + state. + http://lists.freedesktop.org/archives/systemd-devel/2015-April/030229.html + +* Maybe add support for the equivalent of "ethtool advertise" to .link files? + http://lists.freedesktop.org/archives/systemd-devel/2015-April/030112.html + +* .timer units should optionally support CLOCK_BOOTTIME in addition to CLOCK_MONOTONIC * create a btrfs qgroup for /var/lib/machines, and add all container subvolumes we create to it. -* nspawn: add --overlay= to support overlay file systems, similar to - --tmpfs= and --bind=. - * When logging about multiple units (stopping BoundTo units, conflicts, etc.), log both units as UNIT=, so that journalctl -u triggers on both. @@ -85,15 +128,9 @@ Features: that are not supported... http://lists.freedesktop.org/archives/systemd-devel/2015-February/028076.html -* PID 1: when invoking systemctl preset-all on first boots, operate in - an exclusively additive way, i.e. never remove any pre-existing - symlinks, only add new ones. - * Introduce $LISTEN_NAMES to complement $LISTEN_FDS, containing a colon separated list of identifiers for the fds passed. -* when the fstab-generator runs in the initrd, it should create a /dev/null mask for systemd-fsck-root.service, to avoid that the the root fs is fsck'ed twice. - * maybe introduce WantsMountsFor=? Usecase: http://lists.freedesktop.org/archives/systemd-devel/2015-January/027729.html @@ -125,7 +162,7 @@ Features: * logind: maybe allow configuration of the StopTimeout for session scopes -* Set NoNewPriviliges= on all of our own services, where that makes sense +* Set NoNewPrivileges= on all of our own services, where that makes sense * Rework systemctl's GetAll property parsing to use the generic bus_map_all_properties() API @@ -700,17 +737,6 @@ Features: * when breaking cycles drop sysv services first, then services from /run, then from /etc, then from /usr -* automount: implement expire: - - set superblock timeout AUTOFS_DEV_IOCTL_TIMEOUT_CMD - - periodically run AUTOFS_DEV_IOCTL_EXPIRE_CMD - - every timeout/4 (original autofs logic) - - blocking, needs a thread - - run until -EAGAIN - - receive expire packet on pipe if kernel tells the timeout is over - - call umount - - answer expire packet on pipe with AUTOFS_DEV_IOCTL_{READY,FAIL}_CMD - - AUTOFS_DEV_IOCTL_EXPIRE_CMD returns - * ExecOnFailure=/usr/bin/foo * udev: