Guest User

Untitled

a guest
Feb 14th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. import psycopg2
  2.  
  3. # testos
  4. cinder_connection = psycopg2.connect("dbname=cinder user=cinder host=172.30.202.16 password='testos'")
  5. nova_connection = psycopg2.connect("dbname=nova user=nova host=172.30.202.16 password='testos'")
  6.  
  7. cinder_cursor = cinder_connection.cursor()
  8. nova_cursor = nova_connection.cursor()
  9.  
  10. cinder_cursor.execute("SELECT instance_uuid FROM volume_attachment WHERE attach_status='attached' AND deleted=false;")
  11.  
  12. instance_uuids = cinder_cursor.fetchall()
  13.  
  14. instances = list()
  15. for instance in instance_uuids:
  16. instances.append(instance[0])
  17.  
  18. print "Attachments size is: %s" % len(instances)
  19.  
  20. nova_cursor.execute("SELECT uuid FROM instances WHERE vm_state='deleted' AND uuid in {};".format(tuple(instances)))
  21.  
  22. deleted_instances = nova_cursor.fetchall()
  23.  
  24. nova_cursor.close()
  25. nova_connection.close()
  26.  
  27. instances = list()
  28. for instance in deleted_instances:
  29. instances.append(instance[0])
  30.  
  31. with open('instances.txt', "w+") as instances_file:
  32. for instance in instances:
  33. instances_file.write("{}\n".format(instance))
  34.  
  35. print "Deleted instances size is: %s" % len(instances)
  36.  
  37. cinder_cursor.execute("SELECT volume_id FROM volume_attachment WHERE deleted=false "
  38. "AND attach_status='attached' "
  39. "AND instance_uuid in {};".format(tuple(instances)))
  40.  
  41. bad_volumes = cinder_cursor.fetchall()
  42.  
  43. volumes = list()
  44. for volume in bad_volumes:
  45. volumes.append(volume[0])
  46.  
  47. with open('volumes.txt', "w+") as volumes_file:
  48. for volume in volumes:
  49. volumes_file.write("{}\n".format(volume))
  50.  
  51. print "Bad volumes size is: %s" % len(volumes)
  52.  
  53. cinder_cursor.execute("UPDATE volume_attachment set deleted=true,attach_status='detached' WHERE instance_uuid in {};".format(tuple(instances)))
  54. cinder_cursor.execute("UPDATE volumes set attach_status='detached' WHERE id in {};".format(tuple(volumes)))
  55.  
  56. cinder_connection.commit()
  57. cinder_cursor.close()
  58. cinder_connection.close()
Add Comment
Please, Sign In to add comment