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_label=self.node.type[0],
|
||||
nodepool_image_name=image_name,
|
||||
nodepool_pool_name=self.node.pool,
|
||||
networks=self.label.networks,
|
||||
security_groups=self.pool.security_groups,
|
||||
boot_from_volume=self.label.boot_from_volume,
|
||||
|
@ -290,6 +290,7 @@ class OpenStackProvider(Provider):
|
||||
az=None, key_name=None, config_drive=True,
|
||||
nodepool_node_id=None, nodepool_node_label=None,
|
||||
nodepool_image_name=None,
|
||||
nodepool_pool_name=None,
|
||||
networks=None, security_groups=None,
|
||||
boot_from_volume=False, volume_size=50,
|
||||
instance_properties=None, userdata=None):
|
||||
@ -338,6 +339,7 @@ class OpenStackProvider(Provider):
|
||||
meta = dict(
|
||||
groups=",".join(groups_list),
|
||||
nodepool_provider_name=self.provider.name,
|
||||
nodepool_pool_name=nodepool_pool_name,
|
||||
)
|
||||
# merge in any provided properties
|
||||
if instance_properties:
|
||||
@ -533,6 +535,7 @@ class OpenStackProvider(Provider):
|
||||
node = zk.Node()
|
||||
node.external_id = server.id
|
||||
node.provider = self.provider.name
|
||||
node.pool = meta.get('nodepool_pool_name')
|
||||
node.state = zk.DELETING
|
||||
self._zk.storeNode(node)
|
||||
|
||||
|
@ -495,6 +495,26 @@ class TestLauncher(tests.DBTestCase):
|
||||
self.assertEqual(nodes[0].attributes,
|
||||
{'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):
|
||||
"""Same as test_node but using connection-type network_cli"""
|
||||
configfile = self.setup_config('node-network_cli.yaml')
|
||||
|
Loading…
x
Reference in New Issue
Block a user