how do I disable a nova compute node?

asked 2013-05-13 22:23:28 -0500

entropyworks gravatar image

updated 2013-05-14 19:35:38 -0500

smaffulli gravatar image

So I have multiple nova compute nodes and for debugging reasons I want to disable them all except one. I thought i could do this with the

nova-manage service disable --host=<node name> --service=nova-compute
nova-manage service disable --host=<node name> --service=nova-network

When I tried that it didn't work. I still have VM's spinning up on nodes that were disabled. As you can see here I went as far as disabling them all just to make a point.

I also noticed if I stopped nova-compute and nova-network on my nodes nova would still try. It just reports the status ad BUILD.

Now I did see this question here but is that still the solution?

edit retag flag offensive close merge delete

5 answers

Sort by ยป oldest newest most voted

answered 2013-05-14 00:29:04 -0500

fifieldt gravatar image

updated 2013-05-15 02:47:15 -0500


What version of OpenStack are you running?

Perhaps what you are looking for is this command:

$ nova host-update --maintenance [enable | disable]

One of the other approaches I've seen taken with good success is to use Host Aggregates ( You have a 'production' aggregate that will be used for normal scheduling, and another aggregate (eg 'downtime') that you can move hosts to for testing/maintenance.

You may also be interested in the "Maintenance, Failures, and Debugging" chapter of the OpenStack Operations guide -

edit flag offensive delete link more


So what is `nova service-disable` used for then?

wgjohnson gravatar imagewgjohnson ( 2014-02-11 12:43:43 -0500 )edit

This command is for Xen only:

Emilien Macchi gravatar imageEmilien Macchi ( 2014-05-21 16:40:24 -0500 )edit

The maintenance approach doesn't work with KVM hypervisors, only XEN.

slmingol gravatar imageslmingol ( 2015-05-15 09:57:53 -0500 )edit

answered 2013-05-14 06:45:33 -0500

RomilGupta gravatar image

updated 2013-05-14 06:47:06 -0500


nova-manage service disable <service-name> <host-name>

and restart nova-scheduler,conductor and compute service.

edit flag offensive delete link more


there's no need to restart these services, the update happens on the fly.

armando-migliaccio gravatar imagearmando-migliaccio ( 2013-05-15 05:55:21 -0500 )edit

thanks :)

RomilGupta gravatar imageRomilGupta ( 2013-05-15 06:01:17 -0500 )edit

nova-manage service disable <host-name> <service-name> (13.10/havana: the order of the 2 params is reversed).

Bohr Tyr gravatar imageBohr Tyr ( 2013-12-29 20:23:36 -0500 )edit

answered 2016-09-19 03:13:51 -0500

darragh-oreilly gravatar image

To remove a host from the scheduler, this works Kilo and KVM:

nova service-disable <host> nova-compute

Use nova service-list or nova hypervisor-list to see the status.

edit flag offensive delete link more

answered 2017-09-25 02:33:03 -0500

cshen gravatar image

nova service-disable <host> will do the trick.

edit flag offensive delete link more

answered 2013-05-14 04:36:08 -0500

shanthakumar K gravatar image

Stopping the nova-service is more than sufficient. You don't need to disable. This gives the flexibility to re-join easily.

edit flag offensive delete link more



I don't think that's the right way to go about it. Using nova/nova-manage is the best option.

armando-migliaccio gravatar imagearmando-migliaccio ( 2013-05-15 05:56:31 -0500 )edit

Once I faced this issue , even I after stopping the nova-compute service nova-scheduler scheduled the wrong host, so I think better option is to disable the host if you no longer needed.

RomilGupta gravatar imageRomilGupta ( 2013-05-15 06:04:42 -0500 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2013-05-13 22:23:28 -0500

Seen: 28,028 times

Last updated: Sep 25 '17