Merge "Set pool info on leaked instances"
This commit is contained in:
commit
5d27775bc5
@ -133,6 +133,7 @@ class OpenStackNodeLauncher(NodeLauncher):
|
|||||||
nodepool_node_id=self.node.id,
|
nodepool_node_id=self.node.id,
|
||||||
nodepool_node_label=self.node.type[0],
|
nodepool_node_label=self.node.type[0],
|
||||||
nodepool_image_name=image_name,
|
nodepool_image_name=image_name,
|
||||||
|
nodepool_pool_name=self.node.pool,
|
||||||
networks=self.label.networks,
|
networks=self.label.networks,
|
||||||
security_groups=self.pool.security_groups,
|
security_groups=self.pool.security_groups,
|
||||||
boot_from_volume=self.label.boot_from_volume,
|
boot_from_volume=self.label.boot_from_volume,
|
||||||
|
@ -290,6 +290,7 @@ class OpenStackProvider(Provider):
|
|||||||
az=None, key_name=None, config_drive=True,
|
az=None, key_name=None, config_drive=True,
|
||||||
nodepool_node_id=None, nodepool_node_label=None,
|
nodepool_node_id=None, nodepool_node_label=None,
|
||||||
nodepool_image_name=None,
|
nodepool_image_name=None,
|
||||||
|
nodepool_pool_name=None,
|
||||||
networks=None, security_groups=None,
|
networks=None, security_groups=None,
|
||||||
boot_from_volume=False, volume_size=50,
|
boot_from_volume=False, volume_size=50,
|
||||||
instance_properties=None, userdata=None):
|
instance_properties=None, userdata=None):
|
||||||
@ -338,6 +339,7 @@ class OpenStackProvider(Provider):
|
|||||||
meta = dict(
|
meta = dict(
|
||||||
groups=",".join(groups_list),
|
groups=",".join(groups_list),
|
||||||
nodepool_provider_name=self.provider.name,
|
nodepool_provider_name=self.provider.name,
|
||||||
|
nodepool_pool_name=nodepool_pool_name,
|
||||||
)
|
)
|
||||||
# merge in any provided properties
|
# merge in any provided properties
|
||||||
if instance_properties:
|
if instance_properties:
|
||||||
@ -533,6 +535,7 @@ class OpenStackProvider(Provider):
|
|||||||
node = zk.Node()
|
node = zk.Node()
|
||||||
node.external_id = server.id
|
node.external_id = server.id
|
||||||
node.provider = self.provider.name
|
node.provider = self.provider.name
|
||||||
|
node.pool = meta.get('nodepool_pool_name')
|
||||||
node.state = zk.DELETING
|
node.state = zk.DELETING
|
||||||
self._zk.storeNode(node)
|
self._zk.storeNode(node)
|
||||||
|
|
||||||
|
@ -495,6 +495,26 @@ class TestLauncher(tests.DBTestCase):
|
|||||||
self.assertEqual(nodes[0].attributes,
|
self.assertEqual(nodes[0].attributes,
|
||||||
{'key1': 'value1', 'key2': 'value2'})
|
{'key1': 'value1', 'key2': 'value2'})
|
||||||
|
|
||||||
|
def test_node_metadata(self):
|
||||||
|
"""Test that node metadata is set"""
|
||||||
|
configfile = self.setup_config('node.yaml')
|
||||||
|
pool = self.useNodepool(configfile, watermark_sleep=1)
|
||||||
|
self.useBuilder(configfile)
|
||||||
|
pool.start()
|
||||||
|
image = self.waitForImage('fake-provider', 'fake-image')
|
||||||
|
self.assertEqual(image.username, 'zuul')
|
||||||
|
nodes = self.waitForNodes('fake-label')
|
||||||
|
|
||||||
|
self.assertEqual(len(nodes), 1)
|
||||||
|
|
||||||
|
# We check the "cloud" side attributes are set from nodepool side
|
||||||
|
provider = pool.getProviderManager('fake-provider')
|
||||||
|
cloud_node = provider.getServer(nodes[0].hostname)
|
||||||
|
self.assertEqual(
|
||||||
|
cloud_node.metadata['nodepool_provider_name'],
|
||||||
|
'fake-provider')
|
||||||
|
self.assertEqual(cloud_node.metadata['nodepool_pool_name'], 'main')
|
||||||
|
|
||||||
def test_node_network_cli(self):
|
def test_node_network_cli(self):
|
||||||
"""Same as test_node but using connection-type network_cli"""
|
"""Same as test_node but using connection-type network_cli"""
|
||||||
configfile = self.setup_config('node-network_cli.yaml')
|
configfile = self.setup_config('node-network_cli.yaml')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user