mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
[PR #5720/6383c823 backport][stable-6] ssh_config: fixed sanity (#5726)
ssh_config: fixed sanity (#5720)
* ssh_config: fix sanity checks
* fixed mod utils and removed sanity ignores
* update BOTMETA
* add changelog fragment
* Update plugins/module_utils/ssh.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 6383c82328
)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
This commit is contained in:
parent
0f0ad6b6d1
commit
5fcf5d0c8b
9 changed files with 27 additions and 9 deletions
2
.github/BOTMETA.yml
vendored
2
.github/BOTMETA.yml
vendored
|
@ -323,6 +323,8 @@ files:
|
|||
$module_utils/scaleway.py:
|
||||
labels: cloud scaleway
|
||||
maintainers: $team_scaleway
|
||||
$module_utils/ssh.py:
|
||||
maintainers: russoz
|
||||
$module_utils/storage/hpe3par/hpe3par.py:
|
||||
maintainers: farhan7500 gautamphegde
|
||||
$module_utils/utm_utils.py:
|
||||
|
|
2
changelogs/fragments/5720-ssh_config-plugin-sanity.yml
Normal file
2
changelogs/fragments/5720-ssh_config-plugin-sanity.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
minor_changes:
|
||||
- ssh_config - refactor code to module util to fix sanity check (https://github.com/ansible-collections/community.general/pull/5720).
|
21
plugins/module_utils/ssh.py
Normal file
21
plugins/module_utils/ssh.py
Normal file
|
@ -0,0 +1,21 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2015, Björn Andersson
|
||||
# Copyright (c) 2021, Ansible Project
|
||||
# Copyright (c) 2021, Abhijeet Kasurde <akasurde@redhat.com>
|
||||
# Copyright (c) 2022, Alexei Znamensky <russoz@gmail.com>
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
__metaclass__ = type
|
||||
|
||||
|
||||
import os
|
||||
|
||||
|
||||
def determine_config_file(user, config_file):
|
||||
if user:
|
||||
config_file = os.path.join(os.path.expanduser('~%s' % user), '.ssh', 'config')
|
||||
elif config_file is None:
|
||||
config_file = '/etc/ssh/ssh_config'
|
||||
return config_file
|
|
@ -169,6 +169,7 @@ except ImportError:
|
|||
|
||||
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||
from ansible.module_utils.common.text.converters import to_native
|
||||
from ansible_collections.community.general.plugins.module_utils.ssh import determine_config_file
|
||||
|
||||
|
||||
class SSHConfig():
|
||||
|
@ -188,10 +189,7 @@ class SSHConfig():
|
|||
self.config.load()
|
||||
|
||||
def check_ssh_config_path(self):
|
||||
if self.user:
|
||||
self.config_file = os.path.join(os.path.expanduser('~%s' % self.user), '.ssh', 'config')
|
||||
elif self.config_file is None:
|
||||
self.config_file = '/etc/ssh/ssh_config'
|
||||
self.config_file = determine_config_file(self.user, self.config_file)
|
||||
|
||||
# See if the identity file exists or not, relative to the config file
|
||||
if os.path.exists(self.config_file) and self.identity_file is not None:
|
||||
|
|
|
@ -23,7 +23,6 @@ plugins/modules/rax_files_objects.py use-argspec-type-path
|
|||
plugins/modules/rax_files.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/rax.py use-argspec-type-path # fix needed
|
||||
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/ssh_config.py use-argspec-type-path # Required since module uses other methods to specify path
|
||||
plugins/modules/xfconf.py validate-modules:return-syntax-error
|
||||
plugins/modules/yarn.py use-argspec-type-path
|
||||
tests/integration/targets/django_manage/files/base_test/simple_project/p1/manage.py compile-2.6 # django generated code
|
||||
|
|
|
@ -18,6 +18,5 @@ plugins/modules/rax_files_objects.py use-argspec-type-path
|
|||
plugins/modules/rax_files.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/rax.py use-argspec-type-path # fix needed
|
||||
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/ssh_config.py use-argspec-type-path # Required since module uses other methods to specify path
|
||||
plugins/modules/xfconf.py validate-modules:return-syntax-error
|
||||
plugins/modules/yarn.py use-argspec-type-path
|
||||
|
|
|
@ -18,6 +18,5 @@ plugins/modules/rax_files_objects.py use-argspec-type-path
|
|||
plugins/modules/rax_files.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/rax.py use-argspec-type-path # fix needed
|
||||
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/ssh_config.py use-argspec-type-path # Required since module uses other methods to specify path
|
||||
plugins/modules/xfconf.py validate-modules:return-syntax-error
|
||||
plugins/modules/yarn.py use-argspec-type-path
|
||||
|
|
|
@ -19,7 +19,6 @@ plugins/modules/rax_files_objects.py use-argspec-type-path
|
|||
plugins/modules/rax_files.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/rax.py use-argspec-type-path # fix needed
|
||||
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/ssh_config.py use-argspec-type-path # Required since module uses other methods to specify path
|
||||
plugins/modules/udm_user.py import-3.11 # Uses deprecated stdlib library 'crypt'
|
||||
plugins/modules/xfconf.py validate-modules:return-syntax-error
|
||||
plugins/modules/yarn.py use-argspec-type-path
|
||||
|
|
|
@ -19,7 +19,6 @@ plugins/modules/rax_files_objects.py use-argspec-type-path
|
|||
plugins/modules/rax_files.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/rax.py use-argspec-type-path # fix needed
|
||||
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
|
||||
plugins/modules/ssh_config.py use-argspec-type-path # Required since module uses other methods to specify path
|
||||
plugins/modules/udm_user.py import-3.11 # Uses deprecated stdlib library 'crypt'
|
||||
plugins/modules/xfconf.py validate-modules:return-syntax-error
|
||||
plugins/modules/yarn.py use-argspec-type-path
|
||||
|
|
Loading…
Reference in a new issue