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
|
PROXMOXER_IMP_ERR = None
|
||||||
try:
|
try:
|
||||||
from proxmoxer import ProxmoxAPI
|
from proxmoxer import ProxmoxAPI
|
||||||
|
from proxmoxer import __version__ as proxmoxer_version
|
||||||
HAS_PROXMOXER = True
|
HAS_PROXMOXER = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
HAS_PROXMOXER = False
|
HAS_PROXMOXER = False
|
||||||
|
@ -79,6 +80,7 @@ class ProxmoxAnsible(object):
|
||||||
module.fail_json(msg=missing_required_lib('proxmoxer'), exception=PROXMOXER_IMP_ERR)
|
module.fail_json(msg=missing_required_lib('proxmoxer'), exception=PROXMOXER_IMP_ERR)
|
||||||
|
|
||||||
self.module = module
|
self.module = module
|
||||||
|
self.proxmoxer_version = proxmoxer_version
|
||||||
self.proxmox_api = self._connect()
|
self.proxmox_api = self._connect()
|
||||||
# Test token validity
|
# Test token validity
|
||||||
try:
|
try:
|
||||||
|
@ -98,7 +100,7 @@ class ProxmoxAnsible(object):
|
||||||
if api_password:
|
if api_password:
|
||||||
auth_args['password'] = api_password
|
auth_args['password'] = api_password
|
||||||
else:
|
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')
|
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_name'] = api_token_id
|
||||||
auth_args['token_value'] = api_token_secret
|
auth_args['token_value'] = api_token_secret
|
||||||
|
|
|
@ -8,6 +8,13 @@ __metaclass__ = type
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import pytest
|
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.tests.unit.compat.mock import MagicMock, patch
|
||||||
from ansible_collections.community.general.plugins.modules import proxmox_snap
|
from ansible_collections.community.general.plugins.modules import proxmox_snap
|
||||||
|
|
|
@ -12,6 +12,13 @@ __metaclass__ = type
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import json
|
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
|
from ansible_collections.community.general.plugins.modules import proxmox_tasks_info
|
||||||
import ansible_collections.community.general.plugins.module_utils.proxmox as proxmox_utils
|
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
|
# requirements for scaleway modules
|
||||||
passlib[argon2]
|
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…
Add table
Reference in a new issue