Bug 1284974 - Lack of systemd-importd causes machinectl to fail [NEEDINFO]
Lack of systemd-importd causes machinectl to fail
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: systemd (Show other bugs)
7.2
x86_64 Linux
unspecified Severity unspecified
: rc
: ---
Assigned To: systemd-maint
Branislav Blaškovič
Lucie Maňásková
:
Depends On:
Blocks: 1289485 1313485
  Show dependency treegraph
 
Reported: 2015-11-24 10:14 EST by Neil Wilson
Modified: 2017-08-02 04:15 EDT (History)
7 users (show)

See Also:
Fixed In Version: systemd-219-21.el7
Doc Type: Technology Preview
Doc Text:
The *systemd-importd* VM and container image import and export service Latest *systemd* version now contains the *systemd-importd* daemon that was not enabled in the earlier build, which caused the "machinectl pull-*" commands to fail. Note that the *systemd-importd* daemon is offered as a Technology Preview and should not be considered stable.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-03 20:46:25 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
lmanasko: needinfo? (lnykryn)


Attachments (Terms of Use)

  None (edit)
Description Neil Wilson 2015-11-24 10:14:10 EST
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.
Comment 1 Lukáš Nykrýn 2015-11-24 10:27:48 EST
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.
Comment 2 Neil Wilson 2015-11-24 12:40:29 EST
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?
Comment 3 Lukáš Nykrýn 2015-11-25 01:40:57 EST
Yeah, that is an upstream bug. To be honest I was going to send a patch regarding that, but I forgot.
Comment 5 Lukáš Nykrýn 2016-04-06 09:43:19 EDT
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
Comment 6 Branislav Blaškovič 2016-05-16 04:36:48 EDT
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).
Comment 7 Lukáš Nykrýn 2016-05-16 04:42:36 EDT
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
Comment 8 Lukáš Nykrýn 2016-05-16 07:54:56 EDT
pushed to staging -> https://github.com/lnykryn/systemd-rhel/commit/575f559bcd992d7fd2d7d46b695b7f42923b4463 -> post
Comment 10 Branislav Blaškovič 2016-08-17 10:11:49 EDT
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)
Comment 12 errata-xmlrpc 2016-11-03 20:46:25 EDT
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

Note You need to log in before you can comment on or make changes to this bug.