Bug 1267552

Summary: systemd-journal-remote fails with a cryptic error message if output file doesn't have extension .journal
Product: Red Hat Enterprise Linux 7 Reporter: Branislav Blaškovič <bblaskov>
Component: systemdAssignee: David Tardon <dtardon>
Status: CLOSED ERRATA QA Contact: Frantisek Sumsal <fsumsal>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: dtardon, martin, ovasik, systemd-maint-list
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: systemd-219-64.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-06 12:43:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Branislav Blaškovič 2015-09-30 11:57:02 UTC
systemd-journal-remote has some issues.

Man page has an example:
    ...
    Copy local journal events to a different journal directory:
            journalctl -o export | systemd-journal-remote -o /tmp/dir -
    ...

    This does not work. First of all, binary systemd-journal-remote is not in default $PATH, but in /usr/lib/systemd/systemd-journal-remote.

    The second issue is that this example does not work:
        # journalctl -o export | /usr/lib/systemd/systemd-journal-remote -o /tmp/dir -
        For SplitMode=none, output must be a file.
    So I have to change it:
        # journalctl -o export | /usr/lib/systemd/systemd-journal-remote -o /tmp/dir/log.journal -
        Finishing after writing 1802 entries

Also if you don't read man page correctly and use file without .journal suffix, it returns really weird and missleading error:
    # journalctl -o export | /usr/lib/systemd/systemd-journal-remote -o /tmp/dir/log -
    Failed to open output journal /tmp/dir/log: Invalid argument
    Failed to get writer for source stdin: Invalid argument
    Failed to create source for fd:0 (stdin): Invalid argument


It would be nice to have working examples in man page and also some more readable error messages.

Version-Release number of selected component (if applicable):
systemd-journal-gateway-219-17.el7.x86_64

Comment 2 Branislav Blaškovič 2015-10-01 13:45:50 UTC
Another issue.
I started gatewayd server and I can gather logs via curl.

But if I do it via systemd-journal-remote --url http://localhost:19531/ I just got:
  Spawning curl http://localhost:19531/entries?boot/entries...
  Failed to open output journal /var/log/journal/remote/remote-localhost:19531\x2fentries?boot.journal: No such file or directory
  Failed to get writer for source localhost:19531/entries?boot: No such file or directory
  Failed to create source for fd:7 (localhost:19531/entries?boot): No such file or directory

/var/log/journal is created.
I have to create /var/log/journal/remote to get it working which I don't understand. Man page says:

    Retrieve events from a remote systemd-journal-gatewayd(8) instance and store them in /var/log/journal/some.host/remote-some~host.journal:
           systemd-journal-remote --url http://some.host:19531/

So I suggest to change "some.host" to "remote". Maybe it would be cool if that tool creates the directory /var/log/journal/remote itself instead of that terrifying red error messages.

Comment 4 David Tardon 2019-01-29 14:23:24 UTC
(In reply to Branislav Blaškovič from comment #0)
> Also if you don't read man page correctly and use file without .journal
> suffix, it returns really weird and missleading error:
>     # journalctl -o export | /usr/lib/systemd/systemd-journal-remote -o
> /tmp/dir/log -
>     Failed to open output journal /tmp/dir/log: Invalid argument
>     Failed to get writer for source stdin: Invalid argument
>     Failed to create source for fd:0 (stdin): Invalid argument

That's worth fixing, IMHO.

Upstream commit: https://github.com/systemd/systemd/commit/6b1b9f75c85d26ddbda62e7b7afa6944044f4f95

Comment 5 David Tardon 2019-01-29 14:37:08 UTC
Pull request: https://github.com/lnykryn/systemd-rhel/pull/277

Comment 7 Lukáš Nykrýn 2019-02-15 09:18:24 UTC
fix merged to staging branch -> https://github.com/lnykryn/systemd-rhel/pull/277 -> post

Comment 11 errata-xmlrpc 2019-08-06 12:43:29 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://access.redhat.com/errata/RHSA-2019:2091