kdump icon indicating copy to clipboard operation
kdump copied to clipboard

ssh target, make kdump_ssh_user/kdump_ssh_server optional?

Open jelly opened this issue 1 year ago • 3 comments

We have been working on generating an ansible role based on the current kdump configuration in Cockpit and noticed that with an ssh target kdump_ssh_user and kdump_ssh_server while they could be found out from the kdump location.

Without it the role fails.

localhost | SUCCESS | rc=0 >>
skipped, since /root/.ssh/id_rsa existsDid not run command since '/root/.ssh/id_rsa' exists
localhost | SUCCESS => {
    "changed": false,
    "encoding": "base64",
    "source": "/root/.ssh/id_rsa.pub"
}
localhost | FAILED! => {
    "changed": false,
    "msg": "argument 'name' is of type <class 'NoneType'> and we were unable to convert to str: 'None' is not a string and conversion is not allowed"
}

I couldn't find any documentation on kdump_ssh_user and kdump_ssh_server do the exist to copy the ssh key to the configured kdump user in the kdump location so that you could have a special kdump user to write the dump too?

jelly avatar Nov 22 '23 08:11 jelly

Yes please -- currently you have to specify a config like:

- name: set up kdump
  hosts: localhost
  vars:
    kdump_target:
      type: ssh
      location: "[email protected]"
    kdump_ssh_server: "10.111.113.2"
    kdump_ssh_user: "admin"
  roles:
    - linux-system-roles.kdump

... and apparently all of the keys location, kdump_ssh_server, kdump_ssh_user are required. These are redundant and can contradict themselves.

martinpitt avatar Nov 23 '23 09:11 martinpitt

We uncovered an issue when we don't provide a username and set the location to example.com but do set kdump_ssh_server and kdump_ssh_user. This would lead to a kdump.conf with

-ssh [email protected]
+ssh example.com

This breaks kdump.service, as ssh is required to be [email protected].

jelly avatar Nov 23 '23 15:11 jelly

See https://bugzilla.redhat.com/show_bug.cgi?id=2251216 for the kexec-tools side of this -- but I suspect they don't actually want to accept ssh hostname, and it's just giving a bad error message. I think it'd be preferable in this case to only specify kdump_ssh_{server,user} and not kdump_target.location -- that will both fix the redundancy and also avoid that kexec-tools bug.

martinpitt avatar Nov 23 '23 15:11 martinpitt