Edward Haas has uploaded a new change for review.
Change subject: net: Change classmethod to staticmethod in IPv4 and IPv6 classes
......................................................................
net: Change classmethod to staticmethod in IPv4 and IPv6 classes
Several validation methods have been defined as classmethods where
staticmethods seems to fit better.
The change has been triggered by the need to validate IP addresses from
other locations, without instantiating the IPv4/IPv6 classes.
(see the next nameservers validation patch)
Change-Id: I061a33c6404198c7691d853d683e8535c38442e6
Signed-off-by: Edward Haas <edwardh(a)redhat.com>
---
M lib/vdsm/network/ip/address.py
1 file changed, 21 insertions(+), 21 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/09/65609/1
diff --git a/lib/vdsm/network/ip/address.py b/lib/vdsm/network/ip/address.py
index adbc108..495867e 100644
--- a/lib/vdsm/network/ip/address.py
+++ b/lib/vdsm/network/ip/address.py
@@ -41,10 +41,10 @@
raise ConfigNetworkError(ne.ERR_BAD_ADDR, 'Must specify '
'netmask to configure ip for '
'network.')
- self.validateAddress(address)
- self.validateNetmask(netmask)
+ IPv4.validateAddress(address)
+ IPv4.validateNetmask(netmask)
if gateway:
- self.validateGateway(gateway)
+ IPv4.validateGateway(gateway)
else:
if netmask or gateway:
raise ConfigNetworkError(ne.ERR_BAD_ADDR, 'Specified netmask '
@@ -70,18 +70,18 @@
self.gateway, self.defaultRoute,
self.bootproto)
- @classmethod
- def validateAddress(cls, address):
+ @staticmethod
+ def validateAddress(address):
try:
socket.inet_pton(socket.AF_INET, address)
except socket.error:
raise ConfigNetworkError(ne.ERR_BAD_ADDR, '%r is not a valid IPv4 '
'address.' % address)
- @classmethod
- def validateNetmask(cls, netmask):
+ @staticmethod
+ def validateNetmask(netmask):
try:
- cls.validateAddress(netmask)
+ IPv4.validateAddress(netmask)
except ConfigNetworkError as cne:
cne.message = '%r is not a valid IPv4 netmask.' % netmask
raise
@@ -90,11 +90,11 @@
raise ConfigNetworkError(ne.ERR_BAD_ADDR, '%r is not a valid IPv4 '
'netmask.' % netmask)
- @classmethod
- def validateGateway(cls, gateway):
+ @staticmethod
+ def validateGateway(gateway):
'''Validates the gateway form.'''
try:
- cls.validateAddress(gateway)
+ IPv4.validateAddress(gateway)
except ConfigNetworkError as cne:
cne.message = '%r is not a valid IPv4 gateway' % gateway
raise
@@ -104,9 +104,9 @@
def __init__(self, address=None, gateway=None, defaultRoute=None,
ipv6autoconf=None, dhcpv6=None):
if address:
- self.validateAddress(address)
+ IPv6.validateAddress(address)
if gateway:
- self.validateGateway(gateway)
+ IPv6.validateGateway(gateway)
elif gateway:
raise ConfigNetworkError(ne.ERR_BAD_ADDR, 'Specified gateway but '
'not ip address.')
@@ -131,8 +131,8 @@
self.address, self.gateway, self.defaultRoute, self.ipv6autoconf,
self.dhcpv6)
- @classmethod
- def validateAddress(cls, address):
+ @staticmethod
+ def validateAddress(address):
addr = address.split('/', 1)
try:
socket.inet_pton(socket.AF_INET6, addr[0])
@@ -140,10 +140,10 @@
raise ConfigNetworkError(ne.ERR_BAD_ADDR, '%r is not a valid IPv6 '
'address.' % address)
if len(addr) == 2:
- cls.validatePrefixlen(addr[1])
+ IPv6.validatePrefixlen(addr[1])
- @classmethod
- def validatePrefixlen(cls, prefixlen):
+ @staticmethod
+ def validatePrefixlen(prefixlen):
try:
prefixlen = int(prefixlen)
if prefixlen < 0 or prefixlen > 127:
@@ -153,10 +153,10 @@
raise ConfigNetworkError(ne.ERR_BAD_ADDR, '%r is not valid '
'IPv6 prefixlen.' % prefixlen)
- @classmethod
- def validateGateway(cls, gateway):
+ @staticmethod
+ def validateGateway(gateway):
try:
- cls.validateAddress(gateway)
+ IPv6.validateAddress(gateway)
except ConfigNetworkError as cne:
cne.message = '%r is not a valid IPv6 gateway.'
raise
--
To view, visit
https://gerrit.ovirt.org/65609
To unsubscribe, visit
https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I061a33c6404198c7691d853d683e8535c38442e6
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Edward Haas <edwardh(a)redhat.com>