Nova and Horizon allow inappropriate actions to be performed on baremetal nodes

Bug #1483639 reported by Kyrylo Romanenko on 2015-08-11
This bug affects 5 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
OpenStack Dashboard (Horizon)

Bug Description

Ironic baremetal nodes do not support all variety of operations that nova virtual instances do.

But Nova and Horizon still offers to perform actions with ironic baremetal nodes that can be applied to virtual instances only.

Examples of steps:
root@node-1:~# nova pause NEW1
root@node-1:~# nova suspend NEW1
As result Nova silently accepts commands without any warning or error messages. Same actions can be performed via Horizon with green "Success" popup.
Also see list of actions over baremetal node on screenshot.

One more example:
Backup to image baremetal instance:
root@node-1:~# nova image-create --poll --show NEW1 IMAGENEW1
Server snapshotting... 0% complete

and process stalls showing 0% in console infinitely.
Expected that nova will not try do this with baremetal node at all.

Currently baremetal nodes do not support following actions:

a) Create Snapshot
b) Pause
c) Suspend
d) Migrate
e) Live Migrate
f) Only one kind or reboot should be supported (Hard reboot?)
g) Resize

These actions should be disabled for baremetal machines in Nova and Horizon.
Currently there are no destructive aftermaths detected, therefore this bug affects user by confusing him when using Horizon and Nova.

Kyrylo Romanenko (kromanenko) wrote :
no longer affects: mos
David Lyle (david-lyle) on 2015-08-13
Changed in horizon:
importance: Undecided → Medium
Changed in ironic:
status: New → Confirmed
Changed in nova:
status: New → Confirmed
Changed in horizon:
status: New → Confirmed
summary: - Nova and Horizon allow to perform inappropriate actions for baremetal
- node
+ Nova and Horizon allow inappropriate actions to be performed on
+ baremetal nodes
Michael Davies (mrda) on 2015-08-14
Changed in ironic:
assignee: nobody → Michael Davies (mrda)
Changed in horizon:
assignee: nobody → Zhenguo Niu (niu-zglinux)
Zhenguo Niu (niu-zglinux) wrote :

hi, Is it possible to find hypervisor of instance belongs to? seems there's no extend attrbute like hypervisor_type in instance object.

Fix proposed to branch: master

Changed in horizon:
status: Confirmed → In Progress
David Lyle (david-lyle) on 2015-09-02
Changed in horizon:
milestone: none → liberty-rc1
Michael Davies (mrda) wrote :

I'm not going to get to this soon, so unassigning for now

Changed in ironic:
assignee: Michael Davies (mrda) → nobody
David Lyle (david-lyle) on 2015-09-23
Changed in horizon:
milestone: liberty-rc1 → mitaka-1
Dmitry Tantsur (divius) wrote :

Hi! Do you folks expect something to be done at Ironic side? I see it as a problem in Ironic nova driver and/or in Horizon.

Changed in ironic:
status: Confirmed → Incomplete
Michael Davies (mrda) wrote :

I think that Ironic can possibly support some of these features (although they may be hardware dependent), but certainly some of these features just cannot apply to hardware.

But certainly for the operations that are not supported, the driver needs to provide a better interface, letting Nova (and hence the user) that the requested operation is not supported.

I'll chase some Ironic people to get some definitive answers on this.

I tend to think this should all be above the Ironic driver; Nova should have a method for returning an error for commands not supported by a given virt driver.

Bonus points for an API in Nova that exposes which methods an instance can do, for Horizon's use.

Michael Davies (mrda) on 2015-11-04
Changed in ironic:
importance: Undecided → Low
Wenzhi Yu (yuywz) on 2016-02-23
Changed in nova:
assignee: nobody → Wen Zhi Yu (yuywz)
Wenzhi Yu (yuywz) on 2016-02-24
Changed in nova:
status: Confirmed → In Progress

Change abandoned by David Lyle (<email address hidden>) on branch: master
Reason: This review is > 4 weeks without comment, and failed Jenkins the last time it was checked. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and leaving a 'recheck' comment to get fresh test results.

Changed in horizon:
assignee: Zhenguo Niu (niu-zglinux) → nobody
status: In Progress → New
milestone: mitaka-1 → next

Change abandoned by Michael Still (<email address hidden>) on branch: master
Reason: Per discussion at the summit (, we are abandoning Newton specs that haven't merged. You may restore this patch and move it to Ocata if you'd like.

Changed in horizon:
status: New → Confirmed
Sean Dague (sdague) wrote :

There are no currently open reviews on this bug, changing the status back to the previous state and unassigning. If there are active reviews related to this bug, please include links in comments.

Changed in nova:
status: In Progress → Confirmed
assignee: Wenzhi Yu (yuywz) → nobody
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments