mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
[PR #6980/796ad356 backport][stable-6] [proxmox] Use proxmoxer_version instead of server API version (#6984)
* [proxmox] Use proxmoxer_version instead of server API version (#6980)
* Use proxmoxer_version instead of server API version
* Add changelog fragment
(cherry picked from commit 796ad3565e
)
* Update unit tests requirements file
* Add python 2.6 constraint for tests
This commit is contained in:
parent
0e0fce54ab
commit
f635ed6c2e
5 changed files with 24 additions and 2 deletions
2
changelogs/fragments/6980-proxmox-fix-token-auth.yml
Normal file
2
changelogs/fragments/6980-proxmox-fix-token-auth.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- proxmox module utils - fix proxmoxer library version check (https://github.com/ansible-collections/community.general/issues/6974, https://github.com/ansible-collections/community.general/issues/6975, https://github.com/ansible-collections/community.general/pull/6980).
|
|
@ -18,6 +18,7 @@ import traceback
|
|||
PROXMOXER_IMP_ERR = None
|
||||
try:
|
||||
from proxmoxer import ProxmoxAPI
|
||||
from proxmoxer import __version__ as proxmoxer_version
|
||||
HAS_PROXMOXER = True
|
||||
except ImportError:
|
||||
HAS_PROXMOXER = False
|
||||
|
@ -79,6 +80,7 @@ class ProxmoxAnsible(object):
|
|||
module.fail_json(msg=missing_required_lib('proxmoxer'), exception=PROXMOXER_IMP_ERR)
|
||||
|
||||
self.module = module
|
||||
self.proxmoxer_version = proxmoxer_version
|
||||
self.proxmox_api = self._connect()
|
||||
# Test token validity
|
||||
try:
|
||||
|
@ -98,7 +100,7 @@ class ProxmoxAnsible(object):
|
|||
if api_password:
|
||||
auth_args['password'] = api_password
|
||||
else:
|
||||
if self.version() < LooseVersion('1.1.0'):
|
||||
if self.proxmoxer_version < LooseVersion('1.1.0'):
|
||||
self.module.fail_json('Using "token_name" and "token_value" require proxmoxer>=1.1.0')
|
||||
auth_args['token_name'] = api_token_id
|
||||
auth_args['token_value'] = api_token_secret
|
||||
|
|
|
@ -8,6 +8,13 @@ __metaclass__ = type
|
|||
|
||||
import json
|
||||
import pytest
|
||||
import sys
|
||||
|
||||
proxmoxer = pytest.importorskip('proxmoxer')
|
||||
mandatory_py_version = pytest.mark.skipif(
|
||||
sys.version_info < (2, 7),
|
||||
reason='The proxmoxer dependency requires python2.7 or higher'
|
||||
)
|
||||
|
||||
from ansible_collections.community.general.tests.unit.compat.mock import MagicMock, patch
|
||||
from ansible_collections.community.general.plugins.modules import proxmox_snap
|
||||
|
|
|
@ -12,6 +12,13 @@ __metaclass__ = type
|
|||
|
||||
import pytest
|
||||
import json
|
||||
import sys
|
||||
|
||||
proxmoxer = pytest.importorskip('proxmoxer')
|
||||
mandatory_py_version = pytest.mark.skipif(
|
||||
sys.version_info < (2, 7),
|
||||
reason='The proxmoxer dependency requires python2.7 or higher'
|
||||
)
|
||||
|
||||
from ansible_collections.community.general.plugins.modules import proxmox_tasks_info
|
||||
import ansible_collections.community.general.plugins.module_utils.proxmox as proxmox_utils
|
||||
|
|
|
@ -44,3 +44,7 @@ elastic-apm ; python_version >= '3.6'
|
|||
|
||||
# requirements for scaleway modules
|
||||
passlib[argon2]
|
||||
|
||||
# requirements for the proxmox modules
|
||||
proxmoxer < 2.0.0 ; python_version >= '2.7' and python_version <= '3.6'
|
||||
proxmoxer ; python_version > '3.6'
|
||||
|
|
Loading…
Reference in a new issue