summaryrefslogtreecommitdiff
path: root/src/import
Commit message (Collapse)AuthorAge
* tree-wide: there is no ENOTSUP on linuxDavid Herrmann2015-03-13
| | | | Replace ENOTSUP by EOPNOTSUPP as this is what linux actually uses.
* util: add rename_noreplaceAlban Crequy2015-03-10
| | | | | | | | | renameat2() exists since Linux 3.15 but btrfs support for the flag RENAME_NOREPLACE was added later. This patch implements a fallback when renameat2() returns EINVAL. EINVAL is the error returned when the filesystem does not support one of the flags.
* shared: the btrfs quota field is called "referenced" not "referred"Lennart Poettering2015-03-10
|
* importd: add API for exporting container/VM imagesLennart Poettering2015-03-09
| | | | Also, expose it in machinectl.
* importd: add new bus calls for importing local tar and raw imagesLennart Poettering2015-03-05
| | | | | | | | This also adds "machinectl import-raw" and "machinectl import-tar" to wrap these new bus calls. THe commands basically do for local files that "machinectl pull-raw" and friends do for remote files.
* pull: improve --help textLennart Poettering2015-03-05
|
* import: split out compression logic, so that we can share it with between ↵Lennart Poettering2015-03-05
| | | | import and pull calls
* import: rename download code from "import" to "pull"Lennart Poettering2015-03-05
| | | | | That way we can call the code for local container/VM imports "import" without confusion.
* importd: automatically grow /var/lib/machines/ loopback filesystem during ↵Lennart Poettering2015-03-03
| | | | | | | | | | | downloads If /var/lib/machines is mounted as btrfs loopback file system in /var/lib/machines.raw with this change we automatically grow the file system as it fills up. After each 10M we write to it during imports, we check the free disk space, and if the fill level grows beyond 66% we increase the size of the file system to 3x the fill level (thus lowering it to 33%).
* import: add support for gpg2 for verifying imported imagesLennart Poettering2015-03-02
| | | | | | gpg2 insists on created a trust db even if we tun off all trust db support. Hence create a temporary home where the trust db is placed, and remove it after use.
* machined: also set up /var/lib/machines as btrfs, if "machinectl set-limit" ↵Lennart Poettering2015-03-02
| | | | is called
* importd: split out setup logic for /var/lib/machines into its own API fileLennart Poettering2015-03-02
|
* importd: enable btrfs quota in /var/lib/machines, if necessaryLennart Poettering2015-02-24
|
* importd: create a loopback btrfs file system for /var/lib/machines, if necessaryLennart Poettering2015-02-24
| | | | | | | | | | | | | | | | | When manipulating container and VM images we need efficient and atomic directory snapshots and file copies, as well as disk quota. btrfs provides this, legacy file systems do not. Hence, implicitly create a loopback file system in /var/lib/machines.raw and mount it to /var/lib/machines, if that directory is not on btrfs anyway. This is done implicitly and transparently the first time the user invokes "machinectl import-xyz". This allows us to take benefit of btrfs features for container management without actually having the rest of the system use btrfs. The loopback is sized 500M initially. Patches to grow it dynamically are to follow.
* import: print nice warning if we need btrfs but /var/lib/machines is not btrfsLennart Poettering2015-02-24
|
* shared: introduce cmsg_close_all() callLennart Poettering2015-02-18
| | | | | | | | | The call iterates through cmsg list and closes all fds passed via SCM_RIGHTS. This patch also ensures the call is used wherever appropriate, where we might get spurious fds sent and we should better close them, then leave them lying around.
* logind: open up most bus calls for unpriviliged processes, using PolicyKitLennart Poettering2015-02-18
| | | | | | Also, allow clients to alter their own objects without any further priviliges. i.e. this allows clients to kill and lock their own sessions without involving PK.
* import: remove unused variableThomas Hindoe Paaboel Andersen2015-02-17
|
* networkd: exit on idleTom Gundersen2015-02-05
| | | | | | We will be woken up on rtnl or dbus activity, so let's just quit if some time has passed and that is the only thing that can happen. Note that we will always stay around if we expect network activity (e.g. DHCP is enabled), as we are not restarted on that.
* util: rework strappenda(), and rename it strjoina()Lennart Poettering2015-02-03
| | | | | | After all it is now much more like strjoin() than strappend(). At the same time, add support for NULL sentinels, even if they are normally not necessary.
* treewide: fix multiple typosTorstein Husebø2015-01-26
|
* #pragma once here and thereZbigniew Jędrzejewski-Szmek2015-01-23
|
* importd: when listing transfers, show progress percentageLennart Poettering2015-01-23
| | | | | | | | With this change the pull protocol implementation processes will pass progress data to importd which then passes this information on via the bus. We use sd_notify() as generic transport for this communication, making importd listen to them, while matching the incoming messages to the right transfer.
* importd: fix bus policyLennart Poettering2015-01-23
|
* import: we need CAP_DAC_OVERRIDE for untarring systems after allLennart Poettering2015-01-23
|
* import: lock tar into its own private network namespaceLennart Poettering2015-01-22
| | | | That way it cannot get access to the network
* import: drop all capabilities when invoking tarLennart Poettering2015-01-22
|
* import: only define the _to_string() enum mapping function, thus making gcc ↵Lennart Poettering2015-01-22
| | | | shut up
* import: now that the worker binary is called "systemd-pull" we can shorten ↵Lennart Poettering2015-01-22
| | | | | | | the verbs Atfer all "systemd-pull pull-tar" is unnecessarily redundant, over "systemd-pull tar"...
* importd: try to minimize confusion by renaming "systemd-import" binary to ↵Lennart Poettering2015-01-22
| | | | | | | "systemd-pull" This way "systemd-importd" is the daemon that uses "systemd-pull" as backend worker.
* importd: minor log improvementsLennart Poettering2015-01-22
|
* import: make the user verficiation keyring override the vendor keyring, ↵Lennart Poettering2015-01-22
| | | | | | | instead of extending it This way the user has the ability to remove keys from the vendor-supplied keyring if he intends so.
* import: rename --verify=sum to --verify=checksumLennart Poettering2015-01-22
| | | | This is how we call it internally, and also a bit more descriptive.
* import: introduce new mini-daemon systemd-importd, and make machinectl a ↵Lennart Poettering2015-01-22
| | | | | | | | | | | | | | client to it The old "systemd-import" binary is now an internal tool. We still use it as asynchronous backend for systemd-importd. Since the import tool might require some IO and CPU resources (due to qcow2 explosion, and decompression), and because we might want to run it with more minimal priviliges we still keep it around as the worker binary to execute as child process of importd. machinectl now has verbs for pulling down images, cancelling them and listing them.
* impot: minor cleanupsLennart Poettering2015-01-22
|
* import: simplify dkr importer, by making use of generic import-job logic, ↵Lennart Poettering2015-01-21
| | | | | | used by the raw and tar importers This gets us progress output as well xz/bzip2 support.
* import: minor cleanups for the tar and raw importersLennart Poettering2015-01-21
|
* import: support downloading bzip2-encoded imagesLennart Poettering2015-01-21
| | | | This way, we can import CoreOS images unmodified.
* import: also add verification support to tar importerLennart Poettering2015-01-21
|
* import: make verification code generic, in preparation for using it pull-tarLennart Poettering2015-01-21
|
* import: improve loggingLennart Poettering2015-01-21
|
* import: show download speed while downloadingLennart Poettering2015-01-21
|
* import: add image verification using gpgLennart Poettering2015-01-21
| | | | | | This also adds an initial keyring for the verification, that contains Ubuntu's and Fedora's key. We should probably add more entries sooner or later.
* import: add a couple of additional suffixes to remove from raw imagesLennart Poettering2015-01-20
|
* import: make image verification optionalLennart Poettering2015-01-20
|
* import: add a simple scheme for validating the SHA256 sums of downloaded raw ↵Lennart Poettering2015-01-20
| | | | files
* import: be less aggressive when allocating memory for downloaded payloadLennart Poettering2015-01-20
|
* import: improve logging a bitLennart Poettering2015-01-20
|
* import: port pull-raw to helper tools implemented for pull-tarLennart Poettering2015-01-20
| | | | | This allows us to reuse a lot more code, and simplify pull-raw drastically.
* import: add support for pulling raw tar balls as containersLennart Poettering2015-01-20
| | | | | Ubuntu provides their cloud images optionally as tarball, hence also support downloading those.