the QD would need to register itself with PVE. that part requires elevated privileges, it entails modifying core settings of the cluster after all. instead of giving that kind of access to the (external, lesser trusted) system running the QD, we execute this part directly on the PVE node in the current scheme, and have the control flow in the other direction.
Do you mind I open this as separate (wider) Bugzilla issue # with reference (if it stays like it is, should be relevant to currently being implemented SSH changes) and take the discussion further there?
I think currently it only goes for the roundtrip to get the cert signed, which given the fact CA itself is stored at every node of the cluster and the whole exchange requires prior ssh established, even as it goes on to ssh-copy-id (potentially) additional key, should not be the most straightforward way.
Basically I would suggest this is maybe the one case where SSH should
not be used at all, also in the light of logic like
pvecm {add|addnode}
. A more streamlined approach would be:
1. either (for the brave)
2. or manually
Code:
any_node# pvecm addqd $addr > payload.sh
qd# ./payload.sh
3. both options could be provided, but apparently API is done first
I would expect that each command also takes care of installing e.g.
qdevice
package across nodes and the payload
qnetd
on the known distros or throws a warning.