Block migration fails because destination compute node refuses ssh connection
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Low
|
jichenjc |
Bug Description
Summary:
When block-migrating a vm between two compute nodes, if the destination node lacks ssh daemon or refuses ssh connection, the block-migration would fail and cause damage to the vm, vm will be in error state for a certain time.
Scenario:
Block-migrating a vm between two compute nodes
Example:
Compute Node 1: ly-compute1 (10.0.0.31)
Compute Node 2: ly-compute2 (10.0.0.32) with VM: test11
The below tutorial is what I followed for openstack installation, it doesn't say about installing ssh support on compute nodes, so I didn't install ssh on both compute nodes.
OpenStack Installation Guide for Ubuntu 12.04/14.04 (LTS)
http://
Error occurs when I use the command "nova migrate --poll test11" trying to migrate vm "test11" from ly-compute2 to ly-compute1.
both error message and log said that ssh connecting to 10.0.0.31 failed (because ssh daemon is NOT even installed.) And the vm "test11" will enter a vm_state error state.
*******
Tring to migrate:
C:\Windows\
Server migrating... 0% complete
Error migrating server
ERROR (InstanceInErro
Command: ssh 10.0.0.31 mkdir -p /var/lib/
Exit code: 255
Stdout: u''
Stderr: u'ssh: connect to host 10.0.0.31 port 22: Connection refused\r\n'
*******
dashboard log message:
Unexpected error while running command. Command: ssh 10.0.0.31 mkdir -p /var/lib/
Code
500
Details
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
*******
Second time tring to migrate:
C:\Windows\
ERROR (Conflict): Cannot 'migrate' while instance is in vm_state error (HTTP 409) (Request-ID: req-ba3ca8e1-
*******
Request:
This fault can be dangerous, because it will cause damage to the vm of a user. The migrate_
description: | updated |
Changed in nova: | |
status: | New → Confirmed |
tags: |
added: documentation removed: nova-manage |
Changed in nova: | |
importance: | Undecided → Low |
Changed in nova: | |
milestone: | none → kilo-3 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | kilo-3 → 2015.1.0 |
yes, I would think it make sense
if we do know it will raise exception, we should check it before execution