Red Hat Bugzilla – Bug 1284974
Lack of systemd-importd causes machinectl to fail
Last modified: 2017-08-02 04:15:29 EDT
Description of problem: The 219 version of systemd doesn't seem to be building 'systemd-importd'. That causes machinectl commands to fail with a somewhat cryptic error message. sudo machinectl pull-raw https://cloud-images.ubuntu.com/wily/current/wily-server-cloudimg-amd64-root.tar.xz ubuntu-test Failed pull image: The name org.freedesktop.import1 was not provided by any .service files Version-Release number of selected component (if applicable): systemd 219.9.el7 How reproducible: run a machinectl pull command as above.
Hmm, we should drop the pull keyword from machinectl. Unfortunatelly we can't have importd there, because it is using a newer version of libcurl.
That's interesting, because according to the systemd configure.ac there is no version restriction on libcurl PKG_CHECK_MODULES(LIBCURL, [libcurl], [AC_DEFINE(HAVE_LIBCURL, 1, [Define if libcurl is available]) have_libcurl=yes], have_libcurl=no) Yet there are version checks on a lot of the other libraries. Does it simply not work with the libcurl in RHEL7?
Yeah, that is an upstream bug. To be honest I was going to send a patch regarding that, but I forgot.
Or plan B. It looks that downstream patch which would make the importd to work with our version of curl is pretty trivial. https://github.com/lnykryn/systemd-rhel/commit/521f96ca430be11ef198f75e5a4f6aca0bee161b
Plan B looks fine, just we need to make sure we can support this with our version of libcurl for long time. I hope there will not be issues that upstream will bring some changes which would not work with our libcurl (even with this patch).
Just for record, the change regarding curl was using https://curl.haxx.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html instead of new https://curl.haxx.se/libcurl/c/CURLOPT_XFERINFOFUNCTION.html
pushed to staging -> https://github.com/lnykryn/systemd-rhel/commit/575f559bcd992d7fd2d7d46b695b7f42923b4463 -> post
Testing using /CoreOS/systemd/Regression/lack-of-systemd-importd-causes-machinectl-to-fail NEW VERSION: :: [ 10:00:07 ] :: Package versions: :: [ 10:00:07 ] :: systemd-219-26.el7.x86_64 ... :: [ BEGIN ] :: Running 'machinectl pull-raw --verify=no http://localhost:12345/test.tar test24521' Enqueued transfer job 1. Press C-c to continue download in background. Pulling 'http://localhost:12345/test.tar', saving as 'test24521'. Downloading 10.0K for http://localhost:12345/test.tar. Download of http://localhost:12345/test.tar complete. Created new local image 'test24521'. Operation completed successfully. Exiting. :: [ PASS ] :: Command 'machinectl pull-raw --verify=no http://localhost:12345/test.tar test24521' (Expected 0, got 0) OLD VERSION: :: [ LOG ] :: Package versions: :: [ LOG ] :: systemd-219-19.el7.x86_64 ... :: [ BEGIN ] :: Running 'machinectl pull-raw --verify=no http://localhost:12345/test.tar test22554' Failed pull image: The name org.freedesktop.import1 was not provided by any .service files :: [ FAIL ] :: Command 'machinectl pull-raw --verify=no http://localhost:12345/test.tar test22554' (Expected 0, got 1)
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-2216.html