Merge "Support winrm hosts in static driver"
This commit is contained in:
commit
badb7e48ad
|
@ -714,7 +714,7 @@ Example::
|
||||||
labels: trusty-static
|
labels: trusty-static
|
||||||
host-key: fake-key
|
host-key: fake-key
|
||||||
timeout: 13
|
timeout: 13
|
||||||
ssh-port: 22022
|
connection-port: 22022
|
||||||
username: zuul
|
username: zuul
|
||||||
max-parallel-jobs: 1
|
max-parallel-jobs: 1
|
||||||
|
|
||||||
|
@ -747,8 +747,14 @@ corresponding label.
|
||||||
``host-key``
|
``host-key``
|
||||||
The ssh host key of the node.
|
The ssh host key of the node.
|
||||||
|
|
||||||
``ssh-port``
|
``connection-type`` (string)
|
||||||
The ssh port, default to *22*
|
The connection type that a consumer should use when connecting to the
|
||||||
|
node. Should be set to either 'ssh' or 'winrm'. Defaults to 'ssh'.
|
||||||
|
|
||||||
|
``connection-port`` (int)
|
||||||
|
The port that a consumer should use when connecting to the node.
|
||||||
|
For most nodes this is not necessary. This defaults to 22 when
|
||||||
|
``connection-type`` is 'ssh' and 5986 when it is 'winrm'.
|
||||||
|
|
||||||
``max-parallel-jobs``
|
``max-parallel-jobs``
|
||||||
The number of jobs that can run in parallel on this node, default to *1*.
|
The number of jobs that can run in parallel on this node, default to *1*.
|
||||||
|
|
|
@ -57,7 +57,10 @@ class StaticProviderConfig(ProviderConfig):
|
||||||
'labels': as_list(node['labels']),
|
'labels': as_list(node['labels']),
|
||||||
'host-key': as_list(node.get('host-key', [])),
|
'host-key': as_list(node.get('host-key', [])),
|
||||||
'timeout': int(node.get('timeout', 5)),
|
'timeout': int(node.get('timeout', 5)),
|
||||||
'ssh-port': int(node.get('ssh-port', 22)),
|
# Read ssh-port values for backward compat, but prefer port
|
||||||
|
'connection-port': int(
|
||||||
|
node.get('port', node.get('ssh-port', 22))),
|
||||||
|
'connection-type': node.get('connection-type', 'ssh'),
|
||||||
'username': node.get('username', 'zuul'),
|
'username': node.get('username', 'zuul'),
|
||||||
'max-parallel-jobs': int(node.get('max-parallel-jobs', 1)),
|
'max-parallel-jobs': int(node.get('max-parallel-jobs', 1)),
|
||||||
})
|
})
|
||||||
|
@ -72,7 +75,8 @@ class StaticProviderConfig(ProviderConfig):
|
||||||
'username': str,
|
'username': str,
|
||||||
'timeout': int,
|
'timeout': int,
|
||||||
'host-key': v.Any(str, [str]),
|
'host-key': v.Any(str, [str]),
|
||||||
'ssh-port': int,
|
'connection-port': int,
|
||||||
|
'connection-type': str,
|
||||||
'max-parallel-jobs': int,
|
'max-parallel-jobs': int,
|
||||||
}
|
}
|
||||||
pool = {
|
pool = {
|
||||||
|
|
|
@ -64,8 +64,8 @@ class StaticNodeRequestHandler(NodeRequestHandler):
|
||||||
node.hostname = static_node["name"]
|
node.hostname = static_node["name"]
|
||||||
node.username = static_node["username"]
|
node.username = static_node["username"]
|
||||||
node.interface_ip = static_node["name"]
|
node.interface_ip = static_node["name"]
|
||||||
node.connection_port = static_node["ssh-port"]
|
node.connection_port = static_node["connection-port"]
|
||||||
node.connection_type = "ssh"
|
node.connection_type = static_node["connection-type"]
|
||||||
nodeutils.set_node_ip(node)
|
nodeutils.set_node_ip(node)
|
||||||
node.host_keys = self.manager.nodes_keys[static_node["name"]]
|
node.host_keys = self.manager.nodes_keys[static_node["name"]]
|
||||||
self.zk.storeNode(node)
|
self.zk.storeNode(node)
|
||||||
|
|
|
@ -35,9 +35,11 @@ class StaticNodeProvider(Provider):
|
||||||
|
|
||||||
def checkHost(self, node):
|
def checkHost(self, node):
|
||||||
# Check node is reachable
|
# Check node is reachable
|
||||||
|
if node["connection-type"] != "ssh":
|
||||||
|
return
|
||||||
try:
|
try:
|
||||||
keys = nodescan(node["name"],
|
keys = nodescan(node["name"],
|
||||||
port=node["ssh-port"],
|
port=node["connection-port"],
|
||||||
timeout=node["timeout"])
|
timeout=node["timeout"])
|
||||||
except exceptions.ConnectionTimeoutException:
|
except exceptions.ConnectionTimeoutException:
|
||||||
raise StaticNodeError(
|
raise StaticNodeError(
|
||||||
|
|
|
@ -90,7 +90,7 @@ providers:
|
||||||
labels: trusty-static
|
labels: trusty-static
|
||||||
host-key: fake-key
|
host-key: fake-key
|
||||||
timeout: 13
|
timeout: 13
|
||||||
ssh-port: 22022
|
connection-port: 22022
|
||||||
username: zuul
|
username: zuul
|
||||||
max-parallel-jobs: 1
|
max-parallel-jobs: 1
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,9 @@ labels:
|
||||||
- name: fake-concurrent-label
|
- name: fake-concurrent-label
|
||||||
min-ready: 2
|
min-ready: 2
|
||||||
|
|
||||||
|
- name: fake-windows-label
|
||||||
|
min-ready: 2
|
||||||
|
|
||||||
providers:
|
providers:
|
||||||
- name: static-provider
|
- name: static-provider
|
||||||
driver: static
|
driver: static
|
||||||
|
@ -20,10 +23,14 @@ providers:
|
||||||
labels: fake-label
|
labels: fake-label
|
||||||
host-key: ssh-rsa FAKEKEY
|
host-key: ssh-rsa FAKEKEY
|
||||||
timeout: 13
|
timeout: 13
|
||||||
ssh-port: 22022
|
connection-port: 22022
|
||||||
username: zuul
|
username: zuul
|
||||||
max-parallel-jobs: 1
|
max-parallel-jobs: 1
|
||||||
- name: fake-host-2
|
- name: fake-host-2
|
||||||
labels: fake-concurrent-label
|
labels: fake-concurrent-label
|
||||||
host-key: ssh-rsa FAKEKEY
|
host-key: ssh-rsa FAKEKEY
|
||||||
max-parallel-jobs: 2
|
max-parallel-jobs: 2
|
||||||
|
- name: fake-host-3
|
||||||
|
labels: fake-windows-label
|
||||||
|
max-parallel-jobs: 1
|
||||||
|
connection-type: winrm
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Added support for configuring windows static nodes. A static node can now
|
||||||
|
define a ``connection-type``. The ``ssh-port`` option has been renamed
|
||||||
|
to ``connection-port``.
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
``ssh-port`` in static node config is deprecated. Please update config to
|
||||||
|
use ``connection-port`` instead.
|
Loading…
Reference in New Issue