mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
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>
This commit is contained in:
parent
b3485b8fca
commit
6383c82328
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:
|
$module_utils/scaleway.py:
|
||||||
labels: cloud scaleway
|
labels: cloud scaleway
|
||||||
maintainers: $team_scaleway
|
maintainers: $team_scaleway
|
||||||
|
$module_utils/ssh.py:
|
||||||
|
maintainers: russoz
|
||||||
$module_utils/storage/hpe3par/hpe3par.py:
|
$module_utils/storage/hpe3par/hpe3par.py:
|
||||||
maintainers: farhan7500 gautamphegde
|
maintainers: farhan7500 gautamphegde
|
||||||
$module_utils/utm_utils.py:
|
$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.basic import AnsibleModule, missing_required_lib
|
||||||
from ansible.module_utils.common.text.converters import to_native
|
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():
|
class SSHConfig():
|
||||||
|
@ -188,10 +189,7 @@ class SSHConfig():
|
||||||
self.config.load()
|
self.config.load()
|
||||||
|
|
||||||
def check_ssh_config_path(self):
|
def check_ssh_config_path(self):
|
||||||
if self.user:
|
self.config_file = determine_config_file(self.user, self.config_file)
|
||||||
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'
|
|
||||||
|
|
||||||
# See if the identity file exists or not, relative to the 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:
|
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_files.py validate-modules:parameter-state-invalid-choice
|
||||||
plugins/modules/rax.py use-argspec-type-path # fix needed
|
plugins/modules/rax.py use-argspec-type-path # fix needed
|
||||||
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
|
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/xfconf.py validate-modules:return-syntax-error
|
||||||
plugins/modules/yarn.py use-argspec-type-path
|
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
|
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_files.py validate-modules:parameter-state-invalid-choice
|
||||||
plugins/modules/rax.py use-argspec-type-path # fix needed
|
plugins/modules/rax.py use-argspec-type-path # fix needed
|
||||||
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
|
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/xfconf.py validate-modules:return-syntax-error
|
||||||
plugins/modules/yarn.py use-argspec-type-path
|
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_files.py validate-modules:parameter-state-invalid-choice
|
||||||
plugins/modules/rax.py use-argspec-type-path # fix needed
|
plugins/modules/rax.py use-argspec-type-path # fix needed
|
||||||
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
|
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/xfconf.py validate-modules:return-syntax-error
|
||||||
plugins/modules/yarn.py use-argspec-type-path
|
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_files.py validate-modules:parameter-state-invalid-choice
|
||||||
plugins/modules/rax.py use-argspec-type-path # fix needed
|
plugins/modules/rax.py use-argspec-type-path # fix needed
|
||||||
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
|
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/udm_user.py import-3.11 # Uses deprecated stdlib library 'crypt'
|
||||||
plugins/modules/xfconf.py validate-modules:return-syntax-error
|
plugins/modules/xfconf.py validate-modules:return-syntax-error
|
||||||
plugins/modules/yarn.py use-argspec-type-path
|
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_files.py validate-modules:parameter-state-invalid-choice
|
||||||
plugins/modules/rax.py use-argspec-type-path # fix needed
|
plugins/modules/rax.py use-argspec-type-path # fix needed
|
||||||
plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice
|
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/udm_user.py import-3.11 # Uses deprecated stdlib library 'crypt'
|
||||||
plugins/modules/xfconf.py validate-modules:return-syntax-error
|
plugins/modules/xfconf.py validate-modules:return-syntax-error
|
||||||
plugins/modules/yarn.py use-argspec-type-path
|
plugins/modules/yarn.py use-argspec-type-path
|
||||||
|
|
Loading…
Reference in a new issue