While playing around with the plugin I encountered that the authentication with static credentials is broken. Most probably since the introduction of ignition with sshKeys.
Unfortunately the DialSSH funtion in the Connector only uses either the password or the public key based auth and it only ever adds the password to the client, if there is no private key in the ConnectInfo settings (see: https://gitlab.com/gitlab-org/fleeting/fleeting/-/blob/main/connector/ssh.go?ref_type=heads#L56). So with the current setup the password never gets added to the ssh-client because there always is a private key present in the connection settings - even though this should not be used.
While playing around with the plugin I encountered that the authentication with static credentials is broken. Most probably since the introduction of ignition with sshKeys.
You are initializing the SSH key in https://github.com/sardinasystems/fleeting-plugin-openstack/blob/d127199ff78cb07b1163df442360563e991fb610/provider.go#L97 . This happens regardless of the state of
use_ignition
. Consequently theinitSSHKey
function adds the key to theConnectorConfig
object in https://github.com/sardinasystems/fleeting-plugin-openstack/blob/d127199ff78cb07b1163df442360563e991fb610/connection_ssh.go#L35 .Unfortunately the
DialSSH
funtion in the Connector only uses either the password or the public key based auth and it only ever adds the password to the client, if there is no private key in the ConnectInfo settings (see: https://gitlab.com/gitlab-org/fleeting/fleeting/-/blob/main/connector/ssh.go?ref_type=heads#L56). So with the current setup the password never gets added to the ssh-client because there always is a private key present in the connection settings - even though this should not be used.