mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-22 10:21:25 -07:00
* change ip6 type to list of str and fix problem with setting addresses without netmask
* change ip6 type to list of str and fix problem with setting addresses without netmask
* Add changelog fragment
* add suggestions
* fix no mask using bug
* Make change independed from feature branch
(cherry picked from commit aae3ae1a8e
)
Co-authored-by: Alex Groshev <38885591+haddystuff@users.noreply.github.com>
This commit is contained in:
parent
af7a6dc29f
commit
491196937d
3 changed files with 55 additions and 5 deletions
|
@ -70,7 +70,7 @@ options:
|
|||
ip4:
|
||||
description:
|
||||
- The IPv4 address to this interface.
|
||||
- Use the format C(192.0.2.24/24).
|
||||
- Use the format C(192.0.2.24/24) or C(192.0.2.24).
|
||||
- If defined and I(method4) is not specified, automatically set C(ipv4.method) to C(manual).
|
||||
type: str
|
||||
gw4:
|
||||
|
@ -143,7 +143,7 @@ options:
|
|||
ip6:
|
||||
description:
|
||||
- The IPv6 address to this interface.
|
||||
- Use the format C(abbe::cafe).
|
||||
- Use the format C(abbe::cafe/128 or abbe::cafe).
|
||||
- If defined and I(method6) is not specified, automatically set C(ipv6.method) to C(manual).
|
||||
type: str
|
||||
gw6:
|
||||
|
@ -1241,7 +1241,7 @@ class Nmcli(object):
|
|||
# IP address options.
|
||||
if self.ip_conn_type and not self.master:
|
||||
options.update({
|
||||
'ipv4.addresses': self.ip4,
|
||||
'ipv4.addresses': self.enforce_ipv4_cidr_notation(self.ip4),
|
||||
'ipv4.dhcp-client-id': self.dhcp_client_id,
|
||||
'ipv4.dns': self.dns4,
|
||||
'ipv4.dns-search': self.dns4_search,
|
||||
|
@ -1254,7 +1254,7 @@ class Nmcli(object):
|
|||
'ipv4.never-default': self.never_default4,
|
||||
'ipv4.method': self.ipv4_method,
|
||||
'ipv4.may-fail': self.may_fail4,
|
||||
'ipv6.addresses': self.ip6,
|
||||
'ipv6.addresses': self.enforce_ipv6_cidr_notation(self.ip6),
|
||||
'ipv6.dns': self.dns6,
|
||||
'ipv6.dns-search': self.dns6_search,
|
||||
'ipv6.ignore-auto-dns': self.dns6_ignore_auto,
|
||||
|
@ -1444,6 +1444,22 @@ class Nmcli(object):
|
|||
'sit',
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def enforce_ipv4_cidr_notation(ip4_address):
|
||||
if ip4_address is None or '/' in ip4_address:
|
||||
return ip4_address
|
||||
|
||||
return ip4_address + '/32'
|
||||
|
||||
@staticmethod
|
||||
def enforce_ipv6_cidr_notation(ip6_address):
|
||||
if ip6_address is None:
|
||||
return None
|
||||
elif '/' in ip6_address:
|
||||
return ip6_address
|
||||
else:
|
||||
return ip6_address + '/128'
|
||||
|
||||
@staticmethod
|
||||
def bool_to_string(boolean):
|
||||
if boolean:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue