managing compute nodes

asked 2016-12-13 19:58:55 -0500

openstackstarter gravatar image

updated 2016-12-15 02:56:56 -0500

Hi. I'm having launching an instance on compute nodes. Initially I set up three node, controller,network and compute. Launching instances worked fine and still works fine. Now I added 2 more compute nodes, say compute2 & 3. I want to launch instance on these added nodes but it seems that it only tried to launch on original compute node. I have already launched a few on compute1, so whenever I try to launch more, it says it doesn't have enough resources. I can see on my dashboard that compute2,3 are connected, and count their resources. Isn't nova-scheduler should assign an instance to any node that has enough resource for that instance? Any cofig should I change to do that? I will provide any more information needed

UPDATE#1

openstack compute service list

+----+--------------+--------------+----------+---------+-------+--------------+
| ID | Binary       | Host         | Zone     | Status  | State | Updated At   |
+----+--------------+--------------+----------+---------+-------+--------------+
|  3 | nova-        | control-node | internal | enabled | up    | 2016-12-15T0 |
|    | consoleauth  |              |          |         |       | 8:47:19.0000 |
|    |              |              |          |         |       | 00           |
|  4 | nova-        | control-node | internal | enabled | up    | 2016-12-15T0 |
|    | scheduler    |              |          |         |       | 8:47:23.0000 |
|    |              |              |          |         |       | 00           |
|  5 | nova-        | control-node | internal | enabled | up    | 2016-12-15T0 |
|    | conductor    |              |          |         |       | 8:47:24.0000 |
|    |              |              |          |         |       | 00           |
|  7 | nova-compute | compute-node | nova     | enabled | up    | 2016-12-15T0 |
|    |              |              |          |         |       | 8:47:23.0000 |
|    |              |              |          |         |       | 00           |
|  8 | nova-compute | compute-     | nova     | enabled | up    | 2016-12-15T0 |
|    |              | node3        |          |         |       | 8:47:22.0000 |
|    |              |              |          |         |       | 00           |
|  9 | nova-compute | Compute-     | nova     | enabled | up    | 2016-12-15T0 |
|    |              | Node2        |          |         |       | 8:47:19.0000 |
|    |              |              |          |         |       | 00           |
+----+--------------+--------------+----------+---------+-------+--------------+
edit retag flag offensive close merge delete

Comments

I would start by enabling debug logging on the controller, then check the nova scheduler log to understand why the two additional nodes are not used.

Before that: Where do you see that the nodes are connected? Can you run openstack compute service list to see if Nova thinks they are enabled?

Bernd Bausch gravatar imageBernd Bausch ( 2016-12-13 20:42:16 -0500 )edit

I updated my question.. sorry for the delay. So on controller, nova seems to think that ther're connected. So if compute-node's resources are not enough to handle an instance I'm trying to launch,it should automatically launch the instance on compute-node2 right?

openstackstarter gravatar imageopenstackstarter ( 2016-12-15 03:00:48 -0500 )edit

Or is there any way to set config to use compute-node2 as a default instead of compute-node?

openstackstarter gravatar imageopenstackstarter ( 2016-12-15 03:01:21 -0500 )edit

Something prevents the scheduler to select these hosts. The scheduler log is the first place I would check after confirming that the nodes exist in the database and are enabled and up.

Bernd Bausch gravatar imageBernd Bausch ( 2016-12-15 03:16:41 -0500 )edit

If you just want to test if your compute node is ready, you could launch an instance via command line:

nova boot --flavor <FLAVOR> --image <IMAGE> --availability-zone nova:<COMPUTE_NODE>

This way you avoid nova scheduler (although you definitely should check why it doesn't choose other nodes)

eblock gravatar imageeblock ( 2016-12-15 07:26:45 -0500 )edit

If you can't or don't want to use CLI, you could create aggregate hosts (containing only one compute node), in the Horizon launch instance dialog you can select the created host, that way you also would avoid the scheduler and maybe find errors in nova-compute.log pointing to the cause.

eblock gravatar imageeblock ( 2016-12-15 07:30:04 -0500 )edit

you could also disable your sole functioning compute host and see what happens when you launch an instance.

Bernd Bausch gravatar imageBernd Bausch ( 2016-12-15 08:13:22 -0500 )edit

Thanks for suggestions. I'll try all, and update with results soon..!

openstackstarter gravatar imageopenstackstarter ( 2016-12-15 08:32:06 -0500 )edit