Add support for specifying key-name per label
In order to support putting less things into images via puppet in Infra, we'd like to be able to pre-populate our clouds with keypairs for the infra-root accounts and have nova add those at boot time. Change-Id: I72cfffacdeb56e3e9743e47a107fb309a7517935
This commit is contained in:
parent
e9a40ebb41
commit
2d8e29a1bf
@ -547,6 +547,9 @@ Example configuration::
|
||||
Nodepool expects that user to exist after running the script indicated by
|
||||
``setup``. Default ``jenkins``
|
||||
|
||||
``key-name``
|
||||
If provided, named keypair in nova that will be provided to server create.
|
||||
|
||||
``private-key``
|
||||
Default ``/var/lib/jenkins/.ssh/id_rsa``
|
||||
|
||||
|
@ -34,6 +34,7 @@ class ConfigValidator:
|
||||
'pause': bool,
|
||||
'min-ram': int,
|
||||
'name-filter': str,
|
||||
'key-name': str,
|
||||
'diskimage': str,
|
||||
'meta': dict,
|
||||
'username': str,
|
||||
|
@ -62,6 +62,7 @@ class Provider(ConfigValue):
|
||||
for k in new_images:
|
||||
if (new_images[k].min_ram != old_images[k].min_ram or
|
||||
new_images[k].name_filter != old_images[k].name_filter or
|
||||
new_images[k].key_name != old_images[k].key_name or
|
||||
new_images[k].username != old_images[k].username or
|
||||
new_images[k].user_home != old_images[k].user_home or
|
||||
new_images[k].private_key != old_images[k].private_key or
|
||||
@ -236,6 +237,7 @@ def loadConfig(config_path):
|
||||
p.images[i.name] = i
|
||||
i.min_ram = image['min-ram']
|
||||
i.name_filter = image.get('name-filter', None)
|
||||
i.key_name = image.get('key-name', None)
|
||||
i.username = image.get('username', 'jenkins')
|
||||
i.user_home = image.get('user-home', '/home/jenkins')
|
||||
i.pause = bool(image.get('pause', False))
|
||||
|
@ -479,6 +479,7 @@ class NodeLauncher(threading.Thread):
|
||||
server = self.manager.createServer(
|
||||
hostname, self.image.min_ram, cloud_image.external_id,
|
||||
name_filter=self.image.name_filter, az=self.node.az,
|
||||
key_name=self.image.key_name,
|
||||
config_drive=self.image.config_drive,
|
||||
nodepool_node_id=self.node_id,
|
||||
nodepool_image_name=self.image.name)
|
||||
@ -803,6 +804,7 @@ class SubNodeLauncher(threading.Thread):
|
||||
server = self.manager.createServer(
|
||||
hostname, self.image.min_ram, cloud_image.external_id,
|
||||
name_filter=self.image.name_filter, az=self.node_az,
|
||||
key_name=self.image.key_name,
|
||||
config_drive=self.image.config_drive,
|
||||
nodepool_node_id=self.node_id,
|
||||
nodepool_image_name=self.image.name)
|
||||
|
Loading…
x
Reference in New Issue
Block a user