The static provider avoids accepting requests for a label when all the nodes of that label are busy. In other words, it only accepts requests when it expects to be able to fulfill them. However, it also checks whether a node is reachable before fulfilling a request. And if the reachability of a node changes before a request is fulfilled, then Nodepool will pause the handler until the request is fulfilled. If the node never comes back online, no other nodes in the provider will be handled. In general, we should never pause the static provider since pausing is designed to allow for the accumulation of sufficient free resources to fulfill the next request. Static provider resources are not fungible, so pausing until label A is available doesn't make label B any less available. To correct the problem, we no longer pause the static provider when there is insufficient quota; instead we simply release the current node request without declining it, and then allow the provider to either defer it (if the node continues to be unreachable) or accept it (if the node later becomes available again). In other words, the handling of a request for a node with connection problems will now be the same regardless of whether it is detected on startup or while running. Change-Id: I61565e9864efcfc81a205318d30972c25d4ea880
37 lines
822 B
YAML
37 lines
822 B
YAML
zookeeper-servers:
|
|
- host: {zookeeper_host}
|
|
port: {zookeeper_port}
|
|
chroot: {zookeeper_chroot}
|
|
|
|
zookeeper-tls:
|
|
ca: {zookeeper_ca}
|
|
cert: {zookeeper_cert}
|
|
key: {zookeeper_key}
|
|
|
|
labels:
|
|
- name: fake-label
|
|
- name: fake-label2
|
|
|
|
providers:
|
|
- name: static-provider
|
|
driver: static
|
|
pools:
|
|
- name: main
|
|
node-attributes:
|
|
key1: value1
|
|
key2: value2
|
|
nodes:
|
|
- name: fake-host-1
|
|
labels: fake-label
|
|
host-key: ssh-rsa FAKEKEY
|
|
timeout: 13
|
|
connection-port: 22022
|
|
username: zuul
|
|
- name: fake-host-2
|
|
labels: fake-label2
|
|
host-key: ssh-rsa FAKEKEY
|
|
timeout: 13
|
|
connection-port: 22022
|
|
username: zuul
|
|
host-key-checking: false
|