Skip to content

Support collect - #1632

Open
mattiaswal wants to merge 10 commits into
mainfrom
support-collect
Open

mattiaswal wants to merge 10 commits into
mainfrom
support-collect

Conversation

@mattiaswal

@mattiaswal mattiaswal commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Description

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added?
  • Test changes
    • Checked in changed Readme.adoc (make test-spec)
    • Added new test to group Readme.adoc and yaml file
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
    • ChangeLog updated (for major changes)
  • Other (please describe):

@mattiaswal
mattiaswal force-pushed the support-collect branch 3 times, most recently from f3fbfa2 to ce1674d Compare September 17, 2026 12:32
@mattiaswal mattiaswal added the ci:main Build default defconfig, not minimal label Sep 17, 2026
@mattiaswal
mattiaswal force-pushed the support-collect branch 3 times, most recently from 93e4da7 to 66348cb Compare September 18, 2026 14:42
@mattiaswal
mattiaswal marked this pull request as ready for review September 18, 2026 14:42
@mattiaswal
mattiaswal force-pushed the support-collect branch 3 times, most recently from c5093ce to 0fca608 Compare September 18, 2026 14:54
The support script was installed by the bin package, and its -p option
relied on gpg being in the image only as a side effect of podman pulling
in libgpgme.  Give it a package of its own with an encrypt option that
selects gnupg2, enabled in all non-minimal defconfigs, so the dependency
is explicit.  The WebUI calls the tool, so it selects the package.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
One wedged command stalled the whole collection, and the EXIT trap
removed the log a failed run needed, which is why #1303 closed without a
root cause.  -o FILE writes the archive to a file so a dropped session
does not lose the only copy, and the gpg passphrase reaches gpg on a
private descriptor rather than its command line.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Lets clients that only speak the management protocol collect support
data.  Archives up to 16 MiB come back base64 encoded, larger ones stay
in /var/lib/support, as does the log of a failed run, until a later
call prunes them after a week.  nacm:default-deny-all like
install-bundle, the archive carries logs and the full configuration.
The abort event sysrepo sends after a caller timeout is ignored, it
used to run the collection twice.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
No transport could read an RPC reply, and ssh ran with LogLevel QUIET,
which turned a dead transport into a bare exit code 255.  That is why the
support_collect flake in #1303 never got a root cause.  Replies are
parsed with huge_tree, libxml2 stops at 10 MB text nodes and the
library's receive thread died silently on that.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Streaming the archive over ssh made a dead transport look like a failed
collection, and the collection.log fallback could never work since the
tool removes the file.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Exports a datastore without its secrets, the way NACM filters them for
a user without read access.  The models already mark what is secret,
so new ones are covered as they come.  The user password in ietf-system
predates the convention and is matched by name.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Private keys, password hashes and RADIUS secrets are of no use to
support and a hazard in transit.  Export the datastores with copy -r
and drop the environment dump.  --no-redact keeps them, the RPC always
redacts.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
This is tracked by #1614
when it is fixed, this test should be removed, but for now,
we hide the issue. No need to stop tests for this issue, that
is tracked but unplanned.
The handler ran the tool itself, as root and past NACM, so any logged-in
user could download the archive.  The RPC runs as the user.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
The rootfs partitions had 27M of slack each while /var had only 84M
usable, too little for a support archive once the container tests have
left their images behind.

Signed-off-by: Mattias Walström <lazzer@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:main Build default defconfig, not minimal

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant