Pike: VM error - No server with a name or ID of uuid exists. Database hacking or...?

asked 2018-11-09 06:05:14 -0600

Peter Garlic gravatar image

updated 2018-11-14 01:46:42 -0600

Hi all, after updating from newton to pike (passing thru ocata) we have some instances in error status that cannot be deleted using horizon and command line. (openstack 3.12.1 running on Centos 7.5.1804). These instances where created for test during the migration process and before to fix all (..maybe..) the configuration issues

As example: openstack server list --all

......

5e21a50b-8c09-42ce-aef0-9fa4d6d9933d | t20181025-003 | ERROR |cirros-0.3.4-x86_64-20180925 | VM.S 
......

openstack server delete 5e21a50b-8c09-42ce-aef0-9fa4d6d9933d

No server with a name or ID of '5e21a50b-8c09-42ce-aef0-9fa4d6d9933d' exists.

"nova reset-state --active" and any other operation doesn't help and we got 7 VM in error status Then i started to look what inside the mariadb and searching the uuid on all databases and I found many inconsistencies for that records. On internet I found https://raymii.org/s/articles/Fix_inconsistent_Openstack_volumes_and_instances_from_Cinder_and_Nova_via_the_database.html (Fix inconsistent Openstack volumes and instances from Cinder and Nova via the database) but with a deep search i found many records related to the uuid on the VMs on error status.

Using the article and the database uuid appareances i would like to use these sql statements to clean up the VM on error status:

Command: 
DELETE FROM 

Argument Array:
"nova.block_device_mapping WHERE instance_uuid = '$VMUUID';"    
"nova.instance_actions_events WHERE action_id in (SELECT id from nova.instance_actions WHERE instance_uuid = '$VMUUID');"
"nova.instance_actions WHERE instance_uuid = '$VMUUID';"
"nova.instance_extra WHERE instance_uuid = '$VMUUID';"
"nova.instance_faults WHERE instance_uuid = '$VMUUID';"
"nova.instance_id_mappings WHERE uuid = '$VMUUID';"
"nova.instance_info_caches WHERE instance_uuid = '$VMUUID';"
"nova.instance_metadata WHERE instance_uuid = '$VMUUID';"
"nova.instance_system_metadata WHERE instance_uuid = '$VMUUID';"
"nova.security_group_instance_association WHERE instance_uuid = '$VMUUID';"
"nova.fixed_ips WHERE instance_uuid = '$VMUUID';"
"nova.virtual_interfaces WHERE instance_uuid = '$VMUUID';"
"nova_api.allocations WHERE consumer_id = '$VMUUID';"
"nova_api.consumers WHERE uuid = '$VMUUID';"
"nova_api.instance_mappings WHERE instance_uuid = '$VMUUID';"
"nova_api.request_specs WHERE instance_uuid = '$VMUUID';"
"nova_cell0.block_device_mapping WHERE instance_uuid = '$VMUUID';"
"nova_cell0.instances WHERE uuid = '$VMUUID';"
"nova_cell0.instance_extra WHERE instance_uuid = '$VMUUID';"
"nova_cell0.instance_faults WHERE instance_uuid = '$VMUUID';"
"nova_cell0.instance_id_mappings WHERE uuid = '$VMUUID';"
"nova_cell0.instance_info_caches WHERE instance_uuid = '$VMUUID';"
"nova_cell0.instance_metadata WHERE instance_uuid = '$VMUUID';"
"nova_cell0.instance_system_metadata WHERE instance_uuid = '$VMUUID';"
"neutron.ports WHERE device_id = '$VMUUID';"
"cinder.volume_attachment WHERE instance_uuid = '$VMUUID';"
"gnocchi.resource WHERE original_resource_id = '$VMUUID';"   
"gnocchi.resource_history WHERE original_resource_id = '$VMUUID';" 
"nova.instances WHERE uuid = '$VMUUID';"

I'm going to create a big damage inside my Pike infrastructure or will solved the issue? I missed some record and/or database relations?

Thanks in advance

edit retag flag offensive close merge delete

Comments

What document do you use?

novainfinite gravatar imagenovainfinite ( 2018-11-09 10:02:01 -0600 )edit

What do you mean? I do not use any document. I just checked out the linked post , then searched matching uuids on my db. The published text is part of a bash script still in beta test

Peter Garlic gravatar imagePeter Garlic ( 2018-11-12 03:38:21 -0600 )edit