Create snapshots when min-ready is >= 0
Currently, if min-ready is 0 a snapshot will not be created (nodepool considers the image to be disabled). Now if min-ready is greater than or equal 0, nodepool will create the snapshot. The reason for the change is to allow jenkins slaves to be offline waiting for a new job to be submitted. Once a new job is submit, nodepool will properly launch a slave node from the snapshot. Additionally, min-ready is now optional and defaults to 2. If min-ready is -1 the snapshot will not be created (label becomes disabled). Closes-Bug: #1299172 Change-Id: I7094a76b09266c00c0290d84ae0a39b6c2d16215 Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
This commit is contained in:
parent
933a7e80dc
commit
1b904ec697
@ -106,9 +106,11 @@ providers or images are used to create them). Example::
|
|||||||
providers:
|
providers:
|
||||||
- name: provider1
|
- name: provider1
|
||||||
|
|
||||||
The `name`, `image`, and `min-ready` keys are required. The
|
The `name` and `image` keys are required. The `providers` list is
|
||||||
`providers` list is also required if any nodes should actually be
|
also required if any nodes should actually be created (e.g., the
|
||||||
created (e.g., the label is not currently disabled).
|
label is not currently disabled). The `min-ready` key is optional
|
||||||
|
and defaults to 2. If the value is -1 the label is considered
|
||||||
|
disabled.
|
||||||
|
|
||||||
The `subnodes` key is used to configure multi-node support. If a
|
The `subnodes` key is used to configure multi-node support. If a
|
||||||
`subnodes` key is supplied to an image, it indicates that the specified
|
`subnodes` key is supplied to an image, it indicates that the specified
|
||||||
|
@ -907,7 +907,7 @@ class NodePool(threading.Thread):
|
|||||||
l.name = label['name']
|
l.name = label['name']
|
||||||
newconfig.labels[l.name] = l
|
newconfig.labels[l.name] = l
|
||||||
l.image = label['image']
|
l.image = label['image']
|
||||||
l.min_ready = label['min-ready']
|
l.min_ready = label.get('min-ready', 2)
|
||||||
l.subnodes = label.get('subnodes', 0)
|
l.subnodes = label.get('subnodes', 0)
|
||||||
l.ready_script = label.get('ready-script')
|
l.ready_script = label.get('ready-script')
|
||||||
l.providers = {}
|
l.providers = {}
|
||||||
@ -1315,7 +1315,8 @@ class NodePool(threading.Thread):
|
|||||||
# outside of its schedule.
|
# outside of its schedule.
|
||||||
self.log.debug("Checking missing images.")
|
self.log.debug("Checking missing images.")
|
||||||
for label in self.config.labels.values():
|
for label in self.config.labels.values():
|
||||||
if not label.min_ready:
|
if label.min_ready < 0:
|
||||||
|
# Label is configured to be disabled, skip creating the image.
|
||||||
continue
|
continue
|
||||||
for provider_name in label.providers:
|
for provider_name in label.providers:
|
||||||
found = False
|
found = False
|
||||||
|
Loading…
x
Reference in New Issue
Block a user