pull/814/merge
Jonathan Rosser 2 months ago committed by GitHub
commit eb3d99365a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -181,7 +181,10 @@ def _connect_docker(spec):
'method': 'docker',
'kwargs': {
'username': spec.remote_user(),
'container': spec.remote_addr(),
'container': (
spec.mitogen_container_name() or
spec.remote_addr()
),
'python_path': spec.python_path(rediscover_python=True),
'connect_timeout': spec.ansible_ssh_timeout() or spec.timeout(),
'remote_name': get_remote_name(spec),
@ -196,7 +199,10 @@ def _connect_kubectl(spec):
return {
'method': 'kubectl',
'kwargs': {
'pod': spec.remote_addr(),
'pod': (
spec.mitogen_container_name() or
spec.remote_addr()
),
'python_path': spec.python_path(),
'connect_timeout': spec.ansible_ssh_timeout() or spec.timeout(),
'kubectl_path': spec.mitogen_kubectl_path(),
@ -214,7 +220,10 @@ def _connect_jail(spec):
'method': 'jail',
'kwargs': {
'username': spec.remote_user(),
'container': spec.remote_addr(),
'container': (
spec.mitogen_container_name() or
spec.remote_addr()
),
'python_path': spec.python_path(),
'connect_timeout': spec.ansible_ssh_timeout() or spec.timeout(),
'remote_name': get_remote_name(spec),
@ -229,7 +238,10 @@ def _connect_lxc(spec):
return {
'method': 'lxc',
'kwargs': {
'container': spec.remote_addr(),
'container': (
spec.mitogen_container_name() or
spec.remote_addr()
),
'python_path': spec.python_path(),
'lxc_attach_path': spec.mitogen_lxc_attach_path(),
'connect_timeout': spec.ansible_ssh_timeout() or spec.timeout(),
@ -245,7 +257,10 @@ def _connect_lxd(spec):
return {
'method': 'lxd',
'kwargs': {
'container': spec.remote_addr(),
'container': (
spec.mitogen_container_name() or
spec.remote_addr()
),
'python_path': spec.python_path(),
'lxc_path': spec.mitogen_lxc_path(),
'connect_timeout': spec.ansible_ssh_timeout() or spec.timeout(),
@ -283,7 +298,10 @@ def _connect_setns(spec, kind=None):
return {
'method': 'setns',
'kwargs': {
'container': spec.remote_addr(),
'container': (
spec.mitogen_container_name() or
spec.remote_addr()
),
'username': spec.remote_user(),
'python_path': spec.python_path(),
'kind': kind or spec.mitogen_kind(),

@ -385,6 +385,13 @@ class Spec(with_metaclass(abc.ABCMeta, object)):
Whether SSH compression is enabled.
"""
@abc.abstractmethod
def mitogen_container_name(self):
"""
Highest precedence variable for specifying the name of a container to
connect to.
"""
@abc.abstractmethod
def extra_args(self):
"""
@ -564,6 +571,9 @@ class PlayContextSpec(Spec):
def mitogen_ssh_compression(self):
return self._connection.get_task_var('mitogen_ssh_compression')
def mitogen_container_name(self):
return self._connection.get_task_var('mitogen_container_name')
def extra_args(self):
return self._connection.get_extra_args()
@ -787,6 +797,9 @@ class MitogenViaSpec(Spec):
def mitogen_ssh_compression(self):
return self._host_vars.get('mitogen_ssh_compression')
def mitogen_container_name(self):
return self._host_vars.get('mitogen_container_name')
def extra_args(self):
return [] # TODO

Loading…
Cancel
Save