Merge "Add resource metadata to nodes"

This commit is contained in:
Zuul 2018-11-26 18:05:08 +00:00 committed by Gerrit Code Review
commit c06e3aedc6
3 changed files with 16 additions and 1 deletions

View File

@ -142,6 +142,11 @@ class OpenStackNodeLauncher(NodeLauncher):
self.node.external_id = server.id
self.node.hostname = hostname
self.node.image_id = image_id
pool = self.handler.provider.pools.get(self.node.pool)
resources = self.handler.manager.quotaNeededByNodeType(
self.node.type[0], pool)
self.node.resources = resources.quota['compute']
if username:
self.node.username = username
self.node.connection_type = connection_type

View File

@ -70,6 +70,12 @@ class TestLauncher(tests.DBTestCase):
image.provider_name),
id=image.id)
self.assertEqual(node.image_id, p)
resources = {
'cores': 4,
'instances': 1,
'ram': 8192,
}
self.assertEqual(node.resources, resources)
self.zk.lockNode(node, blocking=False)
self.zk.unlockNode(node)

View File

@ -515,6 +515,7 @@ class Node(BaseModel):
self.connection_type = None
self.host_keys = []
self.hold_expiration = None
self.resources = None
def __repr__(self):
d = self.toDict()
@ -549,7 +550,8 @@ class Node(BaseModel):
self.connection_type == other.connection_type and
self.connection_port == other.connection_port and
self.host_keys == other.host_keys and
self.hold_expiration == other.hold_expiration)
self.hold_expiration == other.hold_expiration and
self.resources == other.resources)
else:
return False
@ -595,6 +597,7 @@ class Node(BaseModel):
d['connection_type'] = self.connection_type
d['connection_port'] = self.connection_port
d['hold_expiration'] = self.hold_expiration
d['resources'] = self.resources
return d
@staticmethod
@ -644,6 +647,7 @@ class Node(BaseModel):
o.hold_expiration = 0
else:
o.hold_expiration = hold_expiration
o.resources = d.get('resources')
return o