1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

nmcli: Change hairpin default mode (#4334)

* nmcli: Deprecate default hairpin mode

Deprecate the default hairpin mode for a bridge.
Plain nmcli/bridge tools defaults to no, but for some reason ansible
defaults to yes.

We deprecate the default value so we can switch to default 'no' in
ansible 6.0.0

* Code review fixes

Co-authored-by: Felix Fontein <felix@fontein.de>

* Fix comments

* Update changelogs/fragments/4320-nmcli-hairpin.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/4320-nmcli-hairpin.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
This commit is contained in:
dupondje 2022-04-22 22:30:53 +02:00 committed by GitHub
parent 2f980e89fe
commit 53f6c68026
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 3 deletions

View file

@ -0,0 +1,2 @@
deprecated_features:
- nmcli - deprecate default hairpin mode for a bridge. This so we can change it to ``false`` in community.general 7.0.0, as this is also the default in ``nmcli`` (https://github.com/ansible-collections/community.general/pull/4334).

View file

@ -374,8 +374,9 @@ options:
description: description:
- This is only used with 'bridge-slave' - 'hairpin mode' for the slave, which allows frames to be sent back out through the slave the - This is only used with 'bridge-slave' - 'hairpin mode' for the slave, which allows frames to be sent back out through the slave the
frame was received on. frame was received on.
- The default value is C(true), but that is being deprecated
and it will be changed to C(false) in community.general 7.0.0.
type: bool type: bool
default: yes
runner: runner:
description: description:
- This is the type of device or network connection that you wish to create for a team. - This is the type of device or network connection that you wish to create for a team.
@ -1376,7 +1377,8 @@ class Nmcli(object):
self.hellotime = module.params['hellotime'] self.hellotime = module.params['hellotime']
self.maxage = module.params['maxage'] self.maxage = module.params['maxage']
self.ageingtime = module.params['ageingtime'] self.ageingtime = module.params['ageingtime']
self.hairpin = module.params['hairpin'] # hairpin should be back to normal in 7.0.0
self._hairpin = module.params['hairpin']
self.path_cost = module.params['path_cost'] self.path_cost = module.params['path_cost']
self.mac = module.params['mac'] self.mac = module.params['mac']
self.runner = module.params['runner'] self.runner = module.params['runner']
@ -1423,6 +1425,18 @@ class Nmcli(object):
self.edit_commands = [] self.edit_commands = []
@property
def hairpin(self):
if self._hairpin is None:
self.module.deprecate(
"Parameter 'hairpin' default value will change from true to false in community.general 7.0.0. "
"Set the value explicitly to supress this warning.",
version='7.0.0', collection_name='community.general',
)
# Should be False in 7.0.0 but then that should be in argument_specs
self._hairpin = True
return self._hairpin
def execute_command(self, cmd, use_unsafe_shell=False, data=None): def execute_command(self, cmd, use_unsafe_shell=False, data=None):
if isinstance(cmd, list): if isinstance(cmd, list):
cmd = [to_text(item) for item in cmd] cmd = [to_text(item) for item in cmd]
@ -2119,7 +2133,7 @@ def main():
hellotime=dict(type='int', default=2), hellotime=dict(type='int', default=2),
maxage=dict(type='int', default=20), maxage=dict(type='int', default=20),
ageingtime=dict(type='int', default=300), ageingtime=dict(type='int', default=300),
hairpin=dict(type='bool', default=True), hairpin=dict(type='bool'),
path_cost=dict(type='int', default=100), path_cost=dict(type='int', default=100),
# team specific vars # team specific vars
runner=dict(type='str', default='roundrobin', runner=dict(type='str', default='roundrobin',