mirror of
https://github.com/kubevirt/kubevirt.core.git
synced 2026-07-28 10:24:39 +00:00
Merge pull request #173 from 0xFelix/unset-ansible-port
feat(inventory): Add unset_ansible_port option
This commit is contained in:
@@ -63,6 +63,12 @@ options:
|
|||||||
- Services are only used if no O(network_name) was provided.
|
- Services are only used if no O(network_name) was provided.
|
||||||
type: bool
|
type: bool
|
||||||
default: True
|
default: True
|
||||||
|
unset_ansible_port:
|
||||||
|
description:
|
||||||
|
- Try to unset the value of C(ansible_port) if no non-default value was found.
|
||||||
|
type: bool
|
||||||
|
default: True
|
||||||
|
version_added: 2.2.0
|
||||||
create_groups:
|
create_groups:
|
||||||
description:
|
description:
|
||||||
- Enable the creation of groups from labels on C(VirtualMachines) and C(VirtualMachineInstances).
|
- Enable the creation of groups from labels on C(VirtualMachines) and C(VirtualMachineInstances).
|
||||||
@@ -185,6 +191,7 @@ class InventoryOptions:
|
|||||||
network_name: Optional[str] = None
|
network_name: Optional[str] = None
|
||||||
kube_secondary_dns: Optional[bool] = None
|
kube_secondary_dns: Optional[bool] = None
|
||||||
use_service: Optional[bool] = None
|
use_service: Optional[bool] = None
|
||||||
|
unset_ansible_port: Optional[bool] = None
|
||||||
create_groups: Optional[bool] = None
|
create_groups: Optional[bool] = None
|
||||||
base_domain: Optional[str] = None
|
base_domain: Optional[str] = None
|
||||||
append_base_domain: Optional[bool] = None
|
append_base_domain: Optional[bool] = None
|
||||||
@@ -223,6 +230,11 @@ class InventoryOptions:
|
|||||||
if self.use_service is not None
|
if self.use_service is not None
|
||||||
else config_data.get("use_service", True)
|
else config_data.get("use_service", True)
|
||||||
)
|
)
|
||||||
|
self.unset_ansible_port = (
|
||||||
|
self.unset_ansible_port
|
||||||
|
if self.unset_ansible_port is not None
|
||||||
|
else config_data.get("unset_ansible_port", True)
|
||||||
|
)
|
||||||
self.create_groups = (
|
self.create_groups = (
|
||||||
self.create_groups
|
self.create_groups
|
||||||
if self.create_groups is not None
|
if self.create_groups is not None
|
||||||
@@ -861,7 +873,8 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||||||
ansible_host = ip_address
|
ansible_host = ip_address
|
||||||
|
|
||||||
self.inventory.set_variable(hostname, "ansible_host", ansible_host)
|
self.inventory.set_variable(hostname, "ansible_host", ansible_host)
|
||||||
self.inventory.set_variable(hostname, "ansible_port", ansible_port)
|
if opts.unset_ansible_port or ansible_port is not None:
|
||||||
|
self.inventory.set_variable(hostname, "ansible_port", ansible_port)
|
||||||
|
|
||||||
def _set_composable_vars(self, hostname: str) -> None:
|
def _set_composable_vars(self, hostname: str) -> None:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ def test_inventory_options_defaults():
|
|||||||
assert opts.network_name is None
|
assert opts.network_name is None
|
||||||
assert opts.kube_secondary_dns is False
|
assert opts.kube_secondary_dns is False
|
||||||
assert opts.use_service is True
|
assert opts.use_service is True
|
||||||
|
assert opts.unset_ansible_port is True
|
||||||
assert opts.create_groups is False
|
assert opts.create_groups is False
|
||||||
assert opts.base_domain is None
|
assert opts.base_domain is None
|
||||||
assert opts.append_base_domain is False
|
assert opts.append_base_domain is False
|
||||||
@@ -30,6 +31,7 @@ def test_inventory_options_override_defaults():
|
|||||||
network_name = "test-network"
|
network_name = "test-network"
|
||||||
kube_secondary_dns = True
|
kube_secondary_dns = True
|
||||||
use_service = False
|
use_service = False
|
||||||
|
unset_ansible_port = False
|
||||||
create_groups = True
|
create_groups = True
|
||||||
base_domain = "test-domain.com"
|
base_domain = "test-domain.com"
|
||||||
append_base_domain = True
|
append_base_domain = True
|
||||||
@@ -41,6 +43,7 @@ def test_inventory_options_override_defaults():
|
|||||||
network_name=network_name,
|
network_name=network_name,
|
||||||
kube_secondary_dns=kube_secondary_dns,
|
kube_secondary_dns=kube_secondary_dns,
|
||||||
use_service=use_service,
|
use_service=use_service,
|
||||||
|
unset_ansible_port=unset_ansible_port,
|
||||||
create_groups=create_groups,
|
create_groups=create_groups,
|
||||||
base_domain=base_domain,
|
base_domain=base_domain,
|
||||||
append_base_domain=append_base_domain,
|
append_base_domain=append_base_domain,
|
||||||
@@ -51,6 +54,7 @@ def test_inventory_options_override_defaults():
|
|||||||
assert opts.network_name == network_name
|
assert opts.network_name == network_name
|
||||||
assert opts.kube_secondary_dns == kube_secondary_dns
|
assert opts.kube_secondary_dns == kube_secondary_dns
|
||||||
assert opts.use_service == use_service
|
assert opts.use_service == use_service
|
||||||
|
assert opts.unset_ansible_port == unset_ansible_port
|
||||||
assert opts.create_groups == create_groups
|
assert opts.create_groups == create_groups
|
||||||
assert opts.base_domain == base_domain
|
assert opts.base_domain == base_domain
|
||||||
assert opts.append_base_domain == append_base_domain
|
assert opts.append_base_domain == append_base_domain
|
||||||
|
|||||||
@@ -272,3 +272,25 @@ def test_no_service_if_network_name(mocker, inventory):
|
|||||||
mocker.call(hostname, "ansible_port", None),
|
mocker.call(hostname, "ansible_port", None),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"opts,expected",
|
||||||
|
[
|
||||||
|
(InventoryOptions(), True),
|
||||||
|
(InventoryOptions(unset_ansible_port=True), True),
|
||||||
|
(InventoryOptions(unset_ansible_port=False), False),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_unset_ansible_port(mocker, inventory, opts, expected):
|
||||||
|
set_variable = mocker.patch.object(inventory.inventory, "set_variable")
|
||||||
|
|
||||||
|
hostname = "default-testvm"
|
||||||
|
ip_address = "1.1.1.1"
|
||||||
|
|
||||||
|
inventory._set_ansible_host_and_port({}, hostname, ip_address, None, opts)
|
||||||
|
|
||||||
|
calls = [mocker.call(hostname, "ansible_host", ip_address)]
|
||||||
|
if expected:
|
||||||
|
calls.append(mocker.call(hostname, "ansible_port", None))
|
||||||
|
set_variable.assert_has_calls(calls)
|
||||||
|
|||||||
Reference in New Issue
Block a user