Merge "OpenStack: store ZK records for launch error nodes"
This commit is contained in:
commit
d4325cf6ac
@ -18,6 +18,7 @@ import pprint
|
|||||||
import random
|
import random
|
||||||
|
|
||||||
from kazoo import exceptions as kze
|
from kazoo import exceptions as kze
|
||||||
|
import openstack
|
||||||
|
|
||||||
from nodepool import exceptions
|
from nodepool import exceptions
|
||||||
from nodepool import nodeutils as utils
|
from nodepool import nodeutils as utils
|
||||||
@ -122,6 +123,7 @@ class OpenStackNodeLauncher(NodeLauncher):
|
|||||||
# because that isn't available in ZooKeeper until after the server is
|
# because that isn't available in ZooKeeper until after the server is
|
||||||
# active, which could cause a race in leak detection.
|
# active, which could cause a race in leak detection.
|
||||||
|
|
||||||
|
try:
|
||||||
server = self.handler.manager.createServer(
|
server = self.handler.manager.createServer(
|
||||||
hostname,
|
hostname,
|
||||||
image=image_external,
|
image=image_external,
|
||||||
@ -138,6 +140,12 @@ class OpenStackNodeLauncher(NodeLauncher):
|
|||||||
boot_from_volume=self.label.boot_from_volume,
|
boot_from_volume=self.label.boot_from_volume,
|
||||||
volume_size=self.label.volume_size,
|
volume_size=self.label.volume_size,
|
||||||
instance_properties=self.label.instance_properties)
|
instance_properties=self.label.instance_properties)
|
||||||
|
except openstack.cloud.exc.OpenStackCloudCreateException as e:
|
||||||
|
if e.resource_id:
|
||||||
|
self.node.external_id = e.resource_id
|
||||||
|
# The outer exception handler will handle storing the
|
||||||
|
# node immediately after this.
|
||||||
|
raise
|
||||||
|
|
||||||
self.node.external_id = server.id
|
self.node.external_id = server.id
|
||||||
self.node.hostname = hostname
|
self.node.hostname = hostname
|
||||||
|
Loading…
x
Reference in New Issue
Block a user