Bug 1284974 - Lack of systemd-importd causes machinectl to fail [NEEDINFO]
Summary: Lack of systemd-importd causes machinectl to fail
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: systemd
Version: 7.2
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: systemd-maint
QA Contact: Branislav Blaškovič
Lucie Maňásková
URL:
Whiteboard:
Depends On:
Blocks: 1289485 1313485
TreeView+ depends on / blocked
 
Reported: 2015-11-24 15:14 UTC by Neil Wilson
Modified: 2019-04-21 07:00 UTC (History)
7 users (show)

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.
Clone Of:
Environment:
Last Closed: 2016-11-04 00:46:25 UTC
lmanasko: needinfo? (lnykryn)


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2216 normal SHIPPED_LIVE systemd bug fix and enhancement update 2016-11-03 13:24:51 UTC

Description Neil Wilson 2015-11-24 15:14:10 UTC
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 15:27:48 UTC
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 17:40:29 UTC
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 06:40:57 UTC
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 13:43:19 UTC
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 08:36:48 UTC
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 08:42:36 UTC
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 11:54:56 UTC
pushed to staging -> https://github.com/lnykryn/systemd-rhel/commit/575f559bcd992d7fd2d7d46b695b7f42923b4463 -> post

Comment 10 Branislav Blaškovič 2016-08-17 14:11:49 UTC
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-04 00:46:25 UTC
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.