Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proxmox_kvm: unable to migrate VM with local disks #9738

Open
1 task done
danielgoepp opened this issue Feb 13, 2025 · 4 comments
Open
1 task done

proxmox_kvm: unable to migrate VM with local disks #9738

danielgoepp opened this issue Feb 13, 2025 · 4 comments
Labels
bug This issue/PR relates to a bug module module plugins plugin (any type)

Comments

@danielgoepp
Copy link

Summary

When trying to migrate a VM from one node to another I get an error that it can't because of a local disk:

2025-02-13 04:06:11 can't migrate local disk 'local-zfs:vm-105-disk-0': can't live migrate attached local disks without with-local-disks option

This is the log on the proxmox server itself, not ansible. So I can confirm that ansible is connecting and attempting the migration with all the correct details.

I have tried setting this arg, but it doesn't seem to affect anything. I have tried using both vmid and name. I'm able to execute the migrations no problem from proxmox itself. This only fails when trying to use Ansible to migrate VMs with local disks.

Issue Type

Bug Report

Component Name

proxmox_kvm

Ansible Version

  config file = /Users/dang/.ansible.cfg
  configured module search path = ['/Users/dang/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/dang/Library/Python/3.9/lib/python/site-packages/ansible
  ansible collection location = /Users/dang/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/dang/Library/Python/3.9/bin/ansible
  python version = 3.9.6 (default, Nov 11 2024, 03:15:38) [Clang 16.0.0 (clang-1600.0.26.6)] (/Library/Developer/CommandLineTools/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True

Community.general Version

# /Users/dang/.ansible/collections/ansible_collections
Collection        Version
----------------- -------
community.general 10.3.1

Configuration

ANSIBLE_PIPELINING(/Users/dang/.ansible.cfg) = True
CONFIG_FILE() = /Users/dang/.ansible.cfg
DEFAULT_HOST_LIST(/Users/dang/.ansible.cfg) = ['/Users/dang/.ansible/hosts']
DEFAULT_VAULT_PASSWORD_FILE(/Users/dang/.ansible.cfg) = /Users/dang/.ansible/.vault-pass
HOST_KEY_CHECKING(/Users/dang/.ansible.cfg) = False
PAGER(env: PAGER) = less

OS / Environment

MacOS Sequoia Version 15.3 (24D60)

Steps to Reproduce

  - name: Migrate dev VM
    community.general.proxmox_kvm:
      api_user: ***
      api_token_id: ***
      api_token_secret: ***
      api_host: pve11
      args: --with-local-disks
      # vmid: 105
      name: dev
      node: pve11
      migrate: true
      timeout: 300

Expected Results

I would expect the arg to get passed and the migration to execute without error. Or, that we have an option for this function that would allow us to set this parameter, that would be even better.

Actual Results

To be clear to the output below, I'm able to connect fine and output node data for example. I don't know why this is erroring with an SSH connection issue, when I can connect SSH just fine and run other commands. Also, I don't see in here anywhere the actually API call, just the attempted connection. This output has be a bit confused, I will admit.

╭─dang at Daniel MacBook Pro in ~/ansible on main✘✘✘ 25-02-13 - 4:37:39
╰─⠠⠵ ansible-playbook proxmox-maintenance-on.yaml -vvvv
ansible-playbook [core 2.15.13]
  config file = /Users/dang/.ansible.cfg
  configured module search path = ['/Users/dang/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/dang/Library/Python/3.9/lib/python/site-packages/ansible
  ansible collection location = /Users/dang/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/dang/Library/Python/3.9/bin/ansible-playbook
  python version = 3.9.6 (default, Nov 11 2024, 03:15:38) [Clang 16.0.0 (clang-1600.0.26.6)] (/Library/Developer/CommandLineTools/usr/bin/python3)
  jinja version = 3.1.2
  libyaml = True
Using /Users/dang/.ansible.cfg as config file
setting up inventory plugins
Loading collection ansible.builtin from
host_list declined parsing /Users/dang/.ansible/hosts as it did not pass its verify_file() method
script declined parsing /Users/dang/.ansible/hosts as it did not pass its verify_file() method
auto declined parsing /Users/dang/.ansible/hosts as it did not pass its verify_file() method
Parsed /Users/dang/.ansible/hosts inventory source with ini plugin
Loading collection community.general from /Users/dang/.ansible/collections/ansible_collections/community/general
Loading callback plugin default of type stdout, v2.0 from /Users/dang/Library/Python/3.9/lib/python/site-packages/ansible/plugins/callback/default.py
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: proxmox-maintenance-on.yaml **********************************************************************************************************************************************************************************************************
Positional arguments: proxmox-maintenance-on.yaml
verbosity: 4
connection: smart
timeout: 10
become_method: sudo
tags: ('all',)
inventory: ('/Users/dang/.ansible/hosts',)
forks: 5
1 plays in proxmox-maintenance-on.yaml

PLAY [pve11] ***********************************************************************************************************************************************************************************************************************************

TASK [Migrate dev VM] **************************************************************************************************************************************************************************************************************************
task path: /Users/dang/Documents/Development/goepp-lab/ansible/proxmox-maintenance-on.yaml:24
<pve11> Attempting python interpreter discovery
<pve11> ESTABLISH SSH CONNECTION FOR USER: root
<pve11> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="root"' -o ConnectTimeout=10 -o 'ControlPath="/Users/dang/.ansible/cp/538bb8dd39"' pve11 '/bin/sh -c '"'"'echo PLATFORM; uname; echo FOUND; command -v '"'"'"'"'"'"'"'"'python3.11'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'python3.10'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'python3.9'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'python3.8'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'python3.7'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'python3.6'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'python3.5'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'/usr/bin/python3'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'/usr/libexec/platform-python'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'python2.7'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'/usr/bin/python'"'"'"'"'"'"'"'"'; command -v '"'"'"'"'"'"'"'"'python'"'"'"'"'"'"'"'"'; echo ENDFOUND && sleep 0'"'"''
<pve11> (0, b'PLATFORM\nLinux\nFOUND\n/usr/bin/python3.11\n/usr/bin/python3\nENDFOUND\n', b'OpenSSH_9.8p1, LibreSSL 3.3.6\r\ndebug1: Reading configuration data /Users/dang/.ssh/config\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files\r\ndebug1: /etc/ssh/ssh_config line 54: Applying options for *\r\ndebug3: expanded UserKnownHostsFile \'~/.ssh/known_hosts\' -> \'/Users/dang/.ssh/known_hosts\'\r\ndebug3: expanded UserKnownHostsFile \'~/.ssh/known_hosts2\' -> \'/Users/dang/.ssh/known_hosts2\'\r\ndebug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling\r\ndebug1: auto-mux: Trying existing master at \'/Users/dang/.ansible/cp/538bb8dd39\'\r\ndebug1: Control socket "/Users/dang/.ansible/cp/538bb8dd39" does not exist\r\ndebug2: resolving "pve11" port 22\r\ndebug3: resolve_host: lookup pve11:22\r\ndebug3: channel_clear_timeouts: clearing\r\ndebug3: ssh_connect_direct: entering\r\ndebug1: Connecting to pve11 [10.1.11.11] port 22.\r\ndebug3: set_sock_tos: set socket 5 IP_TOS 0x48\r\ndebug2: fd 5 setting O_NONBLOCK\r\ndebug1: fd 5 clearing O_NONBLOCK\r\ndebug1: Connection established.\r\ndebug3: timeout: 10000 ms remain after connect\r\ndebug1: identity file /Users/dang/.ssh/id_rsa type 0\r\ndebug1: identity file /Users/dang/.ssh/id_rsa-cert type -1\r\ndebug1: identity file /Users/dang/.ssh/id_ecdsa type -1\r\ndebug1: identity file /Users/dang/.ssh/id_ecdsa-cert type -1\r\ndebug1: identity file /Users/dang/.ssh/id_ecdsa_sk type -1\r\ndebug1: identity file /Users/dang/.ssh/id_ecdsa_sk-cert type -1\r\ndebug1: identity file /Users/dang/.ssh/id_ed25519 type -1\r\ndebug1: identity file /Users/dang/.ssh/id_ed25519-cert type -1\r\ndebug1: identity file /Users/dang/.ssh/id_ed25519_sk type -1\r\ndebug1: identity file /Users/dang/.ssh/id_ed25519_sk-cert type -1\r\ndebug1: identity file /Users/dang/.ssh/id_xmss type -1\r\ndebug1: identity file /Users/dang/.ssh/id_xmss-cert type -1\r\ndebug1: identity file /Users/dang/.ssh/id_dsa type -1\r\ndebug1: identity file /Users/dang/.ssh/id_dsa-cert type -1\r\ndebug1: Local version string SSH-2.0-OpenSSH_9.8\r\ndebug1: Remote protocol version 2.0, remote software version OpenSSH_9.2p1 Debian-2+deb12u3\r\ndebug1: compat_banner: match: OpenSSH_9.2p1 Debian-2+deb12u3 pat OpenSSH* compat 0x04000000\r\ndebug2: fd 5 setting O_NONBLOCK\r\ndebug1: Authenticating to pve11:22 as \'root\'\r\ndebug3: record_hostkey: found key type ED25519 in file /Users/dang/.ssh/known_hosts:5\r\ndebug3: record_hostkey: found key type RSA in file /Users/dang/.ssh/known_hosts:6\r\ndebug3: record_hostkey: found key type ECDSA in file /Users/dang/.ssh/known_hosts:7\r\ndebug3: load_hostkeys_file: loaded 3 keys from pve11\r\ndebug1: load_hostkeys: fopen /Users/dang/.ssh/known_hosts2: No such file or directory\r\ndebug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory\r\ndebug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory\r\ndebug3: order_hostkeyalgs: have matching best-preference key type ssh-ed25519-cert-v01@openssh.com, using HostkeyAlgorithms verbatim\r\ndebug3: send packet: type 20\r\ndebug1: SSH2_MSG_KEXINIT sent\r\ndebug3: receive packet: type 20\r\ndebug1: SSH2_MSG_KEXINIT received\r\ndebug2: local client KEXINIT proposal\r\ndebug2: KEX algorithms: sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com\r\ndebug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256\r\ndebug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com\r\ndebug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com\r\ndebug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1\r\ndebug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1\r\ndebug2: compression ctos: zlib@openssh.com,zlib,none\r\ndebug2: compression stoc: zlib@openssh.com,zlib,none\r\ndebug2: languages ctos: \r\ndebug2: languages stoc: \r\ndebug2: first_kex_follows 0 \r\ndebug2: reserved 0 \r\ndebug2: peer server KEXINIT proposal\r\ndebug2: KEX algorithms: sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,kex-strict-s-v00@openssh.com\r\ndebug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519\r\ndebug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com\r\ndebug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com\r\ndebug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1\r\ndebug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1\r\ndebug2: compression ctos: none,zlib@openssh.com\r\ndebug2: compression stoc: none,zlib@openssh.com\r\ndebug2: languages ctos: \r\ndebug2: languages stoc: \r\ndebug2: first_kex_follows 0 \r\ndebug2: reserved 0 \r\ndebug3: kex_choose_conf: will use strict KEX ordering\r\ndebug1: kex: algorithm: sntrup761x25519-sha512@openssh.com\r\ndebug1: kex: host key algorithm: ssh-ed25519\r\ndebug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: zlib@openssh.com\r\ndebug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: zlib@openssh.com\r\ndebug3: send packet: type 30\r\ndebug1: expecting SSH2_MSG_KEX_ECDH_REPLY\r\ndebug3: receive packet: type 31\r\ndebug1: SSH2_MSG_KEX_ECDH_REPLY received\r\ndebug1: Server host key: ssh-ed25519 SHA256:Qb34eDFXSJMiWyIZB55/caCT3b3PUJodRhb1mwBBl5w\r\ndebug3: record_hostkey: found key type ED25519 in file /Users/dang/.ssh/known_hosts:5\r\ndebug3: record_hostkey: found key type RSA in file /Users/dang/.ssh/known_hosts:6\r\ndebug3: record_hostkey: found key type ECDSA in file /Users/dang/.ssh/known_hosts:7\r\ndebug3: load_hostkeys_file: loaded 3 keys from pve11\r\ndebug1: load_hostkeys: fopen /Users/dang/.ssh/known_hosts2: No such file or directory\r\ndebug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory\r\ndebug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory\r\ndebug1: Host \'pve11\' is known and matches the ED25519 host key.\r\ndebug1: Found key in /Users/dang/.ssh/known_hosts:5\r\ndebug3: send packet: type 21\r\ndebug1: ssh_packet_send2_wrapped: resetting send seqnr 3\r\ndebug2: ssh_set_newkeys: mode 1\r\ndebug1: rekey out after 134217728 blocks\r\ndebug1: SSH2_MSG_NEWKEYS sent\r\ndebug1: expecting SSH2_MSG_NEWKEYS\r\ndebug3: receive packet: type 21\r\ndebug1: ssh_packet_read_poll2: resetting read seqnr 3\r\ndebug1: SSH2_MSG_NEWKEYS received\r\ndebug2: ssh_set_newkeys: mode 0\r\ndebug1: rekey in after 134217728 blocks\r\ndebug2: KEX algorithms: sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c,kex-strict-c-v00@openssh.com\r\ndebug2: host key algorithms: ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256\r\ndebug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com\r\ndebug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com\r\ndebug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1\r\ndebug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1\r\ndebug2: compression ctos: zlib@openssh.com,zlib,none\r\ndebug2: compression stoc: zlib@openssh.com,zlib,none\r\ndebug2: languages ctos: \r\ndebug2: languages stoc: \r\ndebug2: first_kex_follows 0 \r\ndebug2: reserved 0 \r\ndebug3: send packet: type 5\r\ndebug3: receive packet: type 7\r\ndebug1: SSH2_MSG_EXT_INFO received\r\ndebug3: kex_input_ext_info: extension server-sig-algs\r\ndebug1: kex_ext_info_client_parse: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,webauthn-sk-ecdsa-sha2-nistp256@openssh.com,ssh-dss,ssh-rsa,rsa-sha2-256,rsa-sha2-512>\r\ndebug3: kex_input_ext_info: extension publickey-hostbound@openssh.com\r\ndebug1: kex_ext_info_check_ver: publickey-hostbound@openssh.com=<0>\r\ndebug3: receive packet: type 6\r\ndebug2: service_accept: ssh-userauth\r\ndebug1: SSH2_MSG_SERVICE_ACCEPT received\r\ndebug3: send packet: type 50\r\ndebug3: receive packet: type 51\r\ndebug1: Authentications that can continue: publickey,password\r\ndebug3: start over, passed a different list publickey,password\r\ndebug3: preferred gssapi-with-mic,gssapi-keyex,hostbased,publickey\r\ndebug3: authmethod_lookup publickey\r\ndebug3: remaining preferred: ,gssapi-keyex,hostbased,publickey\r\ndebug3: authmethod_is_enabled publickey\r\ndebug1: Next authentication method: publickey\r\ndebug3: ssh_get_authentication_socket_path: path \'/private/tmp/com.apple.launchd.7jT7KPJNTH/Listeners\'\r\ndebug1: get_agent_identities: bound agent to hostkey\r\ndebug1: get_agent_identities: ssh_fetch_identitylist: agent contains no identities\r\ndebug1: Will attempt key: /Users/dang/.ssh/id_rsa RSA SHA256:xYCUpTFZSuLHLjx9u29k3CQhjXcAKQAy7/DZeSnOG+g\r\ndebug1: Will attempt key: /Users/dang/.ssh/id_ecdsa \r\ndebug1: Will attempt key: /Users/dang/.ssh/id_ecdsa_sk \r\ndebug1: Will attempt key: /Users/dang/.ssh/id_ed25519 \r\ndebug1: Will attempt key: /Users/dang/.ssh/id_ed25519_sk \r\ndebug1: Will attempt key: /Users/dang/.ssh/id_xmss \r\ndebug1: Will attempt key: /Users/dang/.ssh/id_dsa \r\ndebug2: pubkey_prepare: done\r\ndebug1: Offering public key: /Users/dang/.ssh/id_rsa RSA SHA256:xYCUpTFZSuLHLjx9u29k3CQhjXcAKQAy7/DZeSnOG+g\r\ndebug3: send packet: type 50\r\ndebug2: we sent a publickey packet, wait for reply\r\ndebug3: receive packet: type 60\r\ndebug1: Server accepts key: /Users/dang/.ssh/id_rsa RSA SHA256:xYCUpTFZSuLHLjx9u29k3CQhjXcAKQAy7/DZeSnOG+g\r\ndebug3: sign_and_send_pubkey: using publickey-hostbound-v00@openssh.com with RSA SHA256:xYCUpTFZSuLHLjx9u29k3CQhjXcAKQAy7/DZeSnOG+g\r\ndebug3: sign_and_send_pubkey: signing using rsa-sha2-512 SHA256:xYCUpTFZSuLHLjx9u29k3CQhjXcAKQAy7/DZeSnOG+g\r\ndebug3: send packet: type 50\r\ndebug3: receive packet: type 52\r\ndebug1: Enabling compression at level 6.\r\nAuthenticated to pve11 ([10.1.11.11]:22) using "publickey".\r\ndebug1: setting up multiplex master socket\r\ndebug3: muxserver_listen: temporary control path /Users/dang/.ansible/cp/538bb8dd39.lmkW0IWxIsfA5guR\r\ndebug2: fd 6 setting O_NONBLOCK\r\ndebug3: fd 6 is O_NONBLOCK\r\ndebug3: fd 6 is O_NONBLOCK\r\ndebug1: channel 0: new mux listener [/Users/dang/.ansible/cp/538bb8dd39] (inactive timeout: 0)\r\ndebug3: muxserver_listen: mux listener channel 0 fd 6\r\ndebug2: fd 5 setting TCP_NODELAY\r\ndebug3: set_sock_tos: set socket 5 IP_TOS 0x20\r\ndebug1: control_persist_detach: backgrounding master process\r\ndebug2: control_persist_detach: background process is 34999\r\ndebug2: fd 6 setting O_NONBLOCK\r\ndebug1: forking to background\r\ndebug1: Entering interactive session.\r\ndebug1: pledge: id\r\ndebug3: client_repledge: enter\r\ndebug2: set_control_persist_exit_time: schedule exit in 60 seconds\r\ndebug1: multiplexing control connection\r\ndebug3: fd 3 is O_NONBLOCK\r\ndebug3: fd 3 is O_NONBLOCK\r\ndebug1: channel 1: new mux-control [mux-control] (inactive timeout: 0)\r\ndebug3: channel_post_mux_listener: new mux channel 1 fd 3\r\ndebug3: mux_master_read_cb: channel 1: hello sent\r\ndebug2: set_control_persist_exit_time: cancel scheduled exit\r\ndebug3: mux_master_read_cb: channel 1 packet type 0x00000001 len 4\r\ndebug2: mux_master_process_hello: channel 1 client version 4\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_master_read_cb: channel 1 packet type 0x10000004 len 4\r\ndebug2: mux_master_process_alive_check: channel 1: alive check\r\ndebug3: mux_client_request_alive: done pid = 35001\r\ndebug3: mux_client_request_session: session request sent\r\ndebug3: mux_master_read_cb: channel 1 packet type 0x10000002 len 608\r\ndebug2: mux_master_process_new_session: channel 1: request tty 0, X 0, agent 0, subsys 0, term "xterm-256color", cmd "/bin/sh -c \'echo PLATFORM; uname; echo FOUND; command -v \'"\'"\'python3.11\'"\'"\'; command -v \'"\'"\'python3.10\'"\'"\'; command -v \'"\'"\'python3.9\'"\'"\'; command -v \'"\'"\'python3.8\'"\'"\'; command -v \'"\'"\'python3.7\'"\'"\'; command -v \'"\'"\'python3.6\'"\'"\'; command -v \'"\'"\'python3.5\'"\'"\'; command -v \'"\'"\'/usr/bin/python3\'"\'"\'; command -v \'"\'"\'/usr/libexec/platform-python\'"\'"\'; command -v \'"\'"\'python2.7\'"\'"\'; command -v \'"\'"\'/usr/bin/python\'"\'"\'; command -v \'"\'"\'python\'"\'"\'; echo ENDFOUND && sleep 0\'", env 3\r\ndebug3: mux_master_process_new_session: got fds stdin 7, stdout 8, stderr 9\r\ndebug2: fd 8 setting O_NONBLOCK\r\ndebug2: fd 9 setting O_NONBLOCK\r\ndebug1: channel 2: new session [client-session] (inactive timeout: 0)\r\ndebug2: mux_master_process_new_session: channel_new: 2 linked to control channel 1\r\ndebug2: channel 2: send open\r\ndebug3: send packet: type 90\r\ndebug3: receive packet: type 80\r\ndebug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0\r\ndebug3: client_input_hostkeys: received RSA key SHA256:QMjU0+cvTW2sQRW/RTLomjLKPft3AZ7ceTpny307iHE\r\ndebug3: client_input_hostkeys: received ECDSA key SHA256:uznaaZXFU+kNnfy43VO7Nze68e6Dq3OxhL6u0Ofmgy0\r\ndebug3: client_input_hostkeys: received ED25519 key SHA256:Qb34eDFXSJMiWyIZB55/caCT3b3PUJodRhb1mwBBl5w\r\ndebug1: client_input_hostkeys: searching /Users/dang/.ssh/known_hosts for pve11 / (none)\r\ndebug3: hostkeys_foreach: reading file "/Users/dang/.ssh/known_hosts"\r\ndebug3: hostkeys_find: found ssh-ed25519 key at /Users/dang/.ssh/known_hosts:5\r\ndebug3: hostkeys_find: found ssh-rsa key at /Users/dang/.ssh/known_hosts:6\r\ndebug3: hostkeys_find: found ecdsa-sha2-nistp256 key at /Users/dang/.ssh/known_hosts:7\r\ndebug1: client_input_hostkeys: searching /Users/dang/.ssh/known_hosts2 for pve11 / (none)\r\ndebug1: client_input_hostkeys: hostkeys file /Users/dang/.ssh/known_hosts2 does not exist\r\ndebug3: client_input_hostkeys: 3 server keys: 0 new, 3 retained, 0 incomplete match. 0 to remove\r\ndebug1: client_input_hostkeys: no new or deprecated keys from server\r\ndebug3: client_repledge: enter\r\ndebug3: receive packet: type 4\r\ndebug1: Remote: /root/.ssh/authorized_keys:3: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding\r\ndebug3: receive packet: type 4\r\ndebug1: Remote: /root/.ssh/authorized_keys:3: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding\r\ndebug3: receive packet: type 91\r\ndebug2: channel_input_open_confirmation: channel 2: callback start\r\ndebug2: client_session2_setup: id 2\r\ndebug1: Sending environment.\r\ndebug1: channel 2: setting env LC_TERMINAL_VERSION = "3.5.11"\r\ndebug2: channel 2: request env confirm 0\r\ndebug3: send packet: type 98\r\ndebug1: channel 2: setting env LANG = "en_US.UTF-8"\r\ndebug2: channel 2: request env confirm 0\r\ndebug3: send packet: type 98\r\ndebug1: channel 2: setting env LC_TERMINAL = "iTerm2"\r\ndebug2: channel 2: request env confirm 0\r\ndebug3: send packet: type 98\r\ndebug1: Sending command: /bin/sh -c \'echo PLATFORM; uname; echo FOUND; command -v \'"\'"\'python3.11\'"\'"\'; command -v \'"\'"\'python3.10\'"\'"\'; command -v \'"\'"\'python3.9\'"\'"\'; command -v \'"\'"\'python3.8\'"\'"\'; command -v \'"\'"\'python3.7\'"\'"\'; command -v \'"\'"\'python3.6\'"\'"\'; command -v \'"\'"\'python3.5\'"\'"\'; command -v \'"\'"\'/usr/bin/python3\'"\'"\'; command -v \'"\'"\'/usr/libexec/platform-python\'"\'"\'; command -v \'"\'"\'python2.7\'"\'"\'; command -v \'"\'"\'/usr/bin/python\'"\'"\'; command -v \'"\'"\'python\'"\'"\'; echo ENDFOUND && sleep 0\'\r\ndebug2: channel 2: request exec confirm 1\r\ndebug3: send packet: type 98\r\ndebug3: client_repledge: enter\r\ndebug3: mux_session_confirm: sending success reply\r\ndebug2: channel_input_open_confirmation: channel 2: callback done\r\ndebug2: channel 2: open confirm rwindow 0 rmax 32768\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug2: channel 2: rcvd adjust 2097152\r\ndebug3: receive packet: type 99\r\ndebug2: channel_input_status_confirm: type 99 id 2\r\ndebug2: exec request accepted on channel 2\r\ndebug3: receive packet: type 96\r\ndebug2: channel 2: rcvd eof\r\ndebug2: channel 2: output open -> drain\r\ndebug2: channel 2: obuf empty\r\ndebug2: chan_shutdown_write: channel 2: (i0 o1 sock -1 wfd 8 efd 9 [write])\r\ndebug2: channel 2: output drain -> closed\r\ndebug3: receive packet: type 98\r\ndebug1: client_input_channel_req: channel 2 rtype exit-status reply 0\r\ndebug3: mux_exit_message: channel 2: exit message, exitval 0\r\ndebug3: receive packet: type 98\r\ndebug1: client_input_channel_req: channel 2 rtype eow@openssh.com reply 0\r\ndebug2: channel 2: rcvd eow\r\ndebug2: chan_shutdown_read: channel 2: (i0 o3 sock -1 wfd 7 efd 9 [write])\r\ndebug2: channel 2: input open -> closed\r\ndebug3: receive packet: type 97\r\ndebug2: channel 2: rcvd close\r\ndebug3: channel 2: will not send data after close\r\ndebug2: channel 2: send close\r\ndebug3: send packet: type 97\r\ndebug2: channel 2: is dead\r\ndebug2: channel 2: gc: notify user\r\ndebug3: mux_master_session_cleanup_cb: entering for channel 2\r\ndebug2: channel 1: rcvd close\r\ndebug2: channel 1: output open -> drain\r\ndebug2: chan_shutdown_read: channel 1: (i0 o1 sock 3 wfd 3 efd -1 [closed])\r\ndebug2: channel 1: input open -> closed\r\ndebug2: channel 2: gc: user detached\r\ndebug2: channel 2: is dead\r\ndebug2: channel 2: garbage collecting\r\ndebug1: channel 2: free: client-session, nchannels 3\r\ndebug3: channel 2: status: The following connections are open:\r\n  #1 mux-control (t16 [mux-control] nr0 i3/0 o1/16 e[closed]/0 fd 3/3/-1 sock 3 cc -1 io 0x03/0x00)\r\n  #2 client-session (t4 [session] r0 i3/0 o3/0 e[write]/0 fd -1/-1/9 sock -1 cc -1 io 0x00/0x00)\r\n\r\ndebug2: channel 1: obuf empty\r\ndebug2: chan_shutdown_write: channel 1: (i3 o1 sock 3 wfd 3 efd -1 [closed])\r\ndebug2: channel 1: output drain -> closed\r\ndebug2: channel 1: is dead (local)\r\ndebug2: channel 1: gc: notify user\r\ndebug3: mux_master_control_cleanup_cb: entering for channel 1\r\ndebug2: channel 1: gc: user detached\r\ndebug2: channel 1: is dead (local)\r\ndebug2: channel 1: garbage collecting\r\ndebug1: channel 1: free: mux-control, nchannels 2\r\ndebug3: channel 1: status: The following connections are open:\r\n  #1 mux-control (t16 [mux-control] nr0 i3/0 o3/0 e[closed]/0 fd 3/3/-1 sock 3 cc -1 io 0x00/0x00)\r\n\r\ndebug2: set_control_persist_exit_time: schedule exit in 60 seconds\r\ndebug3: mux_client_read_packet_timeout: read header failed: Broken pipe\r\ndebug2: Received exit status from master 0\r\n')
<pve11> ESTABLISH SSH CONNECTION FOR USER: root
<pve11> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="root"' -o ConnectTimeout=10 -o 'ControlPath="/Users/dang/.ansible/cp/538bb8dd39"' pve11 '/bin/sh -c '"'"'/usr/bin/python3.11 && sleep 0'"'"''
<pve11> (0, b'{"platform_dist_result": [], "osrelease_content": "PRETTY_NAME=\\"Debian GNU/Linux 12 (bookworm)\\"\\nNAME=\\"Debian GNU/Linux\\"\\nVERSION_ID=\\"12\\"\\nVERSION=\\"12 (bookworm)\\"\\nVERSION_CODENAME=bookworm\\nID=debian\\nHOME_URL=\\"https://www.debian.org/\\"\\nSUPPORT_URL=\\"https://www.debian.org/support\\"\\nBUG_REPORT_URL=\\"https://bugs.debian.org/\\"\\n"}\n', b"OpenSSH_9.8p1, LibreSSL 3.3.6\r\ndebug1: Reading configuration data /Users/dang/.ssh/config\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files\r\ndebug1: /etc/ssh/ssh_config line 54: Applying options for *\r\ndebug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/dang/.ssh/known_hosts'\r\ndebug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/dang/.ssh/known_hosts2'\r\ndebug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling\r\ndebug1: auto-mux: Trying existing master at '/Users/dang/.ansible/cp/538bb8dd39'\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 35001\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug3: mux_client_read_packet_timeout: read header failed: Broken pipe\r\ndebug2: Received exit status from master 0\r\n")
Using module file /Users/dang/.ansible/collections/ansible_collections/community/general/plugins/modules/proxmox_kvm.py
Pipelining is enabled.
<pve11> ESTABLISH SSH CONNECTION FOR USER: root
<pve11> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="root"' -o ConnectTimeout=10 -o 'ControlPath="/Users/dang/.ansible/cp/538bb8dd39"' pve11 '/bin/sh -c '"'"'/usr/bin/python3 && sleep 0'"'"''
<pve11> (1, b'\n{"failed": true, "msg": "Reached timeout while waiting for migrating VM. Last line in task before timeout: [{\'t\': \\"2025-02-13 04:37:47 starting migration of VM 105 to node \'pve11\' (10.1.11.11)\\", \'n\': 1}]", "invocation": {"module_args": {"api_user": "root@pam", "api_token_id": "python", "api_token_secret": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "api_host": "pve11", "args": "--with-local-disks", "name": "dev", "node": "pve11", "migrate": true, "timeout": 10, "validate_certs": false, "full": true, "state": "present", "update": false, "update_unsafe": false, "api_port": null, "api_password": null, "archive": null, "acpi": null, "agent": null, "autostart": null, "balloon": null, "bios": null, "boot": null, "bootdisk": null, "cicustom": null, "cipassword": null, "citype": null, "ciupgrade": null, "ciuser": null, "clone": null, "cores": null, "cpu": null, "cpulimit": null, "cpuunits": null, "delete": null, "description": null, "digest": null, "efidisk0": null, "force": null, "format": null, "freeze": null, "hookscript": null, "hostpci": null, "hotplug": null, "hugepages": null, "ide": null, "ipconfig": null, "keyboard": null, "kvm": null, "localtime": null, "lock": null, "machine": null, "memory": null, "migrate_downtime": null, "migrate_speed": null, "nameservers": null, "net": null, "newid": null, "numa": null, "numa_enabled": null, "onboot": null, "ostype": null, "parallel": null, "pool": null, "protection": null, "reboot": null, "revert": null, "sata": null, "scsi": null, "scsihw": null, "serial": null, "searchdomains": null, "shares": null, "skiplock": null, "smbios": null, "snapname": null, "sockets": null, "sshkeys": null, "startdate": null, "startup": null, "storage": null, "tablet": null, "tags": null, "target": null, "tdf": null, "template": null, "tpmstate0": null, "usb": null, "vcpus": null, "vga": null, "virtio": null, "vmid": null, "watchdog": null}}}\n', b"OpenSSH_9.8p1, LibreSSL 3.3.6\r\ndebug1: Reading configuration data /Users/dang/.ssh/config\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files\r\ndebug1: /etc/ssh/ssh_config line 54: Applying options for *\r\ndebug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/dang/.ssh/known_hosts'\r\ndebug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/dang/.ssh/known_hosts2'\r\ndebug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling\r\ndebug1: auto-mux: Trying existing master at '/Users/dang/.ansible/cp/538bb8dd39'\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 35001\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug3: mux_client_read_packet_timeout: read header failed: Broken pipe\r\ndebug2: Received exit status from master 1\r\n")
<pve11> Failed to connect to the host via ssh: OpenSSH_9.8p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/dang/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/dang/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/dang/.ssh/known_hosts2'
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: auto-mux: Trying existing master at '/Users/dang/.ansible/cp/538bb8dd39'
debug2: fd 3 setting O_NONBLOCK
debug2: mux_client_hello_exchange: master version 4
debug3: mux_client_forwards: request forwardings: 0 local, 0 remote
debug3: mux_client_request_session: entering
debug3: mux_client_request_alive: entering
debug3: mux_client_request_alive: done pid = 35001
debug3: mux_client_request_session: session request sent
debug1: mux_client_request_session: master session id: 2
debug3: mux_client_read_packet_timeout: read header failed: Broken pipe
debug2: Received exit status from master 1
fatal: [pve11]: FAILED! => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": false,
    "invocation": {
        "module_args": {
            "acpi": null,
            "agent": null,
            "api_host": "pve11",
            "api_password": null,
            "api_port": null,
            "api_token_id": "python",
            "api_token_secret": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "api_user": "root@pam",
            "archive": null,
            "args": "--with-local-disks",
            "autostart": null,
            "balloon": null,
            "bios": null,
            "boot": null,
            "bootdisk": null,
            "cicustom": null,
            "cipassword": null,
            "citype": null,
            "ciupgrade": null,
            "ciuser": null,
            "clone": null,
            "cores": null,
            "cpu": null,
            "cpulimit": null,
            "cpuunits": null,
            "delete": null,
            "description": null,
            "digest": null,
            "efidisk0": null,
            "force": null,
            "format": null,
            "freeze": null,
            "full": true,
            "hookscript": null,
            "hostpci": null,
            "hotplug": null,
            "hugepages": null,
            "ide": null,
            "ipconfig": null,
            "keyboard": null,
            "kvm": null,
            "localtime": null,
            "lock": null,
            "machine": null,
            "memory": null,
            "migrate": true,
            "migrate_downtime": null,
            "migrate_speed": null,
            "name": "dev",
            "nameservers": null,
            "net": null,
            "newid": null,
            "node": "pve11",
            "numa": null,
            "numa_enabled": null,
            "onboot": null,
            "ostype": null,
            "parallel": null,
            "pool": null,
            "protection": null,
            "reboot": null,
            "revert": null,
            "sata": null,
            "scsi": null,
            "scsihw": null,
            "searchdomains": null,
            "serial": null,
            "shares": null,
            "skiplock": null,
            "smbios": null,
            "snapname": null,
            "sockets": null,
            "sshkeys": null,
            "startdate": null,
            "startup": null,
            "state": "present",
            "storage": null,
            "tablet": null,
            "tags": null,
            "target": null,
            "tdf": null,
            "template": null,
            "timeout": 10,
            "tpmstate0": null,
            "update": false,
            "update_unsafe": false,
            "usb": null,
            "validate_certs": false,
            "vcpus": null,
            "vga": null,
            "virtio": null,
            "vmid": null,
            "watchdog": null
        }
    },
    "msg": "Reached timeout while waiting for migrating VM. Last line in task before timeout: [{'t': \"2025-02-13 04:37:47 starting migration of VM 105 to node 'pve11' (10.1.11.11)\", 'n': 1}]"
}

PLAY RECAP *************************************************************************************************************************************************************************************************************************************
pve11                      : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

Code of Conduct

  • I agree to follow the Ansible Code of Conduct
@ansibullbot
Copy link
Collaborator

Files identified in the description:

If these files are incorrect, please update the component name section of the description or use the !component bot command.

click here for bot help

@ansibullbot
Copy link
Collaborator

@ansibullbot ansibullbot added bug This issue/PR relates to a bug module module plugins plugin (any type) labels Feb 13, 2025
@danielgoepp
Copy link
Author

Since this is an API call, and no SSH connection is necessary, I have tried this with just connecting to local host. That keeps me from getting the connection error, but I still have the same PVE error. I want to make sure to be clear to separate these two. I don't care about the connection stuff. This is just about why the migration on PVE is not happening.

@felixfontein felixfontein changed the title Unable to migrate VM with local disks proxmox_kvm: unable to migrate VM with local disks Feb 13, 2025
@russoz
Copy link
Collaborator

russoz commented Feb 14, 2025

The docs for args could definitely be improved. Currently it means nothing at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue/PR relates to a bug module module plugins plugin (any type)
Projects
None yet
Development

No branches or pull requests

3 participants