Ask Your Question

Revision history [back]

The nova compute service, devstack@n-cpu, registers its host with the Placement Service upon startup. The compute host is a resource provider, and your error message indicates that this resource provider is not found in the Placement Service database.

First, run the command nova-status upgrade check. It should return something like this:

+---------------------------+
| Upgrade Check Results     |
+---------------------------+
| Check: Cells v2           |
| Result: Success           |
| Details: None             |
+---------------------------+
| Check: Placement API      |
| Result: Success           |
| Details: None             |
+---------------------------+
| Check: Resource Providers |
| Result: Success           |
| Details: None             |
+---------------------------+

It might look different in Queens. Both the Placement API and the Resource Providers should be OK; if they are not, perhaps you need to reinstall.

Also check the status and the logs of devstack@n-cpu and devstack@placement-api:

systemctl status devstack@n-cpu devstack@placement-api
journalctl -u devstack@n-cpu 
journalctl -u devstack@placement-api

I hope more clues are found here.

The questions I have:

  • Was n-cpu successful in registering the host?
  • If yes, what became of its placement service record?

You can also check the Placement API and its database. There is no CLI; you have to use the API directly. Get an authentication token and list the resource provides in the Placement Service database:

source ~/devstack/openrc admin admin
TOKEN=$(openstack token issue -c id -f value)
curl -H "OpenStack-API-Version: placement latest" -H "x-auth-token: $TOKEN" http://192.168.5.10/placement/resource_providers | python -m json.tool

(The json.tool part is for pretty-printing)

Alternatively, you can look into the database, but I don't remember the detailed names of the placement database and its tables.

mysql -e "show databases;" | grep placement
mysql
> use NAME_OF_PLACEMENT_DATABASE
> show tables;
> select * from NAME_OF_RESOURCE_PROVIDER_TABLE;

The nova compute service, devstack@n-cpu, registers its host with the Placement Service upon startup. The compute host is a resource provider, and your error message indicates that this resource provider is not found in the Placement Service database.

First, run the command nova-status upgrade check. check. It should return something like this:

+---------------------------+
| Upgrade Check Results     |
+---------------------------+
| Check: Cells v2           |
| Result: Success           |
| Details: None             |
+---------------------------+
| Check: Placement API      |
| Result: Success           |
| Details: None             |
+---------------------------+
| Check: Resource Providers |
| Result: Success           |
| Details: None             |
+---------------------------+

It might look different in Queens. Both the Placement API and the Resource Providers should be OK; if they are not, perhaps you need to reinstall.

Also check the status and the logs of devstack@n-cpu and devstack@placement-api:

systemctl status devstack@n-cpu devstack@placement-api
journalctl -u devstack@n-cpu 
journalctl -u devstack@placement-api

I hope more clues are found here.

The questions I have:

  • Was n-cpu successful in registering the host?
  • If yes, what became of its placement service record?

You can also check the Placement API and its database. There is no CLI; you have to use the API directly. Get an authentication token and list the resource provides in the Placement Service database:

source ~/devstack/openrc admin admin
TOKEN=$(openstack token issue -c id -f value)
curl -H "OpenStack-API-Version: placement latest" -H "x-auth-token: $TOKEN" http://192.168.5.10/placement/resource_providers | python -m json.tool

(The json.tool part is for pretty-printing)

Alternatively, you can look into the database, but I don't remember the detailed names of the placement database and its tables.

mysql -e "show databases;" | grep placement
mysql
> use NAME_OF_PLACEMENT_DATABASE
> show tables;
> select * from NAME_OF_RESOURCE_PROVIDER_TABLE;